CN116070564A - 基于芯片待测设计的仿真通信方法及装置 - Google Patents
基于芯片待测设计的仿真通信方法及装置 Download PDFInfo
- Publication number
- CN116070564A CN116070564A CN202211674394.XA CN202211674394A CN116070564A CN 116070564 A CN116070564 A CN 116070564A CN 202211674394 A CN202211674394 A CN 202211674394A CN 116070564 A CN116070564 A CN 116070564A
- Authority
- CN
- China
- Prior art keywords
- dut
- cpu
- address space
- simulation
- virtual register
- 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.)
- Pending
Links
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
-
- 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/337—Design optimisation
-
- 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)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明实施例公开了一种基于芯片待测设计的仿真通信方法及装置,应用于仿真测试系统,能够在仿真时使得CPU可以及时获取TestBench中stimulus组件的仿真激励信息。所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:TestBench确定用于写入激励信息的虚拟寄存器;DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息;DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
Description
技术领域
本发明涉及仿真测试技术领域。更具体地说,本发明涉及基于芯片待测设计的仿真通信方法及装置。
背景技术
目前现有的大多数仿真技术都是通过TestBench进行激励设计,以实现与待测设计(英文全称为Design Under Test,简称DUT)之间的通信。Testbench是一种模拟实际场景的仿真模型,Testbench为DUT传递激励,且通过输入信号线、输出信号线与DUT相连,输入信号线、输出信号线分别与Testbench和DUT的软件端口相连,DUT通过输出信号线向Testbench输出逻辑验证结果,Testbench通过将接收到的逻辑验证结果与预期的逻辑验证结果进行比较,评估逻辑验证的正确性。
然而在实际仿真与验证过程中,随着待测设计复杂性的增加,DUT内部的中央处理器(英文简称为CPU)等模块直接与前端框架(例如stimulus)等组件通信的会越来越复杂,为片上系统(英文简称为SOC)中芯片待测设计的仿真验证带来了阻碍。这些阻碍主要体现在,在仿真时,片上系统中芯片待测设计的CPU无法及时获取TestBench中stimulus组件的仿真激励信息等情况。
发明内容
本发明实施例的一个目的是解决上述问题,并提供后面将说明的优点。
在一个方面,本申请实施例提供了一种基于芯片待测设计的仿真通信方法,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:
TestBench确定用于写入激励信息的虚拟寄存器;
DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;
TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息;
DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。在一些技术方案中,所述基于芯片待测设计的仿真通信方法,还包括:
CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入监控信息;
CPU向所述地址空间中写入监控信息后,monitor组件从所述虚拟寄存器中读取监控信息。
在又一个方面,本申请实施例提供了一种基于芯片待测设计的仿真通信方法,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;
所述仿真通信方法包括:
TestBench确定用于写入激励信息的虚拟寄存器;其中,所述虚拟寄存器映射于DUT的CPU的地址空间;
TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息,以供DUT的CPU读取。
在一些技术方案中,所述基于芯片待测设计的仿真通信方法,还包括:
TestBench发出调取监控信息的请求,以使得DUT的CPU向所述地址空间中写入监控信息。
在CPU向所述地址空间中写入所述监控信息后,TestBench的monitor组件从所述虚拟寄存器中读取监控信息。
在又一个方面,本申请实施例提供了一种基于芯片待测设计的仿真通信方法,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:
DUT确定其CPU中用于映射TestBench的虚拟寄存器的地址空间,其中,所述虚拟寄存器用于TestBench的stimulus组件写入激励信息;
DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
在一些技术方案中,基于芯片待测设计的仿真通信方法,还包括:
CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入监控信息,以供monitor组件读取。
在一些技术方案中,所述DUT确定其CPU中用于映射TestBench的虚拟寄存器的地址空间,包括:
DUT确定其CPU中用于映射所述虚拟寄存器的物理寄存器;
根据所述物理寄存器确定所述地址空间。
在又一个方面,本申请实施例提供了一种基于芯片待测设计的仿真通信装置,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信装置包括:
虚拟寄存器确定模块,用于TestBench确定用于写入激励信息的虚拟寄存器;
地址空间确定模块,用于DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;
加激励模块,用于TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息;
激励获取模块,用于DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
在一些技术方案中,所述的基于芯片待测设计的仿真通信装置,还包括:
监控信息写入模块,用于CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入所述监控信息;
监控信息读取模块,用于CPU向所述地址空间中写入所述监控信息后,monitor组件从所述虚拟寄存器中读取所述监控信息。
本发明实施例能够实现的有益效果包括:
本申请实施例的基于芯片待测设计的仿真通信方法,根据TestBench中的stimulus组件创建虚拟寄存器,并映射到DUT中物理寄存器的地址空间上,即可实现TestBench通过虚拟寄存器与stimulus组件进行通信,从而使得CPU可以及时获取TestBench中stimulus组件的仿真激励信息等情况,能够提升电路仿真验证的灵活性和可操作性。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为本申请实施例的基于芯片待测设计的仿真通信方法的一个流程示意图;
图2为本申请实施例的基于芯片待测设计的仿真通信方法的一个工作原理示意图;
图3为本申请实施例的基于芯片待测设计的仿真通信方法的另一个工作原理示意图;
图4为本申请实施例的基于芯片待测设计的仿真通信方法的另一个流程示意图;
图5为本申请实施例的基于芯片待测设计的仿真通信方法的另一个流程示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。还需要说明的是,本申请中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
再者,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
除以上所述外,仍需要强调的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
<基于芯片待测设计的仿真通信方法>
在第一方面,如图1所示,本申请实施例提供了一种基于芯片待测设计的仿真通信方法,应用于仿真测试系统,可以用于测试片上系统中芯片待测设计的性能。所述仿真测试系统包括TestBench(简称TB)和DUT。如图2或者图3所示,TestBench包括stimulus组件(中文名称为激励组件)和monitor组件(中文名称为监控组件或者监视器)。在某些实施方式中,TestBench还可以包括顶层top,reference model和scoreboard等组件。需要说明的是,coverage是覆盖率的意思,在仿真验证过程中,需要收集覆盖率来检查验证工作是否充分,它是衡量验证工作是否完备的一个重要指标;reference model是参考模型的意思,它是验证工程师根据设计文档编写出来一个模型,最主要的作用就是模拟DUT在特定情况的预期行为,该参考模型在特定情况下的功能或行为等同于DUT在相同情境下可能会产生的功能或行为,验证工程师通过观察参考模型的输出来判断在相同情境下DUT是否也能得到相对应的输出,以此作为依据来判断验证工作是否正确;scoreboard是计分板的意思,也可理解为比较器,它的主要功能是将监控组件monitor收集到的DUT的实际输出与参考模型reference model的预期输出进行比较并输出比较结果。
还需要说明的是,关于本申请实施例中所提及的“片上系统”,可以是基于芯片形成的完整系统,例如电脑主机内的主板、手机主板等系统,这些主板通常可以由多个功能性模块构成,功能性模块可以是处理器、接口、存储器、模数转换器等等。多个功能模块可以由分立的器件来实现,然后在印刷电路板(PCB)上组合起来,由此就可以形成前述的主板。
本申请实施例中所述的DUT,泛指在设计中或者设计完成但仍未验证其功能或预期情境下是否可产生预期行为的芯片。在不同领域或者情境下,芯片类型可以具有不同的划分。具体来说,按照设计理念可分为通用芯片(例如CPU、GPU、DSP等)和定制芯片(例如FPGA、ASIC等);按照处理信号可分为数字芯片、模拟芯片和混合芯片。按照应用领域可分为处理器芯片(例如CPU、GPU、DSP、MCU等)、存储芯片(例如SRAM、DRAM、ROM、Flash等)、传感器芯片(例如CIS、MEMS、Touch等)、电源芯片(例如DCDC、LDO、PMU等)、通信芯片(例如Bluetooth、WIFI、NB-LOT等)以及接口芯片(例如USB、HDMI等)等等。
在某些实施方式中,可以理解,若干个不同待测芯片通过不同工艺标准与要求集成在一个电路板上,与板上的各种电子器件、其他芯片和互连线共同配合来实现SOC应有的功能,由此便形成一个片上系统。因此,这里的每个待测芯片就是一个DUT。在这个意义上,可以说,DUT是片上系统的一部分功能性模块。
更具体地,如图1所示,所述仿真通信方法包括如下步骤S101-S104:
S101、TestBench确定用于写入激励信息的虚拟寄存器;其中,所述虚拟寄存器为在TestBench中设置的寄存器;所述虚拟寄存器被设置为与stimulus组件对应,换言之,所述虚拟寄存器是根据stimulus组件创建的。
S102、DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;也就是说,所述虚拟寄存器映射在所述地址空间上,与所述地址空间具有映射关系。S103、TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息。
更具体地,在加激励时,由TestBench写入这些寄存器,然后由CPU上运行的C程序读取这些寄存器获取激励信息。
需要说明的是,在某些实施例中,TestBench加激励是依据某个功能模块的设计文档进行的,根据该文档即可以完成该功能模块的功能性的验证。示例性地,所述功能性模块可以是帮助芯片待测设计完成特定行为的模块,比如说在某些情况下为数据进行加密解密的模块,当然在某些示例中,也可以是主板上的接口或者处理器。在至少一个实施方式中,在完成功能性验证后,可能会根据实际情况以及仿真验证的需求构造一些比较极端或者比较特殊的激励来验证待测设计在某些极端或者特殊情况下是否会出现超出预期的情况,通常为验证待测设计在这些特殊情况下是否会出现漏洞或者崩溃导致功能不能正常完成的情况。只有将这些情况都验证到了,才有可能发现在平时比较难发现的设计缺陷或者帮助设计工程师完善与提高设计的功能。
S104、DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。在所述地址空间和所述虚拟寄存器具有映射关系后,CPU就可以从所述地址空间中读取所述激励信息。
可以看出,本申请实施例在TB中实现一些虚拟寄存器,挂到CPU的地址空间(要使用DUT未使用的那部分地址)上,这样TB和CPU上运行的C程序都可以访问到这些虚拟寄存器。需要说明的是,这里的实现可以指的是,在实际仿真验证过程中,通过Verilog或SystemVerilog语言声明对应类型和对应大小的虚拟寄存器,此处的虚拟寄存器是人为声明在TB中的。
综上,本申请实施例的基于芯片待测设计的仿真通信方法,根据TestBench中的stimulus组件创建虚拟寄存器,并映射到DUT中CPU的物理寄存器的地址空间上,即可实现TestBench通过虚拟寄存器与stimulus和/或monitor等组件进行通信,从而使得CPU可以及时获取TestBench中stimulus组件的仿真激励信息等情况,能够提升电路仿真验证的灵活性和可操作性。
在某些实施方式中,当仿真开始的时候,TestBench产生激励之后,会同时向DUT和TestBench中的参考模型(英文为reference model)输送激励信息,当虚拟寄存器被声明之后,DUT在仿真开始一段时间后,需要通过读取寄存器的值来获取跟reference model相同的激励,以此来保证在验证过程中DUT和参考模型具有相同的输入激励,保证验证结果的可靠性。
在某些实施例中,所述虚拟寄存器对应于所述地址空间中未被DUT使用的地址。需要说明的是,如果在实际情况中将虚拟寄存器声明在DUT已使用的那部分地址中,在实际的仿真过程中如果该部分的值被DUT所调用或被TB使用了,那么就有可能会导致该地址的值不符合DUT或TB的使用要求。举个例子,假设需要声明的虚拟寄存器的值为在该地址为0x10,该地址在声明虚拟寄存器之前是作为DUT的加法运算数据的起始地址0x100,那么在这个时候DUT进行加法运算的时候,就会访问0x10地址的数据并进行加法运算,但是实际上应该访问0x100的数据进行加法运算才能得到正确结果,那么就可能导致最后运算出来的结果跟实际结果或者预期结果不符合,就会导致验证结果的不准确以及验证效率的降低。
在一些实施例中,如图4所示,所述基于芯片待测设计的仿真通信方法,还包括:
S105、CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入监控信息;
S106、CPU向所述地址空间中写入监控信息后,monitor组件从所述虚拟寄存器中读取监控信息。需要说明的是,所述虚拟寄存器还被设置为与monitor组件对应,换言之,所述虚拟寄存器还是根据monitor组件创建的。因此可以理解的是,所述虚拟寄存器为在TestBench中设置的与stimulus组件和monitor组件对应的寄存器。需要说明的是,在某些实施方式中,也可以将monitor组件和stimulus组件对应的虚拟寄存器设置为不同的寄存器;例如,为stimulus组件设置第一虚拟寄存器,为monitor组件设置第二虚拟寄存器,然后将第一虚拟寄存器和第二虚拟寄存器分别与所述地址空间建立映射关系。
具体地,获取监控信息时,由CPU上运行的C程序将对应的监控信息写入CPU的物理寄存器的地址空间,该物理寄存器与虚拟寄存器具有映射关系;然后再由TB读取虚拟寄存器,就可以获取到监控信息。
需要说明的是,监控信息指的是,DUT的工作状态信息,也就是需要被monitor监控的信息。
需要说明的是,monitor信息主要是指monitor在实际仿真验证过程中监控到的DUT的实际输出和参考模型的理想输出。在某些实施方式中,当DUT处在工作状态时,可以通过查看monitor监控到的DUT和参考模型的输出信息来判断在该工作状态下DUT的行为与功能是否符合设计要求,是否达到了预期效果等。
由于需要构建虚拟寄存器和地址空间的映射关系,所以在一些实施例中,所述基于芯片待测设计的仿真通信方法,还包括:
将所述虚拟寄存器映射在DUT的CPU的所述地址空间上。所述地址空间具体指的是CPU的物理寄存器上的地址空间。
在至少一个实施方式中,可以通过在C程序中声明联合体或结构体并以此约定C程序应该对DUT的存储空间进行某种特定操作,这个操作与在TB中将某些信息放到虚拟寄存器的操作是相对应的,在仿真验证过程中,TB内stimulus或monitor会在预定操控下将虚拟寄存器的值复制一份到对应的DUT的实际的物理寄存器的地址空间内,此时DUT根据事先约定好的操作方法将地址空间内的信息提取出来,这样就实现了DUT和TB通信。
由此,在某些实施方式中,将所述虚拟寄存器映射在DUT的CPU的地址空间上,包括:
Stimulus组件或monitor组件复制所述虚拟寄存器的值到对应的CPU的所述地址空间内,以将所述虚拟寄存器映射在CPU的所述地址空间上。
在一些实施例中,如图5所示,S102、DUT确定其CPU中用于与所述虚拟寄存器映射的地址空间,具体包括:
S1021、DUT确定其CPU中用于映射所述虚拟寄存器的物理寄存器;
S1022、DUT根据所述物理寄存器确定所述地址空间。也即,所述地址空间具体是CPU的物理寄存器上的地址空间。此外,这里的地址空间就是指的DUT内未被使用的地址空间,stimulus或/和monitor对应的虚拟寄存器地址就是通过C程序映射到DUT内这些未被使用的地址空间以此来完成DUT和TB间的通信的。
综上,本申请实施例提出了一种仿真时将SoC系统TB中的子系统或模块的内部地址空间映射到SoC系统CPU内部地址中并进行通信的仿真方法。在这个方案中,利用TB中stimulus和monitor等组件(可以根据实际的仿真验证环境来做相应的更改)创建虚拟寄存器并映射到DUT对应子系统或模块的对应实际地址,可以使RTL设计的功能都不受限制,只需要将stimulus或monitor对应的虚拟寄存器通过C程序映射到DUT中物理寄存器的地址空间上,即可实现TB通过stimulus、monitor等组件或者模块对应的虚拟寄存器与DUT之间进行的通信,能够提升电路仿真验证的灵活性和可操作性。
需要说明的是,这里的子系统或模块指的是在实际的仿真验证过程中,我们需要利用虚拟寄存器验证的,属于DUT的,具有特定功能的模块或由若干个不同功能模块所组成的子系统。
此外,在现有技术中,常用的验证环境有以下两种,一种为Verilog语言编写的验证环境,一种为基于UVM方法学以System Verilog语言编写的验证环境;前者的stimulus与monitor通常都是在同个文件内,TB通常会例化DUT的输入输出来与TB的输入输出来一一对应,这里TB的输入就与stimulus对应,monitor则监控输出。在实际仿真验证中,验证环境或DUT设计的结构是十分复杂的,当想将TB产生的stimulus激励信号传输给DUT以验证特定功能时,需要一层一层抽丝剥茧,从DUT的输入找到DUT对应功能的输入输出并逐层例化DUT或DUT模块,并将它们连接起来,当这种情况出现时,需要花很多时间来理清各模块间的连接关系,且在一层一层例化过程中,若中途产生某个错误时,可能需要花很多时间来寻找错误并解决,不利于提高实际的仿真验证效率。而本申请实施例则无需面对这些问题。
在某些实施方式中,可以结合图2所示,本申请实施例监控TB的激励信号是通过CPU运行C程序实现的,可以通过增加一个TB与C程序之间的通信接口,实现TB和C程序之间激励信号结果的传递,从而得以通过虚拟寄存器的方式实现通信。
<基于芯片待测设计的仿真通信装置>
基于与第一方面实施例同一的发明构思,在第二方面,本申请实施例提供了一种基于芯片待测设计的仿真通信装置,用于执行前述实施例所述的基于芯片待测设计的仿真通信方法,所述仿真通信装置应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信装置包括:
虚拟寄存器确定模块,用于TestBench确定用于写入激励信息的虚拟寄存器;
地址空间确定模块,用于DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;
加激励模块,用于TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息;
激励获取模块,用于DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
在一些实施例中,所述的基于芯片待测设计的仿真通信装置,还包括:
监控信息写入模块,用于CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入所述监控信息;
监控信息读取模块,用于CPU向所述地址空间中写入所述监控信息后,monitor组件从所述虚拟寄存器中读取所述监控信息。
<基于芯片待测设计的仿真通信方法>
基于与第一方面实施例同一的发明构思,在第三方面,本申请实施例提供了一种基于芯片待测设计的仿真通信方法,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:
TestBench确定用于写入激励信息的虚拟寄存器;其中,所述虚拟寄存器映射于DUT的CPU的地址空间,所述虚拟寄存器对应于所述地址空间上未被DUT使用的地址;
TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息,以供DUT的CPU读取。
在一些实施例中,所述虚拟寄存器映射于DUT的CPU的地址空间,包括:
所述虚拟寄存器通过C程序映射于DUT的CPU的物理寄存器的地址空间。也就是说,所述地址空间具体是CPU的物理寄存器上的地址空间。
在一些实施例中,所述基于芯片待测设计的仿真通信方法,还包括:
TestBench发出调取监控信息的指令,以使得DUT的CPU向所述地址空间中写入监控信息。
在CPU向所述地址空间中写入所述监控信息后,TestBench的monitor组件从所述虚拟寄存器中读取监控信息。
<基于芯片待测设计的仿真通信方法>
基于与第一方面实施例同一发明构思,在第四方面,本申请实施例提供了一种基于芯片待测设计的仿真通信方法,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;
所述仿真通信方法包括:
DUT确定其CPU中用于映射TestBench的虚拟寄存器的地址空间,其中,所述虚拟寄存器用于TestBench的stimulus组件写入激励信息;所述虚拟寄存器为在TestBench中设置的寄存器,所述虚拟寄存器映射于DUT的CPU的地址空间,所述虚拟寄存器对应于所述地址空间上未被DUT使用的地址;
DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
在一些实施例中,基于芯片待测设计的仿真通信方法,还包括:
CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入监控信息,以供monitor组件读取。
在一些实施例中,所述DUT确定其CPU中用于映射TestBench的虚拟寄存器的地址空间,包括:
DUT确定其CPU中用于映射所述虚拟寄存器的物理寄存器;
根据所述物理寄存器确定所述地址空间,以使得所述虚拟寄存器通过C程序映射到所述地址空间上。
需要说明的是,所述虚拟寄存器为与stimulus组件或monitor组件对应的虚拟寄存器。因此,本申请实施例可以将stimulus或monitor对应的虚拟寄存器地址的对应的地址空间通过C程序映射到DUT中对应的存储器。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (10)
1.基于芯片待测设计的仿真通信方法,其特征在于,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:
TestBench确定用于写入激励信息的虚拟寄存器;
DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;
TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息;
DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
2.根据权利要求1所述的基于芯片待测设计的仿真通信方法,其特征在于,还包括:
CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入所述监控信息;
CPU向所述地址空间中写入所述监控信息后,monitor组件从所述虚拟寄存器中读取所述监控信息。
3.根据权利要求1所述的基于芯片待测设计的仿真通信方法,其特征在于,所述DUT确定其CPU中用于与所述虚拟寄存器映射的地址空间,包括:
DUT确定其CPU中用于映射所述虚拟寄存器的物理寄存器;
根据所述物理寄存器确定所述地址空间。
4.基于芯片待测设计的仿真通信方法,其特征在于,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:
TestBench确定用于写入激励信息的虚拟寄存器;其中,所述虚拟寄存器映射于DUT的CPU的地址空间;
TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息,以供DUT的CPU读取。
5.根据权利要求4所述的基于芯片待测设计的仿真通信方法,其特征在于,还包括:
TestBench发出调取监控信息的指令,以使得DUT的CPU向所述地址空间中写入监控信息;
在CPU向所述地址空间中写入所述监控信息后,TestBench的monitor组件从所述虚拟寄存器中读取监控信息。
6.根据权利要求4所述的基于芯片待测设计的仿真通信方法,其特征在于,所述虚拟寄存器映射于DUT的CPU的地址空间,包括:
所述虚拟寄存器映射于DUT的CPU的物理寄存器的地址空间。
7.基于芯片待测设计的仿真通信方法,其特征在于,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信方法包括:
DUT确定其CPU中用于映射TestBench的虚拟寄存器的地址空间,其中,所述虚拟寄存器用于TestBench的stimulus组件写入激励信息;
DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
8.根据权利要求7所述的基于芯片待测设计的仿真通信方法,其特征在于,还包括:
CPU根据TestBench发出调取监控信息的请求,向所述地址空间中写入监控信息,以供monitor组件读取。
9.基于芯片待测设计的仿真通信装置,其特征在于,应用于仿真测试系统,所述仿真测试系统包括TestBench和DUT,TestBench包括stimulus组件和monitor组件;所述仿真通信装置包括:
虚拟寄存器确定模块,用于TestBench确定用于写入激励信息的虚拟寄存器;
地址空间确定模块,用于DUT确定其CPU中用于映射所述虚拟寄存器的地址空间;
加激励模块,用于TestBench在加激励时,stimulus组件向所述虚拟寄存器中写入激励信息;
激励获取模块,用于DUT获取所述激励信息时,CPU从所述地址空间中读取所述激励信息。
10.根据权利要求9所述的基于芯片待测设计的仿真通信装置,其特征在于,还包括:
监控信息写入模块,用于CPU根据TestBench发出调取监控信息的请求,向所述虚拟寄存器中写入所述监控信息;
监控信息读取模块,用于CPU向所述地址空间中写入所述监控信息后,monitor组件从所述虚拟寄存器中读取所述监控信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211674394.XA CN116070564A (zh) | 2022-12-26 | 2022-12-26 | 基于芯片待测设计的仿真通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211674394.XA CN116070564A (zh) | 2022-12-26 | 2022-12-26 | 基于芯片待测设计的仿真通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116070564A true CN116070564A (zh) | 2023-05-05 |
Family
ID=86181331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211674394.XA Pending CN116070564A (zh) | 2022-12-26 | 2022-12-26 | 基于芯片待测设计的仿真通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070564A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117332742A (zh) * | 2023-12-01 | 2024-01-02 | 芯动微电子科技(武汉)有限公司 | 一种芯片设计阶段的仿真验证方法和装置 |
-
2022
- 2022-12-26 CN CN202211674394.XA patent/CN116070564A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117332742A (zh) * | 2023-12-01 | 2024-01-02 | 芯动微电子科技(武汉)有限公司 | 一种芯片设计阶段的仿真验证方法和装置 |
CN117332742B (zh) * | 2023-12-01 | 2024-02-23 | 芯动微电子科技(武汉)有限公司 | 一种芯片设计阶段的仿真验证方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
CN113076227B (zh) | Mcu验证方法、系统和终端设备 | |
US6678625B1 (en) | Method and apparatus for a multipurpose configurable bus independent simulation bus functional model | |
US7917348B2 (en) | Method of switching external models in an automated system-on-chip integrated circuit design verification system | |
CN102542110B (zh) | 一种应用于移动存储soc芯片的仿真验证方法 | |
Huang et al. | SoC HW/SW verification and validation | |
US20020183956A1 (en) | Testing compliance of a device with a bus protocol | |
CN108351907B (zh) | 用于调试电路设计的方法和电路 | |
CN115146568B (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
US20170115969A1 (en) | System and method for automatically generating device drivers for run time environments | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN113486625B (zh) | 芯片的验证方法与验证系统 | |
US10073933B2 (en) | Automatic generation of properties to assist hardware emulation | |
CN112100957B (zh) | 用于调试逻辑系统设计的方法、仿真器、存储介质 | |
CN114168200B (zh) | 多核处理器访存一致性的验证系统及方法 | |
CN116070564A (zh) | 基于芯片待测设计的仿真通信方法及装置 | |
CN101923494B (zh) | 一种存储器控制器验证系统、方法及记分板 | |
CN110765716A (zh) | 数字产品的仿真信号查看方法及系统 | |
CN114328045A (zh) | 一种bmc的i2c调试方法、系统、装置及计算机可读存储介质 | |
CN114548027A (zh) | 在验证系统中追踪信号的方法、电子设备及存储介质 | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
US7904286B2 (en) | Method and apparatus for scheduling test vectors in a multiple core integrated circuit | |
US9946624B1 (en) | Systems and methods to capture data signals from a dynamic circuit | |
Zhou et al. | The Design Of UVM Verification Platform Based on Data Comparison | |
Lin et al. | Transaction level error susceptibility model for bus based SoC architectures |
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 |