CN117408198A - 一种仿真模型建模方法、装置、设备及存储介质 - Google Patents
一种仿真模型建模方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117408198A CN117408198A CN202311703416.5A CN202311703416A CN117408198A CN 117408198 A CN117408198 A CN 117408198A CN 202311703416 A CN202311703416 A CN 202311703416A CN 117408198 A CN117408198 A CN 117408198A
- Authority
- CN
- China
- Prior art keywords
- verification
- register
- file
- signal
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004088 simulation Methods 0.000 title claims abstract description 59
- 238000012795 verification Methods 0.000 claims abstract description 171
- 230000006870 function Effects 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种仿真模型建模方法、装置、设备及存储介质,应用在功能仿真和原型验证领域,其中方法包括:软件单元获取待检测单元中的信号寄存器及寄存器对应的信息文件,根据信息文件对寄存器进行解析生成验证输入文件,验证输入文件包括所有寄存器对应的信号名,每个信号所对应寄存器所在的帧地址,偏移地址,信号层次等信息;验证单元遍历验证输入文件中的寄存器,找出待验证信号对应的所有寄存器,基于ICAP接口的状态,逐个读取第一信号名包含的所有寄存器对应的值,生成验证输出文件;软件单元读取并解析验证输出文件,生成输出文件对应的信号波形文件。本申请具有的技术效果是:提高了对芯片内部信号行为的可见性。
Description
技术领域
本申请涉及功能仿真和原型验证的技术领域,尤其是涉及一种仿真模型建模方法、装置、设备及存储介质。
背景技术
在当今科技领域,芯片是各种电子设备的核心组成部分,广泛应用于计算机、通信、消费电子、汽车、医疗等各个领域,随着技术的不断进步,芯片设计变得更加复杂和精密,集成了更多的功能和性能。在芯片的设计过程中,功能仿真在芯片设计过程中扮演着重要的角色,功能仿真通过模拟电路行为提前发现设计中的错误和缺陷,节省开发时间和成本。
现有技术通常借助软件仿真器或硬件仿真器来实现芯片的功能仿真,对芯片中所有CLB(Configurable Logic Block)和IOB(Input/Output Block)寄存器进行配置和读取,以获取芯片实时的状态信息。
软件仿真器或硬件仿真器通常使用高度抽象的模型来模拟芯片中的逻辑行为,芯片内部结构包括大量的CLB、IOB等,而在高度抽象的仿真模型中,这些内部结构可能被简化成抽象的逻辑块,由于缺乏ICAP原语对应的仿真模型,对于每个具体的CLB或IOB的内部细节,无法在仿真过程中准确地观察到,导致对芯片内部信号的可见性差。
发明内容
为了提升对芯片内部信号的可见性,本申请提供一种仿真模型建模方法、装置、设备及存储介质。
第一方面,本申请提供一种仿真模型建模方法,采用如下的技术方案:所述方法应用于芯片功能仿真系统,所述芯片功能仿真系统包括待检测单元、软件单元和验证单元,所述验证单元基于ICAP接口实现;
所述软件单元获取所述待检测单元中的信号寄存器及所述寄存器对应的信息文件,根据所述信息文件对所述寄存器进行解析生成验证输入文件,所述验证输入文件包括所述寄存器对应的信号名;
所述验证单元遍历所述验证输入文件中的寄存器,找出第一信号名包含的所有寄存器,基于所述ICAP接口的状态,逐个读取所述第一信号名包含的所有寄存器对应的值,生成验证输出文件;
所述软件单元读取并解析所述验证输出文件,生成所述输出文件对应的信号波形文件。
在一个具体的可实施方案中,所述验证输入文件还包括所述寄存器所在的帧地址和所述寄存器所在帧的偏移地址,所述验证输入文件为以帧为索引的索引文件,所述寄存器对应的值存放在所述索引文件中帧的有效位。
在一个具体的可实施方案中,所述基于所述ICAP接口的状态,逐个读取所述第一信号名包含的所有寄存器对应的值包括:
若所述ICAP接口的工作状态处于使能读状态,且所述帧地址有效,则所述验证单元基于ICAP接口逐个读取所述第一信号名包含的所有寄存器对应的值。
在一个具体的可实施方案中,所述生成验证输出文件包括:
所述验证单元基于所述寄存器值在所述索引文件有效位的排列顺序,生成验证输出文件。
在一个具体的可实施方案中,所述待检测单元包括待检测信号,所述待检测单元包括待检测信号,所述软件单元读取所述验证输出文件包括:
若所述待检测信号对应单个寄存器,则所述软件单元直接对所述验证输出文件中的寄存器值执行读取操作;
若所述待检测信号对应多个寄存器,则所述软件单元对所述验证输出文件中的寄存器值逐位读取,并按照低高位或高低位的顺序进行排序。
在一个具体的可实施方案中,所述软件单元对所述验证输出文件中的寄存器值逐位读取包括:
所述软件单元基于所述寄存器所在帧的偏移地址和所述待检测信号对应的位宽,对所述验证输出文件中的寄存器值逐位读取。
在一个具体的可实施方案中,在所述逐个读取所述寄存器对应的寄存器值之后,还包括:
所述验证单元再次遍历所述验证输入文件中的寄存器,找出第二信号名包含的所有寄存器,逐个读取所述第二信号名包含的所有寄存器对应的寄存器值,直到所述待检测单元所有寄存器值全部读取完成。
第二方面,本申请提供一种芯片功能仿真装置,采用如下技术方案:所述装置应用于芯片功能仿真系统,所述芯片功能仿真系统包括待检测单元、软件单元和验证单元,所述验证单元基于ICAP接口实现,所述装置包括:
信息文件解析模块,用于获取所述待检测单元中的信号寄存器及所述寄存器对应的信息文件,根据所述信息文件对所述寄存器进行解析生成验证输入文件,所述验证输入文件包括所述寄存器对应的信号名;
寄存器值读取模块,用于遍历所述验证输入文件中的寄存器,找出第一信号名包含的所有寄存器,基于所述ICAP接口的状态,逐个读取所述第一信号名包含的所有寄存器对应的值,生成验证输出文件;
验证文件输出模块,用于读取并解析所述验证输出文件,生成所述输出文件对应的信号波形文件。
第三方面,本申请提供一种计算机设备,采用如下技术方案:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述任一种仿真模型建模方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:存储有能够被处理器加载并执行上述任一种仿真模型建模方法的计算机程序。
综上所述,本申请具有以下有益技术效果:
本申请方案基于ICAP接口实现的验证单元,结合待检测单元和软件单元,能够直接与芯片内部的寄存器进行交互,读取寄存器的值;通过读取寄存器的值,验证单元可以获取到寄存器在验证过程中的实际取值,观察和分析芯片的内部状态,进而判断芯片内部逻辑的正确性和行为是否符合预期;最终通过生成可视化的波形文件形式,使设计人员能够直观地观察待检测单元中信号的变化和波形特征,确定信号的传播延迟和时序约束是否满足,提供了一种直观、可视化的方式来观察、分析和验证芯片内部信号,提高了对芯片内部信号行为的可见性。
附图说明
图1是本申请实施例中仿真模型建模方法的流程图。
图2是本申请实施例中用于说明索引文件的示意图。
图3是本申请实施例中芯片功能仿真装置的结构框图。
图4是本申请实施例中用于体现计算机设备的示意图。
附图标记:301、信息文件解析模块;302、寄存器值读取模块;303、验证文件输出模块。
具体实施方式
以下结合附图1-4对本申请作进一步详细说明。
本申请实施例公开一种仿真模型建模方法,该方法应用于芯片功能仿真系统,芯片功能仿真系统至少应当包括用于对芯片功能进行验证的待检测单元,即本申请方案中芯片功能仿真的对象,待检测单元由一个或多个存储芯片的描述或配置信息的编程文件组成,其包含寄存器和寄存器对应的信息文件,用于描述芯片的配置和行为,寄存器是一种存储数据的硬件元素,每个寄存器通常能够存储一定数量的bit,在本方案中,每个寄存器代表1bit数据;芯片功能仿真系统还应当包括软件单元,软件单元包括对信息文件进行解析的解析模块和接收解析回读数据的回读模块,解析模块负责对信息文件进行解析,涉及解析寄存器所在的帧地址、寄存器所在帧的偏移地址等信息,回读模块用于接收解析回读数据,包括仿真系统中的实时状态或验证结果;芯片功能仿真系统还应当包括用于对寄存器数据读取和输出的验证单元,验证单元基于ICAP接口实现。
如图1所示,该方法包括以下步骤:
S10,软件单元获取待检测单元中的信号寄存器及寄存器对应的信息文件,根据信息文件对寄存器进行解析生成验证输入文件,验证输入文件包括寄存器对应的信号名。
具体来说,软件单元首先从待检测单元中获取寄存器及其对应的信息文件,软件单元中的解析模块对信息文件进行解析,获取每个寄存器对应的信号名,这些寄存器存储着芯片仿真模型建模需要的各种信号,即信号分布在多个寄存器中,每个寄存器对应其存储的信号的信号名。
S20,验证单元遍历验证输入文件中的寄存器,找出第一信号名包含的所有寄存器,基于ICAP接口的状态,逐个读取第一信号名包含的所有寄存器对应的值,生成验证输出文件。
具体来说,验证单元首先遍历验证输入文件,验证输入文件中包含待检测芯片中寄存器所属的信号名,在遍历过程中,验证单元寻找并识别第一信号名对应的所有寄存器,读取验证输入文件中有关这些寄存器的值;一旦确认了第一信号名中包含的寄存器,验证单元根据ICAP接口的状态,逐个读取这些寄存器对应的寄存器值,其中涉及与ICAP接口进行通信,发起读取操作;读取每个寄存器的值后,验证单元将这些值整合并生成验证输出文件,验证输出文件包含第一信号名下每个寄存器对应的值,用于后续的仿真结果分析和验证。
S30,软件单元读取并解析验证输出文件,生成输出文件对应的信号波形文件。
具体来说,软件单元从验证单元生成的验证输出文件中读取数据,例如寄存器值;一旦读取了验证输出文件中的数据,软件单元将使用这些数据生成对应的信号波形文件,信号波形文件是一个包含有关信号随时间变化的图形表示的文件,这些信号包括芯片内部寄存器的状态、某些输入输出信号等。
需要说明的是,验证单元的操作与软件单元的处理是实时进行的,验证单元首先遍历验证输入文件中的寄存器,找出指定信号名包含的所有寄存器,基于ICAP接口的状态,验证单元通过逐个读取这些寄存器的值来生成验证输出文件,这个过程是即时的,随着仿真时间的推移,验证单元动态捕捉并记录了每个寄存器在当前信号下的状态;验证单元生成了验证输出文件后,软件单元获取ICAP读取的验证输出文件,软件单元对其进行解析,获取其中包含的寄存器值信息,并根据这些值生成相应的信号波形文件,这个过程也可以是实时进行的,确保了仿真结果的及时性和准确性;整个流程中,验证单元和软件单元协同工作,实时捕捉和处理芯片内部寄存器的状态信息,为后续的仿真结果分析和验证提供了实时的、全面的数据支持,这种实时性确保了仿真系统能够动态地反映芯片内部状态的变化,为设计调优和问题排查提供了及时有效的支持。
通过仿真模型建模方法,引入验证单元基于ICAP接口实现,用于遍历验证输入文件中的寄存器,实时读取芯片内部寄存器的状态,使验证系统更加灵活,适应不同的芯片和硬件配置,提高了芯片验证的效率,减少了人为错误的可能性,使得验证过程更加可靠;ICAP接口是用于配置和读取芯片的重要接口,将ICAP接口应用于芯片的验证过程,以实现对寄存器值的动态获取,增加了系统的灵活性和可扩展性;软件单元生成信号波形文件,提供了一个可视化的工具,使验证人员能够更直观地观察仿真结果,信号波形文件中包含了与时间相关的各个信号的波形图,有助于更清晰地了解芯片在仿真过程中的状态,提高了对芯片内部信号行为的可见性。
在一个实施例中,为了提高验证单元对数据的直观获取能力,验证输入文件为索引文件,提供对寄存器及其相关信息的快速索引,如图2所示,每行代表一个frame帧,每列代表一个寄存器,每个帧中的数值表示对应寄存器在该时刻的状态值,这样的结构可以让验证单元更直观地按照时序对寄存器进行索引和读取,同时提供了对整个仿真过程中寄存器状态的清晰可视化;验证输入文件还包括寄存器所在的帧地址和寄存器所在帧的偏移地址,寄存器值存放在索引文件中frame帧的有效位,帧的有效位是指帧中存储的实际有效数据位,在本实施例中,有效位是包含寄存器值的二进制位,这些值是索引文件中的关键数据,验证单元在处理索引文件时,可以直接访问这些有效位,快速获取寄存器的当前值。
将验证输入文件设计为索引文件使得验证单元能够以更有效的方式访问和处理寄存器的信息,提高了验证的速度和准确性;通过直接访问有效位,验证单元能够快速获取寄存器的当前值,从而加速了验证过程;通过在索引文件中使用有效位,验证单元能够直接访问包含关键数据的二进制位,而不需要进行额外的解析或计算,提高了验证单元对数据的直观获取能力,降低了芯片验证系统的复杂性。
在一个实施例中,为了实现对芯片内部寄存器状态的动态获取,基于ICAP接口的状态,逐个读取第一信号名包含的所有寄存器对应的值的步骤可以被具体执行为:
若ICAP接口的工作状态处于使能读状态,且帧地址有效,则验证单元逐个读取第一信号名包含的所有寄存器对应的值;ICAP接口的工作状态处于使能读状态表示ICAP接口当前被配置为允许读取操作,在这种状态下,验证单元能够通过ICAP接口逐个读取寄存器的值,有效地与芯片通信,动态地获取芯片内部寄存器的状态信息,从而支持验证过程中的数据采集和分析,当ICAP接口的工作状态为使能读状态时,表示ICAP接口已准备好接收读取操作;帧地址是用于标识时序中的一个时间片或特定时钟周期的地址,强调帧地址的有效性,表示只有在当前帧地址是有效的情况下才执行读取操作;一旦确认ICAP接口处于使能读状态且帧地址有效,验证单元会依次读取每个寄存器的值,并将这些值记录下来,形成验证输出文件。
通过判断ICAP接口的工作状态为使能读状态,以便在验证过程中进行读取操作,这样的配置使得验证单元能够通过ICAP接口逐个读取寄存器的值,实现了对芯片内部寄存器状态的动态获取;强调了帧地址的有效性,确保了在正确的时序下执行读取操作,有助于减少在不恰当的时刻读取寄存器值,提高了验证的准确性;在ICAP接口处于使能读状态时,验证单元逐个读取第一信号名包含的所有寄存器的寄存器值,强调了实时动态获取芯片内部寄存器状态信息的能力,为验证过程中的数据采集和分析提供了支持。
在一个实施例中,为了有助于确保数据的准确性和一致性,生成验证输出文件的步骤可以被具体执行为:
验证单元基于寄存器值在索引文件有效位的排列顺序,生成验证输出文件,索引文件的结构使得验证单元能够通过按照有效位的排列顺序逐个读取和理解其中的信息,针对每个寄存器,其值在索引文件中的有效位中是按照一定的排列顺序存储的,这种排列顺序可以与硬件设计中的数据结构有关,例如按位、按字节或按字等方式,验证单元需要按照这个排列顺序逐个读取寄存器的值,确保正确地获取每个寄存器的当前状态;读取完所有寄存器的值后,验证单元将这些值整合成最终的验证输出文件,验证输出文件包含了芯片内部寄存器在指定时刻的状态信息,可以用于后续的仿真结果分析和验证。
寄存器值在索引文件中的有效位按照一定的排列顺序存储,这种排列顺序的灵活性使得系统可以适应不同的硬件设计数据结构,例如按位、按字节或按字等方式,这种灵活性提高了系统的适用性和通用性;索引文件的结构使得验证单元能够通过按照有效位的排列顺序逐个读取并理解其中的信息,这种结构化的设计有助于提高系统的可维护性和可扩展性;验证单元按照排列顺序逐个读取寄存器的值,确保正确获取每个寄存器的当前状态,这种逐个读取的操作方式有助于确保数据的准确性和一致性,同时适应不同硬件设计的要求;最终将所有读取的寄存器值整合生成包含了芯片内部寄存器在指定时刻状态信息的验证输出文件,为后续的仿真结果分析和验证提供了关键数据。
在一个实施例中,为了使软件单元能够适应不同的数据存储方式,待检测单元包括待检测信号,软件单元读取验证输出文件的步骤可以被具体执行为:
若待检测信号对应单个寄存器,则软件单元直接对验证输出文件中的寄存器值执行读取操作,即软件单元可以直接获取到待检测信号在指定时刻的状态信息,而不需要进行额外的处理;若待检测信号对应多个寄存器,则软件单元对验证输出文件中的寄存器值逐位读取,并按照低高位或高低位的顺序进行排序,说明待检测信号的信息分布在多个寄存器的不同位上,为了获取完整的待检测信号信息,软件单元需要逐位读取,并确保按照正确的顺序排列,以还原待检测信号的完整状态;例如,对于8位二进制数11011010,可以按照低高位的顺序进行读取,即从右到左读取,先读取最右边的0,然后是1,0,1,1,0,1,1,也可以按照高低位的顺序进行读取,即从左到右读取,先读取最左边的1,然后是1,0,1,1,0,1,0。
对于待检测信号对应单个寄存器的情况,软件单元直接对验证输出文件中的寄存器值执行读取操作,这种直接读取的方式能够提高操作的效率,减少了对数据的处理步骤,使得获取待检测信号的状态信息更加直观和高效;对于待检测信号对应多个寄存器的情况,软件单元逐位读取寄存器值,并按照低高位或高低位的顺序进行排序,这种处理方式充分考虑了待检测信号可能跨越多个寄存器的情况,确保了完整的信号信息被正确还原,通过灵活的位级处理,软件单元能够有效地应对不同信号在硬件中的存储方式和分布情况;采用低高位或高低位的顺序进行排序展现了对位序处理的灵活性,这种排序方式可以根据具体的硬件设计和数据存储的约定进行选择,使得软件单元能够适应不同的数据存储方式,提高了方法的通用性。
在一个实施例中,为了使得该方法更具有通用性,软件单元对验证输出文件中的寄存器值逐位读取的步骤可以被具体执行为:
软件单元基于寄存器所在帧的偏移地址和待检测信号对应的位宽,对验证输出文件中的寄存器值逐位读取;帧的偏移地址表示在整个数据流中,寄存器所在帧的位置相对于起始位置的偏移量,为了准确读取寄存器的值,软件单元需要根据寄存器所在的帧的偏移地址确定在验证输出文件中的位置;待检测信号通常涉及到一个或多个位,即它的位宽。软件单元需要根据待检测信号的位宽确定逐位读取的数量,确保获取到完整的信号信息;在确定了寄存器所在帧的偏移地址和待检测信号的位宽之后,软件单元开始逐位读取验证输出文件中的寄存器值,根据偏移地址和位宽来截取和组合每个位的数值,以获取完整的信号信息。
通过基于帧的偏移地址和待检测信号的位宽,软件单元能够适应不同寄存器布局和信号位宽的情况,这种灵活性使得该方法更具有通用性,可以处理多种类型的待检测信号,而不受其具体寄存器分布和位宽的限制;通过精确的帧偏移地址和位宽信息,软件单元能够准确地定位和提取验证输出文件中与待检测信号相关的位信息,这种准确性确保了对待检测信号的精准读取,无论信号如何分布在寄存器中;说明了如何在待检测信号涉及多个位的情况下逐位读取,这确保了对于多位宽信号,软件单元能够按照正确的顺序读取和排序每个位,以还原完整的信号状态;通过考虑帧的偏移地址,该方法可以适应不同设计结构中寄存器的位置,而不受整体设计结构的约束,这样的适应性使得方法更容易集成到不同的芯片设计中。
在一个实施例中,为了提高芯片仿真的效率和准确性,逐个读取寄存器对应的寄存器值之后的步骤可以被具体执行为:
验证单元再次遍历验证输入文件中的寄存器,找出第二信号名包含的所有寄存器,逐个读取第二信号名包含的所有寄存器对应的寄存器值,包括与ICAP接口的通信,发起读取操作,并将每个寄存器的值记录下来,这个过程与之前对第一信号名的操作相同,但此时验证单元关注的是第二信号名,上述步骤反复执行,直到待检测单元所有寄存器值全部读取完成,即系统对每个信号进行遍历,读取相应信号名包含的寄存器的值,直到所有的寄存器值都被获取。
通过对每个信号的循环遍历,系统能够全面捕捉到不同时刻的寄存器状态,有助于更全面、详细地理解芯片内部的动态变化;循环执行的设计使得寄存器值的获取过程自动化,无需手动干预,提高了芯片仿真的效率和准确性;由于仿真过程中不同时刻需要关注不同的信号,循环机制使系统更加灵活,能够适应不同时刻对寄存器状态的需求;遍历信号名并读取寄存器值的过程是一个重复性的任务,通过循环执行,系统能够高效地处理这一任务,减少了冗余的工作量。
图1是一个实施例中仿真模型建模方法的流程示意图。应该理解的是,虽然图1流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行;除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行;并且图1的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于上述方法,本申请实施例还公开一种芯片功能仿真装置。
参照图3,该装置包括以下模块:
信息文件解析模块301,用于获取待检测单元中的信号寄存器及寄存器对应的信息文件,根据信息文件对寄存器进行解析生成验证输入文件,验证输入文件包括寄存器对应的信号名;
寄存器值读取模块302,用于遍历验证输入文件中的寄存器,找出第一信号名包含的所有寄存器,基于ICAP接口的状态,逐个读取第一信号名包含的所有寄存器对应的值,生成验证输出文件;
验证文件输出模块303,用于读取并解析验证输出文件,生成输出文件对应的信号波形文件。
在一个实施例中,信息文件解析模块301,具体用于说明验证输入文件还包括寄存器所在的帧地址和寄存器所在帧的偏移地址,验证输入文件为以帧为索引的索引文件,寄存器对应的值存放在索引文件中帧的有效位。
在一个实施例中,寄存器值读取模块302,具体用于判断ICAP接口的工作状态,若ICAP接口的工作状态处于使能读状态,且帧地址有效,则验证单元基于ICAP接口逐个读取第一信号名包含的所有寄存器对应的值。
在一个实施例中,寄存器值读取模块302,具体用于基于寄存器值在索引文件有效位的排列顺序,生成验证输出文件。
在一个实施例中,验证文件输出模块303,具体用于判断待检测信号的寄存器数量,若待检测信号对应单个寄存器,则软件单元直接对验证输出文件中的寄存器值执行读取操作;若待检测信号对应多个寄存器,则软件单元对验证输出文件中的寄存器值逐位读取,并按照低高位或高低位的顺序进行排序。
在一个实施例中,验证文件输出模块303,具体用于基于寄存器所在帧的偏移地址和待检测信号对应的位宽,对验证输出文件中的寄存器值逐位读取。
在一个实施例中,寄存器值读取模块302,具体用于再次遍历验证输入文件中的寄存器,找出第二信号名包含的所有寄存器,逐个读取第二信号名包含的所有寄存器对应的寄存器值,直到待检测单元所有寄存器值全部读取完成。
本申请实施例提供的芯片功能仿真装置,可以应用于如上述实施例中提供的仿真模型建模方法,相关细节参考上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
需要说明的是:本申请实施例中提供的芯片功能仿真装置在进行芯片功能仿真时,仅以上述各功能模块/功能单元的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块/功能单元完成,即将芯片功能仿真装置的内部结构划分成不同的功能模块/功能单元,以完成以上描述的全部或者部分功能。另外,上述方法实施例提供的仿真模型建模方法的实施方式与本实施例提供的芯片功能仿真装置的实施方式属于同一构思,本实施例提供的芯片功能仿真装置的具体实现过程详见上述方法实施例,这里不再赘述。
本申请实施例还公开一种计算机设备。
具体来说,如图4所示,该计算机设备可以是桌上型计算机、笔记本电脑、掌上电脑以及云端服务器等计算机设备。该计算机设备可以包括,但不限于,处理器和存储器。其中,处理器和存储器可以通过总线或者其他方式连接。其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、图形处理器(Graphics Processing Unit,GPU)、嵌入式神经网络处理器(Neural-network Processing Unit,NPU)或者其他专用的深度学习协处理器、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请上述实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储控制单元、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还公开一种计算机可读存储介质。
具体来说,计算机可读存储介质用于存储计算机程序,计算机程序被处理器执行时,实现上述方法实施方式中的方法。本领域技术人员可以理解,实现本申请上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (10)
1.一种仿真模型建模方法,其特征在于,所述方法应用于芯片功能仿真系统,所述芯片功能仿真系统包括待检测单元、软件单元和验证单元,所述验证单元基于ICAP接口实现;
所述软件单元获取所述待检测单元中的信号寄存器及所述寄存器对应的信息文件,根据所述信息文件对所述寄存器进行解析生成验证输入文件,所述验证输入文件包括所述寄存器对应的信号名;
所述验证单元遍历所述验证输入文件中的寄存器,找出第一信号名包含的所有寄存器,基于所述ICAP接口的状态,逐个读取所述第一信号名包含的所有寄存器对应的值,生成验证输出文件;
所述软件单元读取并解析所述验证输出文件,生成所述输出文件对应的信号波形文件。
2.根据权利要求1所述的方法,其特征在于,所述验证输入文件还包括所述寄存器所在的帧地址和所述寄存器所在帧的偏移地址,所述验证输入文件为以帧为索引的索引文件,所述寄存器对应的值存放在所述索引文件中帧的有效位。
3.根据权利要求2所述的方法,其特征在于,所述基于所述ICAP接口的状态,逐个读取所述第一信号名包含的所有寄存器对应的值包括:
若所述ICAP接口的工作状态处于使能读状态,且所述帧地址有效,则所述验证单元基于ICAP接口逐个读取所述第一信号名包含的所有寄存器对应的值。
4.根据权利要求2所述的方法,其特征在于,所述生成验证输出文件包括:
所述验证单元基于所述寄存器值在所述索引文件有效位的排列顺序,生成验证输出文件。
5.根据权利要求2所述的方法,其特征在于,所述待检测单元包括待检测信号,所述软件单元读取所述验证输出文件包括:
若所述待检测信号对应单个寄存器,则所述软件单元直接对所述验证输出文件中的寄存器值执行读取操作;
若所述待检测信号对应多个寄存器,则所述软件单元对所述验证输出文件中的寄存器值逐位读取,并按照低高位或高低位的顺序进行排序。
6.根据权利要求5所述的方法,其特征在于,所述软件单元对所述验证输出文件中的寄存器值逐位读取包括:
所述软件单元基于所述寄存器所在帧的偏移地址和所述待检测信号对应的位宽,对所述验证输出文件中的寄存器值逐位读取。
7.根据权利要求1所述的方法,其特征在于,在所述逐个读取所述寄存器对应的寄存器值之后,还包括:
所述验证单元再次遍历所述验证输入文件中的寄存器,找出第二信号名包含的所有寄存器,逐个读取所述第二信号名包含的所有寄存器对应的寄存器值,直到所述待检测单元所有寄存器值全部读取完成。
8.一种芯片功能仿真装置,其特征在于,所述装置应用于芯片功能仿真系统,所述芯片功能仿真系统包括待检测单元、软件单元和验证单元,所述验证单元基于ICAP接口实现,所述装置包括:
信息文件解析模块(301),用于获取所述待检测单元中的信号寄存器及所述寄存器对应的信息文件,根据所述信息文件对所述寄存器进行解析生成验证输入文件,所述验证输入文件包括所述寄存器对应的信号名;
寄存器值读取模块(302),用于遍历所述验证输入文件中的寄存器,找出第一信号名包含的所有寄存器,基于所述ICAP接口的状态,逐个读取所述第一信号名包含的所有寄存器对应的值,生成验证输出文件;
验证文件输出模块(303),用于读取并解析所述验证输出文件,生成所述输出文件对应的信号波形文件。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至7中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至7中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311703416.5A CN117408198B (zh) | 2023-12-13 | 2023-12-13 | 一种仿真模型建模方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311703416.5A CN117408198B (zh) | 2023-12-13 | 2023-12-13 | 一种仿真模型建模方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117408198A true CN117408198A (zh) | 2024-01-16 |
CN117408198B CN117408198B (zh) | 2024-03-01 |
Family
ID=89492839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311703416.5A Active CN117408198B (zh) | 2023-12-13 | 2023-12-13 | 一种仿真模型建模方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117408198B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929686A (zh) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | 一种片上多核处理器功能验证方法 |
CN111008508A (zh) * | 2019-12-26 | 2020-04-14 | 山东方寸微电子科技有限公司 | 一种接口类ip系统应用验证平台和验证方法 |
CN114462338A (zh) * | 2021-11-29 | 2022-05-10 | 上海阵量智能科技有限公司 | 一种集成电路的验证方法、装置、计算机设备及存储介质 |
CN116629173A (zh) * | 2023-05-25 | 2023-08-22 | 太初(无锡)电子科技有限公司 | 网络芯片的验证方法、装置、计算机设备及存储介质 |
-
2023
- 2023-12-13 CN CN202311703416.5A patent/CN117408198B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929686A (zh) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | 一种片上多核处理器功能验证方法 |
CN111008508A (zh) * | 2019-12-26 | 2020-04-14 | 山东方寸微电子科技有限公司 | 一种接口类ip系统应用验证平台和验证方法 |
CN114462338A (zh) * | 2021-11-29 | 2022-05-10 | 上海阵量智能科技有限公司 | 一种集成电路的验证方法、装置、计算机设备及存储介质 |
CN116629173A (zh) * | 2023-05-25 | 2023-08-22 | 太初(无锡)电子科技有限公司 | 网络芯片的验证方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117408198B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022537620A (ja) | 人工知能チップ検証 | |
US9298865B1 (en) | Debugging an optimized design implemented in a device with a pre-optimized design simulation | |
US10268787B2 (en) | Hybrid timing analysis method and associated system and non-transitory computer readable medium | |
US9384313B2 (en) | Systems and methods for increasing debugging visibility of prototyping systems | |
JP6600011B2 (ja) | エミュレーションのための効率的波形生成 | |
CN112100957B (zh) | 用于调试逻辑系统设计的方法、仿真器、存储介质 | |
Murali et al. | Improved design debugging architecture using low power serial communication protocols for signal processing applications | |
US10635767B2 (en) | Glitch detection at clock domain crossing | |
US10452797B2 (en) | Fault insertion for system verification | |
JP2000207440A (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
US20200074040A1 (en) | Hierarchical expression coverage clustering for design verification | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
CN117408198B (zh) | 一种仿真模型建模方法、装置、设备及存储介质 | |
CN116009889A (zh) | 深度学习模型的部署方法、装置、电子设备及存储介质 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN115935870A (zh) | 功耗分析方法、装置、电子设备、存储介质 | |
US11868693B2 (en) | Verification performance profiling with selective data reduction | |
US10223077B2 (en) | Determination of signals for readback from FPGA | |
KR102325612B1 (ko) | 시뮬레이터를 구현하는 방법, 장치, 기기 및 매체 | |
US9600613B1 (en) | Block-level code coverage in simulation of circuit designs | |
CN115292102B (zh) | 仿真方法、电子设备、可读存储介质 | |
US9928328B1 (en) | Method and system for automated debugging of a device under test | |
Yang et al. | HDLs modeling technique for burst-mode and extended burst-mode asynchronous circuits | |
CN112597721B (zh) | 一种高效的fpga集成验证方法 | |
CN111736490B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |