芯片可测试性设计程序代码生成装置及方法与流程

文档序号:40782164发布日期:2025-01-24 21:26阅读:20来源:国知局
芯片可测试性设计程序代码生成装置及方法与流程

本发明涉及三维集成电路的,具体地,是一种芯片可测试性设计程序代码生成装置以及这种装置实现的方法。


背景技术:

1、随着芯片技术的发展,三维堆叠芯片已经得到广泛的应用。在三维堆叠芯片设计、生产过程中需要反复对芯片进行测试、调整。通常,在三维堆叠芯片设计的初始阶段,设计人员们会根据实际应用需求、性能要求、功耗约束以及成本预算等多重因素构建芯片的整体架构,并明确各个功能模块,进而挑选适合的芯粒(chiplet)和ip组件。为了方便后续的测试工作,在芯片设计阶段通常会融入可测试性设计(design for testability,dft)的理念,一旦芯片的整体设计过程中发现问题,可能需要调整甚至更换所应用的ip组件或芯粒等关键模块。

2、在芯片设计过程中,广泛使用verilog文件,verilog文件是一种用于电子系统级设计和硬件描述的语言,其允许设计人员以文本形式描述复杂的数字逻辑电路和系统。为此,芯片的测试往往是基于verilog文件等芯片设计文件进行的。

3、目前的verilog编码工具在当前的硬件设计和验证领域中扮演着至关重要的角色,常见的verilog开发工具包括vivado、quartus、modelsim等。虽然这些verilog开发工具提供了强大的verilog代码编写、仿真、综合和实现功能。但是,随着芯片设计过程中可测试性设计技术的发展,越来越多的verilog编码工具开始支持可测试性设计相关的功能。然而,目前的可测试性设计技术存在以下六方面不足和缺陷:

4、第一,可测试性设计的功能集成度较低。在可测试性设计功能集成方面存在局限性,未能提供全面且易于使用的可测试性设计功能集,这导致设计人员在添加可测试性设计电路时,需要手动进行繁琐的配置和编码工作,增加了芯片的设计复杂性和出错风险。

5、第二,在硬件设计过程中,已编写的模块和代码应能够方便地进行复用,以提高设计效率和减少重复劳动。然而,由于目前使用的verilog编码工具往往是不支持快速的模块遍历和复用,导致设计人员需要重复编写相似的代码,降低了芯片的设计效率。

6、第三,部分设计工具仅支持基本的可测试性设计的功能,如简单的边界扫描测试,而未能提供更为复杂和高级的测试策略或方法。这限制了设计人员在满足特定设计测试需求方面的灵活性,无法充分检测潜在的故障。

7、第四,部分设计工具插入测试逻辑的过程缺乏足够的自动化和灵活性,设计人员需要手动进行大量的修改和调整,以确保测试逻辑的正确性和完整性。这不仅增加了芯片的设计时间,还可能引入额外的错误。

8、第五,可测试性设计电路添加方面的集成度和易用性对于设计人员来说至关重要。然而,当前的一些设计工具在这方面存在不足,导致设计人员需要花费更多的时间和精力来学习和使用相关的功能,降低了芯片的设计效率。

9、第六,在可测试性设计相关的仿真测试方面,一些工具无法提供全面的支持,设计人员无法快速地对功能电路和测试电路进行综合和耦合设计,从而无法动态地考虑测试电路的资源、功耗等问题。这导致在实际测试中芯片会出现问题,增加了芯片的设计风险和成本。


技术实现思路

1、本发明的第一目的是提供一种可测试性设计的功能集成度高、测试效率高的芯片可测试性设计程序代码生成装置。

2、本发明的第二目的是提供基于上述的芯片可测试性设计程序代码生成装置的芯片可测试性设计程序代码生成方法。

3、为实现本发明的第一目的,本发明提供的芯片可测试性设计程序代码生成装置包括芯片设计文件处理模块,用于接收芯片设计文件,并对芯片设计文件进行解析,提取芯片的电路结构和逻辑信息;可测试性设计电路生成与标记模块,用于根据芯片的可测试性设计规则在芯片的电路中添加测试点和观察点,并对测试点和观察点进行标记;资源动态计算模块,用于根据展平化规则动态生成伪网表,所生成的伪网表包括针对芯片设计文件所提取的电路进行展平化后未进行优化的、应用关键字模板化的映射生成的fpga模型;虚拟器件建模模块,用于对虚拟器件进行建模,并记录生成伪网表时所生成的fpga模型;仿真与可测试性设计协作优化模块,用于根据芯片设计文件的程序代码完成程度生成验证平台的仿真代码并进行仿真,根据仿真结果反馈芯片设计文件存在的问题;设计数据共享模块,用于存储共享的芯片设计文件和数据。

4、由上述方案可见,芯片可测试性设计程序代码生成装置通过智能编码方法自动分析芯片的电路的结构和逻辑功能,快速生成针对特定电路的可测试性设计的测试电路,显著提高测试电路编码的效率。相比传统手动编写测试电路的方式,本发明可以大幅度缩短芯片的设计周期,减少人力成本。同时,可测试性设计电路生成与标记模块能够针对特定的电路生成测试电路模型,这些模型能够被复用,从而进一步提高测试的效率。

5、另外,本发明能够精确识别电路中的各个模块和信号路径,确保生成的测试电路与原始设计电路完全匹配,高度自动化的过程减少了人为错误的可能性,提高了测试电路的准确性和可靠性。

6、并且,芯片测试过程中,所生成的可测试性设计的测试电路与主流的verilog编码工具能够高度兼容,可以无缝集成到现有的设计流程中。同时,本发明提供了灵活的测试配置选项,使得设计人员可以根据具体需求轻松调整测试电路的参数和策略,提高了测试验证的灵活性和便捷性。

7、一个优选的方案是,可测试性设计电路生成与标记模块还用于根据针对芯片设计文件的扫描信息对芯片的电路的进行综合优化,并生成更新后的芯片设计文件。

8、由此可见,对芯片的电路综合优化后,根据优化后的电路生成更新后的芯片设计文件,使得芯片设计文件能够得到及时、自动化的更新,提升芯片的测试、设计效率。

9、进一步的方案是,虚拟器件建模模块还用于根据预先的指定引脚进行器件的建模,并生成分支电路模型。

10、由此可见,虚拟器件建模模块能够自动化的生成器件的模型,例如实现加法器、减法器等器件,能够提高芯片测试的自动化程度。

11、进一步的方案是,虚拟器件建模模块所记录的fpga模型能够被复用。

12、由此可见,由于虚拟器件建模模块能够记录fpga模型,且fpga模型能够被复用,在其他场景也需要使用fpga模型时,能够直接获取该fpga模型,而不需要进行重新计算,减少建模所需要的时间。

13、进一步的方案是,设计数据共享模块还用于通过可视化的方式展示设计进度,并用于对ip核封装文件进行共享与管理。

14、由此可见,设计数据共享模块可以对ip核封装文件等多种文件进行共享与管理,能够方便后续设计、测试过程中对多种文件的调用,提升测试效率。

15、进一步的方案是,芯片设计文件处理模块包括有以下的至少一个:verilog文件处理模块、网表文件处理模块、gdsii文件处理和lef文件处理模块。

16、为实现上述的第二目的,本发明提供的芯片可测试性设计程序代码生成方法包括由芯片设计文件处理模块加载芯片设计文件,并对芯片设计文件进行解析,提取芯片的电路结构和逻辑信息;可测试性设计电路生成与标记模块根据芯片的可测试性设计规则在芯片的电路中添加测试点和观察点,并对测试点和观察点进行标记;仿真与可测试性设计协作优化模块根据提取的信息生成仿真代码,并根据芯片设计文件的程序代码完成程度生成验证平台的仿真代码并进行仿真,并对芯片设计文件的参数进行动态优化;仿真与可测试性设计协作优化模块还对带有可测试性设计电路的芯片设计文件进行仿真,在仿真结果未符合要求时对芯片设计文件进行逻辑综合,将逻辑综合的结果转换为门级网表;将生成的门级网表、芯片设计文件存储在设计数据共享模块内。

17、由上述方案可见,本发明通过智能编码方法自动分析芯片的电路的结构和逻辑功能,快速生成针对特定电路的可测试性设计的测试电路,能够提高测试电路编码的效率。并且,本发明可以针对特定的电路生成测试电路模型,由于这些模型能够被复用,能够提高测试的效率。

18、一个优选的方案是,对芯片设计文件进行解析时,分析芯片设计文件中各个模块的代码,通过顶层模块解析各个模块间的连接关系和功能逻辑,并且实时更新芯片的n叉树结构。

19、由此可见,由于芯片的n叉树结构能够被实时更新,对芯片进行测试、验证过程中能够自动化的分析出芯片的内部结构,并依据芯片的结构进行相应的测试。

20、进一步的方案是,实时更新芯片的n叉树结构的同时,将芯片的n叉树结构映射成线性表,并根据芯片模块层次设计树节点层次,按预定的顺序进行排序并存储。

21、由此可见,芯片的内部结构能够被实时按照预先设定的顺序进行存储,有利于后续测试过程中读取芯片的n叉树结构相关数据,提升测试、验证效率。

22、进一步的方案是,仿真与可测试性设计协作优化模块还对n叉树采取自底层向顶层进行综合的方式进行综合,直至综合到n叉树的最顶层模块。

23、由此可见,对n叉树采取自底层向顶层进行综合的方式进行综合能够确保对芯片内部结构分析的准确性,且能够避免综合过程中遗漏部分信息未被处理而导致测试不准确。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1