CN116719729A - 通用验证平台、通用验证方法、介质及电子设备 - Google Patents
通用验证平台、通用验证方法、介质及电子设备 Download PDFInfo
- Publication number
- CN116719729A CN116719729A CN202310691665.0A CN202310691665A CN116719729A CN 116719729 A CN116719729 A CN 116719729A CN 202310691665 A CN202310691665 A CN 202310691665A CN 116719729 A CN116719729 A CN 116719729A
- Authority
- CN
- China
- Prior art keywords
- verification
- level
- directory
- simulation
- chip
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 289
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004088 simulation Methods 0.000 claims abstract description 110
- 230000006870 function Effects 0.000 claims abstract description 19
- 230000008520 organization Effects 0.000 claims abstract description 13
- 230000008571 general function Effects 0.000 claims abstract description 5
- 238000012360 testing method Methods 0.000 claims description 63
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006399 behavior Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请提供一种通用验证平台、通用验证方法、介质及电子设备。所述通用验证平台包括:目录层级结构,所述目录层级结构包括:三种验证级别下的环境目录层级结构,分别为:芯片级验证环境的目录层级结构、子系统级验证环境的目录层级结构和模块级验证环境的目录层级结构;与验证级别对应的验证环境文件,所述验证环境文件包括:数字顶层文件、通用功能组件、总线功能模型、计分板和验证库,所述数字顶层包括一级数字顶层和二级数字顶层;核心控制脚本,所述核心控制脚本用于控制仿真的开始和结束、运行不同的仿真模式、仿真流程组织、工具选项组织以及工具的配置。所述通用验证平台能够避免因验证平台不同,而造成芯片验证的整体效率低的问题。
Description
技术领域
本申请属于芯片验证领域,涉及一种通用验证平台,特别是涉及一种通用验证平台、通用验证方法、介质及电子设备。
背景技术
随着SOC(System on Chip,系统级芯片)集成的IP(intellectual propertycore,知识产权核)越来越多,系统芯片的验证工作也变得越来越复杂,传统的基于定向测试的验证方法已经无法满足验证需求。在此背景下,基于覆盖率驱动的验证方法逐渐流行起来,基于覆盖率驱动的验证方法相较于基于定向测试的验证方法,能够节省大量的时间。
但是随着芯片变得越来越大,系统、接口、模块、功能都变得越来越复杂,验证人员会根据验证级别的不同选择与验证级别相对应的平台。由于验证平台之间的不同,导致芯片的验证会由于验证平台不统一而造成整体验证效率低。
发明内容
本申请的目的在于提供一种通用验证平台、通用验证方法、介质及电子设备,用于解决芯片的验证由于验证平台不统一而造成整体验证效率低的问题。
第一方面,本申请提供一种通用验证平台,所述通用验证平台包括:目录层级结构,所述目录层级结构包括:三种验证级别下的环境目录层级结构,分别为:芯片级验证环境的目录层级结构、子系统级验证环境的目录层级结构和模块级验证环境的目录层级结构;与验证级别对应的验证环境文件,所述验证环境文件包括:数字顶层文件、通用功能组件、总线功能模型、计分板和验证库,所述数字顶层包括一级数字顶层和二级数字顶层,所述一级数字顶层用于通用验证场景,所述二级数字顶层用于个性化验证场景;核心控制脚本,所述核心控制脚本用于控制仿真的开始和结束、运行不同的仿真模式、仿真流程组织、工具选项组织以及工具的配置。由于所述通用验证平台同时集成芯片级验证环境、子系统级验证环境和模块级验证环境,需求不同的验证人员可以借助所述通用验证平台完成多验证级别的验证,能够避免因验证平台不同、规范不一致,而造成芯片验证的整体效率低的问题。另外,通过设置所述一级数字顶层和所述二级数字顶层,能够使得所述通用验证平台具备更大的灵活性,在处理个性化验证场景时更加的方便。
于本申请的一实施例中,所述芯片级验证环境的目录层级结构包括芯片级验证目录,所述子系统级验证环境的目录层级结构包括子系统级验证目录,所述模块级验证环境的目录层级结构包括模块级验证目录,所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同。
于本申请的一实施例中,所述仿真模式包括以下任意一种:功能仿真、门级仿真、后仿真、联合仿真、以及固件仿真,所述固件仿真依赖于固件版本的提供,所述联合仿真依赖于模拟侧的行为和仿真模型的提供。
于本申请的一实施例中,所述通用验证平台包括公共目录,所述公共目录的层级与所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同,所述公共目录下存储有全局变量、宏定义、全局函数以及芯片级验证环境、子系统级验证环境和模块级验证环境之间的复用组件。
于本申请的一实施例中,所述通用验证平台包括测试用例目录,所述测试用例目录下包括不同验证级别的测试用例,所述测试用例之间保持独立,所述验证级别由高到低分别为芯片级验证级别、子系统级验证级别和模块级验证级别。
于本申请的一实施例中,所述测试用例包含分支信息,所述分支信息包括覆盖率开关标识信息和仿真模式信息。
于本申请的一实施例中,所述核心控制脚本根据所述测试用例的所述仿真模式信息运行与其对应的仿真模式。
第二方面,本申请提供一种通用验证方法,包括:获取与权利要求第一方面任一项所述的通用验证平台和待验证芯片相对应的测试用例;基于所述通用验证平台和所述测试用例,对所述待验证芯片进行验证。
第三方面,本申请提供一种计算机可读存储介质,其上存储有一计算机程序,该计算机程序被处理器执行时实现本申请第二方面所述通用验证方法。
第四方面,本申请提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本申请第二方面所述通用验证方法;显示器,与所述处理器和所述存储器通信相连,用于显示所述通用验证方法的相关GUI交互界面。
如上所述,本申请所述通用验证平台、通用验证方法、介质及电子设备,具有以下有益效果:
一、由于所述通用验证平台同时集成芯片级验证环境、子系统级验证环境和模块级验证环境,需求不同的验证人员可以借助所述通用验证平台完成多验证级别的验证,能够避免因验证平台不同、规范不一致,而造成芯片验证的整体效率低的问题。另外,通过设置所述一级数字顶层和所述二级数字顶层,能够使得所述通用验证平台具备更大的灵活性,在处理个性化验证场景时更加的方便。
二、由于所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同,因此所述通用验证平台具有扁平化、易扩展、易集成的特点,所述通用验证平台可以避免路径过深造成的维护困难,可以方便的扩展局部功能而不影响整体,并且可以避免在集成目录时造成目录结构混乱。
三、通过设置与所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录层级相同的公共目录,能够方便所述芯片级验证目录、所述模块级验证目录、所述子系统级验证目录对所述公共目录的复用。
附图说明
图1显示为本申请实施例所述的通用验证平台的应用示意图。
图2显示为所述的通用验证平台的目录结构示意图。
图3显示为本申请实施例所述的通用验证方法的流程图。
图4显示为本申请实施例所述的通用验证装置的结构示意图。
图5显示为本申请实施例所述的电子设备的结构示意图。
元件标号说明
110 待验证芯片
120 通用验证平台
400 通用验证装置
410 测试用例获取模块
420 芯片验证模块
500 电子设备
510 存储器
520 处理器
530 显示器
S11-S12 步骤
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
请参阅图1所示,本申请实施例提供所述通用验证平台120的应用示意图,通过所述通用验证平台120与待验证芯片110的交互,完成待验证芯片的验证。所述待验证芯片110可以是用于验证的软件层面的芯片设计,所述通用验证平台120在仿真的时候用于产生测试激励给所述待验证芯片110,通过检查所述待验证芯片的输出与预期是否一致,达到验证设计功能的目的。
可选地,对待验证芯片110的仿真过程可以通过所述通用验证平台120的核心控制脚本实现,所述核心控制脚本用于控制仿真的开始和结束、运行不同的仿真模式、仿真流程组织、工具选项组织以及工具的配置。
本申请实施例提供一种通用验证平台,所述通用验证平台包括:目录层级结构,所述目录层级结构包括:三种验证级别下的环境目录层级结构,分别为:芯片级验证环境的目录层级结构、子系统级验证环境的目录层级结构和模块级验证环境的目录层级结构;与验证级别对应的验证环境文件,所述验证环境文件包括:数字顶层文件、通用功能组件、总线功能模型、计分板和验证库,所述数字顶层包括一级数字顶层和二级数字顶层,所述一级数字顶层用于通用验证场景,所述二级数字顶层用于个性化验证场景;核心控制脚本,所述核心控制脚本用于控制仿真的开始和结束、运行不同的仿真模式、仿真流程组织、工具选项组织以及工具的配置。所述通用验证平台通过分解验证层次在各个局部提升验证效率和可靠性,在项目的使用推广过程中还能避免因验证平台不同而造成协同效率低的问题。
可选地,与验证级别对应的验证环境文件包括芯片级验证环境文件、子系统级验证环境文件和模块级验证环境文件。
可选地,所述数字顶层文件可以指的是用于描述待验证芯片的整体结构和功能的文件,所述一级数字顶层用于通用验证场景,例如在通用验证场景下涉及到的时钟生成、复位逻辑等,所述一级数字顶层可以为所述通用验证场景下涉及到的数据结构、方法逻辑等的封装结构,所述一级数字顶层可以为通用验证场景提供支持,所述二级数字顶层用于个性化验证场景,例如在个性化验证场景下可能涉及到的待验证芯片个性化的功能验证、安全验证等,所述二级数字顶层可以为所述个性化验证场景下涉及到的数据结构、方法逻辑等的封装结构,所述二级数字顶层可以为个性化验证场景提供支持。本实施例对所述通用验证场景和所述个性化验证场景并不明确限制,重点在于数字顶层的分级。
可选地,所述验证库可以指的是一组可重复使用的验证组件和测试向量,用于验证芯片设计中的通用功能和特性。关于所述通用功能组件、总线功能模型、计分板等内容本实施例不再过多赘述。
可选地,所述仿真流程组织可以指的是对仿真流程中各步骤的组织,包括自动化执行仿真流程中的各步骤。所述工具选项组织可以指的是将不同工具的选项和参数进行组织和管理,以方便地指定不同的选项和参数,所述工具的配置可以指的是将不同的选项和参数进行配置,以满足不同验证场景的需求。
可选地,所述芯片级验证环境的目录层级结构包括芯片级验证目录,所述子系统级验证环境的目录层级结构包括子系统级验证目录,所述模块级验证环境的目录层级结构包括模块级验证目录,所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同。所述芯片级验证目录可以作为芯片级验证的根目录,所述子系统级验证目录可以作为子系统级验证的根目录,所述模块级验证目录可以作为模块级验证的根目录。由于所述芯片级验证目录、所述模块级验证目录和所述子系统级验证目录的层级相同,因此所述通用验证平台具有扁平化、易扩展、易集成的特点,所述通用验证平台可以避免路径过深造成的维护困难,可以方便的扩展局部功能而不影响整体,并且可以避免在集成目录时造成目录结构混乱。
可选地,在所述目录层级结构下具有init_reg、cov_ignore和tfile等配置类文件,init_reg文件用于寄存器初始化,cov_ignore文件用于覆盖率过滤,tfile文件用于时序检查过滤。
可选地,所述通用验证平台包括公共目录,所述公共目录的层级与所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同,所述公共目录下存储有全局变量、宏定义、全局函数以及芯片级验证环境、模块级验证环境和子系统级验证环境之间的复用组件。通过设置与所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录层级相同的公共目录,能够方便所述芯片级验证目录、所述子系统级验证目录、所述模块级验证目录对所述公共目录的复用。
可选地,所述仿真模式包括以下任意一种:功能仿真、门级仿真、后仿真、联合仿真、以及固件仿真,所述固件仿真依赖于固件版本的提供,所述联合仿真依赖于模拟侧的行为和仿真模型的提供。所述功能仿真可以用来检查设计逻辑中的功能正确性,其中不包含真实的物理延时信息,所述功能仿真可以是模块级功能仿真、子系统级功能仿真、芯片级功能仿真或芯片级的联合仿真。所述固件仿真指的是在整芯片验证过程中带上完整固件进行场景激励的构造,所述固件仿真所依赖的固件是由软件工程师开发完成,不同的固件版本可以具有不同的功能。所述联合仿真指的是在系统级别的仿真带上完整的模拟侧的行为级仿真模型,仿真范围最全面,但仿真效率较低。
可选地,所述通用验证平台包括测试用例目录,所述测试用例目录下包括不同验证级别的测试用例,所述测试用例之间保持独立,所述验证级别由高到低分别为芯片级验证级别、子系统级验证级别和模块级验证级别。
请参阅图2所示,图2中的Top Env表示通用验证平台的顶层环境,data表示源码目录,所述源码目录用于存储的有uvm源码库、所述测试用例的覆盖率结果等,tb表示所述验证平台目录,top表示所述芯片级验证目录,block表示所述模块级验证目录,sst表示所述子系统级验证目录,public表示所述公共目录,harness可以表示所述数字顶层文件,harness1表示所述一级数字顶层,harness2表示所述二级数字顶层,tc表示所述测试用例目录,sim表示仿真目录,所述仿真目录下具有仿真运行脚本,可以通过所述仿真运行脚本启动仿真,work表示工作目录,所述工作目录存储的为所述测试用例的仿真工程文件、日志文件和波形文件等等。
可选地,所述芯片级验证目录下还包括:uvm环境目录,所述uvm环境目录下包括:数据通路平台组件和处理器控制系统组件,所述数据通路平台组件用于向所述验证平台提供数据通路平台分支,所述处理器控制系统组件用于向所述验证平台提供处理器控制系统分支。
可选地,所述测试用例目录下包括激励产生文件、个性化设置文件、测试用例文件、额外参数设定文件等,所述激励文件例如可以命名为cpu.c,用于产生处理器相关的激励,所述个性化设置文件可以命名为user.v,可以用于个性化定制激励或其它针对性的波形控制等,所述个性化设置文件中的功能实现可以根据上文所述二级数字顶层实现,所述测试用例文件可以为uvm框架下的测试用例,例如可以命名为case.sv,所述额外参数设定文件用于给EDA仿真器提供额外的配置参数,所述额外参数设定文件例如可以命名为cmp_plus和run_plus,分别对应不同的编译和仿真阶段。
可选地,所述测试用例包含分支信息,所述分支信息包括覆盖率开关标识信息,所述覆盖率开关标识信息可以为覆盖率开启信息或覆盖率关闭信息,当所述测试用例的覆盖率开关标识信息为所述覆盖率开启信息时,验证结果会包括该测试用例对应的覆盖率信息,当所述测试用例的覆盖率开关标识信息为所述覆盖率关闭信息时,验证结果不会包括该测试用例对应的覆盖率信息。
可选地,所述分支信息还包括仿真模式信息,所述仿真模式信息可以为功能仿真信息、门级仿真信息、后仿真信息、联合仿真信息以及固件仿真信息,例如所述仿真模式信息为sanity表示对应的测试用例就是普通的测试用例,所述仿真模式信息为fw_sanity,表示对应的测试用例就是固件仿真的测试用例,所述仿真模式信息为cosim_sanity,表示对应的测试用例就是联合仿真的测试用例。
可选地,所述核心控制脚本根据所述测试用例的所述仿真模式信息运行与其对应的仿真模式。所述核心控制脚本能够识别所述测试用例的所述仿真模式信息并运行其对应的仿真模式。
可选地,所述测试用例的所述分支信息由所述核心控制脚本识别,所述分支信息还可以包括ccs(Cpu ctrontrl system,处理器控制系统仿真信息,ccs仿真信息可以表示为-ccs,所述核心控制脚本识别所述ccs仿真信息后,前期只运行ccs相关的仿真。所述分支信息还可以包括dp(Data Path,数据通路)仿真信息,dp仿真信息可以表示为-dp,所述核心控制脚本识别所述dp仿真信息后,前期只运行dp相关的仿真。所述分支信息还可以包括波形控制开关,当所述波形控制开关开启时可以表示为-fsdb,所述核心控制脚本识别所述波形控制开关后实现波形控制。所述分支信息还可以包括启动场景仿真信息,所述启动场景仿真信息可以表示为-boot,所述核心控制脚本识别所述启动场景仿真信息后启动场景的仿真。所述分支信息还可以包括工程目录锁定信息,所述工程目录锁定信息可以表示为-dbg,所述核心控制脚本识别所述工程目录锁定信息后锁定工程目录并开启相应的debug功能。所述分支信息还可以包括波形调试开关,所述波形调试开关开启时可以表示为-wave_force,所述核心控制脚本识别所述波形调试开关后实现波形调试,在波形调试过程中,波形里显示force标记,用于帮助用户定位和解决问题。所述分支信息还可以包括种子指定信息,所述种子指定信息可以表示为-seed XXXX,所述核心控制脚本识别所述种子指定信息后指定种子号为XXXX,若不指定种子号,则所述核心控制脚本会将仿真过程中的种子信息指定为随机的。所述分支信息还可以包括前缀省略信息,所述前缀省略信息可以表示为-uvm_dy_short,所述核心控制脚本识别所述前缀省略信息后可以将UVM打印的文件名和行号前缀省去,用以方便日志阅读。所述分支信息还可以包括断言检查关闭信息,所述断言检查关闭信息可以表示为-nosva,所述核心控制脚本识别所述断言检查关闭信息后可以关闭断言检查功能。所述分支信息还可以包括模式加入信息,所述模式加入信息可以表示为-spd,所述核心控制脚本识别所述模式加入信息后可以绕开前门的配置时序,采取后门方式做配置流程。所述分支信息还可以包括初始化文件结合信息,所述初始化文件结合信息可以表示为-init_reg,所述核心控制脚本识别所述初始化文件结合信息后可以针对某些无复位寄存器进行仿真的初始值控制。所述分支信息还包括波形产生信息,所述波形产生信息可以表示为-rerun,所述核心控制脚本识别log后可以在当没有产生波形并且验证失败时,自动产生波形。所述分支信息还可以包括后仿信息,所述后仿信息可以表示为-net,当-net后加上场景模式,例如-ss/ff/tt时,所述核心控制脚本识别所述场景模式后进行相应的仿真设置。述分支信息还可以包括fpga仿真模式信息,所述fpga仿真模式信息可以表示为-fpga,所述核心控制脚本识别所述fpga仿真模式信息后仿真fpga分支版本的设计代码。所述分支信息还可以包括门仿信息,所述门仿信息可以表示为-gate,所述核心控制脚本识别所述门仿信息后进行门仿真,在进行门仿真时只针对网表仿真,不加载SDF(StandardDelay Format,描述数字电路时序信息的标准格式)文件,即不考虑时序信息。
可选地,所述通用验证平台包括fpga仿真分支版本和asic仿真分支版本,所述asic仿真包括dp仿真和ccs仿真,用于隔离不同的仿真范围,可以避免不必要的相互干扰。
可选地,所述通用验证平台还包括仿真目录,所述仿真目录具有波形导入文件。所述波形导入文件被执行时默认加载最新的仿真工程及其相应波形,用于分析定位仿真的具体行为。
请参阅图3所示,本申请实施例还提供一种通用验证方法,所述通用验证方法包括:获取与图2所述通用验证平台和待验证芯片相对应的测试用例;基于所述通用验证平台和所述测试用例,对所述待验证芯片进行验证。
可选地,所述待验证芯片相对应的测试用例可以指的是关于所述待验证芯片的测试用例,所述通用验证平台相对应的测试用例可以指的是所述测试用例是在所述通用验证平台的基础上获取的,所述测试用例满足所述通用验证平台的结构规范,例如所述测试用例的数字顶层可以根据所述一级数字顶层和所述二级数字顶层进行封装。
根据以上描述可知,所述通用验证方法包括:获取所述通用验证平台和待验证芯片相对应的测试用例;基于所述通用验证平台和所述测试用例,对所述待验证芯片进行验证。所述通用验证方法可以借助所述通用验证平台完成多种芯片验证级别的验证,从而避免因验证级别不一致以及验证平台不一致造成整体验证效率低的问题。
请参阅图4所示,本申请实施例还提供一种通用验证装置400,所述通用验证装置400包括:
测试用例获取模块410,用于获取与图2所述的通用验证平台和待验证芯片相对应的测试用例;
芯片验证模块420,用于基于所述通用验证平台和所述测试用例,对所述待验证芯片进行验证。
在本实施例提供的所述通用验证装置中,所述测试用例获取模块、所述芯片验证模块与图3所述通用验证方法的步骤S11-S12一一对应,此处不再赘述。
根据以上描述可知,所述通用验证装置包括:测试用例获取模块,用于获取所述通用验证平台和待验证芯片相对应的测试用例;芯片验证模块,用于基于所述通用验证平台和所述测试用例,对所述待验证芯片进行验证。所述通用验证装置可以借助所述通用验证平台完成多种芯片验证级别的验证,从而避免因验证级别不一致以及验证平台不一致造成整体验证效率低的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
请参阅图5,本申请实施例提供一种电子设备500,所述电子设备500包括存储器510,存储有一计算机程序;处理器520,与所述存储器510通信相连,调用所述计算机程序时执行图3所示的通用验证方法。显示器530,与所述处理器520和所述存储器510通信相连,用于显示图3所示通用验证方法的相关GUI交互界面。
本申请实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种通用验证平台,其特征在于,所述通用验证平台包括:
目录层级结构,所述目录层级结构包括:三种验证级别下的环境目录层级结构,分别为:芯片级验证环境的目录层级结构、子系统级验证环境的目录层级结构和模块级验证环境的目录层级结构;
与验证级别对应的验证环境文件,所述验证环境文件包括:数字顶层文件、通用功能组件、总线功能模型、计分板和验证库,所述数字顶层包括一级数字顶层和二级数字顶层,所述一级数字顶层用于通用验证场景,所述二级数字顶层用于个性化验证场景;
核心控制脚本,所述核心控制脚本用于控制仿真的开始和结束、运行不同的仿真模式、仿真流程组织、工具选项组织以及工具的配置。
2.根据权利要求1所述的通用验证平台,其特征在于,所述芯片级验证环境的目录层级结构包括芯片级验证目录,所述子系统级验证环境的目录层级结构包括子系统级验证目录,所述模块级验证环境的目录层级结构包括模块级验证目录,所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同。
3.根据权利要求1所述的通用验证平台,其特征在于,所述仿真模式包括以下任意一种:功能仿真、门级仿真、后仿真、联合仿真以及固件仿真,所述固件仿真依赖于固件版本的提供,所述联合仿真依赖于模拟侧的行为和仿真模型的提供。
4.根据权利要求1所述的通用验证平台,其特征在于,所述通用验证平台包括公共目录,所述公共目录的层级与所述芯片级验证目录、所述子系统级验证目录和所述模块级验证目录的层级相同,所述公共目录下存储有全局变量、宏定义、全局函数以及芯片级验证环境、子系统级验证环境和模块级验证环境之间的复用组件。
5.根据权利要求1所述的通用验证平台,其特征在于,所述通用验证平台包括测试用例目录,所述测试用例目录下包括不同验证级别的测试用例,所述测试用例之间保持独立,所述验证级别由高到低分别为芯片级验证级别、子系统级验证级别和模块级验证级别。
6.根据权利要求1所述的通用验证平台,其特征在于,所述测试用例包含分支信息,所述分支信息包括覆盖率开关标识信息和仿真模式信息。
7.根据权利要求6所述的通用验证平台,其特征在于,所述核心控制脚本根据所述测试用例的所述仿真模式信息运行与其对应的仿真模式。
8.一种通用验证方法,其特征在于,包括:
获取与权利要求1-7任一项所述通用验证平台和待验证芯片相对应的测试用例;
基于所述通用验证平台和所述测试用例,对所述待验证芯片进行验证。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求8任一项所述通用验证方法。
10.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有一计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求8任一项所述通用验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310691665.0A CN116719729B (zh) | 2023-06-12 | 2023-06-12 | 通用验证平台、通用验证方法、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310691665.0A CN116719729B (zh) | 2023-06-12 | 2023-06-12 | 通用验证平台、通用验证方法、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116719729A true CN116719729A (zh) | 2023-09-08 |
CN116719729B CN116719729B (zh) | 2024-04-09 |
Family
ID=87871086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310691665.0A Active CN116719729B (zh) | 2023-06-12 | 2023-06-12 | 通用验证平台、通用验证方法、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116719729B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056897A (zh) * | 2023-10-13 | 2023-11-14 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020038401A1 (en) * | 2000-05-02 | 2002-03-28 | Zaidi S. Jauher A. | Design tool for systems-on-a-chip |
CN105824990A (zh) * | 2016-03-10 | 2016-08-03 | 盛科网络(苏州)有限公司 | 一种实现芯片验证高效仿真编译的方法 |
CN109597733A (zh) * | 2018-12-04 | 2019-04-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
CN111858306A (zh) * | 2020-06-12 | 2020-10-30 | 海光信息技术有限公司 | 一种芯片验证方法、装置、芯片及存储介质 |
CN112131827A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片测试方法、系统、设备及存储介质 |
CN112241347A (zh) * | 2020-10-20 | 2021-01-19 | 海光信息技术股份有限公司 | 实现SystemC验证的方法和验证平台组件架构 |
CN113807037A (zh) * | 2021-10-13 | 2021-12-17 | 芯河半导体科技(无锡)有限公司 | 一种支持soc设计全流程开发的软件和硬件协同仿真系统 |
CN114117977A (zh) * | 2022-01-27 | 2022-03-01 | 广东省新一代通信与网络创新研究院 | 一种用于自动验证处理器系统场景的方法 |
CN114218880A (zh) * | 2022-02-23 | 2022-03-22 | 飞腾信息技术有限公司 | 通用验证方法学环境搭建方法、芯片验证方法及验证系统 |
CN115328763A (zh) * | 2022-07-12 | 2022-11-11 | 西安润道智检科技有限公司 | 基于windows操作系统下批处理FPGA仿真测试方法 |
CN115935865A (zh) * | 2022-08-17 | 2023-04-07 | 江苏清微智能科技有限公司 | 一种可重构芯片的验证方法及平台 |
CN116089281A (zh) * | 2022-12-30 | 2023-05-09 | 天翼云科技有限公司 | 一种芯片测试方法、测试平台和设备 |
CN116245074A (zh) * | 2022-12-15 | 2023-06-09 | 山东产研鲲云人工智能研究院有限公司 | 芯片验证方法、设备及存储介质 |
-
2023
- 2023-06-12 CN CN202310691665.0A patent/CN116719729B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020038401A1 (en) * | 2000-05-02 | 2002-03-28 | Zaidi S. Jauher A. | Design tool for systems-on-a-chip |
CN105824990A (zh) * | 2016-03-10 | 2016-08-03 | 盛科网络(苏州)有限公司 | 一种实现芯片验证高效仿真编译的方法 |
CN109597733A (zh) * | 2018-12-04 | 2019-04-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
CN111858306A (zh) * | 2020-06-12 | 2020-10-30 | 海光信息技术有限公司 | 一种芯片验证方法、装置、芯片及存储介质 |
CN112131827A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片测试方法、系统、设备及存储介质 |
CN112241347A (zh) * | 2020-10-20 | 2021-01-19 | 海光信息技术股份有限公司 | 实现SystemC验证的方法和验证平台组件架构 |
CN113807037A (zh) * | 2021-10-13 | 2021-12-17 | 芯河半导体科技(无锡)有限公司 | 一种支持soc设计全流程开发的软件和硬件协同仿真系统 |
CN114117977A (zh) * | 2022-01-27 | 2022-03-01 | 广东省新一代通信与网络创新研究院 | 一种用于自动验证处理器系统场景的方法 |
CN114218880A (zh) * | 2022-02-23 | 2022-03-22 | 飞腾信息技术有限公司 | 通用验证方法学环境搭建方法、芯片验证方法及验证系统 |
CN115328763A (zh) * | 2022-07-12 | 2022-11-11 | 西安润道智检科技有限公司 | 基于windows操作系统下批处理FPGA仿真测试方法 |
CN115935865A (zh) * | 2022-08-17 | 2023-04-07 | 江苏清微智能科技有限公司 | 一种可重构芯片的验证方法及平台 |
CN116245074A (zh) * | 2022-12-15 | 2023-06-09 | 山东产研鲲云人工智能研究院有限公司 | 芯片验证方法、设备及存储介质 |
CN116089281A (zh) * | 2022-12-30 | 2023-05-09 | 天翼云科技有限公司 | 一种芯片测试方法、测试平台和设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056897A (zh) * | 2023-10-13 | 2023-11-14 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
CN117056897B (zh) * | 2023-10-13 | 2023-12-26 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116719729B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940428B (zh) | 芯片验证方法、装置及系统 | |
US8024699B2 (en) | Testing sub-systems of a system-on-a-chip using a configurable external system-on-a-chip | |
US6083269A (en) | Digital integrated circuit design system and methodology with hardware | |
US10007492B2 (en) | System and method for automatically generating device drivers for run time environments | |
CN112131829A (zh) | 一种芯片寄存器的验证方法、系统及相关装置 | |
CN115841089A (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN111859834B (zh) | 一种基于uvm的验证平台开发方法、系统、终端及存储介质 | |
CN113297073B (zh) | 芯片中算法模块的验证方法、装置、设备及可读存储介质 | |
US9690888B2 (en) | Method and apparatus for system design verification | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN116719729B (zh) | 通用验证平台、通用验证方法、介质及电子设备 | |
US20140100841A1 (en) | Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit | |
US7711534B2 (en) | Method and system of design verification | |
US9690681B1 (en) | Method and system for automatically generating executable system-level tests | |
CN115470748A (zh) | 一种芯片仿真加速方法、装置、电子设备及存储介质 | |
US6813751B2 (en) | Creating standard VHDL test environments | |
CN105301480A (zh) | Soc芯片的测试方法 | |
Bombieri et al. | Hybrid, incremental assertion-based verification for TLM design flows | |
CN111338761B (zh) | 一种51单片机虚拟中断控制器及实现方法 | |
EP3734491A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
US9710581B1 (en) | VIP assisted method and apparatus to enable SOC integration and software development | |
JP2013020425A (ja) | オープンソースソフトウェアを利用したハードウェア・ソフトウェア協調検証方法 | |
KR100939642B1 (ko) | 소프트웨어 기반의 스티뮬러스를 생성하는 검증 장치, 상기검증 장치를 이용한 검증 방법 및 소프트웨어 기반의 스티뮬러스를 생성하는 프로그램이 구비된 컴퓨터 기록매체 | |
CN117313650B (zh) | 一种芯片测试验证方法及其应用装置 | |
US9183331B1 (en) | Formalizing IP driver interface |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |