CN113297073B - 芯片中算法模块的验证方法、装置、设备及可读存储介质 - Google Patents

芯片中算法模块的验证方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113297073B
CN113297073B CN202110552103.9A CN202110552103A CN113297073B CN 113297073 B CN113297073 B CN 113297073B CN 202110552103 A CN202110552103 A CN 202110552103A CN 113297073 B CN113297073 B CN 113297073B
Authority
CN
China
Prior art keywords
target
algorithm module
systemc
reference model
output
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.)
Active
Application number
CN202110552103.9A
Other languages
English (en)
Other versions
CN113297073A (zh
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202110552103.9A priority Critical patent/CN113297073B/zh
Publication of CN113297073A publication Critical patent/CN113297073A/zh
Application granted granted Critical
Publication of CN113297073B publication Critical patent/CN113297073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种芯片中算法模块的验证方法,包括:对算法模块验证请求进行解析,得到待验证的目标算法模块;调取目标算法模块对应的目标SystemC参考模型;通过预置输入代理获取目标算法模块对应的各测试用例,并按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块;利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出;分别对各级输出进行对应比较,得到目标算法模块的验证结果。本发明保证了目标SystemC参考模型和目标算法模块的时序一致性,较大地减轻了工作量,提高了验证效率。本发明还公开了一种装置、设备及存储介质,具有相应技术效果。

Description

芯片中算法模块的验证方法、装置、设备及可读存储介质
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种芯片中算法模块的验证方法、装置、设备及计算机可读存储介质。
背景技术
随着片上系统(System on Chip,SOC)技术的不断发展,设计的复杂程度不断提高,使得SOC验证的复杂度大大增加,验证占整个SOC开发流程时间的比重大。尤其是算法类的SOC内部包含了复杂的算法,使得芯片的设计验证相当复杂。
对芯片中算法模块进行验证需要有对应的算法参考模型,传统的参考模型一般使用C语言或C++语言实现,C、C++等高级编程语言有较高的抽象能力,但是由于不能体现硬件设计的物理特性,搭建的模型无法和硬件架构保持同步。而且在验证中C和SystemVerilog的联合仿真需要在算法模型的基础上封装DPI-C接口来进行验证,并且需要导入C接口函数,给验证增加了额外的工作量。调用C接口函数需要在特定的时刻,而且需要多次调用,使用不便,当芯片算法模块验证不通过时,无法快速有效的定位错误位置。
综上所述,如何有效地解决现有的芯片算法模块验证方式搭建的模型无法和硬件架构保持同步,工作量大,当芯片算法模块验证不通过时,无法快速有效的定位错误位置等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种芯片中算法模块的验证方法,该方法保证了目标SystemC参考模型和目标算法模块的时序一致性,较大地减轻了工作量,实现了对错误位置的快速定位,提高了验证效率;本发明的另一目的是提供一种芯片中算法模块的验证装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种芯片中算法模块的验证方法,包括:
对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;
调取预搭建的所述目标算法模块对应的目标SystemC参考模型;
通过预置输入代理获取所述目标算法模块对应的各测试用例,并按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块;
利用输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各级输出;
分别对所述目标SystemC参考模型和所述目标算法模块的各级输出进行对应比较,得到所述目标算法模块的验证结果。
在本发明的一种具体实施方式中,在通过预置输入代理获取所述目标算法模块对应的各测试用例之后,按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块之前,还包括:
对所述目标SystemC参考模型进行备份操作,得到SystemC备份模型;
将所述SystemC备份模型设定为待测设备;
按照所述预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述待测设备;
利用所述输出代理分别获取所述目标SystemC参考模型和所述待测设备的各级输出;
分别对所述目标SystemC参考模型和所述待测设备的各级输出进行对应比较,以对预搭建的UVM验证环境进行验证;
当确定所述算法模块验证环境正常时,执行所述按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块的步骤。
在本发明的一种具体实施方式中,利用输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各级输出,包括:
利用第一输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各中间级输出;
利用第二输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的终级输出;
分别对所述目标SystemC参考模型和所述目标算法模块的各级输出进行对应比较,得到所述目标算法模块的验证结果,包括:
判断所述目标SystemC参考模型和所述目标算法模块的终级输出是否一致;
若是,则确定所述目标算法模块验证通过;
若否,则确定所述目标算法模块验证未通过,并分别对所述目标SystemC参考模型和所述目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果;
根据所述各中间级比较结果进行错误定位。
在本发明的一种具体实施方式中,在得到各中间级比较结果之后,还包括:
对所述各中间级比较结果进行波形显示;
根据所述各中间级比较结果进行错误定位,包括:
结合所述各中间级比较结果和波形显示结果进行错误定位。
在本发明的一种具体实施方式中,在按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块之后,还包括:
获取当前测试用例覆盖信息;
根据所述当前测试用例覆盖信息进行测试用例创建,以利用创建得到的各测试用例对所述目标算法模块进行迭代验证。
一种芯片中算法模块的验证装置,包括:
请求解析单元,用于对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;
模型调取单元,用于调取预搭建的所述目标算法模块对应的目标SystemC参考模型;
用例输入单元,用于通过预置输入代理获取所述目标算法模块对应的各测试用例,并按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块;
输出获取单元,用于利用输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各级输出;
验证结果获得单元,用于分别对所述目标SystemC参考模型和所述目标算法模块的各级输出进行对应比较,得到所述目标算法模块的验证结果。
在本发明的一种具体实施方式中,还包括:
模型备份单元,用于在通过预置输入代理获取所述目标算法模块对应的各测试用例之后,按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块之前,对所述目标SystemC参考模型进行备份操作,得到SystemC备份模型;
待测设备设定单元,用于将所述SystemC备份模型设定为待测设备;
所述用例输入单元,还用于按照所述预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述待测设备;
所述输出获取单元,还用于利用所述输出代理分别获取所述目标SystemC参考模型和所述待测设备的各级输出;
环境验证单元,用于分别对所述目标SystemC参考模型和所述待测设备的各级输出进行对应比较,以对预搭建的UVM验证环境进行验证;
所述用例输入单元具体为当确定所述算法模块验证环境正常时,按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块的单元。
在本发明的一种具体实施方式中,所述输出获取单元包括:
中间级输出获取子单元,用于利用第一输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各中间级输出;
终级输出获取子单元,用于利用第二输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的终级输出;
所述验证结果获得单元包括:
判断子单元,用于判断所述目标SystemC参考模型和所述目标算法模块的终级输出是否一致;
第一验证结果确定子单元,用于当确定所述目标SystemC参考模型和所述目标算法模块的终级输出一致时,确定所述目标算法模块验证通过;
第二验证结果确定子单元,用于当确定所述目标SystemC参考模型和所述目标算法模块的终级输出不一致时,确定所述目标算法模块验证未通过,并分别对所述目标SystemC参考模型和所述目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果;
错误定位子单元,用于根据所述各中间级比较结果进行错误定位。
一种芯片中算法模块的验证设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述芯片中算法模块的验证方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述芯片中算法模块的验证方法的步骤。
本发明所提供的芯片中算法模块的验证方法,对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;调取预搭建的目标算法模块对应的目标SystemC参考模型;通过预置输入代理获取目标算法模块对应的各测试用例,并按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块;利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出;分别对目标SystemC参考模型和目标算法模块的各级输出进行对应比较,得到目标算法模块的验证结果。
由上述技术方案可知,通过预先搭建目标SystemC参考模型,使用SystemC语言搭建算法的参考模型更贴近实际的硬件实现,不需要进行接口设置,通过相同的接口即可实现对目标SystemC参考模型和目标算法模块的驱动,较大地减轻了工作量。并预先对目标SystemC参考模型和目标算法模块进行时序设置,从而保证了目标SystemC参考模型和目标算法模块的时序一致性。并且设置输出代理分别获取各级输出,当芯片算法模块验证不通过时,实现了对错误位置的快速定位,提高了验证效率。
相应的,本发明还提供了与上述芯片中算法模块的验证方法相对应的芯片中算法模块的验证装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中芯片中算法模块的验证方法的一种实施流程图;
图2为本发明实施例中芯片中算法模块的验证方法的另一种实施流程图;
图3为本发明实施例中一种压缩算法模块对应的SystemC参考模型的结构框图;
图4为本发明实施例中芯片中算法模块的验证平台的一种结构框图;
图5为本发明实施例中芯片中算法模块的验证平台的另一种结构框图;
图6为本发明实施例中一种芯片中算法模块的验证装置的结构框图;
图7为本发明实施例中一种芯片中算法模块的验证设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中芯片中算法模块的验证方法的一种实施流程图,该方法可以包括以下步骤:
S101:对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块。
当需要对芯片中算法模块进行验证时,向预先搭建的芯片算法模块验证平台发送算法模块验证请求,算法模块验证请求中可以包含待验证的目标算法模块、目标算法模块所属的芯片信息等。芯片算法模块验证平台接收算法模块验证请求,并对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块。
S102:调取预搭建的目标算法模块对应的目标SystemC参考模型。
预先搭建对各算法模块进行验证所需的SystemC参考模型,并设置各算法模块与各SystemC参考模型之间的对应关系。在解析得到待验证的目标算法模块之后,根据各算法模块与各SystemC参考模型之间的对应关系,调取预搭建的目标算法模块对应的目标SystemC参考模型。
SystemC是一种新的系统级建模语言,它是在C++的基础上扩展了硬件类和仿真核形成的,由于结合了面向对象编程和硬件建模机制原理两方面的优点,使得SystemC可以在不同的抽象层次进行系统建模。使用SystemC搭建的硬件模型,不仅可以进行硬件架构探索,建立算法、性能模型,还可以作为验证参考模型,提前软件的开发,加速SOC上市时间。
S103:通过预置输入代理获取目标算法模块对应的各测试用例,并按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块。
预先开发对目标算法模块进行验证所需的各测试用例,不同的测试用例通过序列(sequence)配置不同的信息和数据来实现验证相应的功能,在测试用例中通过合理的约束生成算法需要的配置信息,包括任务类型、数据类型、数据块数量、数据块大小、随机的输入文件等信息,在测试用例中启动sequence,通过sequence将这些配置信息传递到芯片算法模块验证平台中的驱动器(driver)。
预先对目标SystemC参考模型和目标算法模块进行时序设置,从而保证目标SystemC参考模型和目标算法模块的时序一致性。并预先设置将各测试用例输入至目标SystemC参考模型和目标算法模块的输入代理(in_agent)。在调取到目标算法模块对应的目标SystemC参考模型之后,通过预置输入代理获取目标算法模块对应的各测试用例,按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块。
S104:利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出。
预先设置用于分别获取目标SystemC参考模型和目标算法模块的各级输出的输出代理(out_agent),在按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块之后,利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出。一个算法可能包含多个运算步骤,每个运算步骤完结之后,得到一个级别的输出,各级输出包括各中间级输出和终级输出。
S105:分别对目标SystemC参考模型和目标算法模块的各级输出进行对应比较,得到目标算法模块的验证结果。
在获取到目标SystemC参考模型和目标算法模块的各级输出之后,分别对目标SystemC参考模型和目标算法模块的各级输出进行对应比较,得到目标算法模块的验证结果。通过对目标SystemC参考模型各个级别的输出与目标算法模块对应的各个级别的输出进行一一比较,由于目标SystemC参考模型的各级输出为标准输出,若目标SystemC参考模型和目标算法模块的各级输出均一致,则说明目标算法模块验证通过,若目标SystemC参考模型和目标算法模块存在不相同的输出,则说明目标算法模块对相应的测试用例可能不支持,目标算法模块验证不通过。
由上述技术方案可知,通过预先搭建目标SystemC参考模型,使用SystemC语言搭建算法的参考模型更贴近实际的硬件实现,不需要进行接口设置,通过相同的接口即可实现对目标SystemC参考模型和目标算法模块的驱动,较大地减轻了工作量。并预先对目标SystemC参考模型和目标算法模块进行时序设置,从而保证了目标SystemC参考模型和目标算法模块的时序一致性。并且设置输出代理分别获取各级输出,当芯片算法模块验证不通过时,实现了对错误位置的快速定位,提高了验证效率。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
实施例二:
参见图2,图2为本发明实施例中芯片中算法模块的验证方法的另一种实施流程图,该方法可以包括以下步骤:
S201:对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块。
S202:调取预搭建的目标算法模块对应的目标SystemC参考模型。
参见图3为本发明实施例中一种压缩算法模块对应的SystemC参考模型的结构框图。当目标算法模块为压缩算法模块时,压缩算法模块通过在输入的原文中寻找重复的部分,并将这些重复的部分替换为一个特定的编码,从而用一个较短的编码代替一段较长的原文,从而实现对输入的压缩。SystemC参考模型主要包括哈希计算、哈希链表读写控制、融合模块以及编码输出等部分。在向目标SystemC参考模型中输入激励之后,可以得到哈希计算结果、哈希链表读写结果、融合结果、编码结果、以及压缩输出结果。
S203:通过预置输入代理获取目标算法模块对应的各测试用例。
S204:对目标SystemC参考模型进行备份操作,得到SystemC备份模型。
在搭建完成目标SystemC参考模型之后,对目标SystemC参考模型进行备份操作,得到SystemC备份模型。
S205:将SystemC备份模型设定为待测设备。
在得到SystemC备份模型之后,将SystemC备份模型设定为待测设备。在目标算法模块对应的算法硬件架构确定之后,此时寄存器传输级(Register Transfer Level,RTL)设计开始进入实现阶段。为了缩短芯片的开发周期,需要开始验证工作,提取测试点,搭建验证平台,此时RTL还没交付,将SystemC备份模型作为待测设备(Device Under Test,DUT)提前进行验证平台的开发。整个验证平台基于通用验证方法学(Universal VerificationMethodology,UVM)进行搭建。
S206:按照预设时序将各测试用例分别输入至目标SystemC参考模型和待测设备。
在搭建完包含目标SystemC参考模型、待测设备、以及UVM验证环境的芯片算法模块验证平台之后,按照预设时序将各测试用例分别输入至目标SystemC参考模型和待测设备。
参见图4,图4为本发明实施例中芯片中算法模块的验证平台的一种结构框图。Compress_top_tb是整个验证平台(Test Bench,TB)的顶层,其包括基于UVM搭建的验证环境,即图中的COMPRESS_UVM_ENV,待测设备(DUT)和参考模型(reference model)。UVM验证平台(COMPRESS_UVM_ENV)主要包括一个输入代理(in_agent),两个输出代理(out_agent1和out_agent2),以及输入接口(comp_in_if)和输出接口(comp_hash_if/comp_merge_if/comp_out_if)。UVM验证环境和待测设备(DUT)以及参考模型通过输入输出接口进行连接交互。具体信息如下:
(1)输入代理(in_agent),负责将驱动器(driver)和定序器(sequencer)封装在一起,然后作为一个整体例化在UVM环境中。driver是整个验证平台数据的源泉,负责将sequence产生的配置和数据信息按照DUT接口的时序要求驱动到输入接口(comp_in_if)上,输入接口作为输入激励的接口。参考模型(reference model)采用上述预先搭建的目标SystemC参考模型,与真实的RTL设计采用完全相同的接口时序,因此只需要开发一套driver和输入接口,便可同时驱动DUT和参考模型,实现联合仿真。
(2)输出代理(out_agent),其只例化了监视器(monitor),通过输出接口得到DUT和参考模型的输出数据,并对输出数据进行比较。由于参考模型是基于高级语言的处理,没有延时,其产生的输出数据在DUT之前,先将目标SystemC参考模型产生的数据存在一个参考数据队列中,当DUT的输出数据产生时,再从参考数据队列中取出数据和DUT的结果进行比较,实现验证的目的。由于算法的复杂性,输入为海量的数据,经过复杂的算法运算得到输出数据,一旦输出结果不正确,无法正确解压,将很难定位是哪一级出现了错误。因此定义了两个输出代理,out_agent1和out_agent2,将每一个子模块的输出结果作为一级检查点,out_agent1负责抓取比较中间的结果。承接步骤S202的举例,即上述目标SystemC参考模型中的哈希计算结果、哈希链表读写结果、融合结果、以及编码结果,DUT也有相应的结果;out_agent2负责抓取比较最终的输出结果,因此当发生错误时,可以快速定位错误的位置。
(3)待测设备(DUT):在验证的前期RTL未交付,采用对目标SystemC参考模型进行备份操作得到的SystemC备份模型作为DUT。
(4)参考模型(refercence model):采用目标SystemC参考模型作为参考模型。
S207:利用输出代理分别获取目标SystemC参考模型和待测设备的各级输出。
在将各测试用例分别输入至目标SystemC参考模型和待测设备之后,利用输出代理分别获取目标SystemC参考模型和待测设备的各级输出。
S208:分别对目标SystemC参考模型和待测设备的各级输出进行对应比较,以对预搭建的UVM验证环境进行验证。
在获取到目标SystemC参考模型和待测设备的各级输出之后,分别对目标SystemC参考模型和待测设备的各级输出进行对应比较,从而根据比较结果对预搭建的UVM验证环境进行验证。
通过当测试用例开发完成后,在当前的芯片算法模块验证平台进行运行调试,以便修复验证环境相关的问题,排除验证环境对算法模块验证结果的干扰。从而待到验证真正的RTL设计时,仅需关注RTL设计存在的问题,节约验证的时间,提高效率。
S209:当确定算法模块验证环境正常时,按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块。
当确定算法模块验证环境正常时,说明算法模块验证环境不会对目标算法模块的验证结果造成干扰,按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块。
参见图5,图5为本发明实施例中芯片中算法模块的验证平台的另一种结构框图。随着RTL设计的完成,将验证平台中的DUT替换为真正的目标算法模块,即RTL设计,并目标SystemC参考模型作为参考模型进行验证。
将RTL设计集成到验证平台中,在测试平台的顶层例化RTL和SystemC模型,SystemC和UVM的联合仿真验证平台搭建完成。
S210:利用第一输出代理分别获取目标SystemC参考模型和目标算法模块的各中间级输出。
预先设置第一输出代理,用于获取目标SystemC参考模型和目标算法模块的各中间级输出。在将各测试用例分别输入至目标SystemC参考模型和目标算法模块之后,利用第一输出代理分别获取目标SystemC参考模型和目标算法模块的各中间级输出。
S211:利用第二输出代理分别获取目标SystemC参考模型和目标算法模块的终级输出。
预先设置第二输出代理,用于获取目标SystemC参考模型和目标算法模块的终级输出。在将各测试用例分别输入至目标SystemC参考模型和目标算法模块之后,利用第二输出代理分别获取目标SystemC参考模型和目标算法模块的终级输出。
S212:判断目标SystemC参考模型和目标算法模块的终级输出是否一致,若是,则执行步骤S213,若否,则执行步骤S214。
在获取到目标SystemC参考模型和目标算法模块的各中间级输出,以及目标SystemC参考模型和目标算法模块的终级输出之后,判断目标SystemC参考模型和目标算法模块的终级输出是否一致,若是,则执行步骤S213,若否,则执行步骤S214。
S213:确定目标算法模块验证通过。
当确定目标SystemC参考模型和目标算法模块的终级输出一致时,说明当前测试用例运行成功,确定目标算法模块验证通过。
S214:确定目标算法模块验证未通过,并分别对目标SystemC参考模型和目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果。
当确定目标SystemC参考模型和目标算法模块的终级输出不一致时,说明当前测试用例运行失败,确定目标算法模块验证未通过,并分别对目标SystemC参考模型和目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果。
S215:对各中间级比较结果进行波形显示。
预先设置显示终端,在得到各中间级比较结果之后,通过显示终端对各中间级比较结果进行波形显示。从而当测试用例运行失败时,可以将目标SystemC参考模型和目标算法模块的输入输出结果通过波形实时查看,从而当发生数据错误时,可快速高效的定位错误的原因。
S216:结合各中间级比较结果和波形显示结果进行错误定位。
在得到各中间级比较结果,并得到波形显示结果之后,结合各中间级比较结果和波形显示结果进行错误定位。
通过基于SystemC和UVM的算法的联合仿真平台,其采用SystemC搭建算法的硬件模型,将其作为验证的参考模型,采用基于SystemVerilog的UVM搭建验证环境,然后用VCS软件进行仿真,实现了两种语言的联合仿真,联合仿真平台可以有效缩短SOC开发时间,增强验证效果,大大提高工作效率。
在本发明的一种具体实施方式中,该方法还可以包括以下步骤:
步骤一:在按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块之后,获取当前测试用例覆盖信息;
步骤二:根据当前测试用例覆盖信息进行测试用例创建,以利用创建得到的各测试用例对目标算法模块进行迭代验证。
为方便描述,可以将上述两个步骤结合起来进行说明。
为了对目标算法模块进行有效验证,需要对相应的测试用例进行尽可能的全面覆盖。因此在按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块之后,获取当前测试用例覆盖信息,根据当前测试用例覆盖信息进行测试用例创建,以利用创建得到的各测试用例对目标算法模块进行迭代验证。
通过收集覆盖率信息,针对未覆盖到的配置创建对应的测试用例,当测试用例运行成功后,覆盖率信息被记录,当所有的测试用例都运行成功后,通过分析覆盖率信息,查看哪些配置没有覆盖到,针对这些没有覆盖到的配置创建相应的测试用例,运行并收集覆盖率信息,通过不断迭代提高覆盖率,直到所有的配置都被覆盖,从而实现对目标算法模块的全面验证,提高验证的准确性。
例如,以压缩算法为例,目标SystemC参考模型的代码实现如下:
Figure BDA0003075879400000131
Figure BDA0003075879400000141
Figure BDA0003075879400000151
compress_top_sc.h是头文件,其中包括模块的声明,即compress_top_sc,还包括输入输出的端口声明以及进程的声明,每一个子模块声明为一个进程。compress_top_sc.cpp是对应的实现文件,其例化了输入输出端口,注册了进程,并实现了每一个进程具体的功能。按照上述算法架构的功能要求以及输入输出接口的时序实现算法SystemC的模型。
SystemC模型的编译,命令如下:
CC=g++-m64
CFLAGS=-g–Wall
INCDIR=-I.-I$(SYSTEMC)/include
$(CC)$(CFLAGS)$(INCDIR)–o compress_top compress_top.cpp
编译通过后,可使用VCS仿真软件调试运行SystemC模型,命令如下:
SC_COMP=syscan–cpp g++-cc gcc
SC_COMP_OPTS=-cflags–g–full64
compile_sc:
$(SC_COMP)$(SC_COMP_OPTS)compress_top.cpp:compress_top
elab:compile_sc
vcs–full64–cpp g++-cc gcc–sysc sc_main–timescale=1ns/1ps
在创建目标SystemC参考模型完成之后,对目标SystemC参考模型、待测设备、以及UVM验证环境进行集成,得到芯片算法模块验证平台。
芯片算法模块验证平台的集成步骤如下:
Figure BDA0003075879400000161
集成UVM验证环境组件:
将输入代理,输出代理和接口集成到验证环境中,方式如下,至此,前期的验证平台搭建完成。
Figure BDA0003075879400000171
endclass:compress_top_env
将RTL设计集成到验证平台中,在TB的顶层例化RTL和SystemC模型,只需修改一行代码即可实现替换,快速高效,方式如下,至此,SystemC和UVM的联合仿真验证平台搭建完成。
Figure BDA0003075879400000172
Figure BDA0003075879400000181
联合仿真平台的运行指令如下:
(1)编译指令:
Figure BDA0003075879400000182
命令行执行make elab,会生成可执行文件comp.simv;
(2)仿真指令:
comp.simv$(RUN_OPTS)–l sim.log+UVM_TEST=(test_name)
实施例三:
相应于上面的方法实施例,本发明还提供了一种芯片中算法模块的验证装置,下文描述的芯片中算法模块的验证装置与上文描述的芯片中算法模块的验证装置方法可相互对应参照。
参见图6,图6为本发明实施例中一种芯片中算法模块的验证装置的结构框图,该装置可以包括:
请求解析单元61,用于对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;
模型调取单元62,用于调取预搭建的目标算法模块对应的目标SystemC参考模型;
用例输入单元63,用于通过预置输入代理获取目标算法模块对应的各测试用例,并按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块;
输出获取单元64,用于利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出;
验证结果获得单元65,用于分别对目标SystemC参考模型和目标算法模块的各级输出进行对应比较,得到目标算法模块的验证结果。
由上述技术方案可知,通过预先搭建目标SystemC参考模型,使用SystemC语言搭建算法的参考模型更贴近实际的硬件实现,不需要进行接口设置,通过相同的接口即可实现对目标SystemC参考模型和目标算法模块的驱动,较大地减轻了工作量。并预先对目标SystemC参考模型和目标算法模块进行时序设置,从而保证了目标SystemC参考模型和目标算法模块的时序一致性。并且设置输出代理分别获取各级输出,当芯片算法模块验证不通过时,实现了对错误位置的快速定位,提高了验证效率。
在本发明的一种具体实施方式中,该装置还可以包括:
模型备份单元,用于在通过预置输入代理获取目标算法模块对应的各测试用例之后,按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块之前,对目标SystemC参考模型进行备份操作,得到SystemC备份模型;
待测设备设定单元,用于将SystemC备份模型设定为待测设备;
用例输入单元63,还用于按照预设时序将各测试用例分别输入至目标SystemC参考模型和待测设备;
输出获取单元64,还用于利用输出代理分别获取目标SystemC参考模型和待测设备的各级输出;
环境验证单元,用于分别对目标SystemC参考模型和待测设备的各级输出进行对应比较,以对预搭建的UVM验证环境进行验证;
用例输入单元63具体为当确定算法模块验证环境正常时,按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块的单元。
在本发明的一种具体实施方式中,输出获取单元64包括:
中间级输出获取子单元,用于利用第一输出代理分别获取目标SystemC参考模型和目标算法模块的各中间级输出;
终级输出获取子单元,用于利用第二输出代理分别获取目标SystemC参考模型和目标算法模块的终级输出;
验证结果获得单元65包括:
判断子单元,用于判断目标SystemC参考模型和目标算法模块的终级输出是否一致;
第一验证结果确定子单元,用于当确定目标SystemC参考模型和目标算法模块的终级输出一致时,确定目标算法模块验证通过;
第二验证结果确定子单元,用于当确定目标SystemC参考模型和目标算法模块的终级输出不一致时,确定目标算法模块验证未通过,并分别对目标SystemC参考模型和目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果;
错误定位子单元,用于根据各中间级比较结果进行错误定位。
在本发明的一种具体实施方式中,该装置还可以包括:
显示单元,用于在得到各中间级比较结果之后,对各中间级比较结果进行波形显示;
错误定位子单元具体为结合各中间级比较结果和波形显示结果进行错误定位的单元。
在本发明的一种具体实施方式中,该装置还可以包括:
覆盖信息获取单元,用于在按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块之后,获取当前测试用例覆盖信息;
迭代验证单元,用于根据当前测试用例覆盖信息进行测试用例创建,以利用创建得到的各测试用例对目标算法模块进行迭代验证。
相应于上面的方法实施例,参见图7,图7为本发明所提供的芯片中算法模块的验证设备的示意图,该设备可以包括:
存储器71,用于存储计算机程序;
处理器72,用于执行上述存储器71存储的计算机程序时可实现如下步骤:
对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;调取预搭建的目标算法模块对应的目标SystemC参考模型;通过预置输入代理获取目标算法模块对应的各测试用例,并按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块;利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出;分别对目标SystemC参考模型和目标算法模块的各级输出进行对应比较,得到目标算法模块的验证结果。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;调取预搭建的目标算法模块对应的目标SystemC参考模型;通过预置输入代理获取目标算法模块对应的各测试用例,并按照预设时序将各测试用例分别输入至目标SystemC参考模型和目标算法模块;利用输出代理分别获取目标SystemC参考模型和目标算法模块的各级输出;分别对目标SystemC参考模型和目标算法模块的各级输出进行对应比较,得到目标算法模块的验证结果。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种芯片中算法模块的验证方法,其特征在于,包括:
对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;
调取预搭建的所述目标算法模块对应的目标SystemC参考模型;
通过预置输入代理获取所述目标算法模块对应的各测试用例,并按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块;
利用输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各级输出;
分别对所述目标SystemC参考模型和所述目标算法模块的各级输出进行对应比较,得到所述目标算法模块的验证结果。
2.根据权利要求1所述的芯片中算法模块的验证方法,其特征在于,在通过预置输入代理获取所述目标算法模块对应的各测试用例之后,按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块之前,还包括:
对所述目标SystemC参考模型进行备份操作,得到SystemC备份模型;
将所述SystemC备份模型设定为待测设备;
按照所述预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述待测设备;
利用所述输出代理分别获取所述目标SystemC参考模型和所述待测设备的各级输出;
分别对所述目标SystemC参考模型和所述待测设备的各级输出进行对应比较,以对预搭建的UVM验证环境进行验证;
当确定所述算法模块验证环境正常时,执行所述按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块的步骤。
3.根据权利要求1或2所述的芯片中算法模块的验证方法,其特征在于,利用输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各级输出,包括:
利用第一输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各中间级输出;
利用第二输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的终级输出;
分别对所述目标SystemC参考模型和所述目标算法模块的各级输出进行对应比较,得到所述目标算法模块的验证结果,包括:
判断所述目标SystemC参考模型和所述目标算法模块的终级输出是否一致;
若是,则确定所述目标算法模块验证通过;
若否,则确定所述目标算法模块验证未通过,并分别对所述目标SystemC参考模型和所述目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果;
根据所述各中间级比较结果进行错误定位。
4.根据权利要求3所述的芯片中算法模块的验证方法,其特征在于,在得到各中间级比较结果之后,还包括:
对所述各中间级比较结果进行波形显示;
根据所述各中间级比较结果进行错误定位,包括:
结合所述各中间级比较结果和波形显示结果进行错误定位。
5.根据权利要求1所述的芯片中算法模块的验证方法,其特征在于,在按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块之后,还包括:
获取当前测试用例覆盖信息;
根据所述当前测试用例覆盖信息进行测试用例创建,以利用创建得到的各测试用例对所述目标算法模块进行迭代验证。
6.一种芯片中算法模块的验证装置,其特征在于,包括:
请求解析单元,用于对接收到的算法模块验证请求进行解析,得到待验证的目标算法模块;
模型调取单元,用于调取预搭建的所述目标算法模块对应的目标SystemC参考模型;
用例输入单元,用于通过预置输入代理获取所述目标算法模块对应的各测试用例,并按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块;
输出获取单元,用于利用输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各级输出;
验证结果获得单元,用于分别对所述目标SystemC参考模型和所述目标算法模块的各级输出进行对应比较,得到所述目标算法模块的验证结果。
7.根据权利要求6所述的芯片中算法模块的验证装置,其特征在于,还包括:
模型备份单元,用于在通过预置输入代理获取所述目标算法模块对应的各测试用例之后,按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块之前,对所述目标SystemC参考模型进行备份操作,得到SystemC备份模型;
待测设备设定单元,用于将所述SystemC备份模型设定为待测设备;
所述用例输入单元,还用于按照所述预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述待测设备;
所述输出获取单元,还用于利用所述输出代理分别获取所述目标SystemC参考模型和所述待测设备的各级输出;
环境验证单元,用于分别对所述目标SystemC参考模型和所述待测设备的各级输出进行对应比较,以对预搭建的UVM验证环境进行验证;
所述用例输入单元具体为当确定所述算法模块验证环境正常时,按照预设时序将各所述测试用例分别输入至所述目标SystemC参考模型和所述目标算法模块的单元。
8.根据权利要求6或7所述的芯片中算法模块的验证装置,其特征在于,所述输出获取单元包括:
中间级输出获取子单元,用于利用第一输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的各中间级输出;
终级输出获取子单元,用于利用第二输出代理分别获取所述目标SystemC参考模型和所述目标算法模块的终级输出;
所述验证结果获得单元包括:
判断子单元,用于判断所述目标SystemC参考模型和所述目标算法模块的终级输出是否一致;
第一验证结果确定子单元,用于当确定所述目标SystemC参考模型和所述目标算法模块的终级输出一致时,确定所述目标算法模块验证通过;
第二验证结果确定子单元,用于当确定所述目标SystemC参考模型和所述目标算法模块的终级输出不一致时,确定所述目标算法模块验证未通过,并分别对所述目标SystemC参考模型和所述目标算法模块的各中间级输出进行对应比较,得到各中间级比较结果;
错误定位子单元,用于根据所述各中间级比较结果进行错误定位。
9.一种芯片中算法模块的验证设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述芯片中算法模块的验证方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述芯片中算法模块的验证方法的步骤。
CN202110552103.9A 2021-05-20 2021-05-20 芯片中算法模块的验证方法、装置、设备及可读存储介质 Active CN113297073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110552103.9A CN113297073B (zh) 2021-05-20 2021-05-20 芯片中算法模块的验证方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110552103.9A CN113297073B (zh) 2021-05-20 2021-05-20 芯片中算法模块的验证方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113297073A CN113297073A (zh) 2021-08-24
CN113297073B true CN113297073B (zh) 2022-07-29

Family

ID=77323139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110552103.9A Active CN113297073B (zh) 2021-05-20 2021-05-20 芯片中算法模块的验证方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113297073B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115496034B (zh) * 2022-11-14 2023-02-07 沐曦集成电路(上海)有限公司 多模式gpu联合仿真系统
CN116560962A (zh) * 2023-05-15 2023-08-08 海光信息技术股份有限公司 内核性能验证方法、装置、电子设备及存储介质
CN117034824A (zh) * 2023-08-25 2023-11-10 广州市粤港澳大湾区前沿创新技术研究院 复用测试用例和验证环境的仿真验证系统、方法、终端及介质
CN116909935B (zh) * 2023-09-13 2023-12-08 沐曦集成电路(上海)有限公司 基于单一处理模块接口的芯片联合仿真方法、设备和介质
CN117034855B (zh) * 2023-09-28 2024-01-02 芯动微电子科技(武汉)有限公司 一种基于uvm的哈希交织算法的验证方法与平台
CN118035022B (zh) * 2024-04-12 2024-07-09 北京壁仞科技开发有限公司 一种高速缓存验证方法、装置、设备、介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300350A (ja) * 2004-04-12 2005-10-27 Matsushita Electric Ind Co Ltd 半導体集積回路の検証装置及び検証方法
FI20095885A0 (fi) * 2009-08-27 2009-08-27 Martti Venell Menetelmä integroidun piirin suunnittelun verifioimiseksi verifiointiympäristössä
CN107704351A (zh) * 2017-10-18 2018-02-16 盛科网络(苏州)有限公司 一种芯片的验证方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4147842B2 (ja) * 2002-07-04 2008-09-10 日本電気株式会社 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US8983823B1 (en) * 2005-12-29 2015-03-17 The Mathworks, Inc. Verification harness for automatically generating a text-based representation of a graphical model
US8078928B2 (en) * 2007-10-12 2011-12-13 Oracle America, Inc. System and method for verifying the transmit path of an input/output component
US8402403B2 (en) * 2009-12-17 2013-03-19 International Business Machines Corporation Verifying a register-transfer level design of an execution unit
US8336009B2 (en) * 2010-06-30 2012-12-18 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for electronic system function verification at two levels
US8832622B1 (en) * 2011-11-23 2014-09-09 Marvell International Ltd. Coverage scoreboard
US9310433B2 (en) * 2014-04-18 2016-04-12 Breker Verification Systems Testing SOC with portable scenario models and at different levels
CN107463473B (zh) * 2017-09-01 2023-06-27 珠海泰芯半导体有限公司 基于uvm和fpga的芯片软硬件仿真环境
CN110046387B (zh) * 2019-03-14 2022-04-08 广东工业大学 一种基于uvm的sm2模块验证平台及验证方法
US20200410296A1 (en) * 2019-06-30 2020-12-31 Td Ameritrade Ip Company, Inc. Selective Data Rejection for Computationally Efficient Distributed Analytics Platform
CN110618929B (zh) * 2019-08-01 2023-03-21 广东工业大学 一种基于uvm的对称加密算法的验证平台和验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300350A (ja) * 2004-04-12 2005-10-27 Matsushita Electric Ind Co Ltd 半導体集積回路の検証装置及び検証方法
FI20095885A0 (fi) * 2009-08-27 2009-08-27 Martti Venell Menetelmä integroidun piirin suunnittelun verifioimiseksi verifiointiympäristössä
CN107704351A (zh) * 2017-10-18 2018-02-16 盛科网络(苏州)有限公司 一种芯片的验证方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UVM实现时间同步电路的功能验证;王世中等;《计算机技术与发展》;20130418(第07期);全文 *

Also Published As

Publication number Publication date
CN113297073A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN113297073B (zh) 芯片中算法模块的验证方法、装置、设备及可读存储介质
EP1093619B1 (en) System and method for identifying finite state machines and verifying circuit designs
US8924937B1 (en) Method and system for generating verification information and tests for software
US7962869B2 (en) Method and system for debug and test using replicated logic
CN113032195A (zh) 芯片仿真验证方法、系统、设备及存储介质
EP1089172A2 (en) Compiler and method for compiling specification language into implementation language
CN115841089A (zh) 一种基于uvm的系统级芯片验证平台及验证方法
CN115686655B (zh) 用于gpu ip验证的联合仿真系统
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
CN115952758A (zh) 芯片验证方法、装置、电子设备及存储介质
Goli et al. Scalable simulation-based verification of SystemC-based virtual prototypes
CN115719047A (zh) 基于波形gpu联合仿真系统
CN115688676A (zh) 基于tlm的gpu联合仿真系统
Goli et al. Automated design understanding of SystemC-based virtual prototypes: Data extraction, analysis and visualization
Engels et al. Model-based verification and validation of properties
CN116719729B (zh) 通用验证平台、通用验证方法、介质及电子设备
CN112632885A (zh) 软硬件联合验证系统及方法
Huggi et al. Design and verification of memory elements using python
CN115062496B (zh) 嵌入式应用的验证方法、装置、电子设备及芯片
KR100777103B1 (ko) 테스트 드라이버 생성 장치 및 방법
CN115034165A (zh) 一种芯片仿真验证方法、系统、设备以及存储介质
KR100939642B1 (ko) 소프트웨어 기반의 스티뮬러스를 생성하는 검증 장치, 상기검증 장치를 이용한 검증 방법 및 소프트웨어 기반의 스티뮬러스를 생성하는 프로그램이 구비된 컴퓨터 기록매체
WO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
CN111338761A (zh) 一种51单片机虚拟中断控制器及实现方法
CN112306882A (zh) 一种基于c算法模型的芯片算法模块验证方法及系统

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