CN107463473B - 基于uvm和fpga的芯片软硬件仿真环境 - Google Patents

基于uvm和fpga的芯片软硬件仿真环境 Download PDF

Info

Publication number
CN107463473B
CN107463473B CN201710783768.4A CN201710783768A CN107463473B CN 107463473 B CN107463473 B CN 107463473B CN 201710783768 A CN201710783768 A CN 201710783768A CN 107463473 B CN107463473 B CN 107463473B
Authority
CN
China
Prior art keywords
module
fpga
random
uvm
verification
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
CN201710783768.4A
Other languages
English (en)
Other versions
CN107463473A (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.)
Zhuhai Huge Ic Co ltd
Original Assignee
Zhuhai Huge Ic 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 Zhuhai Huge Ic Co ltd filed Critical Zhuhai Huge Ic Co ltd
Priority to CN201710783768.4A priority Critical patent/CN107463473B/zh
Publication of CN107463473A publication Critical patent/CN107463473A/zh
Application granted granted Critical
Publication of CN107463473B publication Critical patent/CN107463473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于UVM和FPGA的芯片软硬件仿真环境。所述仿真环境包括FPGA验证平台、UVM验证平台以及IP标准模型。IP标准模型与FPGA验证平台连接,驱动FPGA进行仿真验证,并将FPGA验证的结果作为现场环境配置发送给UVM验证平台。UVM验证平台与IP标准模型连接,调用IP标准模型中的算法对FPGA验证的结果进行UVM仿真验证。本发明通过IP标准模型连接FPGA验证平台和UVM验证平台,做成了一个能同时进行FPGA验证和UVM验证的软硬件仿真验证环境。FPGA验证专注于芯片应用层,完成芯片代码针对大量随机激励场景的验证;UVM验证专注于芯片底层,通过直接调用IP标准模型中的算法对FPGA验证的结果进行进一步验证;两种验证相互配合,加快了芯片验证的周期、提高了芯片验证的质量。

Description

基于UVM和FPGA的芯片软硬件仿真环境
〖技术领域〗
本发明涉及芯片仿真验证领域,尤其涉及一种基于UVM和FPGA的芯片软硬件仿真环境。
〖背景技术〗
近年来,随着大规模SOC和多核设计的出现,专用集成芯片(ASIC)设计的越来越复杂,芯片的功能复杂度大大增加,使得芯片的验证要求越来越高。如何在短时间内完成芯片功能验证,保证逻辑功能正确,对验证环境的完备性、自动化和重用性提出了更高的要求。
FPGA验证采用硬件描述语言对待测设计编写测试用例,简单仿真后综合出网表并下载到目标板上进行调试,通过观察输出波形来判断所设计的功能是否正确。传统的FPGA验证采用定向测试,针对所有的功能点逐个构造测试用例,工作量大,总会有人为疏漏,难以做到全覆盖,比较适合大型、复杂程度低的芯片验证。虽然针对上述问题,FPGA随机验证的出现可以让芯片代码遍历更多的场景。但是,FPGA随机验证主要是针对应用层进行验证,无法捕捉到芯片底层的内容,不能得到芯片内部的一些信息,若代码覆盖率、场景组合情况、性能统计等),无法对芯片存在的问题进行定位。
相比FPGA验证,UVM验证具有面向对象编程、约束随机激励、功率覆盖率检查、断言等属性,比较容易进行问题定位。基于UVM的验证环境和验证方法学可以创造坚实、可重用、自动化、易维护、具互操作性的测试流程组件,得到了业界普遍认可和采用。但是由于仿真速度受限,UVM验证不能遍历太多场景,适合小型、复杂的芯片验证。
〖发明内容〗
本发明的目的旨在提供一种基于UVM和FPGA的芯片软硬件仿真环境,加快芯片验证的周期、提高芯片验证的效率和质量。
为了实现本发明的目的,本发明采取了如下的技术方案:
一种基于UVM和FPGA的芯片软硬件仿真环境,包括FPGA验证平台、UVM验证平台;其特征在于:所述仿真环境还包括IP标准模型;所述IP标准模型与FPGA验证平台连接,驱动FPGA进行仿真验证,并将FPGA验证的结果作为现场环境配置发送给UVM验证平台;所述UVM验证平台与IP标准模型连接,调用IP标准模型中的算法对FPGA验证的结果进行UVM仿真验证。
进一步地,所述IP标准模型包括控制模块、打印模块、算法模型、激励产生器、第一总线驱动;所述控制模块分别与算法模型、第一总线驱动双向连接,并与打印模块、激励产生器、UVM验证平台单向连接;所述打印模块与算法模型连接;所述激励产生器分别与算法模型、第一总线驱动连接;所述第一总线驱动与FPGA验证平台双向连接;
所述控制模块控制激励产生器产生激励信号,控制算法模型根据待测芯片生成算法,控制第一总线驱动将激励信号发送给FPGA验证平台,控制打印模块在算法模型中设置错误打印点,即打印断点;所述打印模块通过在算法模型中设置打印断点,实现问题的快速定位;所述激励产生器将激励信号直接发送给算法模型进行仿真,并将仿真结果发送给控制模块;所述激励产生器通过第一总线驱动将激励信号发送到FPGA验证平台进行仿真,并将仿真结果通过第一总线驱动发送给控制模块;
所述控制模块将FPGA验证平台输出的仿真结果与算法模型输出的仿真结果进行比较,并将比较结果即FPGA验证的结果作为现场环境配置发送给UVM验证平台。
进一步地,所述FPGA验证平台包括FPGA芯片以及第二总线驱动;所述第二总线驱动分别与第一总线驱动、FPGA芯片双向连接;所述第二总线驱动通过第一总线驱动接收激励产生器输出的激励信号,并将激励信号发送给FPGA芯片;所述FPGA芯片根据输入的激励信号进行仿真,并将仿真结果通过第二驱动总线发送给第一总线驱动,进而发送给控制模块。
进一步地,所述FPGA验证平台还包括硬件外部设备;所述硬件外部设备与FPGA芯片双向连接,接收FPGA的驱动,并将结果反馈给FPGA芯片。
进一步,所述UVM验证平台包括测试用例模块、测试用例配置模块、数据配置模块、参考模型、计分板、DUT(design under testbench,待测设计)模块(以下同)以及第一监视器;所述测试用例模块与控制模块、测试用例配置模块连接;所述测试用例配置模块分别与参考模型、DUT模块连接;所述数据配置模块分别与参考模型、DUT模块连接;所述参考模型与算法模型、计分板连接;所述DUT模块与第一监视器、计分板依次连接;
所述测试用例模块接收控制模块输出的FPGA验证的结果并产生随机测试用例发送给测试用例配置模块;所述测试用例配置模块存储测试用例模块输出的随机测试用例并将随机测试用例分别配置给参考模型和DUT模块;所述数据配置模块产生随机数据并将这些随机数据分别配置给参考模型和DUT模块;
所述参考模型直接调用算法模型中的算法对随机测试用例下的随机数据进行仿真,并将仿真结果发送给计分板;所述DUT模块针对随机测试用例下的随机数据进行仿真,并将仿真结果发送给第一监视器;所述第一监视器讲DUT模块输出的仿真结果发送给计分板;所述计分板将第一监视器采集的DUT模块输出的仿真结果与参考模型输出的仿真结果进行比较,并将比较结果作为UVM验证的结果打印出来。
进一步地,所述数据配置模块包括随机数据产生器、第二驱动器以及第三监视器;所述随机数据产生器与第二驱动器、DUT模块依次连接;所述随机数据产生器产生随机数据,通过第二驱动器将随机数据发送给DUT模块并驱动DUT模块进行仿真;所述随机数据产生器与第二驱动器、第三监视器、参考模型依次连接;所述第三监视器通过第二驱动器接收随机数据产生器输出的随机数据,并在第二驱动器的驱动下将随机数据发送给参考模型进行仿真。
进一步地,所述测试用例模块包括随机激励和随机序列产生器;所述随机激励与控制模块、随机序列产生器连接,接收控制模块输出的FPGA验证的结果并产生随机激励场景发送给随机序列产生器;所述随机序列产生器根据随机激励场景产生随机测试用例并发送给测试用例配置模块。
进一步地,所述测试用例配置模块包括随机序列调度器、第一驱动器、第二监视器;所述随机序列调度器与随机序列产生器连接,接收并存储随机序列产生器输出的随机测试用例;所述随机序列调度器与第一驱动器、DUT模块依次连接,通过第一驱动器将随机测试用例发送给DUT模块并驱动DUT模块进行仿真;所述随机序列调度器与第一驱动器、第二监视器以及参考模型依次连接;所述第二监视器通过第一驱动器接收随机序列调度器输出的随机测试用例,并在第一驱动器的驱动下将随机测试用例发送给参考模型进行仿真。
进一步地,所述测试用例配置模块还包括覆盖率统计模块;所述覆盖率统计模块与第一驱动器连接,通过第一驱动器接收随机序列调度器输出的随机测试用例,对随机测试用例的覆盖率进行统计。
进一步地,所述DUT模块包括DUT和虚拟接口;所述虚拟接口与第一驱动器、DUT连接,接收第一驱动器输出的随机测试用例并发送给DUT;所述虚拟接口与第二驱动器、DUT连接,接收第二驱动器输出的随机数据并发送给DUT;所述DUT与虚拟接口、第一监视器依次连接,针对随机测试用例下的随机数据进行仿真并将仿真结果通过虚拟接口发送给第一监视器,进而发送给计分板。
进一步地,所述UVM验证平台还包括顶层模块;所述顶层模块包括仿真脚本、控制台、断言、存储器;所述控制台与仿真脚本、DUT依次连接,加载仿真脚本代码,将封装的各种配置参数输出到整个UVM验证平台;所述控制台与存储器连接,接收仿真脚本的命令完成存储器的初始化;所述存储器与DUT双向连接,与DUT进行数据交互;所述断言与控制台和虚拟接口连接,通过控制台接收仿真脚本的命令,实时监测虚拟接口。
进一步地,所述顶层模块还包括性能测试模块、Debug测试模块;所述控制台与性能测试模块、Debug测试模块连接,对整个UVM验证平台进行性能测试和Debug测试;所述性能测试模块是用来判断系统的性能是否符合预期;所述Debug测试模块,即消除故障测试模块,是用来检测系统故障的消除是否完成。
进一步地,所述UVM验证平台还包括自定义库文件;所述自定义库文件分别与参考模型、计分板以及测试用例配置模块连接,将封装的所有全局变量、事件、打印控制发送给参考模型、计分板和测试用例配置模块。
本发明有益效果:
由以上技术方案可知,本发明通过IP标准模型连接FPGA验证平台和UVM验证平台,做成了一个能同时进行FPGA验证和UVM验证的软硬件仿真验证环境。其中,FPGA验证专注于芯片应用层,完成芯片代码针对大量随机激励场景的验证;IP标准模型驱动FPGA验证平台进行仿真验证,并将FPGA验证的结果作为现场环境配置发送给UVM验证平台;UVM验证专注于芯片底层,通过直接调用IP标准模型中的算法对FPGA验证的结果进行进一步验证;两种验证相互配合,加快了芯片验证的周期、提高了芯片验证的质量。同时,本发明通过在IP标准模型中采用打印模块设置错误打印点,可以实现问题的快速定位;本发明通过在UVM验证平台中采用覆盖率统计模块可以实现覆盖率的收集。
〖附图说明〗
为了更清楚地说明本发明实施例,下面对实施例中所需要使用的附图做简单的介绍。下面描述中的附图仅仅是本发明中的实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明的总体结构框图;
〖具体实施方式〗
下面结合附图,对本发明进行详细的说明。
为了使本发明的目的、技术方案、优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,一种基于UVM和FPGA的芯片软硬件仿真环境,包括FPGA验证平台、UVM验证平台、IP标准模型。IP标准模型与FPGA验证平台连接,驱动FPGA进行仿真验证,并将FPGA验证的结果作为现场环境配置发送给UVM验证平台。UVM验证平台与IP标准模型连接,调用IP标准模型中的算法进行仿真验证。由于已经把算法模型从FPGA验证和UVM验证中独立出来,此时只需要对算法模型中的算法进行修改,即可完成对不同DUT(design undertestbench,待测设计)(以下同)的仿真验证。若FPGA验证出现错误,UVM验证平台可以利用现场环境配置里的错误场景列表,进行问题仿真定位,再进行批量回归,确保问题的解决。
如图1所示,IP标准模型包括控制模块、打印模块、算法模型、激励产生器、第一总线驱动。控制模块分别与算法模型、第一总线驱动双向连接,并与打印模块、激励产生器、UVM验证平台单向连接。打印模块与算法模型连接激励产生器分别与算法模型、第一总线驱动连接。所述第一总线驱动与FPGA验证平台双向连接。
控制模块控制激励产生器产生激励信号,控制算法模型根据待测芯片生成算法,控制第一总线驱动将激励信号发送给FPGA验证平台,控制打印模块在算法模型中设置错误打印点,即打印断点。IP标准模型通过打印模块在算法模型中设置打印断点,实现问题的快速定位。激励产生器将激励信号直接发送给算法模型进行仿真,并将仿真结果发送给控制模块。同时,激励产生器通过第一总线驱动将激励信号发送到FPGA验证平台进行仿真,并将仿真结果通过第一总线驱动发送给控制模块。控制模块将FPGA验证平台输出的仿真结果与算法模型输出的仿真结果进行比较,并将比较结果即FPGA验证的结果作为现场环境配置发送给UVM验证平台。
在本实施例中,算法模型首先通过C模型或MATLAB模型构建标准模型,然后在控制模块的作用下,根据实际芯片的实现方式改写标准模型,得到准确算法。
在本实施例中,控制模块通过打印的方式将FPGA验证的结果配置给UVM验证平台。
如图1所示,FPGA验证平台包括FPGA芯片、第二总线驱动以及硬件外部设备。第二总线驱动分别与第一总线驱动、FPGA芯片双向连接,通过第一总线驱动接收激励发生器输出的激励信号,并将激励信号发送给FPGA芯片;FPGA芯片根据输入的激励信号进行仿真,并将仿真结果通过第二驱动总线发送给第一总线驱动,进而发送给控制模块。硬件外部设备与FPGA芯片双向连接,接收FPGA的驱动,并将结果反馈给FPGA芯片。
如图1所示,UVM验证平台包括测试用例模块、测试用例配置模块、数据配置模块、参考模型、计分板、DUT模块、第一监视器、顶层模块以及自定义库文件。测试用例模块与控制模块、测试用例配置模块连接。测试用例配置模块分别与参考模型、DUT模块连接。数据配置模块分别与参考模型、DUT模块连接。参考模型与算法模型、计分板连接。DUT模块与第一监视器、计分板依次连接。顶层模块与DUT模块连接。自定义库文件分别与参考模型、计分板以及测试用例配置模块连接。
测试用例模块接收控制模块输出的FPGA验证的结果并产生随机测试用例发送给测试用例配置模块。测试用例配置模块存储测试用例模块输出的随机测试用例并将随机测试用例分别配置给参考模型和DUT模块。数据配置模块产生随机数据并将这些随机数据分别配置给参考模型和DUT模块。
参考模型直接调用算法模型中的算法对随机测试用例下的随机数据进行仿真,并将仿真结果发送给计分板。DUT模块针对随机测试用例下的随机数据进行仿真,并将仿真结果发送给第一监视器。第一监视器讲DUT模块输出的仿真结果发送给计分板。计分板将第一监视器采集的DUT模块输出的仿真结果与参考模型输出的仿真结果进行比较,并将比较结果作为UVM验证的结果打印出来。计分板根据打印的结果首先可以确认仿真是否正确,然后根据参考模型中的错误打印点即可实现问题的定位。
自定义库文件将封装的所有全局变量、事件、打印控制发送给参考模型、计分板和测试用例配置模块。此时UVM验证平台可以直接调用自定义库文件中的代码,减少了不必要的代码量,而且直接修改和扩展自定义库文件便可以完成对整个UVM验证平台的底层修改。
如图1所示,测试用例模块包括随机激励和随机序列产生器。随机激励与控制模块、随机序列产生器连接,接收控制模块输出的FPGA验证的结果并产生随机激励场景发送给随机序列产生器。随机序列产生器根据随机激励场景产生随机测试用例并发送给测试用例配置模块。
如图1所示,测试用例配置模块包括随机序列调度器、第一驱动器、第二监视器、覆盖率统计模块。随机序列调度器与随机序列产生器连接,接收并存储随机序列产生器输出的随机测试用例。随机序列调度器与第一驱动器、DUT模块依次连接,通过第一驱动器将随机测试用例发送给DUT模块并驱动DUT模块进行仿真。随机序列调度器与第一驱动器、第二监视器以及参考模型依次连接。第二监视器通过第一驱动器接收随机序列调度器输出的随机测试用例,并在第一驱动器的驱动下将随机测试用例发送给参考模型进行仿真。覆盖率统计模块与第一驱动器连接,通过第一驱动器接收随机序列调度器输出的随机测试用例,对测试用例的覆盖率进行统计。
如图1所示,数据配置模块包括随机数据产生器、第二驱动器以及第三监视器。随机数据产生器与第二驱动器、DUT模块依次连接。随机数据产生器产生随机数据,通过第二驱动器将随机数据发送给DUT模块并驱动DUT模块进行仿真。随机数据产生器与第二驱动器、第三监视器、参考模型依次连接。第三监视器通过第二驱动器接收随机数据产生器输出的随机数据,并在第二驱动器的驱动下将随机数据发送给参考模型进行仿真。
如图1所示,DUT模块包括DUT和虚拟接口。虚拟接口与第一驱动器、DUT连接,接收第一驱动器输出的随机测试用例并发送给DUT。虚拟接口与第二驱动器、DUT连接,接收第二驱动器输出的随机数据并发送给DUT。DUT与虚拟接口、第一监视器依次连接,针对随机测试用例下的随机数据进行仿真并将仿真结果通过虚拟接口发送给第一监视器,进而发送给计分板。
如图1所示,顶层模块包括仿真脚本、控制台、断言、存储器、性能测试模块、Debug测试模块。控制台与仿真脚本、DUT依次连接,加载仿真脚本代码,将封装的各种配置参数输出到整个UVM验证平台。控制台与存储器连接,接收仿真脚本的命令完成存储器的初始化。存储器与DUT双向连接,与DUT进行数据交互。断言与控制台和虚拟接口连接,通过控制台接收仿真脚本的命令,实时监测虚拟接口并能快速定位接口问题。控制台与性能测试模块、Debug测试模块连接,对整个UVM验证平台进行性能测试和Debug测试。性能测试模块是用来判断系统的性能是否符合预期。Debug测试模块,即消除故障测试模块,是用来检测系统故障的消除是否完成。
以上所述仅是本发明的优选实施例,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种基于UVM和FPGA的芯片软硬件仿真环境,包括FPGA验证平台、UVM验证平台;其特征在于:所述仿真环境还包括IP标准模型;所述IP标准模型与FPGA验证平台连接,驱动FPGA进行仿真验证,并将FPGA验证的结果作为现场环境配置发送给UVM验证平台;所述UVM验证平台与IP标准模型连接,调用IP标准模型中的算法对FPGA验证的结果进行UVM仿真验证;
所述IP标准模型包括控制模块、打印模块、算法模型、激励产生器、第一总线驱动;所述控制模块分别与算法模型、第一总线驱动双向连接,并与打印模块、激励产生器、UVM验证平台单向连接;所述打印模块与算法模型连接;所述激励产生器分别与算法模型、第一总线驱动连接;所述第一总线驱动与FPGA验证平台双向连接;
所述控制模块控制激励产生器产生激励信号,控制算法模型根据待测芯片生成算法,控制第一总线驱动将激励信号发送给FPGA验证平台,控制打印模块在算法模型中设置打印断点;所述打印模块通过在算法模型中设置打印断点,实现问题的快速定位;所述激励产生器将激励信号直接发送给算法模型进行仿真,并将仿真结果发送给控制模块;所述激励产生器通过第一总线驱动将激励信号发送到FPGA验证平台进行仿真,并将仿真结果通过第一总线驱动发送给控制模块;
所述控制模块将FPGA验证平台输出的仿真结果与算法模型输出的仿真结果进行比较,并将比较结果即FPGA验证的结果作为现场环境配置发送给UVM验证平台。
2.根据权利要求1所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述FPGA验证平台包括FPGA芯片以及第二总线驱动;所述第二总线驱动分别与第一总线驱动、FPGA芯片双向连接;所述第二总线驱动通过第一总线驱动接收激励产生器输出的激励信号,并将激励信号发送给FPGA芯片;所述FPGA芯片根据输入的激励信号进行仿真,并将仿真结果通过第二驱动总线发送给第一总线驱动,进而发送给控制模块。
3.根据权利要求2所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述FPGA验证平台还包括硬件外部设备;所述硬件外部设备与FPGA芯片双向连接,接收FPGA的驱动,并将结果反馈给FPGA芯片。
4.根据权利要求1所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:
所述UVM验证平台包括测试用例模块、测试用例配置模块、数据配置模块、参考模型、计分板、DUT模块以及第一监视器;所述测试用例模块与控制模块、测试用例配置模块连接;所述测试用例配置模块分别与参考模型、DUT模块连接;所述数据配置模块分别与参考模型、DUT模块连接;所述参考模型与算法模型、计分板连接;所述DUT模块与第一监视器、计分板依次连接;
所述测试用例模块接收控制模块输出的FPGA验证的结果并产生随机测试用例发送给测试用例配置模块;所述测试用例配置模块存储测试用例模块输出的随机测试用例并将随机测试用例分别配置给参考模型和DUT模块;所述数据配置模块产生随机数据并将这些随机数据分别配置给参考模型和DUT模块;
所述参考模型直接调用算法模型中的算法对随机测试用例下的随机数据进行仿真,并将仿真结果发送给计分板;所述DUT模块针对随机测试用例下的随机数据进行仿真,并将仿真结果发送给第一监视器;所述第一监视器将DUT模块输出的仿真结果发送给计分板;所述计分板将第一监视器采集的DUT模块输出的仿真结果与参考模型输出的仿真结果进行比较,并将比较结果作为UVM验证的结果打印出来。
5.根据权利要求4所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述数据配置模块包括随机数据产生器、第二驱动器以及第三监视器;所述随机数据产生器与第二驱动器、DUT模块依次连接;所述随机数据产生器产生随机数据,通过第二驱动器将随机数据发送给DUT模块并驱动DUT模块进行仿真;所述随机数据产生器与第二驱动器、第三监视器、参考模型依次连接;所述第三监视器通过第二驱动器接收随机数据产生器输出的随机数据,并在第二驱动器的驱动下将随机数据发送给参考模型进行仿真。
6.根据权利要求5所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述测试用例模块包括随机激励和随机序列产生器;所述随机激励与控制模块、随机序列产生器连接,接收控制模块输出的FPGA验证的结果并产生随机激励场景发送给随机序列产生器;所述随机序列产生器根据随机激励场景产生随机测试用例并发送给测试用例配置模块。
7.根据权利要求6所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述测试用例配置模块包括随机序列调度器、第一驱动器、第二监视器;所述随机序列调度器与随机序列产生器连接,接收并存储随机序列产生器输出的随机测试用例;所述随机序列调度器与第一驱动器、DUT模块依次连接,通过第一驱动器将随机测试用例发送给DUT模块并驱动DUT模块进行仿真;所述随机序列调度器与第一驱动器、第二监视器以及参考模型依次连接;所述第二监视器通过第一驱动器接收随机序列调度器输出的随机测试用例,并在第一驱动器的驱动下将随机测试用例发送给参考模型进行仿真。
8.根据权利要求7所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述测试用例配置模块还包括覆盖率统计模块;所述覆盖率统计模块与第一驱动器连接,通过第一驱动器接收随机序列调度器输出的随机测试用例,对随机测试用例的覆盖率进行统计。
9.根据权利要求6或7所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述DUT模块包括DUT和虚拟接口;所述虚拟接口与第一驱动器、DUT连接,接收第一驱动器输出的随机测试用例并发送给DUT;所述虚拟接口与第二驱动器、DUT连接,接收第二驱动器输出的随机数据并发送给DUT;所述DUT与虚拟接口、第一监视器依次连接,针对随机测试用例下的随机数据进行仿真并将仿真结果通过虚拟接口发送给第一监视器,进而发送给计分板。
10.根据权利要求9所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述UVM验证平台还包括顶层模块;所述顶层模块包括仿真脚本、控制台、断言、存储器;所述控制台与仿真脚本、DUT依次连接,加载仿真脚本代码,将封装的各种配置参数输出到整个UVM验证平台;所述控制台与存储器连接,接收仿真脚本的命令完成存储器的初始化;所述存储器与DUT双向连接,与DUT进行数据交互;所述断言与控制台和虚拟接口连接,通过控制台接收仿真脚本的命令,实时监测虚拟接口。
11.根据权利要求10所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述顶层模块还包括性能测试模块、Debug测试模块;所述控制台与性能测试模块、Debug测试模块连接,对整个UVM验证平台进行性能测试和Debug测试;所述性能测试模块是用来判断系统的性能是否符合预期;所述Debug测试模块,即消除故障测试模块,是用来检测系统故障的消除是否完成。
12.根据权利要求9所述的一种基于UVM和FPGA的芯片软硬件仿真环境,其特征在于:所述UVM验证平台还包括自定义库文件;所述自定义库文件分别与参考模型、计分板以及测试用例配置模块连接,将封装的所有全局变量、事件、打印控制发送给参考模型、计分板和测试用例配置模块。
CN201710783768.4A 2017-09-01 2017-09-01 基于uvm和fpga的芯片软硬件仿真环境 Active CN107463473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710783768.4A CN107463473B (zh) 2017-09-01 2017-09-01 基于uvm和fpga的芯片软硬件仿真环境

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710783768.4A CN107463473B (zh) 2017-09-01 2017-09-01 基于uvm和fpga的芯片软硬件仿真环境

Publications (2)

Publication Number Publication Date
CN107463473A CN107463473A (zh) 2017-12-12
CN107463473B true CN107463473B (zh) 2023-06-27

Family

ID=60551839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710783768.4A Active CN107463473B (zh) 2017-09-01 2017-09-01 基于uvm和fpga的芯片软硬件仿真环境

Country Status (1)

Country Link
CN (1) CN107463473B (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101355B (zh) * 2018-06-26 2021-12-10 飞腾信息技术有限公司 一种提取错误现场特征测试激励的处理器调试方法
CN108984945B (zh) * 2018-08-03 2023-06-23 北京智芯微电子科技有限公司 基于多核心联合仿真被验证设计的仿真验证平台
CN108984991B (zh) * 2018-09-20 2022-09-13 西安微电子技术研究所 一种用于低功耗设计的可重用仿真验证方法
CN109472061B (zh) * 2018-10-17 2022-10-14 北京广利核系统工程有限公司 一种可重用的仿真验证平台及仿真验证方法
CN109739705A (zh) * 2018-12-29 2019-05-10 西安智多晶微电子有限公司 一种fpga片上实时调试系统及方法
CN109740250B (zh) * 2018-12-29 2022-03-18 湖北航天技术研究院总体设计所 基于uvm的fpga软件验证结果仿真波形的获取方法和系统
CN109726061B (zh) * 2019-01-07 2022-07-05 上海琪埔维半导体有限公司 一种SoC芯片的验证方法
CN110377475B (zh) * 2019-07-03 2022-05-17 福州数据技术研究院有限公司 一种基于uvm的大规模存储器读写验证平台及其方法
CN110598309B (zh) * 2019-09-09 2022-11-04 电子科技大学 一种基于强化学习的硬件设计验证系统及方法
CN110991129B (zh) * 2019-12-18 2023-09-08 山东华翼微电子技术股份有限公司 一种基于fpga的密码协处理器全自动仿真验证方法
CN111143144B (zh) * 2019-12-26 2023-05-23 山东方寸微电子科技有限公司 一种具有错误注入和可移植性的芯片验证方法及验证平台
CN111460759A (zh) * 2020-03-19 2020-07-28 华南理工大学 一种基于Python语言的EDA验证平台及其使用方法
CN111523284B (zh) * 2020-03-30 2023-05-26 眸芯科技(上海)有限公司 转换芯片eda仿真配置的方法、装置及应用
CN112084802B (zh) * 2020-08-12 2023-06-02 广州芯世物科技有限公司 一种rfid标签芯片验证系统
CN111950212B (zh) * 2020-08-13 2024-04-26 湖南进芯电子科技有限公司 高效的多模式验证平台及方法
CN112306882B (zh) * 2020-11-06 2023-04-25 山东云海国创云计算装备产业创新中心有限公司 一种基于c算法模型的芯片算法模块验证方法及系统
CN112416686A (zh) * 2020-12-02 2021-02-26 海光信息技术股份有限公司 芯片的验证方法、验证装置以及存储介质
CN112433900B (zh) * 2020-12-03 2023-03-14 海光信息技术股份有限公司 用于芯片验证的方法、系统、设备以及存储介质
CN112559264B (zh) * 2020-12-08 2021-08-06 北京京航计算通讯研究所 基于uvm的验证平台实现fpga通用串口的仿真测试方法
CN112560393B (zh) * 2020-12-17 2023-01-24 中科芯云微电子科技有限公司 Eda软件工具的比对验证方法及装置
CN112580287B (zh) * 2020-12-24 2024-08-16 西安翔腾微电子科技有限公司 一种SoPC芯片内嵌FPGA的验证模块
CN113032195B (zh) * 2021-03-24 2023-05-23 上海西井信息科技有限公司 芯片仿真验证方法、系统、设备及存储介质
CN113297073B (zh) * 2021-05-20 2022-07-29 山东云海国创云计算装备产业创新中心有限公司 芯片中算法模块的验证方法、装置、设备及可读存储介质
CN113407393B (zh) * 2021-05-25 2023-01-24 鹏城实验室 芯片验证方法、终端设备、验证平台以及存储介质
CN113157269B (zh) * 2021-06-10 2023-11-17 上海齐感电子信息科技有限公司 验证系统及其验证方法
CN113705140B (zh) * 2021-07-19 2024-07-30 深圳市紫光同创电子有限公司 芯片验证方法、系统、设备及存储介质
CN114090423A (zh) * 2021-10-11 2022-02-25 芯河半导体科技(无锡)有限公司 一种芯片验证自动化控制方法
CN114036013B (zh) * 2021-10-22 2024-09-03 北京全路通信信号研究设计院集团有限公司 一种基于uvm的应答器芯片多模块同步验证平台和验证方法
CN114239454B (zh) * 2021-12-24 2025-10-28 中国电子科技集团公司第十四研究所 一种fpga代码功能验证加速方法
CN114816892B (zh) * 2022-03-31 2025-09-23 新华三半导体技术有限公司 一种接口验证系统及芯片
CN114896931B (zh) * 2022-05-12 2023-09-01 北京联盛德微电子有限责任公司 一种基于握手机制的蓝牙收发通路的验证方法及系统
CN115345102B (zh) * 2022-08-31 2023-03-24 沐曦科技(北京)有限公司 一种用于硬件加速的通用芯片验证装置
CN115828839A (zh) * 2022-11-15 2023-03-21 杭州万高科技股份有限公司 一种soc芯片系统级验证系统及方法
CN116827522B (zh) * 2023-08-25 2023-11-17 珠海星云智联科技有限公司 基于uvm的aes-gcm功能验证方法及相关设备
CN117875256B (zh) * 2023-12-12 2025-07-29 天翼云科技有限公司 加速智能网卡芯片验证定位的软硬件协同仿真验证平台
CN117436391B (zh) * 2023-12-21 2024-03-26 四川思凌科微电子有限公司 一种用于算法和硬件联合仿真的方法
CN117688903A (zh) * 2023-12-29 2024-03-12 硅谷数模(苏州)半导体股份有限公司 基于通用验证方法学和图像处理算法的芯片混合仿真方法
CN117749640B (zh) * 2024-02-20 2024-04-26 井芯微电子技术(天津)有限公司 以太网交换芯片uvm及fpga原型验证方法及上位机
CN118036525B (zh) * 2024-04-10 2024-09-13 北京智芯微电子科技有限公司 基于uvm和c模型的验证系统与方法、存储介质、验证平台
CN118586332B (zh) * 2024-07-31 2024-10-15 成都电科星拓科技有限公司 PCIe设备模块验证系统
CN118569160B (zh) * 2024-07-31 2024-10-22 成都电科星拓科技有限公司 PCIe设备模块验证方法
CN121031481B (zh) * 2025-08-26 2026-04-28 广东芯培森技术有限公司 一种基于uvm的原子级计算芯片验证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455672A (zh) * 2013-08-29 2013-12-18 上海北大方正科技电脑系统有限公司 一种fpga仿真测试用例自动化回归方法
CN106021044A (zh) * 2016-05-10 2016-10-12 中国电子科技集团公司第三十八研究所 可重用spi总线协议模块验证环境平台及其验证方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065536A (zh) * 2014-07-02 2014-09-24 浪潮集团有限公司 基于uvm验证方法的以太网交换机fpga验证方法
CN106445800A (zh) * 2015-08-05 2017-02-22 深圳市中兴微电子技术有限公司 一种芯片验证的方法和装置
CN105718344A (zh) * 2016-01-19 2016-06-29 中国电子科技集团公司第三十八研究所 一种基于uvm的fpga通用可配置uart协议的验证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455672A (zh) * 2013-08-29 2013-12-18 上海北大方正科技电脑系统有限公司 一种fpga仿真测试用例自动化回归方法
CN106021044A (zh) * 2016-05-10 2016-10-12 中国电子科技集团公司第三十八研究所 可重用spi总线协议模块验证环境平台及其验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FPGA通用验证平台建立方法研究;吕欣欣;刘淑芬;;微电子学与计算机(第05期);全文 *

Also Published As

Publication number Publication date
CN107463473A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107463473B (zh) 基于uvm和fpga的芯片软硬件仿真环境
CN110046387B (zh) 一种基于uvm的sm2模块验证平台及验证方法
JP2010146592A (ja) テストプログラムデバッグ装置、半導体試験装置、テストプログラムデバッグ方法、及び試験方法
US8572529B2 (en) System and method for dynamically injecting errors to a user design
CN115828839A (zh) 一种soc芯片系统级验证系统及方法
KR20150087227A (ko) 반도체 장치 검사 환경에서의 디버깅
CN104536303A (zh) 一种故障注入方法
CN113157269B (zh) 验证系统及其验证方法
CN110688313B (zh) 一种VxWorks操作系统下软件测试的故障注入方法
CN116719684B (zh) 一种3d封装的芯片测试系统
CN110321292A (zh) 芯片测试方法、装置、电子设备及计算机可读存储介质
CN117787155B (zh) 一种芯片可测性代码动态仿真测试系统及测试方法
US7047174B2 (en) Method for producing test patterns for testing an integrated circuit
CN106777571A (zh) 一种基于System Verilog实现的可编程逻辑算法块自动化验证平台
CN115684896B (zh) 芯片可测性设计测试方法、测试平台及其生成方法及装置
CN114237993A (zh) 多媒体芯片的软硬件一致性验证方法与装置
CN116842890A (zh) 一种数模芯片多场景复用的芯片验证平台及方法
CN107748713A (zh) 一种基于仿真测试用例的软件验证方法
JP2011248597A (ja) テスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法
TWI858584B (zh) 測試電子被測試器件的裝置、方法以及電腦軟體產品
TWI266070B (en) Chip-level design under test verification environment and method thereof
CN115525573A (zh) 一种仪表内的芯片间通信测试方法及系统
CN115684894A (zh) 芯片可测性设计的测试方法及测试平台
CN102262205A (zh) 一种测试向量源文件的测试点的屏蔽方法和屏蔽装置
US20140358514A1 (en) System and method for automatically generating offline result emulation files from a testflow

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20171212

Assignee: Hengqin Financial Investment International Finance Leasing Co.,Ltd.

Assignor: ZHUHAI HUGE-IC Co.,Ltd.

Contract record no.: X2023980043826

Denomination of invention: Chip Software and Hardware Simulation Environment Based on UVM and FPGA

Granted publication date: 20230627

License type: Exclusive License

Record date: 20231018

EE01 Entry into force of recordation of patent licensing contract
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Chip Software and Hardware Simulation Environment Based on UVM and FPGA

Effective date of registration: 20231020

Granted publication date: 20230627

Pledgee: Hengqin Financial Investment International Finance Leasing Co.,Ltd.

Pledgor: ZHUHAI HUGE-IC Co.,Ltd.

Registration number: Y2023980062066

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Contract record no.: X2023980043826

Date of cancellation: 20251218

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20230627

Pledgee: Hengqin Financial Investment International Finance Leasing Co.,Ltd.

Pledgor: ZHUHAI HUGE-IC Co.,Ltd.

Registration number: Y2023980062066