CN115310403A - 缺陷分析方法、相关设备及可读存储介质 - Google Patents

缺陷分析方法、相关设备及可读存储介质 Download PDF

Info

Publication number
CN115310403A
CN115310403A CN202210937624.0A CN202210937624A CN115310403A CN 115310403 A CN115310403 A CN 115310403A CN 202210937624 A CN202210937624 A CN 202210937624A CN 115310403 A CN115310403 A CN 115310403A
Authority
CN
China
Prior art keywords
target
defect
chip design
level
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210937624.0A
Other languages
English (en)
Inventor
朱红
杨庆娜
张峰境
柏颖
周国栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202210937624.0A priority Critical patent/CN115310403A/zh
Publication of CN115310403A publication Critical patent/CN115310403A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种缺陷分析方法、相关设备及可读存储介质,涉及计算机技术领域。其中,该方法应用于服务器,该方法包括:获取目标芯片设计代码对应的缺陷信息;其中,目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷出现的次数、目标缺陷被发现的阶段中的至少一种;基于目标芯片设计代码对应的缺陷信息,执行第一处理,应用本申请实施例,可以根据目标芯片设计代码的缺陷信息的不同而执行不同的第一处理,实现对目标芯片设计代码中目标缺陷的全面分析,可以有效提高缺陷分析效率,进而可以提高芯片设计代码的开发效率。

Description

缺陷分析方法、相关设备及可读存储介质
本申请是申请号为202210910403.4、申请日为2022年07月29日、发明创造名称为“项目管理方法、缺陷分析方法、相关设备及可读存储介质”的分案申请。
技术领域
本申请涉及计算机技术领域,特别涉及一种缺陷分析方法、相关设备及可读存储介质。
背景技术
当前芯片项目越来越多,越来越复杂,从项目立项开始,一般要经历代码编写、代码提交、代码验证、代码修改等多个阶段才能真正投入生产使用。
现有技术中,一般通过已有的项目管理系统对芯片项目进行管理,其中,管理过程中只侧重于代码编写、代码提交以及代码验证阶段。
可以看出,现有的项目管理方法的管理内容比较单一,无法对芯片项目中的缺陷信息进行管理,因此,现有的项目管理方法存在管理效果较差、管理效率较低的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种缺陷分析方法、相关设备及可读存储介质,可以提高芯片项目管理效率和开发效率。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本发明提供一种项目管理方法,应用于服务器,所述服务器上部署有项目管理系统,所述项目管理系统包括代码管理模块和缺陷管理模块,所述代码管理模块中存储有设计师在逻辑设计代码验证过程中关于至少一种芯片的芯片设计代码以及所述芯片设计代码对应的标识信息,所述缺陷管理模块中存储有所述芯片设计代码对应的缺陷信息;
通过所述代码管理模块获取第一设计师通过用户终端提交的逻辑设计指令,响应于所述逻辑设计指令,获取目标芯片设计代码,其中,所述目标芯片设计代码关联有目标标识信息;
通过所述缺陷管理模块,基于所述目标标识信息,获取所述目标芯片设计代码对应的缺陷信息。
应用本申请实施例,可以实现对目标芯片设计代码对应的缺陷信息的查询,相较于现有技术来说,可以实现对目标芯片设计代码更为全面地管理,有效改善项目管理系统的管理效果;此外,基于所查询的目标芯片设计代码对应的缺陷信息,便于项目管理人员进一步进行缺陷分析,提高芯片项目的管理效率、加快芯片项目进度、减少芯片设计过程中出现缺陷的几率。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括目标缺陷本身、所述目标缺陷对应的登记链接、所述目标缺陷的发现层级、所述目标缺陷对应的复现信息、所述目标缺陷出现的次数、所述目标缺陷被发现的阶段中的至少一种。
在可选的实施方式中,所述目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
在可选的实施方式中,所述目标缺陷的登记链接用于表征所述目标缺陷在缺陷管理模块中的链接路径。
在可选的实施方式中,所述目标缺陷对应的复现信息用于指示所述目标缺陷是否可复现,以及若所述目标缺陷可复现时对应的复现层级。
在可选的实施方式中,所述目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
应用本申请实施例,使得项目管理人员根据实际的应用场景,可以快速查询到目标芯片设计代码对应的多种缺陷信息,进而基于该多种缺陷信息可以及时对目标芯片设计代码进行进一步分析、修改,如此,可以提高芯片项目的管理效率和开发效率。
在可选的实施方式中,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级复现,且所述目标缺陷是由于模块接口所导致,所述方法还包括:
向所述用户终端发送第一提示信息,以指示所述第一设计师检查子系统级设计规范是否已清楚描述模块之间的接口。
应用本申请实施例,实现了在确定目标缺陷是由于模块接口所导致时,可以及时提醒第一设计师检查子系统级设计规范,并根据检查结果及时对子系统级设计规范进行更新以消除该目标缺陷,可以加快芯片项目的开发进度、提高芯片项目的管理效率。
在可选的实施方式中,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级复现,且所述目标缺陷是由于模块级环境导致,所述方法还包括:
通过所述缺陷管理模块获取用户终端提交的针对所述目标缺陷的环境修改请求,所述环境修改请求用于修改模块级环境;
响应所述环境修改请求,修改所述代码管理模块中的模块级环境,以使根据所述模块级环境可复现所述目标缺陷。
应用本申请实施例,实现了在确定目标缺陷是由于模块级环境导致时,可以响应于用户终端提交的针对该目标缺陷的环境修改请求,及时复现该目标缺陷,提高项目管理人员对目标缺陷的复现效率,进而便于项目管理人员根据缺陷复现的原因及时对该目标缺陷进行修复,加快芯片项目的开发进度。
在可选的实施方式中,所述方法还包括:
通过所述缺陷管理模块获取验证师通过用户终端提交的针对所述目标缺陷的验证请求;
通过所述缺陷管理模块响应所述验证请求,在预设工具中基于任一层级对应的验证激励复现所述目标缺陷。
应用本申请实施例,实现了可以响应于用户终端提交的针对该目标缺陷的验证请求并复现该目标缺陷,提高项目管理人员对目标缺陷的复现效率,进而可以提高芯片项目的管理效率和开发效率。
在可选的实施方式中,所述项目管理系统还包括:文件管理模块,用于存储所述目标芯片设计代码对应的验证工作和验证结果文档,其中,所述验证结果文档存储有历史验证结果;所述通过所述缺陷管理模块响应所述验证请求,在预设工具中基于所述任一层级对应的验证激励复现所述目标缺陷,包括:
通过所述缺陷管理模块响应所述验证请求,从所述文件管理模块中获取所述目标芯片设计代码对应的验证工作;
根据所述验证工作,通过缺陷管理模块在预设工具中基于所述任一层级对应的验证激励复现所述目标缺陷,得到当前验证结果,并基于所述当前验证结果在所述文件管理模块中更新所述历史验证结果;
其中,所述当前验证结果包括在复现所述目标缺陷时的验证激励名称、功能点以及验证激励结果。
应用本申请实施例,便于项目管理人员基于所得到的当前验证结果对目标缺陷进行分析,降低该目标缺陷在其他芯片设计代码中出现的几率,加快芯片项目的开发进度。
在可选的实施方式中,所述文件管理模块中还存储有至少一种芯片的芯片设计代码对应的设计规范信息;所述通过所述缺陷管理模块获取验证师通过用户终端提交的针对所述目标缺陷的验证请求之前,还包括:
若所述文件管理模块中存储有所述目标芯片设计代码对应的设计规范信息,向所述用户终端发送第二提示信息,所述第二提示信息用于提示验证师可触发针对所述目标缺陷的验证请求。
在可选的实施方式中,所述方法还包括:
若所述文件管理模块中未存储有所述目标芯片设计代码对应的设计规范信息,向所述用户终端发送第三提示信息,所述第三提示信息用于提示所述第一设计师上传所述目标芯片设计代码对应的设计规范信息至所述文件管理模块中。
应用本申请实施例,实现了可以根据目标芯片设计代码修改的原因,对目标芯片设计代码的相关内容进行针对性检查,加快芯片项目的开发进度。
在可选的实施方式中,所述项目管理系统还包括邮箱管理模块,所述方法还包括:
通过所述邮箱管理模块将所述目标芯片设计代码对应的缺陷信息发送给所述用户终端,以提示所述第一设计师或验证师基于所述缺陷信息对所述目标芯片设计代码进行修改。
应用本申请实施例,实现了可以及时向项目管理人员同步目标芯片设计代码对应的缺陷信息,便于项目管理人员及时对该目标芯片设计代码作出修改,加快芯片项目的开发进度。
第二方面,本发明提供一种缺陷分析方法,所述方法应用于服务器,所述方法包括:
获取目标芯片设计代码对应的缺陷信息;其中,所述目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、所述目标缺陷对应的复现信息、所述目标缺陷出现的次数、所述目标缺陷被发现的阶段中的至少一种;
基于所述目标芯片设计代码对应的缺陷信息,执行第一处理。
应用本申请实施例,可以根据目标芯片设计代码的缺陷信息的不同而执行不同的第一处理,实现对目标芯片设计代码中目标缺陷的全面分析,可以有效提高缺陷分析效率,进而可以提高芯片设计代码的开发效率。
在可选的实施方式中,所述目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
在可选的实施方式中,所述目标缺陷对应的复现信息用于指示所述目标缺陷是否可复现,以及若所述目标缺陷可复现时对应的复现层级。
在可选的实施方式中,所述目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷的发现层级;所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
在所述目标缺陷的发现层级中复现所述目标缺陷,并将所述目标缺陷的发现层级以及在所述目标缺陷的发现层级复现所述目标缺陷的第一相关信息发送给用户终端;
接收用户终端基于所述目标缺陷对应的复现层级以及所述目标缺陷的第一相关信息修改后的目标芯片设计代码。
应用本申请实施例,使得在目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级时,可以引导验证师对该目标缺陷进行针对性地分析并将分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
在可选的实施方式中,所述目标芯片设计代码包含多个芯片功能模块,在存在依赖关系的两个芯片功能模块中,一个芯片功能模块与另一个芯片功能模块之间设置有模块接口;若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级环境下复现,所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
判断所述目标芯片设计代码中所包含的模块接口是否符合预设模块接口要求;
在判断出所述目标芯片设计代码中所包含的模块接口不符合所述预设模块接口要求的情况下,确定所述目标缺陷是由于所述模块接口所导致,并判断在子系统级环境下是否已清楚定义了所述模块接口;其中,所述子系统级环境的优先级低于所述模块级环境。
应用本申请实施例,使得在目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现时,可以引导验证师进一步定位目标缺陷发生的原因,并将该目标缺陷的分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
在可选的实施方式中,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级环境下复现,所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
判断在目标模块级环境下是否可复现所述目标缺陷;其中,所述目标模块级环境为对所述模块级环境进行修改得到的;
在判断出在所述目标模块级环境不可复现所述目标缺陷的情况下,修改所述目标模块级环境,直至在修改后的所述目标模块级环境下可复现所述目标缺陷;
将所述目标缺陷在所述修改后的目标模块级环境下的复现信息发送给用户终端;
接收所述用户终端基于修改后的所述目标模块级环境提交的目标芯片设计代码。
应用本申请实施例,使得在目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现时,可以引导验证师对模块级环境进行修改以复现该目标缺陷,并将该目标缺陷的分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷被发现的阶段;所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
在所述目标缺陷被发现的阶段复现所述目标缺陷,并将所述目标缺陷被发现的阶段以及在所述目标缺陷被发现的阶段复现所述目标缺陷的第二相关信息发送给用户终端;
接收用户终端针对所述目标缺陷被发现阶段以及在所述目标缺陷被发现的阶段复现所述目标缺陷的第二相关信息提交的修改后的芯片设计阶段代码。
应用本申请实施例,使得在目标芯片设计代码对应的缺陷信息包括目标缺陷被发现的阶段时,可以引导验证师在目标缺陷被发现的阶段复现目标缺陷,并将该目标缺陷的分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷出现的次数;所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
在所述目标缺陷出现的次数大于预设阈值的情况下,输出预警信息。
应用本申请实施例,使得在确定目标缺陷出现的次数大于预设阈值的情况下,可以输出预警信息,便于芯片设计代码的设计师或者验证师可以重点关注该目标缺陷,进而可以降低目标缺陷出现的几率,提高芯片设计代码的开发效率。
第三方面,本发明提供一种项目管理装置,应用于服务器,所述服务器上部署有项目管理系统,所述项目管理系统包括代码管理模块和缺陷管理模块,所述代码管理模块中存储有设计师在逻辑设计代码验证过程中关于至少一种芯片的芯片设计代码以及所述芯片设计代码对应的标识信息,所述缺陷管理模块中存储有所述芯片设计代码对应的缺陷信息;
其中,所述代码管理模块,用于获取第一设计师通过用户终端提交的逻辑设计指令,响应于所述逻辑设计指令,获取目标芯片设计代码,其中,所述目标芯片设计代码关联有目标标识信息;
所述缺陷管理模块,用于基于所述目标标识信息,获取所述目标芯片设计代码对应的缺陷信息。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括目标缺陷本身、所述目标缺陷对应的登记链接、所述目标缺陷的发现层级、所述目标缺陷对应的复现信息、所述目标缺陷出现的次数、所述目标缺陷被发现的阶段中的至少一种。
在可选的实施方式中,所述目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
在可选的实施方式中,所述目标缺陷的登记链接用于表征所述目标缺陷在缺陷管理模块中的链接路径。
在可选的实施方式中,所述目标缺陷对应的复现信息用于指示所述目标缺陷是否可复现,以及若所述目标缺陷可复现时对应的复现层级。
在可选的实施方式中,所述目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
在可选的实施方式中,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级复现,且所述目标缺陷是由于模块接口所导致,所述方法还包括:
向所述用户终端发送第一提示信息,以指示所述第一设计师检查子系统级设计规范是否已清楚描述模块之间的接口。
在可选的实施方式中,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级复现,且所述目标缺陷是由于模块级环境导致,所述缺陷管理模块,还用于获取用户终端提交的针对所述目标缺陷的环境修改请求,所述环境修改请求用于修改模块级环境;
响应所述环境修改请求,修改所述代码管理模块中的模块级环境,以使根据所述模块级环境可复现所述目标缺陷。
在可选的实施方式中,所述缺陷管理模块,还用于通过所述缺陷管理模块获取验证师通过用户终端提交的针对所述目标缺陷的验证请求;
通过所述缺陷管理模块响应所述验证请求,在预设工具中基于任一层级对应的验证激励复现所述目标缺陷。
在可选的实施方式中,所述项目管理系统还包括:文件管理模块,用于存储所述目标芯片设计代码对应的验证工作和验证结果文档,其中,所述验证结果文档存储有历史验证结果;所述缺陷管理模块,具体用于通过所述缺陷管理模块响应所述验证请求,从所述文件管理模块中获取所述目标芯片设计代码对应的验证工作;
根据所述验证工作,在预设工具中基于所述任一层级对应的验证激励复现所述目标缺陷,得到当前验证结果,并基于所述当前验证结果在所述文件管理模块中更新所述历史验证结果;
其中,所述当前验证结果包括在复现所述目标缺陷时的验证激励名称、功能点以及验证激励结果。
在可选的实施方式中,所述文件管理模块中还存储有至少一种芯片的芯片设计代码对应的设计规范信息;所述文件管理模块,用于若存储有所述目标芯片设计代码对应的设计规范信息,向所述用户终端发送第二提示信息,所述第二提示信息用于提示验证师可触发针对所述目标缺陷的验证请求。
在可选的实施方式中,所述文件管理模块,还用于若未存储有所述目标芯片设计代码对应的设计规范信息,向所述用户终端发送第三提示信息,所述第三提示信息用于提示所述第一设计师上传所述目标芯片设计代码对应的设计规范信息至所述文件管理模块中。
在可选的实施方式中,所述项目管理系统还包括邮箱管理模块,所述邮箱管理模块,用于将所述目标芯片设计代码对应的缺陷信息发送给所述用户终端,以提示所述第一设计师或验证师基于所述缺陷信息对所述目标芯片设计代码进行修改。
第四方面,本发明提供一种缺陷分析装置,所述方法应用于服务器,所述缺陷分析装置包括:
获取模块,用于获取目标芯片设计代码对应的缺陷信息;其中,所述目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、所述目标缺陷对应的复现信息、所述目标缺陷出现的次数、所述目标缺陷被发现的阶段中的至少一种;
执行模块,用于基于所述目标芯片设计代码对应的缺陷信息,执行第一处理。
在可选的实施方式中,所述目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
在可选的实施方式中,所述目标缺陷对应的复现信息用于指示所述目标缺陷是否可复现,以及若所述目标缺陷可复现时对应的复现层级。
在可选的实施方式中,所述目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷的发现层级;所述执行模块,具体用于在所述目标缺陷的发现层级中复现所述目标缺陷,并将所述目标缺陷的发现层级以及在所述目标缺陷的发现层级复现所述目标缺陷的第一相关信息发送给用户终端;
接收用户终端基于所述目标缺陷对应的复现层级以及所述目标缺陷的第一相关信息修改后的目标芯片设计代码。
在可选的实施方式中,所述目标芯片设计代码包含多个芯片功能模块,在存在依赖关系的两个芯片功能模块中,一个芯片功能模块与另一个芯片功能模块之间设置有模块接口;若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级环境下复现,所述执行模块,具体用于判断所述目标芯片设计代码中所包含的模块接口是否符合预设模块接口要求;
在判断出所述目标芯片设计代码中所包含的模块接口不符合所述预设模块接口要求的情况下,确定所述目标缺陷是由于所述模块接口所导致,并判断在子系统级环境下是否已清楚定义了所述模块接口;其中,所述子系统级环境的优先级低于所述模块级环境。
在可选的实施方式中,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级环境下复现,所述执行模块,具体用于判断在目标模块级环境下是否可复现所述目标缺陷;其中,所述目标模块级环境为对所述模块级环境进行修改得到的;
在判断出在所述目标模块级环境不可复现所述目标缺陷的情况下,修改所述目标模块级环境,直至在修改后的所述目标模块级环境下可复现所述目标缺陷;
将所述目标缺陷在所述修改后的目标模块级环境下的复现信息发送给用户终端;
接收所述用户终端基于修改后的所述目标模块级环境提交的目标芯片设计代码。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷被发现的阶段;所述执行模块,具体用于在所述目标缺陷被发现的阶段复现所述目标缺陷,并将所述目标缺陷被发现的阶段以及在所述目标缺陷被发现的阶段复现所述目标缺陷的第二相关信息发送给用户终端;
接收用户终端针对所述目标缺陷被发现阶段以及在所述目标缺陷被发现的阶段复现所述目标缺陷的第二相关信息提交的修改后的芯片设计阶段代码。
在可选的实施方式中,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷出现的次数;所述执行模块,具体用于在所述目标缺陷出现的次数大于预设阈值的情况下,输出预警信息。
第五方面,本发明提供一种服务器,所述服务器用于执行如前述实施方式任一项所述的项目管理方法或任一项所述的缺陷分析方法。
第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一项所述的项目管理方法或任一项所述的缺陷分析方法。
本申请的有益效果是:
本申请实施例提供的缺陷分析方法、相关设备及可读存储介质,应用于服务器,服务器上部署有项目管理系统,项目管理系统包括代码管理模块和缺陷管理模块,代码管理模块中存储有设计师在逻辑设计代码验证过程中关于至少一种芯片的芯片设计代码以及芯片设计代码对应的标识信息,缺陷管理模块中存储有芯片设计代码对应的缺陷信息;通过代码管理模块获取第一设计师通过用户终端提交的逻辑设计指令,响应于逻辑设计指令,获取目标芯片设计代码,其中,目标芯片设计代码关联有目标标识信息;通过缺陷管理模块,基于目标标识信息,获取目标芯片设计代码对应的缺陷信息,应用该方法可以实现对目标芯片设计代码对应的缺陷信息的查询,相较于现有技术来说,可以实现对目标芯片设计代码更为全面地管理,有效改善项目管理系统的管理效果;此外,基于所查询的目标芯片设计代码对应的缺陷信息,便于项目管理人员进一步进行缺陷分析,提高芯片项目的管理效率、加快芯片项目进度、减少芯片设计过程中出现缺陷的几率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种项目管理系统的架构示意图;
图2为本申请实施例提供的一种项目管理方法的流程示意图;
图3为本申请实施例提供的目标缺陷对应的发现层级示意图;
图4为本申请实施例提供的另一种项目管理方法的流程示意图;
图5为本申请实施例提供的又一种项目管理方法的流程示意图;
图6为本申请实施例提供的另一种项目管理方法的流程示意图;
图7为本申请实施例提供的又一种项目管理方法的流程示意图;
图8为本申请实施例提供的目标芯片设计代码所关联的各代码修改原因对应的项目管理方式的示意图;
图9为本申请实施例提供的另一种项目管理方法的流程示意图;
图10为本申请实施例提供的另一种项目管理方法的流程示意图;
图11为本申请实施例提供的目标缺陷在各预设阶段被发现时对应的项目管理方法的示意图;
图12为本申请实施例提供的一种缺陷分析方法的流程示意图;
图13为本申请实施例提供的另一种缺陷分析方法的流程示意图;
图14为本申请实施例提供的又一种缺陷分析方法的流程示意图;
图15为本申请实施例提供的另一种缺陷分析方法的流程示意图;
图16为本申请实施例提供的又一种缺陷分析方法的流程示意图;
图17为本申请实施例提供的另一种缺陷分析方法的流程示意图;
图18为本申请实施例提供的一种项目管理装置的功能模块示意图;
图19为本申请实施例提供的一种缺陷分析装置的功能模块示意图;
图20为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为了更好地理解本申请,下面先对本申请涉及的技术术语进行解释:
设计师:用于根据芯片设计需求,使用芯片设计基本单元(寄存器、计数器、缓冲器等)完成芯片设计代码。
验证师:用于根据设计师提供的芯片设计代码验证芯片设计代码的设计逻辑是否符合芯片设计需求。
图1为本申请实施例提供的一种项目管理系统的架构示意图,如图1所示,该项目管理系统中可以包括服务器110、至少一个用户终端120,每个用户终端120可以通过网络130与服务器110建立通信连接。可选地,各用户终端120可以为各芯片设计代码所对应的设计师所使用的终端设备,也可以为各芯片设计代码所对应的验证师所使用的终端设备,在此不作限定。
图2为本申请实施例提供的一种项目管理方法的流程示意图,该方法可以应用于上述图1中的服务器,服务器上部署有项目管理系统,项目管理系统包括代码管理模块和缺陷管理模块,代码管理模块中存储有设计师在逻辑设计代码验证过程中关于至少一种芯片的芯片设计代码以及芯片设计代码对应的标识信息,缺陷管理模块中存储有芯片设计代码对应的缺陷信息,可选地,缺陷管理模块可以集成有缺陷识别、缺陷解决、缺陷复现等多种与缺陷有关的功能模块。可选地,代码管理模块可以基于开源的版本控制系统(比如,Subversion)、分布式版本控制系统(比如,Git)实现,在此不作限定,根据实际的应用场景可以灵活选择。
在一些实施例中,芯片设计代码的代码类型可以为:RTL代码、门级网表代码等,在此不作限定;芯片设计代码对应的标识信息可以包括:芯片设计代码的版本信息、芯片设计代码的存储路径信息等,在此不作限定。各芯片设计代码对应的缺陷信息可以包括:缺陷标识、缺陷对应的登记链接、缺陷的发现层级、缺陷对应的复现信息、缺陷出现的次数、缺陷被发现的阶段等,在此不作限定。
如图2所示,该项目管理方法可以包括:
S101、通过代码管理模块获取第一设计师通过用户终端提交的逻辑设计指令,响应于逻辑设计指令,获取目标芯片设计代码,其中,目标芯片设计代码关联有目标标识信息。
其中,该用户终端可以是图1中的任一用户终端,第一设计师基于该用户终端可以提交逻辑设计指令,该逻辑设计指令可以包括:目标芯片设计代码的设计指令。可选地,该设计指令可以包括目标芯片设计代码中寄存器、计数器、缓冲器等芯片设计基本单元的位置设置指令、数量设置指令等,在此不作限定。
服务器响应于该逻辑设计指令,可以获取对应的目标芯片设计代码,在一些实施例中,目标芯片设计代码所关联的目标标识信息可以包括:目标芯片设计代码的版本号、设计名称、缺陷标识、版本稳定性标识等,当然,根据实际的应用场景还可以包括其他信息,在此不作限定。其中,版本稳定性标识可以指示该目标芯片设计代码的稳定性,根据该版本稳定性标识可以确定目标芯片设计代码的验证工作,可选地,若目标芯片设计代码所关联的版本稳定性标识指示该目标芯片设计代码为稳定版本,则说明该目标芯片设计代码的代码编译没有问题并且通过了冒烟测试,验证工作中无需包括冒烟测试验证计划;否则,说明该目标芯片设计代码的代码编译有问题或者目标芯片设计代码没有进行冒烟测试(验证过程之前的预测试,冒烟测试一般是比较简单的数据通路测试),那么验证工作中需要包括冒烟测试验证计划。当然,在一些实施例中,验证工作的设置也可以不依赖于目标芯片设计代码所关联的版本稳定性标识。
可选地,上述目标芯片设计代码可以是目标芯片对应的初始芯片设计代码,也可以是对目标芯片对应的历史芯片设计代码的更新版本,在此不作限定。
S102、通过缺陷管理模块,基于目标标识信息,获取目标芯片设计代码对应的缺陷信息。
基于前述说明可知,由于缺陷管理模块中存储有至少一种芯片的芯片设计代码对应的缺陷信息,因此,可以根据目标标识信息,在缺陷管理模块中查询获取目标芯片设计代码对应的缺陷信息,实现了目标芯片设计代码对应的缺陷信息的快速查询,便于项目管理人员进一步进行缺陷分析,提高芯片项目的管理效率,进而可以加快芯片项目进度,减少芯片设计过程中出现缺陷的几率。
值得说明的是,根据缺陷管理模块中存储的缺陷信息的类型,可以获取相应类型的目标芯片设计代码对应的缺陷信息。
综上,本申请实施例提供一种项目管理方法,应用于服务器,服务器上部署有项目管理系统,项目管理系统包括代码管理模块和缺陷管理模块,代码管理模块中存储有设计师在逻辑设计代码验证过程中关于至少一种芯片的芯片设计代码以及芯片设计代码对应的标识信息,缺陷管理模块中存储有芯片设计代码对应的缺陷信息;通过代码管理模块获取第一设计师通过用户终端提交的逻辑设计指令,响应于逻辑设计指令,获取目标芯片设计代码,其中,目标芯片设计代码关联有目标标识信息;通过缺陷管理模块,基于目标标识信息,获取目标芯片设计代码对应的缺陷信息,应用该方法可以实现对目标芯片设计代码对应的缺陷信息的查询,相较于现有技术来说,可以实现对目标芯片设计代码更为全面地管理,有效改善项目管理系统的管理效果;此外,基于所查询的目标芯片设计代码对应的缺陷信息,便于项目管理人员进一步进行缺陷分析,提高芯片项目的管理效率、加快芯片项目进度、减少芯片设计过程中出现缺陷的几率。
可选地,目标芯片设计代码对应的缺陷信息包括目标缺陷本身、目标缺陷对应的登记链接、目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷出现的次数、目标缺陷被发现的阶段中的至少一种。
图3为本申请实施例提供的目标缺陷对应的发现层级示意图。在一些实施例中,目标缺陷本身可以包括:目标缺陷标识、目标缺陷对应的芯片设计代码等,在此不作限定;目标缺陷的发现层级,用于指示目标缺陷被发现时所处的验证阶段。可选地,如图3所示,目标缺陷的发现层级可以为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。其中,模块级、子系统级、裸机系统级以及操作系统级的层级依次升高,需要说明的是,此处所提及的层级是从芯片设计代码设计的角度而言进行划分的。
目标缺陷对应的登记链接可以表征目标缺陷在缺陷管理模块中的链接路径,也即目标缺陷在缺陷管理模块中的访问路径。举例说明,在一些实施例中,目标缺陷对应的登记链接的表现形式可以为一网页链接,比如,http://10.23.100.100/xxx/xxxx/ID,其中,ID可以目标缺陷的缺陷标识。当然,登记链接的具体表现形式并不以此为限。
目标缺陷出现的次数可以表征该目标缺陷在历史芯片设计代码中出现的次数。可选地,该历史芯片设计代码可以是历史时间段内,目标芯片或其他芯片对应的芯片设计代码,在此不作限定。
目标缺陷被发现的阶段可以为寄存器转换级电路(Register Transfer Level,RTL)代码阶段、网表代码阶段、手动修改集成电路(Engineering Change Order,ECO)代码阶段以及硅后代码阶段中的任一个。
其中,RTL代码阶段用于描述同步数字电路操作的抽象级,处于RTL代码阶段的芯片设计代码为RTL代码;网表代码阶段用于描述电路元件相互之间连接关系,处于网表代码阶段的芯片设计代码为门级网表代码。
ECO代码阶段是芯片设计代码被冻结(冻结也即芯片设计代码的验证结果指示该芯片设计代码不存在任何缺陷,不允许对该芯片设计代码对应的RTL代码进行修改)后对其进行修改的阶段,ECO代码阶段可以分为逻辑手动修改集成电路(logic ECO)代码阶段和物理手动修改集成电路(physical ECO)代码阶段,其中,logic ECO代码阶段主要用于修改或者改进电路的逻辑功能,physical ECO代码阶段主要用于修改电路的物理实现以满足各种约束要求。硅后代码阶段是在芯片验证发现缺陷时,用户对芯片设计代码进行修改的阶段。
目标缺陷对应的复现信息用于指示目标缺陷是否可复现,以及若目标缺陷可复现时对应的复现层级,其中,目标缺陷可复现时对应的复现层级可以为模块级、子系统级、裸机系统级以及操作系统级中的任一层级,在此不作限定。
应用本申请实施例,使得项目管理人员根据实际的应用场景,可以快速查询到目标芯片设计代码对应的多种缺陷信息,进而基于该多种缺陷信息可以及时对目标芯片设计代码进行进一步分析、修改,如此,可以提高芯片项目的管理效率和开发效率。
在一些实施例中,目标缺陷对应的复现信息可以由第一设计师或验证师根据人为经验确定,又或者,可以根据预设测试脚本确定,在此不作限定。
其中,若目标缺陷对应的复现信息指示目标缺陷可在模块级复现,缺陷管理模块,可以获取用户终端提交的该目标缺陷对应的复现信息并存储,其中,存储过程中,可以通过缺陷管理模块标记该目标缺陷的复现层级为模块级;若目标缺陷对应的复现信息指示目标缺陷不可在模块级复现时,则该目标缺陷可能是由于模块接口所导致,又或者,是由于模块级环境所导致,对于这两种情况,下面分别进行说明。
图4为本申请实施例提供的另一种项目管理方法的流程示意图。可选地,如图4所示,若目标缺陷对应的复现信息指示目标缺陷不可在模块级复现,且目标缺陷是由于模块接口所导致,上述方法还包括:
S201、向用户终端发送第一提示信息,以指示第一设计师检查子系统级设计规范是否已清楚描述模块之间的接口。
可选地,服务器可以以邮件、弹窗的形式向用户终端发送第一提示信息,其中,若目标缺陷是由于模块接口所导致,可以向用户终端发送该第一提示信息,使得通过该第一提示信息可以指示第一设计师检查目标芯片设计代码对应的子系统级设计规范是否已清楚描述模块之间的接口;其中,若确定未清楚描述,第一设计师可以通过用户终端向服务器提交目标芯片设计代码对应的更新后的子系统级设计规范,其中,该更新后的子系统级设计规范可以包括:模块之间的接口的清楚描述信息。
应用本申请实施例,实现了在确定目标缺陷是由于模块接口所导致时,可以及时提醒第一设计师检查子系统级设计规范,并根据检查结果及时对子系统级设计规范进行更新以消除该目标缺陷,可以加快芯片项目的开发进度、提高芯片项目的管理效率。
图5为本申请实施例提供的又一种项目管理方法的流程示意图。可选地,如图5所示,若目标缺陷对应的复现信息指示目标缺陷不可在模块级复现,且目标缺陷是由于模块级环境导致,上述方法还包括:
S301、通过缺陷管理模块获取用户终端提交的针对目标缺陷的环境修改请求,环境修改请求用于修改模块级环境。
S302、响应环境修改请求,修改代码管理模块中的模块级环境,以使根据模块级环境可复现目标缺陷。
其中,若目标缺陷是由于模块级环境导致,目标芯片设计代码对应的验证师可以通过用户终端向服务器提交针对该目标缺陷的环境修改请求,服务器根据该环境修改请求可以修改代码管理模块中的模块级环境,使得基于该修改后的模块级环境可以复现该目标缺陷。可选地,实际复现过程中,基于该修改后的模块级环境,可以结合相关的验证激励在芯片模拟工具中实现复现。
应用本申请实施例,实现了在确定目标缺陷是由于模块级环境导致时,可以响应于用户终端提交的针对该目标缺陷的环境修改请求,及时复现该目标缺陷,提高项目管理人员对目标缺陷的复现效率,进而便于项目管理人员根据缺陷复现的原因及时对该目标缺陷进行修复,加快芯片项目的开发进度。
基于上述说明,为了更好地理解本申请,首先对芯片项目开发过程进行简单说明,芯片项目开发过程中,可以将芯片设计代码的设计模块自顶向下划分为系统设计模块(顶层设计模块),系统设计模块可以包含多个子系统设计模块,每个子系统设计模块可以再划分为多个设计模块。其中,顶层设计模块对应系统级验证,子系统设计模块对应子系统级验证,设计模块对应模块级验证。
可以理解的是,若确定目标芯片设计代码中存在目标缺陷,则有必要对该目标缺陷进行验证以获取目标缺陷发生的原因、目标缺陷的复现信息、消除的方法。其中,对目标缺陷进行验证时,可以按照自底向上的方式进行,先进行模块级验证,待模块级验证充分之后再进行子系统级验证,待子系统级验证充分之后再进行系统级验证,系统级验证又细分为裸机系统级验证和操作系统级验证。裸机系统级验证是不带操作系统代码,只在预设工具上编写简单验证激励进行验证的阶段;操作系统级验证是带操作系统代码,在仿真器平台上进行验证的阶段。
需要说明的是,从芯片设计代码设计的角度而言,操作系统级的层级高于裸机系统级的层级、裸机系统级的层级高于子系统级的层级、子系统级的层级高于模块级的层级。
此外,还值得说明的是,对目标缺陷进行验证以复现该目标缺陷时,若该目标缺陷首次在较高层级(比如,操作系统级)发现,则需要在较低层级(比如,模块级、子系统级)通过构造验证激励或者修改环境,重新发现该目标缺陷,也即重现该目标缺陷。其中,复现该目标缺陷时,基于自底向上的复现原则,如果在模块级编写验证激励或者修改环境,可以复现该目标缺陷,那么在缺陷管理模块中登记该目标缺陷的复现层级为模块级复现,复现结束;如果模块级不能复现,在子系统级编写验证激励或者修改环境,可以复现该目标缺陷,那么在缺陷管理模块中登记该目标缺陷的复现层级为子系统复现,复现结束;如果模块级和子系统级都不能复现,在裸机系统级编写验证激励或者修改环境,可以复现该目标缺陷,那么在缺陷管理模块中登记该目标缺陷的复现层级为裸机系统级复现,复现结束;如果模块级、子系统级以及裸机系统级都不能复现,在操作系统级编写验证激励或者修改环境,可以复现该缺陷,复现完毕后,那么在缺陷管理模块中登记该目标缺陷的复现层级为操作系统级复现,复现结束。
基于上述说明,对于代码管理模块来说,其也可以存储验证师在验证过程中针对至少一种芯片的芯片设计代码所设计的芯片验证代码,以及芯片验证代码对应的标识信息。可选地,芯片验证代码对应的标识信息可以包括:验证阶段标识、芯片验证代码的版本信息、芯片设计代码的存储路径信息等,在此不作限定。
图6为本申请实施例提供的另一种项目管理方法的流程示意图。基于上述说明,可选地,如图6所示,上述方法还包括:
S401、通过缺陷管理模块获取验证师通过用户终端提交的针对目标缺陷的验证请求。
S402、通过缺陷管理模块响应验证请求,在预设工具中基于任一层级对应的验证激励复现目标缺陷。
其中,根据实际的应用场景对该目标缺陷作进一步地验证时,验证师可以通过用户终端提交针对该目标缺陷的验证请求,该验证请求可以包括芯片验证代码,该芯片验证代码可以包括该目标缺陷所在层级的验证激励,比如,可以包括子系统验证激励、裸机验证激励等,在此不作限定。基于上述说明,可以将所获取的芯片验证代码存储至代码管理模块中。
服务器通过缺陷管理模块可以接收该验证请求,响应于该验证请求可以通过其对应的验证激励在预设工具对该目标缺陷进行验证,实现对目标缺陷的复现。可选地,该预设工具可以是芯片模拟工具。
应用本申请实施例,实现了可以响应于用户终端提交的针对该目标缺陷的验证请求并复现该目标缺陷,提高项目管理人员对目标缺陷的复现效率,进而可以提高芯片项目的管理效率和开发效率。
可选地,上述项目管理系统还包括:文件管理模块,用于存储目标芯片设计代码对应的验证工作和验证结果文档,其中,验证结果文档存储有历史验证结果,其中,验证工作可以理解为验证计划,验证工作可以包括验证方式、验证内容、预期的验证结果等,在此不作限定。可选地,文件管理模块可以基于开源的版本控制系统(比如,Subversion)、分布式版本控制系统(比如,Git)实现,在此不作限定,根据实际的应用场景可以灵活选择。
在一些实施例中,根据目标芯片设计代码对应的设计阶段,目标芯片设计代码对应的验证工作可以进一步划分为:系统级验证计划,子系统级验证计划以及模块级验证计划;目标芯片设计代码对应的验证结果文档进一步地可以划分为:系统级验证结果文档,子系统级验证结果文档,模块级验证结果文档,当然,具体划分方式并不以此为限。
其中,历史验证结果可以用于指示历史验证过程中目标芯片设计代码是否存在除目标缺陷之外的历史缺陷、历史缺陷发生的原因、位置、若存在历史缺陷,该历史缺陷复现时对应的复现层级等,在此不作限定。
图7为本申请实施例提供的又一种项目管理方法的流程示意图。在一些实施例中,如图7所示,上述通过缺陷管理模块响应验证请求,在预设工具中基于任一层级对应的验证激励复现目标缺陷,包括:
S501、通过缺陷管理模块响应验证请求,从文件管理模块中获取目标芯片设计代码对应的验证工作。
S502、根据验证工作,通过缺陷管理模块在预设工具中基于任一层级对应的验证激励复现目标缺陷,得到当前验证结果,并基于当前验证结果在文件管理模块中更新历史验证结果。
其中,当前验证结果包括在复现目标缺陷时的验证激励名称、功能点以及验证激励结果,其中,验证激励名称用于指示目标缺陷复现时对应的验证激励标识,功能点用于指示目标缺陷复现时的验证功能点,比如,可以是寄存器、计数器、缓冲器等芯片设计基本单元的功能验证点,验证激励结果用于指示在该验证激励名称对应的验证激励下目标缺陷对应的具体缺陷信息。
参见前述的说明,缺陷管理模块在获取到目标芯片设计代码对应的验证工作之后,则可以在预设工具中基于任一层级对应的验证激励复现目标缺陷,以得到当前验证结果。可以理解的是,为了便于后续其他人员(比如,设计师或验证师)就该目标缺陷出现的原因进行分析,可以基于当前验证结果对历史验证结果进行更新,比如,可以将当前验证结果追加至历史验证结果。
应用本申请实施例,便于项目管理人员基于所得到的当前验证结果对目标缺陷进行分析,降低该目标缺陷在其他芯片设计代码中出现的几率,加快芯片项目的开发进度。
基于上述说明,还需要说明的是,项目管理系统还可以包括:项目数据库,该项目数据库可以存储各芯片设计代码的设计名称、设计级别、各芯片的芯片设计代码的存储路径、设计规范路径和设计规范名称、验证规范路径和验证规范名称、各芯片设计代码对应的设计师标识(比如,身份证号、员工编号等)、各芯片设计代码对应的验证师标识。
其中,对于设计规范路径和设计规范名称、验证规范路径和验证规范名称,以设计规范路径和设计规范名称为例进行说明,设计规范路径和设计规范名称用于指示各芯片设计代码对应的设计规范信息的存储路径,也即根据设计规范路径和设计规范名称可以查询获取到该目标芯片设计代码对应的设计规范信息。可选地,至少一种芯片的芯片设计代码对应的设计规范信息可以被存储至文件管理模块中,也即根据设计规范路径和设计规范名称,可以通过文件管理模块查询获取到该目标芯片设计代码对应的设计规范信息。
可选地,各芯片设计代码可以对应多个设计师标识和多个验证师标识,在此不作限定,根据实际的应用场景可以有所不同,比如,各子系统设计模块可以对应不同的设计师、不同的验证师。对于各芯片设计代码对应的设计师标识和验证师标识,以各芯片设计代码对应的设计师标识为例进行说明,其中,结合上述实施例来看,可选地,邮箱管理模块可以存储有各芯片设计代码对应的设计师邮箱账号、以及各芯片设计代码对应的设计师标识和设计师邮箱账号之间的映射关系,那么对于目标芯片设计代码来说,可以通过项目数据库获取目标芯片设计代码对应的第一设计师标识,根据该第一设计师标识可以通过邮箱管理模块获取得到第一设计师标识对应的第一设计师邮箱账号,进而可以通过该邮箱管理模块向该第一设计师邮箱账号发送相关的提示信息。当然,本申请在此并不限定具体的提示内容,根据实际的应用场景,可以有所不同。
需要说明的是,在一些场景下,若通过查询确定邮箱管理模块未存储有第一设计师标识对应的第一设计师邮箱账号,可选地,服务器根据与用户终端之间的通信链路,可以向用户终端发送补充提示信息,以提示补充第一设计师邮箱账号至邮箱管理模块。
可选地,文件管理模块中还存储有至少一种芯片的芯片设计代码对应的设计规范信息,该设计规范信息可以包括:设计方案、时序图、寄存器、状态机、计数器、数据缓存器的设计规范等,在此不作限定。
需要说明的是,同一种芯片的不同版本的芯片设计代码可以对应不同的设计规范信息,举例说明,若对某芯片的第一版本的芯片设计代码进行更新,得到第二版本的芯片设计代码时,则还需要根据该第一版本的芯片设计代码的变动内容,同步更新该第一版本的芯片设计代码对应的第一设计规范信息,得到第二版本的芯片设计代码对应的第二设计规范信息,以便项目管理人员根据该设计规范信息可以及时知晓变动原因、变动位置等。
其中,该设计规范信息可以根据设计规范路径和设计规范名称查询获取。可选地,根据芯片设计代码对应的设计阶段,芯片设计代码对应的设计规范信息可以进一步划分为:系统级设计规范信息、子系统级设计规范信息以及模块级设计规范信息。
在一些实施例中,若目标芯片设计代码是对目标芯片对应的历史芯片设计代码的更新版本,可选地,该目标芯片设计代码可以关联有代码修改原因和目标版本标识,其中,代码修改原因可以为下述任一种或多种:设计方案变动、目标芯片对应的历史芯片设计代码出现其他芯片设计代码中已有的缺陷、验证过程中发现目标芯片对应的历史芯片设计代码存在缺陷、通过代码检查工具发现目标芯片对应的历史芯片设计代码存在缺陷。目标版本标识可以基于历史版本标识,通过对目标芯片对应的历史芯片设计代码进行更新得到,其中,历史版本标识为目标芯片对应的历史芯片设计代码的版本标识。
图8为本申请实施例提供的目标芯片设计代码所关联的各代码修改原因对应的项目管理方式的示意图。其中,如图8所示,若目标芯片设计代码关联的代码修改原因包括:设计方案变动,可选地,服务器可以向用户终端发送第四提示信息,以提示第一设计师检查目标芯片设计代码对应的设计规范信息是否对设计方案部分信息进行了变动。若目标芯片设计代码关联的代码修改原因包括:目标芯片对应的历史芯片设计代码出现其他芯片设计代码中已有的缺陷,可选地,服务器可以向用户终端发送第五提示信息,以提示第一设计师或验证师分析历史芯片设计代码为发现该缺陷的原因。
图9为本申请实施例提供的另一种项目管理方法的流程示意图。可选地,若目标芯片设计代码关联的代码修改原因包括:验证过程中发现目标芯片对应的历史芯片设计代码存在缺陷,如图8和图9所示,上述通过缺陷管理模块获取验证师通过用户终端提交的针对目标缺陷的验证请求之前,还包括:
S601、若文件管理模块中存储有目标芯片设计代码对应的设计规范信息,向用户终端发送第二提示信息,第二提示信息用于提示验证师可触发针对目标缺陷的验证请求。
S602、若文件管理模块中未存储有目标芯片设计代码对应的设计规范信息,向用户终端发送第三提示信息,第三提示信息用于提示第一设计师上传目标芯片设计代码对应的设计规范信息至文件管理模块中。
基于上述实施例,可选地,可以根据目标芯片设计代码所关联的设计名称,通过项目数据库查询获取目标芯片设计代码对应的设计规范路径和设计规范名称;根据目标芯片设计代码对应的设计规范路径和设计规范名称,通过文件管理模块查询获取目标芯片设计代码对应的设计规范信息,其中,若查询到,服务器可以向用户终端发送第二提示信息,以通过该第二提示信息提示验证师可触发针对目标缺陷的验证请求,在一些实施例中,该验证请求可以包括目标芯片设计代码所关联的目标标识信息,比如,可以包括目标芯片设计代码的版本号等,在此不作限定,根据实际的应用场景可以有所不同。若未查询到,服务器可以向用户终端发送第三提示信息,以通过该第三提示信息及时提示第一设计师上传目标芯片设计代码对应的设计规范信息至文件管理模块中。
应用本申请实施例,实现了可以根据目标芯片设计代码修改的原因,对目标芯片设计代码的相关内容进行针对性检查,可以提高芯片项目的管理效率和开发效率。
需要说明的是,在一些实施例中,若上述目标芯片设计代码所关联的目标标识信息包括:设计名称和版本稳定性标识,其中,若该版本稳定性标识指示该目标芯片设计代码为未稳定版本,说明未对该目标芯片设计代码进行验证,那么也可以执行上述S601、S602步骤的内容,实现了若该版本稳定性标识指示该目标芯片设计代码为未稳定版本,可以根据实际的查询结果向目标芯片设计代码对应的第一设计师或验证师发送相应地提示信息,从而可以推进目标芯片设计代码的开发进度,提高项目开发效率。
对于文件管理模块,需要说明的是,文件管理模块还可以存储有至少一种芯片的芯片设计代码对应的系统需求规范、系统架构方案、评审方案、相关参考文件、用户使用说明书、验证规范信息(包括验证规范路径和名称)等芯片项目开发和使用过程中的所有文件,便于用户通过该文件管理模块可以快速查询到相关文件,提高芯片项目的管理效率。
图10为本申请实施例提供的另一种项目管理方法的流程示意图。可选地,上述项目管理系统还包括邮箱管理模块,其中,该邮箱管理模块,可以存储有各芯片设计代码对应的设计师邮箱账号、验证师邮箱账号。在一些实施例中,如图10所示,上述方法还包括:
S701、通过邮箱管理模块将目标芯片设计代码对应的缺陷信息发送给用户终端,以提示第一设计师或验证师基于缺陷信息对目标芯片设计代码进行修改。
在一些实施例中,目标芯片设计代码对应的第一设计师可以通过用户终端登录第一设计师邮箱账号、且目标芯片设计代码对应的验证师可以通过用户终端登录验证师邮箱账号,则服务器可以通过邮箱管理模块根据该第一设计师邮箱账号、验证师邮箱账号以邮件的形式向用户终端发送目标芯片设计代码对应的缺陷信息,从而第一设计师或者验证师可以通过该用户终端获取到该目标芯片设计代码对应的缺陷信息,并基于此进行修改。
应用本申请实施例,实现了可以及时向项目管理人员同步目标芯片设计代码对应的缺陷信息,便于项目管理人员及时对该目标芯片设计代码作出修改,可以提高芯片项目的管理效率和开发效率。
可选地,若目标芯片设计代码对应的缺陷信息未包括目标缺陷对应的登记链接,则该第一设计师或验证师可以通过用户终端在缺陷管理模块中补充该目标缺陷对应的登记链接;若目标芯片设计代码对应的缺陷信息中目标缺陷出现的次数为1,则第一设计师或验证师可以就此分析历史芯片设计代码中未出现该目标缺陷的原因。
图11为本申请实施例提供的目标缺陷在各预设阶段被发现时对应的项目管理方法的示意图。在一些实施例中,如图11所示,若目标芯片设计代码对应的缺陷信息中目标缺陷被发现的阶段为寄存器转换级电路代码阶段,且目标芯片设计代码对应的缺陷信息中还包括:目标缺陷的发现层级,则第一设计师或验证师可以参见下述的方式进行修改。
若目标芯片设计代码对应的缺陷信息中目标缺陷的发现层级为模块级,则该验证师可以据此分析目标缺陷被发现的原因、获取目标缺陷对应的登记链接,并通过用户终端向服务器发送该目标缺陷的登记链接以及该目标缺陷出现的原因;第一设计师可以就此分析该目标缺陷的解决方式,并通过用户终端向服务器发送该目标缺陷的解决方式以及为解决该目标缺陷对目标芯片设计代码作出的修改方式等。
若目标芯片设计代码对应的缺陷信息中目标缺陷的发现层级为子系统级,则第一设计师或验证师可以据此分析目标缺陷从模块级逃逸到子系统级才被发现的第一逃逸原因以及分析该目标缺陷是否可以在模块级进行复现,并通过用户终端向服务器发送该目标缺陷的登记链接以及该目标缺陷的第一逃逸原因;其中,若该目标缺陷可以在模块级进行复现,则该验证师还可以通过用户终端向服务器发送该目标缺陷复现的层级为模块级的复现信息。
若目标芯片设计代码对应的缺陷信息中目标缺陷的发现层级为裸机系统级,则第一设计师或验证师可以据此分析目标缺陷从模块级和子系统级逃逸到裸机系统级才被发现的第一逃逸原因以及分析该目标缺陷是否可以在模块级、子系统级进行复现,并通过用户终端向服务器发送该目标缺陷的登记链接以及该目标缺陷的第一逃逸原因;其中,若该目标缺陷可以在模块级或子系统级进行复现,则该验证师还可以通过用户终端向服务器发送该目标缺陷复现的层级为模块级或子系统级的复现信息。
若目标芯片设计代码对应的缺陷信息中目标缺陷的发现层级为操作系统级,则第一设计师或验证师可以据此分析目标缺陷从模块级、子系统级以及裸机系统级逃逸到操作系统级才被发现的第一逃逸原因以及分析该目标缺陷是否可以在模块级、子系统级、裸机系统级进行复现,并通过用户终端向服务器发送该目标缺陷的登记链接以及该目标缺陷的第一逃逸原因;其中,若该目标缺陷可以在模块级、子系统级或裸机系统级进行复现,则该验证师还可以通过用户终端向服务器发送该目标缺陷复现的层级为模块级、子系统级或裸机系统级的复现信息。可选地,若该目标缺陷无法在模块级、子系统级、裸机系统级进行复现,则第一设计师和验证师可以据此分析该目标缺陷对应的设计模块是否存在。
在一些实施例中,继续参照图11所示,若目标芯片设计代码对应的缺陷信息中目标缺陷被发现的阶段为网表代码阶段,则第一设计师或验证师可以据此分析目标缺陷从寄存器转换级电路代码阶段逃逸至网表代码阶段才被发现的第二逃逸原因,并通过用户终端向服务器发送该目标缺陷的第二逃逸原因。
若目标芯片设计代码对应的缺陷信息中目标缺陷被发现的阶段为手动修改集成电路的代码阶段,则第一设计师或验证师可以据此分析目标缺陷在目标芯片设计代码冻结之前逃逸至手动修改集成电路的代码阶段才被发现的第二逃逸原因,并通过用户终端向服务器发送该目标缺陷的第二逃逸原因。
若目标芯片设计代码对应的缺陷信息中目标缺陷被发现的阶段为硅后代码阶段,则第一设计师或验证师可以据此分析目标缺陷在目标芯片流片之前逃逸至硅后代码阶段才被发现的第二逃逸原因,并通过用户终端向服务器发送该目标缺陷的第二逃逸原因。
在一些实施例中,目标芯片设计代码对应的缺陷信息还可以包括:目标缺陷的发现方式,此外,结合前述的相关内容,目标芯片设计代码关联有的代码修改原因可以包括:目标芯片对应的历史芯片设计代码出现其他芯片设计代码中已有的缺陷、验证过程中发现目标芯片对应的历史芯片设计代码存在缺陷、通过代码检查工具发现目标芯片对应的历史芯片设计代码存在缺陷。
可选地,参照上述图8所示,目标缺陷的发现方式可以为验证过程中发现或通过代码检查工具发现。基于该说明,若目标芯片设计代码对应的缺陷信息指示目标缺陷是通过代码检查工具发现的,则服务器可以向用户终端发送第六提示信息,以指示第一设计师或验证师可以就此分析目标缺陷逃逸的原因、以及该目标缺陷未在验证过程中发现的原因,便于项目开发过程中项目开发人员可以及时自检,进而可以提高后续芯片设计代码的设计效率。
需要说明的是,若目标芯片设计代码对应的第一设计师通过第一用户终端登录第一设计师邮箱账号、目标芯片设计代码对应的验证师通过第二用户终端登录验证师邮箱账号,则服务器可以通过邮箱管理模块以邮件的形式分别向该第一用户终端、第二用户终端发送目标芯片设计代码对应的缺陷信息。
当然,若目标芯片设计代码对应的第一设计师邮箱账号或验证师邮箱账号包括多个时,服务器可以选择向部分的第一设计师邮箱账号或验证师邮箱账号发送目标芯片设计代码对应的缺陷信息,从而可以降低服务器的功耗;当然,也可以选择向全部的第一设计师邮箱账号或验证师邮箱账号发送目标芯片设计代码对应的缺陷信息,使得各第一设计师或各验证师可以及时进行响应,提高响应效率,在此不作限定,根据实际的应用场景可以灵活选择发送策略。
应用本申请实施例,使得可以根据目标芯片设计代码对应的缺陷信息的具体内容进行精细化处理,便于项目管理人员及时根据该目标缺陷对目标芯片设计代码进行修改,可以加快芯片项目开发效率。
基于上述实施例还需要说明的是,即使本申请实施例中代码管理模块、缺陷管理模块、文件管理模块、邮箱管理模块分别作为一个单独的系统部署在服务器中,应用本申请实施例,则可以建立各个模块之间的关联关系,而无需人工建立关联,如此可以在其中任一模块发生更新时,可以及时向其他模块发送相关提示信息,进而项目管理人员可以及时接收该提示信息并进行适应性修改,可以有效提提高芯片项目的管理效率和开发效率。
此外,现有技术中对芯片设计代码进行缺陷分析时,主要是验证师根据历史验证经验进行分析,这一实现方式存在分析不够全面、分析效率较低的问题。
有鉴于此,本申请实施例下面提供一种缺陷分析方法,应用该方法可以对芯片设计代码的缺陷信息进行更全面地分析,提高缺陷分析效率。
图12为本申请实施例提供的一种缺陷分析方法的流程示意图,该方法的执行主体可以为服务器,如图12所示,该方法可以包括:
S801、获取目标芯片设计代码对应的缺陷信息。
其中,目标芯片设计代码对应的缺陷信息可以包括目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷出现的次数、目标缺陷被发现的阶段中的至少一种。
可以理解的是,根据实际的应用场景,目标芯片设计代码对应的缺陷信息可以包括上述多种,当然,除过上述所示出的缺陷信息,还可以包括其他类型的缺陷信息,在此不作限定。此外,需要说明的是,目标芯片设计代码对应的缺陷信息的获取过程可参见上述项目管理方法中的相关内容,在此不再赘述。
S802、基于目标芯片设计代码对应的缺陷信息,执行第一处理。
根据目标芯片设计代码对应的缺陷信息的不同,可以执行不同的第一处理。可选地,该第一处理可以是对缺陷信息中目标缺陷的复现处理、又或者,可以是对目标缺陷的纠正,再或者,可以是对用户终端的预警提示,在此不作限定,根据缺陷信息的不同可以进行不同的缺陷分析,实现快速分析。应用本申请实施例,使得根据目标芯片设计代码的缺陷信息的不同,可以执行不同的第一处理,相较于现有技术来说,可对目标芯片设计代码中的目标缺陷进行更为全面的分析,可以有效提高缺陷分析效率,进而可以提高芯片设计代码的开发效率。
综上,本申请实施例提供一种缺陷分析方法,该方法可以应用于服务器,该方法包括:获取目标芯片设计代码对应的缺陷信息;其中,目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷出现的次数、目标缺陷被发现的阶段中的至少一种;基于目标芯片设计代码对应的缺陷信息,执行第一处理,应用本申请实施例,可以根据目标芯片设计代码的缺陷信息的不同而执行不同的第一处理,实现对目标芯片设计代码中目标缺陷的全面分析,可以有效提高缺陷分析效率,进而可以提高芯片设计代码的开发效率。
可选地,目标缺陷的发现层级可以为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
可选地,目标缺陷对应的复现信息用于指示目标缺陷是否可复现,以及若目标缺陷可复现时对应的复现层级。
可选地,目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
需要说明的是,关于目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷被发现的阶段可参见上述项目管理方法中的相关内容,在此不再赘述。
图13为本申请实施例提供的另一种缺陷分析方法的流程示意图,可选地,若目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级;如图13所示,上述基于目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
S901、在目标缺陷的发现层级中复现目标缺陷,并将目标缺陷的发现层级以及在目标缺陷的发现层级复现目标缺陷的第一相关信息发送给用户终端。
其中,在目标缺陷的发现层级复现目标缺陷的第一相关信息可以用于指示该目标缺陷复现时的相关复现信息,可选地,其可以包括:目标缺陷描述(比如,目标缺陷的发现时间、发现位置等)、目标缺陷对应的设计模块名称和设计模块代码版本、目标缺陷复现时设计模块的激励信号、目标缺陷复现时设计模块的模块环境、目标缺陷复现的难易程度等,在此不作限定,根据实际的应用场景可以有所不同。
若目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级,那么在该情况下,可以在该发现层级中复现目标缺陷,以此获取该目标缺陷的第一相关信息;进一步地,可以将该第一相关信息和目标缺陷的发现层级发送给用户终端,以便目标芯片设计代码的设计师通过该用户终端可以对目标芯片设计代码作出修改,以纠正或者消除该目标缺陷。
S902、接收用户终端基于目标缺陷对应的复现层级以及目标缺陷的第一相关信息修改后的目标芯片设计代码。
其中,目标芯片设计代码的设计师通过该用户终端对目标芯片设计代码作出修改后,可以将修改后的目标芯片设计代码发送给服务器,服务器接收到该修改后的目标芯片设计代码,可以进一步由验证师通过用户终端对该目标芯片设计代码进行验证,以确保目标芯片设计代码不出现该缺陷,进而可以保证实际应用过程中目标芯片设计代码所对应芯片运行的可靠性。
应用本申请实施例,使得在目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级时,可以引导验证师对该目标缺陷进行针对性地分析并将分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
图14为本申请实施例提供的又一种缺陷分析方法的流程示意图。可选地,目标芯片设计代码可以包含多个芯片功能模块,在存在依赖关系的两个芯片功能模块中,一个芯片功能模块与另一个芯片功能模块之间设置有模块接口。其中,存在依赖关系的两个芯片功能模块指的是,一个芯片功能模块的输出信号需要作为另一个芯片功能模块的输入信号,也即存在依赖关系的两个芯片功能模块之间可以通过设置的模块接口传输信号。
其中,各芯片功能模块用于实现目标芯片设计代码的部分功能,该多个芯片功能模块之间通过通信配合可以满足目标芯片设计代码的设计需求。当然,本申请在此并不限定目标芯片设计代码中芯片功能模块的数量,根据目标芯片设计代码的设计需求的不同可以有所不同。
可选地,若目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现,如图14所示,上述基于目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
S1001、判断目标芯片设计代码中所包含的模块接口是否符合预设模块接口要求。
可选地,预设模块接口要求可以包括:模块接口的定义要求、调用要求、数据通信要求等,在此不作限定,根据实际的应用场景可以有所不同。其中,通过判断目标芯片设计代码中所包含的模块接口是否符合预设模块接口要求,可以在目标缺陷不可在模块级环境下复现时,进一步确定目标缺陷产生的原因。
S1002、在判断出目标芯片设计代码中所包含的模块接口不符合预设模块接口要求的情况下,确定目标缺陷是由于模块接口所导致,并判断在子系统级环境下是否已清楚定义了模块接口。
其中,子系统级环境的优先级低于模块级环境,优先级可以指示目标缺陷的复现顺序,结合前述说明可知,从芯片设计代码设计的角度而言,每个子系统设计模块可以划分为多个设计模块(也即芯片功能模块),此外,子系统级的层级高于模块级的层级,也就是对芯片设计代码进行设计时,先需要在子系统级对各设计模块的模块接口进行清楚定义,然后再对各设计模块所实现的功能进行具体设计。因此,若确定目标缺陷是由于模块级中模块接口所导致,那么可以在较高的子系统级环境下进一步确定其是否清楚定义了该模块接口,从而可以确定目标缺陷引起的具体原因。
需要说明的是,存在依赖关系的两个芯片功能模块之间设置的模块接口是定义在子系统级环境中,具体可以是定义在子系统级对应的子系统级设计规范中。
可以理解的是,若目标芯片设计代码中所包含的模块接口不符合该预设模块接口要求,那么此时可以确定该目标缺陷是由于模块接口所导致,基于上述说明,对于模块接口,可以进一步判断该子系统级环境是否清楚定义了该目标缺陷对应的模块接口。其中,若判断出该子系统级环境未清楚定义该目标缺陷对应的模块接口,可选地,服务器可以向用户终端发送修改请求,以使目标芯片设计代码的设计师或验证师根据该修改请求可以修改该子系统级环境以消除该目标缺陷。
应用本申请实施例,使得在目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现时,可以引导验证师进一步定位目标缺陷发生的原因,并将该目标缺陷的分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
图15为本申请实施例提供的另一种缺陷分析方法的流程示意图。若目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现,可选地,如图15所示,上述基于目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
S1101、判断在目标模块级环境下是否可复现目标缺陷。
其中,目标模块级环境为对模块级环境进行修改得到的。若判断出在目标模块级环境可复现目标缺陷,可选地,可以获取该目标缺陷复现时的第一复现信息并将该第一复现信息发送给用户终端,可选地,该第一复现信息可以包括:目标模块级环境的环境参数(环境名称、环境代码版本等)、目标缺陷描述(比如,目标缺陷的发现时间、发现位置等)、目标缺陷对应的设计模块名称和设计模块代码版本、目标缺陷复现时设计模块的激励名称、目标缺陷复现的难易程度等,在此不作限定,根据实际的应用场景可以有所不同。
进一步地,目标芯片设计代码的设计师通过该用户终端接收到该第一复现信息后,可以根据该第一复现信息对目标芯片设计代码进行修改,以使修改后的目标芯片设计代码不存在该目标缺陷,并将该修改后的目标芯片设计代码发送给服务器。
S1102、在判断出在目标模块级环境不可复现目标缺陷的情况下,修改目标模块级环境,直至在修改后的目标模块级环境下可复现目标缺陷。
S1103、将目标缺陷在修改后的目标模块级环境下的复现信息发送给用户终端。
S1104、接收用户终端基于修改后的目标模块级环境提交的目标芯片设计代码。
基于上述说明,可以理解的是,若在目标模块级环境下,仍然不可复现目标缺陷,那么此时可以对该目标模块级环境作出进一步地修改,当然,本申请在此并不限定修改次数,根据实际的应用场景可以修改一次或多次,直至在修改后的目标模块级环境下可复现目标缺陷,并将目标缺陷在修改后的目标模块级环境下的复现信息发送给用户终端。
可选地,目标缺陷在修改后的目标模块级环境下的复现信息的具体内容可参见上述第一复现信息,在此不再赘述。
对于目标芯片设计代码的设计师来说,目标芯片设计代码的设计师可以通过用户终端接收服务器发送的目标缺陷在修改后的目标模块级环境下的复现信息,据此,可以对目标芯片设计代码作出修改,以使修改后的目标芯片设计代码不存在该目标缺陷,并将该修改后的目标芯片设计代码发送给服务器,进而可以提高目标芯片设计代码的开发效率。
应用本申请实施例,使得在目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现时,可以引导验证师对模块级环境进行修改以复现该目标缺陷,并将该目标缺陷的分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
图16为本申请实施例提供的又一种缺陷分析方法的流程示意图。可选地,若目标芯片设计代码对应的缺陷信息包括目标缺陷被发现的阶段,如图16所示,上述基于目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
S1201、在目标缺陷被发现的阶段复现目标缺陷,并将目标缺陷被发现的阶段以及在目标缺陷被发现的阶段复现目标缺陷的第二相关信息发送给用户终端。
其中,在目标缺陷被发现的阶段复现目标缺陷的第二相关信息可以参见上述第一相关信息的内容,在此不再赘述。
可以理解的是,通过在目标缺陷被发现的阶段复现目标缺陷,则可以获取到目标缺陷的第二相关信息,进而可以将目标缺陷被发现的阶段和该目标缺陷的第二相关信息发送给用户终端。
S1202、接收用户终端针对目标缺陷被发现阶段以及在目标缺陷被发现的阶段复现目标缺陷的第二相关信息提交的修改后的芯片设计阶段代码。
其中,目标芯片设计代码的设计师可以通过用户终端接收服务器发送的目标缺陷被发现的阶段和该目标缺陷的第二相关信息,据此,可以对目标芯片设计代码作出修改,以使修改后的目标芯片设计代码不存在该目标缺陷,并将该修改后的目标芯片设计代码发送给服务器,进而可以提高目标芯片设计代码的开发效率。
应用本申请实施例,使得在目标芯片设计代码对应的缺陷信息包括目标缺陷被发现的阶段时,可以引导验证师在目标缺陷被发现的阶段复现目标缺陷,并将该目标缺陷的分析结果反馈给用户终端,进而目标芯片设计代码的设计师根据该分析结果可以通过用户终端提交修改后的目标芯片设计代码,如此,可以提高缺陷分析效率以及芯片设计代码的开发效率。
图17为本申请实施例提供的另一种缺陷分析方法的流程示意图。可选地,若目标芯片设计代码对应的缺陷信息包括目标缺陷出现的次数,如图17所示,上述基于目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
S1301、在目标缺陷出现的次数大于预设阈值的情况下,输出预警信息。
其中,该预设阈值也即预设次数阈值,可选地,该预设阈值可以是3、5等,在此不作限定,根据实际的应用场景可以有所不同。
可以理解的是,通过统计目标缺陷出现的次数,可以确定目标缺陷的严重程度,其中,若目标缺陷出现的次数大于预设阈值,则说明该目标缺陷在芯片设计代码的设计过程中频繁出现,那么此时可以输出预警信息。可选地,所输出的预警信息进一步可以以邮件或者网页的形式发送给用户终端,进而对于目标芯片设计代码的设计师或验证师来说,可以通过用户终端接收该预警信息,并重点关注该目标缺陷,避免该目标缺陷在其他芯片设计代码再次出现,可以有效提高芯片设计代码的开发效率。
应用本申请实施例,使得在确定目标缺陷出现的次数大于预设阈值的情况下,可以输出预警信息,便于芯片设计代码的设计师或者验证师可以重点关注该目标缺陷,进而可以降低目标缺陷出现的几率,提高芯片设计代码的开发效率。
图18为本申请实施例提供的一种项目管理装置的功能模块示意图,该项目管理装置可以应用于服务器,服务器上部署有项目管理系统,项目管理系统包括代码管理模块和缺陷管理模块,代码管理模块中存储有设计师在逻辑设计代码验证过程中关于至少一种芯片的芯片设计代码以及芯片设计代码对应的标识信息,缺陷管理模块中存储有芯片设计代码对应的缺陷信息,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。
如图18所示,该项目管理装置200包括:
代码管理模块210,用于获取第一设计师通过用户终端提交的逻辑设计指令,响应于逻辑设计指令,获取目标芯片设计代码,其中,目标芯片设计代码关联有目标标识信息;
缺陷管理模块220,用于基于目标标识信息,获取目标芯片设计代码对应的缺陷信息。
在可选的实施方式中,目标芯片设计代码对应的缺陷信息包括目标缺陷本身、目标缺陷对应的登记链接、目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷出现的次数、目标缺陷被发现的阶段中的至少一种。
在可选的实施方式中,目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
在可选的实施方式中,目标缺陷的登记链接用于表征目标缺陷在缺陷管理模块中的链接路径。
在可选的实施方式中,目标缺陷对应的复现信息用于指示目标缺陷是否可复现,以及若目标缺陷可复现时对应的复现层级。
在可选的实施方式中,目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
在可选的实施方式中,若目标缺陷对应的复现信息指示目标缺陷不可在模块级复现,且目标缺陷是由于模块接口所导致,方法还包括:
向用户终端发送第一提示信息,以指示第一设计师检查子系统级设计规范是否已清楚描述模块之间的接口。
在可选的实施方式中,若目标缺陷对应的复现信息指示目标缺陷不可在模块级复现,且目标缺陷是由于模块级环境导致,缺陷管理模块,还用于获取用户终端提交的针对目标缺陷的环境修改请求,环境修改请求用于修改模块级环境;
响应环境修改请求,修改代码管理模块中的模块级环境,以使根据模块级环境可复现目标缺陷。
在可选的实施方式中,缺陷管理模块220,还用于获取验证师通过用户终端提交的针对目标缺陷的验证请求;
响应验证请求,在预设工具中基于任一层级对应的验证激励复现目标缺陷。
在可选的实施方式中,项目管理系统还包括:文件管理模块,用于存储目标芯片设计代码对应的验证工作和验证结果文档,其中,验证结果文档存储有历史验证结果;缺陷管理模块220,具体用于响应验证请求,从文件管理模块中获取目标芯片设计代码对应的验证工作;
根据验证工作,在预设工具中基于任一层级对应的验证激励复现目标缺陷,得到当前验证结果,并基于当前验证结果在文件管理模块中更新历史验证结果;
其中,当前验证结果包括在复现目标缺陷时的验证激励名称、功能点以及验证激励结果。
在可选的实施方式中,文件管理模块中还存储有至少一种芯片的芯片设计代码对应的设计规范信息;文件管理模块,用于若存储有目标芯片设计代码对应的设计规范信息,向用户终端发送第二提示信息,第二提示信息用于提示验证师可触发针对目标缺陷的验证请求。
在可选的实施方式中,文件管理模块,还用于若未存储有目标芯片设计代码对应的设计规范信息,向用户终端发送第三提示信息,第三提示信息用于提示第一设计师上传目标芯片设计代码对应的设计规范信息至文件管理模块中。
在可选的实施方式中,项目管理系统还包括邮箱管理模块,邮箱管理模块,用于将目标芯片设计代码对应的缺陷信息发送给用户终端,以提示第一设计师或验证师基于缺陷信息对目标芯片设计代码进行修改。
上述装置用于执行前述实施例提供的项目管理方法,其实现原理和技术效果类似,在此不再赘述。
图19为本申请实施例提供的一种缺陷分析装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图19所示,该缺陷分析装置300包括:
获取模块310,用于获取目标芯片设计代码对应的缺陷信息;其中,目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、目标缺陷对应的复现信息、目标缺陷出现的次数、目标缺陷被发现的阶段中的至少一种;
执行模块320,用于基于目标芯片设计代码对应的缺陷信息,执行第一处理。
在可选的实施方式中,目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
在可选的实施方式中,目标缺陷对应的复现信息用于指示目标缺陷是否可复现,以及若目标缺陷可复现时对应的复现层级。
在可选的实施方式中,目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
在可选的实施方式中,目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级;执行模块320,具体用于在目标缺陷的发现层级中复现目标缺陷,并将目标缺陷的发现层级以及在目标缺陷的发现层级复现目标缺陷的第一相关信息发送给用户终端;
接收用户终端基于目标缺陷对应的复现层级以及目标缺陷的第一相关信息修改后的目标芯片设计代码。
在可选的实施方式中,目标芯片设计代码包含多个芯片功能模块,在存在依赖关系的两个芯片功能模块中,一个芯片功能模块与另一个芯片功能模块之间设置有模块接口;若目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现,执行模块320,具体用于判断目标芯片设计代码中所包含的模块接口是否符合预设模块接口要求;
在判断出目标芯片设计代码中所包含的模块接口不符合预设模块接口要求的情况下,确定目标缺陷是由于模块接口所导致,并判断在子系统级环境下是否已清楚定义了模块接口;其中,子系统级环境的优先级低于模块级环境。
在可选的实施方式中,若目标缺陷对应的复现信息指示目标缺陷不可在模块级环境下复现,执行模块320,具体用于判断在目标模块级环境下是否可复现目标缺陷;其中,目标模块级环境为对模块级环境进行修改得到的;
在判断出在目标模块级环境不可复现目标缺陷的情况下,修改目标模块级环境,直至在修改后的目标模块级环境下可复现目标缺陷;
将目标缺陷在修改后的目标模块级环境下的复现信息发送给用户终端;
接收用户终端基于修改后的目标模块级环境提交的目标芯片设计代码。
在可选的实施方式中,目标芯片设计代码对应的缺陷信息包括目标缺陷被发现的阶段;执行模块320,具体用于在目标缺陷被发现的阶段复现目标缺陷,并将目标缺陷被发现的阶段以及在目标缺陷被发现的阶段复现目标缺陷的第二相关信息发送给用户终端;
接收用户终端针对目标缺陷被发现阶段以及在目标缺陷被发现的阶段复现目标缺陷的第二相关信息提交的修改后的芯片设计阶段代码。
在可选的实施方式中,目标芯片设计代码对应的缺陷信息包括目标缺陷出现的次数;执行模块320,具体用于在目标缺陷出现的次数大于预设阈值的情况下,输出预警信息。
上述装置用于执行前述实施例提供的缺陷分析方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图20为本申请实施例提供的一种电子设备结构示意图,该电子设备可以集成于服务器。如图20所示,该电子设备可以包括:处理器510、存储介质520和总线530,存储介质520存储有处理器510可执行的机器可读指令,当电子设备运行时,处理器510与存储介质520之间通过总线530通信,处理器510执行机器可读指令,以执行上述项目管理方法或缺陷分析方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述项目管理方法或缺陷分析方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种缺陷分析方法,其特征在于,所述方法应用于服务器,所述方法包括:
获取目标芯片设计代码对应的缺陷信息;其中,所述目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、所述目标缺陷对应的复现信息、所述目标缺陷出现的次数、所述目标缺陷被发现的阶段中的至少一种;
基于所述目标芯片设计代码对应的缺陷信息,执行第一处理。
2.根据权利要求1所述的缺陷分析方法,其特征在于,所述目标缺陷的发现层级为模块级、子系统级、裸机系统级以及操作系统级中的任一层级。
3.根据权利要求1所述的缺陷分析方法,其特征在于,所述目标缺陷对应的复现信息用于指示所述目标缺陷是否可复现,以及若所述目标缺陷可复现时对应的复现层级。
4.根据权利要求1所述的缺陷分析方法,其特征在于,所述目标缺陷被发现的阶段为寄存器转换级电路代码阶段、网表代码阶段、手动修改集成电路的代码阶段以及硅后代码阶段中的任一个。
5.根据权利要求1或2所述的缺陷分析方法,其特征在于,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷的发现层级;所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
在所述目标缺陷的发现层级中复现所述目标缺陷,并将所述目标缺陷的发现层级以及在所述目标缺陷的发现层级复现所述目标缺陷的第一相关信息发送给用户终端;
接收用户终端基于所述目标缺陷对应的复现层级以及所述目标缺陷的第一相关信息修改后的目标芯片设计代码。
6.根据权利要求1或3所述的缺陷分析方法,其特征在于,所述目标芯片设计代码包含多个芯片功能模块,在存在依赖关系的两个芯片功能模块中,一个芯片功能模块与另一个芯片功能模块之间设置有模块接口;若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级环境下复现,所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
判断所述目标芯片设计代码中所包含的模块接口是否符合预设模块接口要求;
在判断出所述目标芯片设计代码中所包含的模块接口不符合所述预设模块接口要求的情况下,确定所述目标缺陷是由于所述模块接口所导致,并判断在子系统级环境下是否已清楚定义了所述模块接口;其中,所述子系统级环境的优先级低于所述模块级环境。
7.根据权利要求1或3所述的缺陷分析方法,其特征在于,若所述目标缺陷对应的复现信息指示所述目标缺陷不可在模块级环境下复现,所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
判断在目标模块级环境下是否可复现所述目标缺陷;其中,所述目标模块级环境为对所述模块级环境进行修改得到的;
在判断出在所述目标模块级环境不可复现所述目标缺陷的情况下,修改所述目标模块级环境,直至在修改后的所述目标模块级环境下可复现所述目标缺陷;
将所述目标缺陷在所述修改后的目标模块级环境下的复现信息发送给用户终端;
接收所述用户终端基于修改后的所述目标模块级环境提交的目标芯片设计代码。
8.根据权利要求1或4所述的缺陷分析方法,其特征在于,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷被发现的阶段;所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
在所述目标缺陷被发现的阶段复现所述目标缺陷,并将所述目标缺陷被发现的阶段以及在所述目标缺陷被发现的阶段复现所述目标缺陷的第二相关信息发送给用户终端;
接收用户终端针对所述目标缺陷被发现阶段以及在所述目标缺陷被发现的阶段复现所述目标缺陷的第二相关信息提交的修改后的芯片设计阶段代码。
9.根据权利要求1所述的缺陷分析方法,其特征在于,所述目标芯片设计代码对应的缺陷信息包括所述目标缺陷出现的次数;所述基于所述目标芯片设计代码对应的缺陷信息,执行第一处理,包括:
在所述目标缺陷出现的次数大于预设阈值的情况下,输出预警信息。
10.一种缺陷分析装置,其特征在于,应用于服务器,所述缺陷分析装置包括:
获取模块,用于获取目标芯片设计代码对应的缺陷信息;其中,所述目标芯片设计代码对应的缺陷信息包括目标缺陷的发现层级、所述目标缺陷对应的复现信息、所述目标缺陷出现的次数、所述目标缺陷被发现的阶段中的至少一种;
执行模块,用于基于所述目标芯片设计代码对应的缺陷信息,执行第一处理。
11.一种服务器,其特征在于,所述服务器用于执行如权利要求1-9任一项所述的缺陷分析方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-9任一项所述的缺陷分析方法。
CN202210937624.0A 2022-07-29 2022-07-29 缺陷分析方法、相关设备及可读存储介质 Pending CN115310403A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210937624.0A CN115310403A (zh) 2022-07-29 2022-07-29 缺陷分析方法、相关设备及可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210937624.0A CN115310403A (zh) 2022-07-29 2022-07-29 缺陷分析方法、相关设备及可读存储介质
CN202210910403.4A CN115146581A (zh) 2022-07-29 2022-07-29 项目管理方法、缺陷分析方法、相关设备及可读存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202210910403.4A Division CN115146581A (zh) 2022-07-29 2022-07-29 项目管理方法、缺陷分析方法、相关设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115310403A true CN115310403A (zh) 2022-11-08

Family

ID=83414645

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210937624.0A Pending CN115310403A (zh) 2022-07-29 2022-07-29 缺陷分析方法、相关设备及可读存储介质
CN202210910403.4A Pending CN115146581A (zh) 2022-07-29 2022-07-29 项目管理方法、缺陷分析方法、相关设备及可读存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210910403.4A Pending CN115146581A (zh) 2022-07-29 2022-07-29 项目管理方法、缺陷分析方法、相关设备及可读存储介质

Country Status (1)

Country Link
CN (2) CN115310403A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115993952B (zh) * 2023-03-23 2023-05-30 中大智能科技股份有限公司 基于risc-v的桥梁支座监测芯片及设计系统、方法

Also Published As

Publication number Publication date
CN115146581A (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
US20130054792A1 (en) Cloud-based performance testing of functionality of an application prior to completion of development
CN113127347B (zh) 一种接口测试方法、装置、设备及可读存储介质
CN110569159A (zh) 挡板生成方法、装置、设备及计算机存储介质
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN115310403A (zh) 缺陷分析方法、相关设备及可读存储介质
CN114756466A (zh) 一种测试用例获取方法、装置及存储介质
CN106708897B (zh) 一种数据仓库质量保障方法、装置和系统
CN111159028B (zh) 网页测试方法及装置
CN113342692A (zh) 测试用例自动生成方法、装置、电子设备及存储介质
CN112069073A (zh) 测试用例的管理方法、终端和存储介质
CN111444101A (zh) 自动创建产品测试缺陷的方法及装置
CN112015715A (zh) 工业互联网数据管理服务测试方法及系统
CN115599683A (zh) 自动化测试方法、装置、设备及存储介质
JP2005276040A (ja) デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム
CN112580334A (zh) 一种文案处理方法、装置、服务器及存储介质
KR100775102B1 (ko) 임베디드 디바이스상에서 플랫폼 기반 어플리케이션의 품질테스트 결과 예측 시스템 및 그 방법
CN115544969B (zh) 基于超文本标记语言的页面对比方法、设备及介质
KR101737575B1 (ko) 자동 생성된 sql 구문 기반의 데이터 검증 방법 및 장치
CN114760086B (zh) 一种网站页面合规性检测方法、装置、存储介质及终端
CN114389948B (zh) 基于白名单的功能升级及验证方法、装置、设备及介质
CN117171816B (zh) 基于工业标识的数据验证方法及相关设备
CN117234949B (zh) 测试数据降噪方法、装置、存储介质、计算机设备
CN110716855B (zh) 处理器指令集测试方法及装置
CN115147212A (zh) 一种对账系统验证方法及装置
CN114116470A (zh) 一种自动化的静态模型检查方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination