CN112329366A - 一种提高仿真效率的soc系统验证方法、装置及系统 - Google Patents
一种提高仿真效率的soc系统验证方法、装置及系统 Download PDFInfo
- Publication number
- CN112329366A CN112329366A CN202011402824.3A CN202011402824A CN112329366A CN 112329366 A CN112329366 A CN 112329366A CN 202011402824 A CN202011402824 A CN 202011402824A CN 112329366 A CN112329366 A CN 112329366A
- Authority
- CN
- China
- Prior art keywords
- software
- hardware
- program
- soc
- excitation
- 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 144
- 238000004088 simulation Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 41
- 230000005284 excitation Effects 0.000 claims description 106
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- 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
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开的一种提高仿真效率的SOC系统验证方法、装置及系统,包括:对构成系统验证平台的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;先运行硬件程序编译后的文件,随后运行软件程序编译后的可执行文件,进行软硬件协同仿真;软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示;本发明通过软件程序输入测试激励,软件加载嵌入式软件代码到SOC芯片的程序存储器中,加载完成后再让SOC芯片启动,启动之后就会从程序存储器中加载代码执行,即可达到一次硬件编译之后,该硬件匹配多个测试激励的目的。
Description
技术领域
本发明属于集成电路验证测试的技术领域,具体涉及一种提高仿真效率的SOC系统验证方法、装置及系统。
背景技术
随着集成电路产业的飞速发展, SOC(System On Chip)芯片的规模越来越大,SOC芯片的验证也越来越复杂和耗时。SOC系统验证是使用电子设计自动化(ElectronicDesign Automation,EDA)工具对SOC芯片进行仿真验证,以确保SOC芯片设计的正确性。
SOC芯片的系统验证通常采用软件硬件协同仿真验证的方式,测试激励由软件激励和硬件激励组成。其中软件激励由C、C++等软件语言编码后经编译器编译生成可执行文件,存放在SOC芯片的程序存储器中,再由SOC芯片的中央处理单元(Central ProcessorUnit,CPU)从程序存储器中读取指令并执行以完成SOC芯片所设计的功能。硬件激励由Verilog、VHDL、System Verilog等硬件描述语言或硬件验证语言编码,用于构建SOC芯片运行软件激励时对应的硬件环境。系统验证平台以及待验证SOC芯片也是由硬件语言编码,包括硬件激励、系统验证平台和待验证SOC芯片的硬件代码需要经编译器编译生成可执行文件后才能开始仿真运行。
传统的SOC系统验证方法在测试激励运行切换时,虽然构成系统验证平台和待验证SOC芯片的硬件代码不变,但由于测试激励的软件激励代码和硬件激励代码都发生了变化,就需要对构成软件激励的软件代码和构成硬件激励、系统验证平台和待验证SOC芯片的硬件代码各编译一次后才能开始仿真运行。随着SOC芯片的设计规模越来越大,SOC系统验证花费在编译硬件代码上的时间也越来越多,特别是在做规模较大的SOC芯片门级电路的仿真时,其硬件代码的编译时间已经达到以小时为单位计算了。而软件代码的编译时间通常以秒为单位计算,相对硬件代码的编译时间可以忽略不计。传统的SOC系统验证方法需要软件代码和硬件代码各编译一次后才能开始仿真运行,在硬件代码不变的情况下,每一次嵌入式软件代码的任何改动,也需要耗费以小时为单位的时间进行编译工作,造成系统验证调试阶段编译时间的极大浪费,严重降低了仿真验证的效率。
专利号为201610936215.3,名称为一种提高仿真效率的SOC系统验证方法和装置,公开了将多种测试激励一次性全部写到RTL中,一次性编译硬件即可,通过软件来选择执行哪一个测试激励。虽然节省重复编译时间,但需要耗费资源来存储多份测试激励,且当有临时增加测试需求时还是需要重新编译。
发明内容
本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种能够提高仿真效率的SOC系统验证方法、装置及系统。
为了解决上述技术问题,本发明采用的技术方案为:一种提高仿真效率的SOC系统验证方法,包括:S101、对构成系统验证平台的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;S102、将C语言、C++等软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;S103、将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;S104、先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;S105、软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示。
优选地,所述系统验证平台中的硬件程序包括监视器、时钟复位模块、硬件激励产生模块、程序加载模块,所述软件用户操作平台中的软件程序包括时钟复位控制模块、硬件激励和软件激励,所述时钟复位控制模块与时钟复位模块通信连接;硬件激励与硬件激励产生模块通信连接,软件激励与程序加载模块通信连接,所述监视器监视SOC芯片的运行结果,并报告异常情况。
优选地,所述先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真,具体包括:S1041、时钟复位控制模块控制SOC芯片处于复位状态,时钟停止运行;S1042、软件激励通过程序加载模块往SOC芯片的程序存储器中加载SOC嵌入式软件代码程序;S1043、时钟复位控制模块控制SOC芯片结束复位状态,时钟开始运行,SOC芯片将从程序存储器中读取指令并执行;S1044、硬件激励通过硬件激励产生模块生成对应的硬件激励信号。
优选地,所述一种提高仿真效率的SOC系统验证方法,还包括:判断是否需要修改测试激励,如是,执行步骤S102;否则,执行步骤 S105。
相应地,一种提高仿真效率的SOC系统验证装置,包括:硬件程序编译单元:用于对系统验证平台中的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;软件激励编译单元:用于将C语言、C++软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;软件程序编译单元:将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;软硬件协同仿真单元:先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;结果输出单元:软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示。
优选地,所述系统验证平台中的硬件程序包括监视器、时钟复位模块、硬件激励产生模块、程序加载模块,所述软件用户操作平台中的软件程序包括验证报告模块、时钟复位控制模块、硬件激励和软件激励,所述时钟复位控制模块与时钟复位模块通信连接;硬件激励与硬件激励产生模块通信连接,软件激励与程序加载模块通信连接,所述监视器监视SOC芯片的运行结果,并通过结果输出单元报告异常情况。
优选地,所述软硬件协同仿真单元,具体包括:第一控制单元:时钟复位控制模块控制SOC芯片处于复位状态,时钟停止运行;程序加载单元:软件激励通过程序加载模块往SOC芯片的程序存储器中加载SOC嵌入式软件代码程序;第二控制单元:时钟复位控制模块控制SOC芯片结束复位状态,时钟开始运行,SOC芯片将从程序存储器中读取指令并执行;硬件激励信号生成单元:硬件激励通过硬件激励产生模块生成对应的硬件激励信号。
优选地,所述装置还包括:判断单元:用于判断是否需要修改测试激励,当需要修改测试激励时,重新编译软件激励。
相应地,一种提高仿真效率的SOC系统验证系统,包括:
系统验证平台;用于接收软件用户操作平台发送的测试命令,并控制SOC芯片进行相应操作;所述系统验证平台具体包括监视器、时钟复位模块、硬件激励产生模块和程序加载模块;
软件用户操作平台:用于将用户的指令发送至系统验证平台;所述软件用户操作平台具体包括时钟复位控制模块、硬件激励和软件激励;
SOC芯片;用于接收并执行系统验证平台发送的指令。
优选地,所述时钟复位控制模块:用于控制系统验证平台中的时钟复位模块,控制待验证SOC芯片的时钟信号和复位信号;加载嵌入式软件程序的过程中,SOC芯片处于复位状态时,时钟停止运行,完成加载之后再结束复位状态,时钟开始运行;
所述硬件激励:用于控制系统验证平台中的硬件激励产生模块,产生作用于待验证SOC芯片的硬件激励信号,构建SOC芯片运行软件激励时对应的硬件环境;
所述软件激励:用于控制系统验证平台中的程序加载模块,加载SOC芯片的嵌入式软件程序编译结果到SOC芯片的程序存储器中,加载完成,SOC芯片启动之后会从程序存储器中读取指令并执行以完成SOC芯片所设计的功能;
所述监视器:用于监视待验证SOC芯片的运行结果,并在软件用户操作平台中生成相应的验证报告,并监视运行结果,报告异常情况。
本发明与现有技术相比具有以下有益效果:
本发明一种提高仿真效率的SOC系统验证方法、装置及系统,对构成系统验证平台的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;将C语言、C++等软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示;本发明通过软件用户操作平台中的软件程序输入测试激励,包括软件激励和硬件激励,软件加载嵌入式软件代码到SOC芯片的程序存储器中,加载完成后再让SOC芯片启动,启动之后就会从程序存储器中加载代码执行,即可达到一次硬件编译之后,该硬件匹配多个测试激励的目的,也不需要过多的额外占用验证平台的硬件资源;当修改测试激励后只需要重新编译软件程序,无需非常耗时的重新编译硬件代码,因此,本发明可大大提高SOC芯片系统验证的仿真效率,加快开发进度。
附图说明
下面结合附图对本发明做进一步详细的说明;
图1是本发明实施例一提供的一种提高仿真效率的SOC系统验证方法的流程示意图;
图2是本发明实施例一提供的一种提高仿真效率的SOC系统验证装置的结构示意图;
图3是本发明实施例二提供的一种提高仿真效率的SOC系统验证装置的结构示意图;
图4是本发明实施例三提供的一种提高仿真效率的SOC系统验证装置的结构示意图;
图5是本发明实施例一提供的一种提高仿真效率的SOC系统验证系统的结构示意图;
图中:101为硬件程序编译单元,102为软件激励编译单元,103为软件程序编译单元,104为软硬件协同仿真单元,1041为第一控制单元,1042为程序加载单元,1043为第二控制单元,1044为硬件激励信号生成单元,105为结果输出单元,106为判断单元,1为系统验证平台,11为监视器,12为时钟复位模块,13为硬件激励产生模块,14为程序加载模块,2为软件用户操作平台,21为时钟复位控制模块,22为硬件激励,23为软件激励,24为验证模块,3为SOC芯片。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
为便于对本公开实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个附图并不构成对本公开实施例的限定。
图1是本发明实施例一提供的一种提高仿真效率的SOC系统验证方法的流程示意图,如图1所示,所述一种提高仿真效率的SOC系统验证方法,包括:
S101、对构成系统验证平台的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;
S102、将C语言、C++等软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;
S103、将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;
S104、先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;
S105、软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示。
具体地,通过软件用户操作平台中的软件程序输入测试激励,包括软件激励和硬件激励,软件加载嵌入式软件代码到SOC芯片的程序存储器中,加载完成后再让SOC芯片启动,启动之后就会从程序存储器中加载代码执行,即可达到一次硬件编译之后,该硬件匹配多个测试激励的目的,也不需要过多的额外占用验证平台的硬件资源;当修改测试激励后只需要重新编译软件程序,无需非常耗时的重新编译硬件代码,因此,本发明可大大提高SOC芯片系统验证的仿真效率,加快开发进度。
进一步地,所述系统验证平台中的硬件程序包括监视器、时钟复位模块、硬件激励产生模块、程序加载模块,所述软件用户操作平台中的软件程序包括时钟复位控制模块、硬件激励和软件激励,所述时钟复位控制模块与时钟复位模块通信连接;硬件激励与硬件激励产生模块通信连接,软件激励与程序加载模块通信连接,所述监视器监视SOC芯片的运行结果,并报告异常情况。
进一步地,所述先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真,具体包括:
S1041、时钟复位控制模块控制SOC芯片处于复位状态,时钟停止运行;
S1042、软件激励通过程序加载模块往SOC芯片的程序存储器中加载SOC嵌入式软件代码程序;
S1043、时钟复位控制模块控制SOC芯片结束复位状态,时钟开始运行,SOC芯片将从程序存储器中读取指令并执行;
S1044、硬件激励通过硬件激励产生模块生成对应的硬件激励信号。
所述一种提高仿真效率的SOC系统验证方法,还包括:判断是否需要修改测试激励,如是,执行步骤S102;否则,执行步骤 S105;当修改测试激励后只需要重新编译软件程序,无需非常耗时的重新编译硬件代码,因此可大大提高SOC芯片系统验证的仿真效率,加快开发进度。
图2是本发明实施例一提供的一种提高仿真效率的SOC系统验证装置的结构示意图,如图2所示,一种提高仿真效率的SOC系统验证装置,包括:
硬件程序编译单元101:用于对系统验证平台中的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;此步骤耗时与硬件程序规模正相关,通常耗时以小时为单位;
软件激励编译单元102:用于将C语言、C++软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;此步骤耗时通常以秒为单位;
软件程序编译单元103:将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;此步骤耗时通常以秒为单位;
软硬件协同仿真单元104:先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;
结果输出单元105:软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示。
具体地,通过硬件程序编译单元101编译系统验证平台中的硬件程序和待验证SOC芯片的硬件代码,通过软件程序编译单元103编译软件激励的可执行文件和软件用户操作平台中的软件程序,仿真运行时,通过软件用户操作平台中的软件程序输入测试激励,包括软件激励和硬件激励,软件加载嵌入式软件代码到SOC芯片的程序存储器中,加载完成后再让SOC芯片启动,启动之后就会从程序存储器中加载代码执行,即可达到一次硬件编译之后,该硬件匹配多个测试激励的目的,也不需要过多的额外占用验证平台的硬件资源;当修改测试激励后只需要重新编译软件程序,无需非常耗时的重新编译硬件代码,因此,本发明可大大提高SOC芯片系统验证的仿真效率,加快开发进度。
进一步地,所述系统验证平台中的硬件程序包括监视器、时钟复位模块、硬件激励产生模块、程序加载模块,所述软件用户操作平台中的软件程序包括验证报告模块、时钟复位控制模块、硬件激励和软件激励,所述时钟复位控制模块与时钟复位模块通信连接;硬件激励与硬件激励产生模块通信连接,软件激励与程序加载模块通信连接,所述监视器监视SOC芯片的运行结果,并通过结果输出单元105报告异常情况。
图3是本发明实施例二提供的一种提高仿真效率的SOC系统验证装置的结构示意图,如图3所示,在实施例一的基础上,所述软硬件协同仿真单元104,具体包括:
第一控制单元1041:系统验证平台中的时钟复位控制模块控制SOC芯片处于复位状态,时钟停止运行;
程序加载单元1042:软件用户操作平台中的软件激励通过程序加载模块往SOC芯片的程序存储器中加载SOC嵌入式软件代码程序;
第二控制单元1043:系统验证平台中的时钟复位控制模块控制SOC芯片结束复位状态,时钟开始运行,SOC芯片将从程序存储器中读取指令并执行;
硬件激励信号生成单元1044:软件用户操作平台中的硬件激励通过硬件激励产生模块生成对应的硬件激励信号。
使用时,不需要提前将嵌入式程序存放到程序存储器中,只需要程序加载单元1042提前连接到SOC芯片的程序存储器,切换测试激励时,只需要通过软件用户操作平台经过程序加载单元1042往程序存储器中写入新的软件嵌入式程序,再通过第二控制单元1043启动SOC芯片,SOC芯片即从程序存储器中对应地址加载软件嵌入式程序;本实施例只需要少数资源用于系统验证平台中的时钟复位模块和程序加载模块,不会过多占用FPGA本就稀缺的存储器资源。
图4是本发明实施例三提供的一种提高仿真效率的SOC系统验证装置的结构示意图,如图4所示,在实施例二的基础上,所述装置还包括:
判断单元106:用于判断是否需要修改测试激励,当需要修改测试激励时,只需通过软件激励编译单元102重新编译软件激励,软件程序编译单元103将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;随后进行仿真运行即可,无需重新编译系统验证平台中的硬件程序和待验证SOC芯片的硬件代码,从而大幅减少了SOC系统验证时硬件代码的编译时间,显著提高了SOC系统验证效率。
图5是本发明实施例一提供的一种提高仿真效率的SOC系统验证系统的结构示意图,如图5所示,一种提高仿真效率的SOC系统验证系统,包括:
系统验证平台1;用于接收软件用户操作平台发送的测试命令,并控制SOC芯片进行相应操作;所述系统验证平台1具体包括监视器11、时钟复位模块12、硬件激励产生模块13和程序加载模块14;
软件用户操作平台2:用于将用户的指令发送至系统验证平台1;所述软件用户操作平台2具体包括验证模块24、时钟复位控制模块21、硬件激励22和软件激励23;
SOC芯片3;用于接收并执行系统验证平台发送的指令。
具体地,所述时钟复位控制模块21:用于控制系统验证平台1中的时钟复位模块12,控制待验证SOC芯片3的时钟信号和复位信号;加载嵌入式软件程序的过程中,SOC芯片3处于复位状态时,时钟停止运行,完成加载之后再结束复位状态,时钟开始运行;
所述硬件激励22:用于控制系统验证平台1中的硬件激励产生模块13,产生作用于待验证SOC芯片3的硬件激励信号,构建SOC芯片3运行软件激励时对应的硬件环境;
所述软件激励23:用于控制系统验证平台1中的程序加载模块14,加载SOC芯片3的嵌入式软件程序编译结果到SOC芯片3的程序存储器中,加载完成,SOC芯片3启动之后会从程序存储器中读取指令并执行以完成SOC芯片3所设计的功能;
所述监视器11:用于监视待验证SOC芯片3的运行结果,并在软件用户操作平台2中生成相应的验证报告,并监视运行结果,报告异常情况。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种提高仿真效率的SOC系统验证方法,其特征在于:包括:
S101、对构成系统验证平台的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;
S102、将C语言、C++等软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;
S103、将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;
S104、先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;
S105、软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示。
2.根据权利要求1所述的一种提高仿真效率的SOC系统验证方法,其特征在于:所述系统验证平台中的硬件程序包括监视器、时钟复位模块、硬件激励产生模块、程序加载模块,所述软件用户操作平台中的软件程序包括时钟复位控制模块、硬件激励和软件激励,所述时钟复位控制模块与时钟复位模块通信连接;硬件激励与硬件激励产生模块通信连接,软件激励与程序加载模块通信连接,所述监视器监视SOC芯片的运行结果,并报告异常情况。
3.根据权利要求2所述的一种提高仿真效率的SOC系统验证方法,其特征在于:所述先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真,具体包括:
S1041、时钟复位控制模块控制SOC芯片处于复位状态,时钟停止运行;
S1042、软件激励通过程序加载模块往SOC芯片的程序存储器中加载SOC嵌入式软件代码程序;
S1043、时钟复位控制模块控制SOC芯片结束复位状态,时钟开始运行,SOC芯片将从程序存储器中读取指令并执行;
S1044、硬件激励通过硬件激励产生模块生成对应的硬件激励信号。
4.根据权利要求1所述的一种提高仿真效率的SOC系统验证方法,其特征在于:还包括:
判断是否需要修改测试激励,如是,执行步骤S102;否则,执行步骤 S105。
5.一种提高仿真效率的SOC系统验证装置,其特征在于:包括:
硬件程序编译单元:用于对系统验证平台中的硬件程序和待验证SOC芯片的硬件代码进行一次性的硬件程序编译;
软件激励编译单元:用于将C语言、C++软件语言编写的SOC嵌入式软件代码程序即软件激励通过编译器编译生成可执行文件;
软件程序编译单元:将软件激励的可执行文件和软件用户操作平台中的软件程序使用编译器编译生成软件程序可执行文件;
软硬件协同仿真单元:先在系统验证平台上运行硬件程序编译后的文件,随后在软件用户操作平台上运行软件程序编译后的可执行文件,进行软硬件协同仿真;
结果输出单元:软硬件协同仿真运行结束后,向软件用户操作平台发送验证报告并显示。
6.根据权利要求1所述的一种提高仿真效率的SOC系统验证装置,其特征在于:所述系统验证平台中的硬件程序包括监视器、时钟复位模块、硬件激励产生模块、程序加载模块,所述软件用户操作平台中的软件程序包括验证报告模块、时钟复位控制模块、硬件激励和软件激励,所述时钟复位控制模块与时钟复位模块通信连接;硬件激励与硬件激励产生模块通信连接,软件激励与程序加载模块通信连接,所述监视器监视SOC芯片的运行结果,并通过结果输出单元报告异常情况。
7.根据权利要求6所述的一种提高仿真效率的SOC系统验证装置,其特征在于:所述软硬件协同仿真单元,具体包括:
第一控制单元:时钟复位控制模块控制SOC芯片处于复位状态,时钟停止运行;
程序加载单元:软件激励通过程序加载模块往SOC芯片的程序存储器中加载SOC嵌入式软件代码程序;
第二控制单元:时钟复位控制模块控制SOC芯片结束复位状态,时钟开始运行,SOC芯片将从程序存储器中读取指令并执行;
硬件激励信号生成单元:硬件激励通过硬件激励产生模块生成对应的硬件激励信号。
8.根据权利要求5所述的一种提高仿真效率的SOC系统验证装置,其特征在于:所述装置还包括:
判断单元:用于判断是否需要修改测试激励,当需要修改测试激励时,重新编译软件激励。
9.一种提高仿真效率的SOC系统验证系统,其特征在于:包括:
系统验证平台;用于接收软件用户操作平台发送的测试命令,并控制SOC芯片进行相应操作;所述系统验证平台具体包括监视器、时钟复位模块、硬件激励产生模块和程序加载模块;
软件用户操作平台:用于将用户的指令发送至系统验证平台;所述软件用户操作平台具体包括验证模块、时钟复位控制模块、硬件激励和软件激励;
SOC芯片;用于接收并执行系统验证平台发送的指令。
10.根据权利要求9所述的一种提高仿真效率的SOC系统验证系统,其特征在于:
所述时钟复位控制模块:用于控制系统验证平台中的时钟复位模块,控制待验证SOC芯片的时钟信号和复位信号;加载嵌入式软件程序的过程中,SOC芯片处于复位状态时,时钟停止运行,完成加载之后再结束复位状态,时钟开始运行;
所述硬件激励:用于控制系统验证平台中的硬件激励产生模块,产生作用于待验证SOC芯片的硬件激励信号,构建SOC芯片运行软件激励时对应的硬件环境;
所述软件激励:用于控制系统验证平台中的程序加载模块,加载SOC芯片的嵌入式软件程序编译结果到SOC芯片的程序存储器中,加载完成,SOC芯片启动之后会从程序存储器中读取指令并执行以完成SOC芯片所设计的功能;
所述监视器:用于监视待验证SOC芯片的运行结果,并在软件用户操作平台中生成相应的验证报告,并监视运行结果,报告异常情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011402824.3A CN112329366B (zh) | 2020-12-04 | 2020-12-04 | 一种提高仿真效率的soc系统验证方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011402824.3A CN112329366B (zh) | 2020-12-04 | 2020-12-04 | 一种提高仿真效率的soc系统验证方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112329366A true CN112329366A (zh) | 2021-02-05 |
CN112329366B CN112329366B (zh) | 2024-07-16 |
Family
ID=74302123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011402824.3A Active CN112329366B (zh) | 2020-12-04 | 2020-12-04 | 一种提高仿真效率的soc系统验证方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329366B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965842A (zh) * | 2021-04-06 | 2021-06-15 | 广东工业大学 | 一种云编译方法、装置、电子设备及存储介质 |
CN113468010A (zh) * | 2021-09-02 | 2021-10-01 | 湖北芯擎科技有限公司 | 文件处理方法、装置、电子设备和计算机可读存储介质 |
CN113704043A (zh) * | 2021-08-30 | 2021-11-26 | 地平线(上海)人工智能技术有限公司 | 芯片功能验证方法、装置、可读存储介质及电子设备 |
CN114325333A (zh) * | 2021-12-30 | 2022-04-12 | 江苏集萃智能集成电路设计技术研究所有限公司 | 一种高效率规范化的soc系统级验证方法及装置 |
CN114356436A (zh) * | 2021-12-08 | 2022-04-15 | 北京爱芯科技有限公司 | 一种时钟和复位激励方法、装置及存储介质 |
CN115658370A (zh) * | 2022-11-18 | 2023-01-31 | 辉羲智能科技(上海)有限公司 | 一种基于编译器的机器学习加速芯片故障实时探测方法 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100304A1 (en) * | 2007-10-12 | 2009-04-16 | Ping Li | Hardware and Software Co-test Method for FPGA |
CN101499937A (zh) * | 2009-03-16 | 2009-08-05 | 盛科网络(苏州)有限公司 | 一种基于fpga的软硬件协同仿真验证系统及方法 |
US8082139B1 (en) * | 2007-03-27 | 2011-12-20 | Xilinx, Inc. | Displaying signals of a design block emulated in hardware co-simulation |
CN102480467A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 |
CN102521444A (zh) * | 2011-12-08 | 2012-06-27 | 青岛海信信芯科技有限公司 | 软硬件协同仿真/验证方法及装置 |
CN103235749A (zh) * | 2013-03-26 | 2013-08-07 | 江南大学 | 一种基于FPGA的传感器网络SoC原型验证平台 |
CN104050068A (zh) * | 2014-05-23 | 2014-09-17 | 北京兆易创新科技股份有限公司 | 在mcu芯片中调试fpga的方法和装置 |
CN105205249A (zh) * | 2015-09-17 | 2015-12-30 | 深圳国微技术有限公司 | 一种soc调试验证系统及其软硬件协同方法 |
CN105302950A (zh) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 |
CN106599343A (zh) * | 2016-11-01 | 2017-04-26 | 深圳国微技术有限公司 | 一种提高仿真效率的soc系统验证方法和装置 |
CN107688681A (zh) * | 2016-12-23 | 2018-02-13 | 北京国睿中数科技股份有限公司 | 一种提供动态配置参数的硬件加速器验证方法 |
CN108121842A (zh) * | 2016-11-30 | 2018-06-05 | 深圳市中兴微电子技术有限公司 | 多处理器系统芯片的低功耗工作方式的验证方法和装置 |
US20190005177A1 (en) * | 2017-06-30 | 2019-01-03 | Synopsys, Inc. | Method and framework to dynamically split a testbench into concurrent simulatable multi-processes and attachment to parallel processes of an accelerated platform |
CN109711071A (zh) * | 2018-12-29 | 2019-05-03 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN109783298A (zh) * | 2019-01-18 | 2019-05-21 | 上海磐启微电子有限公司 | 一种流程灵活可控的软硬件协同SoC验证方法 |
CN111339731A (zh) * | 2020-01-21 | 2020-06-26 | 中国人民解放军军事科学院国防科技创新研究院 | 一种面向SoC的FPGA验证平台和验证方法 |
-
2020
- 2020-12-04 CN CN202011402824.3A patent/CN112329366B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082139B1 (en) * | 2007-03-27 | 2011-12-20 | Xilinx, Inc. | Displaying signals of a design block emulated in hardware co-simulation |
US20090100304A1 (en) * | 2007-10-12 | 2009-04-16 | Ping Li | Hardware and Software Co-test Method for FPGA |
CN101499937A (zh) * | 2009-03-16 | 2009-08-05 | 盛科网络(苏州)有限公司 | 一种基于fpga的软硬件协同仿真验证系统及方法 |
CN102480467A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 |
CN102521444A (zh) * | 2011-12-08 | 2012-06-27 | 青岛海信信芯科技有限公司 | 软硬件协同仿真/验证方法及装置 |
CN103235749A (zh) * | 2013-03-26 | 2013-08-07 | 江南大学 | 一种基于FPGA的传感器网络SoC原型验证平台 |
CN104050068A (zh) * | 2014-05-23 | 2014-09-17 | 北京兆易创新科技股份有限公司 | 在mcu芯片中调试fpga的方法和装置 |
CN105205249A (zh) * | 2015-09-17 | 2015-12-30 | 深圳国微技术有限公司 | 一种soc调试验证系统及其软硬件协同方法 |
CN105302950A (zh) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 |
CN106599343A (zh) * | 2016-11-01 | 2017-04-26 | 深圳国微技术有限公司 | 一种提高仿真效率的soc系统验证方法和装置 |
CN108121842A (zh) * | 2016-11-30 | 2018-06-05 | 深圳市中兴微电子技术有限公司 | 多处理器系统芯片的低功耗工作方式的验证方法和装置 |
CN107688681A (zh) * | 2016-12-23 | 2018-02-13 | 北京国睿中数科技股份有限公司 | 一种提供动态配置参数的硬件加速器验证方法 |
US20190005177A1 (en) * | 2017-06-30 | 2019-01-03 | Synopsys, Inc. | Method and framework to dynamically split a testbench into concurrent simulatable multi-processes and attachment to parallel processes of an accelerated platform |
CN109711071A (zh) * | 2018-12-29 | 2019-05-03 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN109783298A (zh) * | 2019-01-18 | 2019-05-21 | 上海磐启微电子有限公司 | 一种流程灵活可控的软硬件协同SoC验证方法 |
CN111339731A (zh) * | 2020-01-21 | 2020-06-26 | 中国人民解放军军事科学院国防科技创新研究院 | 一种面向SoC的FPGA验证平台和验证方法 |
Non-Patent Citations (3)
Title |
---|
孙秀睿: "FPGA设计验证中的软硬件协同仿真测试方法", 南通大学学报(自然科学版), vol. 15, no. 3, pages 41 - 44 * |
江霞林 等: "基于FPGA的软硬件协同仿真加速技术", 中国集成电路, vol. 19, no. 8, pages 30 - 33 * |
汪洋: "SOC软硬件协同验证平台的联合架构设计", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 7, pages 135 - 399 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965842A (zh) * | 2021-04-06 | 2021-06-15 | 广东工业大学 | 一种云编译方法、装置、电子设备及存储介质 |
CN113704043A (zh) * | 2021-08-30 | 2021-11-26 | 地平线(上海)人工智能技术有限公司 | 芯片功能验证方法、装置、可读存储介质及电子设备 |
CN113468010A (zh) * | 2021-09-02 | 2021-10-01 | 湖北芯擎科技有限公司 | 文件处理方法、装置、电子设备和计算机可读存储介质 |
CN113468010B (zh) * | 2021-09-02 | 2021-11-16 | 湖北芯擎科技有限公司 | 文件处理方法、装置、电子设备和计算机可读存储介质 |
CN114356436A (zh) * | 2021-12-08 | 2022-04-15 | 北京爱芯科技有限公司 | 一种时钟和复位激励方法、装置及存储介质 |
CN114356436B (zh) * | 2021-12-08 | 2024-04-19 | 北京爱芯科技有限公司 | 一种时钟和复位激励方法、装置及存储介质 |
CN114325333A (zh) * | 2021-12-30 | 2022-04-12 | 江苏集萃智能集成电路设计技术研究所有限公司 | 一种高效率规范化的soc系统级验证方法及装置 |
CN115658370A (zh) * | 2022-11-18 | 2023-01-31 | 辉羲智能科技(上海)有限公司 | 一种基于编译器的机器学习加速芯片故障实时探测方法 |
CN115658370B (zh) * | 2022-11-18 | 2023-05-23 | 辉羲智能科技(上海)有限公司 | 一种基于编译器的机器学习加速芯片故障实时探测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112329366B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329366A (zh) | 一种提高仿真效率的soc系统验证方法、装置及系统 | |
CN106599343B (zh) | 一种提高仿真效率的soc系统验证方法和装置 | |
CN103235759A (zh) | 测试用例生成方法和装置 | |
CN113807037B (zh) | 一种支持soc设计全流程开发的软件和硬件协同仿真系统 | |
JP5308098B2 (ja) | 情報処理装置試験プログラム及び方法 | |
CN112100085B (zh) | 安卓应用程序稳定性测试方法、装置和设备 | |
CN114357916B (zh) | 一种芯片fpga原型验证方法及系统 | |
CN108121842B (zh) | 多处理器系统芯片的低功耗工作方式的验证方法和装置 | |
JP5379862B2 (ja) | シミュレーション方法、システム及びプログラム | |
CN109597733A (zh) | 一种多功能高效动态芯片验证仿真方法和设备 | |
CN113168364A (zh) | 一种芯片验证方法和装置 | |
CN114661615B (zh) | 一种fpga软件测试方法和设备 | |
KR20110100070A (ko) | 재구성 가능한 프로세서 코어를 사용하는 멀티코어 시스템의 시뮬레이터 및 시뮬레이션 방법 | |
CN111913858A (zh) | 一种压力测试系统和方法 | |
CN110955605A (zh) | 一种cpu验证单步动态执行的方法 | |
CN107329869B (zh) | 一种片上系统的仿真方法及装置 | |
CN109144849A (zh) | 一种嵌入式软件调测方法 | |
CN115080382A (zh) | 一种代码测试方法、装置、设备及介质 | |
JP2005250937A (ja) | マイクロコンピュータソフトウェアのプログラム検証装置 | |
CN117332742B (zh) | 一种芯片设计阶段的仿真验证方法和装置 | |
CN110688299A (zh) | 一种核电厂应用软件自动化测试平台 | |
WO2001084316A1 (en) | Rapid debugging method on rapid prototyping apparatus for complex embedded system | |
US20140236563A1 (en) | Integrated circuit simulation method and system | |
Roe et al. | UVM acceleration using hardware mulator at pre-silicon stage | |
CN114090454B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220629 Address after: 518000 Room 201, A building, 1 front Bay Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretarial Co., Ltd.) Applicant after: Shenzhen guomicrochip Technology Co.,Ltd. Address before: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: GUOWEI GROUP (SHENZHEN) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |