CN112100952A - Post-simulation method and device for integrated circuit, electronic equipment and storage medium - Google Patents
Post-simulation method and device for integrated circuit, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN112100952A CN112100952A CN202010963765.0A CN202010963765A CN112100952A CN 112100952 A CN112100952 A CN 112100952A CN 202010963765 A CN202010963765 A CN 202010963765A CN 112100952 A CN112100952 A CN 112100952A
- Authority
- CN
- China
- Prior art keywords
- simulation
- module
- file
- sub
- submodule
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 431
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013461 design Methods 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims description 155
- 230000005284 excitation Effects 0.000 claims description 105
- 238000013515 script Methods 0.000 claims description 71
- 230000008569 process Effects 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003071 parasitic effect Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000012938 design process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 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
-
- 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/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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/3312—Timing analysis
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
本申请涉及一种集成电路后仿真方法、装置、电子设备及存储介质,属于集成电路设计技术领域。该方法包括:获取待进行后仿真的集成电路中顶层和各子模块各自仿真所需的包括网表在内的仿真参数,其中,顶层和各个子模块各自对应的网表彼此独立且相互不同;针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果,以及利用顶层对应的仿真参数对顶层进行后仿真,得到顶层的仿真结果。由于顶层和各个子模块在进行后仿真时是基于各自独立的网表进行的,通过将原有整体仿真进行拆分,拆分后各部分可以并行进行仿真,显著提升芯片的后仿真速度,使得可以在芯片流片前充分验证时序功能正确性,从而降低芯片成本。
The present application relates to an integrated circuit post-emulation method, device, electronic device and storage medium, and belongs to the technical field of integrated circuit design. The method includes: obtaining simulation parameters including a netlist required for the respective simulation of the top layer and each sub-module in the integrated circuit to be subjected to post-simulation, wherein the netlists corresponding to the top layer and each sub-module are independent and different from each other; For each sub-module, the sub-module is post-simulated by using the simulation parameters corresponding to the sub-module to obtain the corresponding simulation results, and the top layer is post-simulated by using the simulation parameters corresponding to the top layer to obtain the simulation results of the top layer. Since the top layer and each sub-module are based on their independent netlists during post-simulation, by splitting the original overall simulation, each part can be simulated in parallel, which significantly improves the post-simulation speed of the chip, making the The correctness of timing function can be fully verified before chip tape out, thereby reducing chip cost.
Description
技术领域technical field
本申请属于集成电路技术领域,具体涉及一种集成电路后仿真方法、装置、电子设备及存储介质。The present application belongs to the technical field of integrated circuits, and in particular relates to a post-emulation method, device, electronic device and storage medium of an integrated circuit.
背景技术Background technique
随着微电子设计技术的发展,其电路设计的规模与逻辑复杂度也日益增加,导致集成电路设计工具所花费的时间越来越长,使得层次化设计流程应运而生。所谓层次化设计流程是指将整个设计对象划分为多个子模块来进行分层次设计,以便将庞大的工作量划分成几个部分同时展开设计,最后再将各个子模块的设计与顶层联合起来,以节省工具运行和修改所花费的时间。在设计的过程中,需要考虑各层次之间的关系,如顶层与各底层子模块的关系、层次内部的优化等等,使得最终各个模块达到其各自设计要求的同时,满足顶层设计的要求。With the development of microelectronics design technology, the scale and logic complexity of its circuit design are also increasing day by day, which leads to the increasing time spent by integrated circuit design tools, which makes the hierarchical design process emerge as the times require. The so-called hierarchical design process refers to dividing the entire design object into multiple sub-modules for hierarchical design, so as to divide the huge workload into several parts and carry out the design at the same time, and finally combine the design of each sub-module with the top layer, to save time spent running and modifying the tool. In the process of design, it is necessary to consider the relationship between each level, such as the relationship between the top level and each bottom level sub-module, the optimization within the level, etc., so that each module can meet its own design requirements and meet the top-level design requirements at the same time.
其中,在集成电路的设计过程中,仿真与验证是一个重要的环节,是检查所涉及的电路是否符合要求必不可少的一环。仿真可以分为功能前仿真和时序后仿真,一个完整的电路设计过程,应该包括功能前仿真和时序后仿真两个过程。功能前仿真是针对寄存器传输级(Register Transfer Level,RTL)的仿真,目标是分析电路的逻辑关系的正确性,仿真速度快。时序后仿真是门级网表的仿真,是将电路的门延迟参数和各种电路单元之间的连线情况考虑在内后进行仿真,其结果可以判断时序是否正确,仿真的结果直接影响功耗评估,电压降(IR drop)分析的准确性等。Among them, in the design process of integrated circuits, simulation and verification are an important link, and it is an indispensable link to check whether the circuits involved meet the requirements. Simulation can be divided into pre-function simulation and post-sequence simulation. A complete circuit design process should include two processes: pre-function simulation and post-sequence simulation. The pre-function simulation is the simulation for the register transfer level (RTL), the goal is to analyze the correctness of the logic relationship of the circuit, and the simulation speed is fast. Post-sequential simulation is the simulation of the gate-level netlist, which takes into account the gate delay parameters of the circuit and the connection between various circuit units and simulates. The result can determine whether the timing is correct, and the simulation result directly affects the function power consumption assessment, accuracy of IR drop analysis, etc.
针对时序后仿真,传统的做法是将整个门级网表放到片上系统(System On Chip,SOC)的仿真环境去做仿真,仿真的时候读入标准延时格式文件(Standard Delay Format,SDF),修改部分SOC的仿真环境,通过施加激励和监控网表的输出和内部信号来判断仿真是否正确。虽然该方法可以很好地处理中小规模的电路,但处理超大规模的仿真电路时,存在仿真时间长的问题,使得无法在芯片流片(Tape out)前提供快速信号数据库(Fast SignalDatabase,FSDB)文件,以便进行精确的功耗评估和IR drop的分析,导致后端在实现的时候需要留有足够的余量,间接影响到芯片的成本。For post-sequential simulation, the traditional approach is to put the entire gate-level netlist into the simulation environment of the System On Chip (SOC) for simulation, and read in the Standard Delay Format (SDF) during simulation. , modify the simulation environment of part of the SOC, and judge whether the simulation is correct by applying excitation and monitoring the output and internal signals of the netlist. Although this method can handle small and medium-scale circuits well, it has the problem of long simulation time when dealing with super-large-scale simulation circuits, which makes it impossible to provide a fast signal database (FSDB) before chip tape out (Fast SignalDatabase, FSDB). file for accurate power consumption evaluation and IR drop analysis, which leads to the need to leave enough margin in the back-end implementation, which indirectly affects the cost of the chip.
发明内容SUMMARY OF THE INVENTION
鉴于此,本申请的目的在于提供一种集成电路后仿真方法、装置、电子设备及存储介质,以改善现有后仿真方法对大规模集成电路进行后仿真,存在仿真时间长的问题。In view of this, the purpose of the present application is to provide an integrated circuit post-simulation method, device, electronic device and storage medium, so as to improve the existing post-simulation method for post-simulation of large-scale integrated circuits, which has the problem of long simulation time.
本申请的实施例是这样实现的:The embodiments of the present application are implemented as follows:
第一方面,本申请实施例提供了一种集成电路后仿真方法,包括:获取待进行后仿真的集成电路中顶层和各子模块各自仿真所需的包括网表在内的仿真参数,其中,顶层和各个子模块各自对应的网表彼此独立且相互不同;针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和快速信号数据库FSDB文件,以及利用所述顶层对应的仿真参数对所述顶层进行后仿真,得到所述顶层的仿真结果和FSDB文件。本申请实施例中,在进行后仿真时,通过获取顶层仿真所需的包括网表在内的仿真参数对顶层进行后仿真,以及获取子模块仿真所需的包括网表在内的仿真参数对该子模块进行后仿真,由于顶层和各个子模块在进行后仿真时是基于各自独立的网表进行的(使得各子模块和顶层可以并行进行仿真),通过将原有整体仿真进行拆分,拆分后各部分可以并行进行仿真,显著提升芯片的后仿真速度,缩短后仿真时间,使得可以在芯片流片前充分验证时序功能正确性,并产生精确的FSDB文件用于后续流程分析,减少设计中预留的余量,从而降低芯片成本。In a first aspect, an embodiment of the present application provides a method for post-simulation of an integrated circuit, including: acquiring simulation parameters including a netlist required for the respective simulations of the top layer and each sub-module in the integrated circuit to be post-simulated, wherein, The netlists corresponding to the top layer and each sub-module are independent and different from each other; for each sub-module, use the simulation parameters corresponding to the sub-module to perform post-simulation on the sub-module to obtain the corresponding simulation results and the fast signal database FSDB file, and performing post-simulation on the top layer by using the simulation parameters corresponding to the top layer to obtain the simulation result and FSDB file of the top layer. In this embodiment of the present application, when performing post-simulation, the top-level post-simulation is performed by obtaining the simulation parameters including the netlist required for the top-level simulation, and the pair of simulation parameters including the netlist required for the sub-module simulation is obtained. This sub-module performs post-simulation. Since the top-level and each sub-module are based on their independent netlists during post-simulation (so that each sub-module and top-level can be simulated in parallel), by splitting the original overall simulation, After splitting, each part can be simulated in parallel, which significantly improves the post-simulation speed of the chip and shortens the post-simulation time, so that the correctness of timing functions can be fully verified before the chip is taped out, and an accurate FSDB file can be generated for subsequent process analysis. The margin reserved in the design, thereby reducing the cost of the chip.
结合第一方面实施例的一种可能的实施方式,获取各个子模块各自仿真所需的包括网表在内的仿真参数的步骤,包括:针对每一个子模块,获取该子模块对应的模块测试文件、输入激励和输出参考值、模块网表以及模块标准延时格式SDF文件;相应地,利用该子模块对应的仿真参数对该子模块进行仿真,包括:对所述模块网表、所述模块测试文件进行编译生成仿真电路可执行文件;根据所述SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行;在运行的过程中,将所述输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。本申请实施例中,通过获取各个子模块各自对应的模块测试文件、输入激励和输出参考值、模块网表以及模块SDF文件在内的仿真参数来进行仿真,在保证仿真能正常进行的同时,又能并行的对各个子模块进行仿真,相比于传统的整体仿真,由于仿真电路规模变小,显著缩短了仿真时间。With reference to a possible implementation of the embodiment of the first aspect, the step of acquiring simulation parameters including a netlist required for the respective simulation of each submodule includes: for each submodule, acquiring the module test corresponding to the submodule file, input excitation and output reference value, module netlist and module standard delay format SDF file; correspondingly, use the simulation parameters corresponding to the submodule to simulate the submodule, including: The module test file is compiled to generate an executable file of the simulation circuit; according to the SDF file, the delay information of the connection between the standard unit and the standard unit is reversed in the simulation circuit, and run; in the process of running, the input The excitation is loaded into each input pin of the simulation circuit, and the value output by the simulation circuit is compared with the corresponding output reference value to obtain the corresponding simulation result and the FSDB file. In the embodiment of the present application, the simulation is performed by acquiring the simulation parameters including the module test file, input excitation and output reference value, module netlist, and module SDF file corresponding to each sub-module, while ensuring that the simulation can be performed normally, It can also simulate each sub-module in parallel. Compared with the traditional overall simulation, the simulation time is significantly shortened due to the smaller scale of the simulation circuit.
结合第一方面实施例的一种可能的实施方式,获取该子模块对应的模块测试文件、输入激励和输出参考值的步骤,包括:获取所述集成电路的网表、标准寄生参数交换格式SPEF文件、标准设计约束SDC约束文件、寄存器传输级RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到该子模块对应的模块测试文件和用于抓取该子模块的输入激励和输出参考值的脚本;利用抓取该子模块的输入激励和输出参考值的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的数据,得到该子模块的所述输入激励和输出参考值。本申请实施例中,通过根据获取的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例,便可快速得到各个子模块各自对应的模块测试文件、输入激励和输出参考值,通过将各个子模块仿真时的所需的参数进行分离,使模块的仿真可以并行化,从而提高了仿真效率。With reference to a possible implementation of the embodiment of the first aspect, the step of acquiring the module test file, input excitation and output reference value corresponding to the sub-module includes: acquiring the netlist of the integrated circuit, the standard parasitic parameter exchange format SPEF file, standard design constraint SDC constraint file, register transfer level RTL code and pre-simulation test case; according to the netlist of the integrated circuit, the SPEF file, and the SDC constraint file, the module test file corresponding to the sub-module and A script for grabbing the input excitation and output reference value of the submodule; using the script grabbing the input excitation and output reference value of the submodule to obtain the data generated when the RTL code runs the pre-simulation test case, The input excitation and output reference values of the sub-module are obtained. In the embodiment of the present application, according to the obtained netlist, SPEF file, SDC constraint file, RTL code and pre-simulation test case, the corresponding module test file, input stimulus and output reference value of each sub-module can be quickly obtained. The parameters required in the simulation of each sub-module are separated, so that the simulation of the module can be parallelized, thereby improving the simulation efficiency.
结合第一方面实施例的一种可能的实施方式,获取各个子模块各自仿真所需的包括网表在内的仿真参数的步骤,包括:针对每一个子模块,获取该子模块对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件,其中,所述寄存器扫描链信息包含将该子模块中的各个寄存器按照扫描测试链的顺序提取的指定时刻的寄存器值;相应地,利用该子模块对应的仿真参数对该子模块进行仿真,包括:对所述模块网表、所述模块测试文件进行编译生成仿真电路可执行文件;根据所述模块SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,以及根据所述寄存器扫描链信息对所述仿真电路中的寄存器进行赋值,并运行;在运行的过程中,将所述输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。本申请实施例中,获取各个子模块各自仿真所需的模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件,在保证仿真能正常进行的同时,又能并行的对各个子模块进行仿真,同时,通过寄存器扫描链信息(包含将该子模块中的各个寄存器按照扫描测试链的顺序提取的指定时刻的寄存器值)对仿真电路中的寄存器进行赋值,以跳过初始化,可以节约进行初始化的时间,从而进一步提高了仿真效率。With reference to a possible implementation of the embodiment of the first aspect, the step of acquiring simulation parameters including a netlist required for the respective simulation of each submodule includes: for each submodule, acquiring the module test corresponding to the submodule file, register scan chain information, input excitation and output reference values, module netlist, and module SDF file, wherein the register scan chain information includes each register in the submodule extracted in the order of the scan test chain at a specified time. register value; correspondingly, using the simulation parameters corresponding to the submodule to simulate the submodule, including: compiling the module netlist and the module test file to generate a simulation circuit executable file; according to the module SDF file In the simulation circuit, the delay information of the connection between the standard unit and the standard unit is reversed, and the registers in the simulation circuit are assigned values according to the register scan chain information, and run; The input excitation is loaded into each input pin of the simulation circuit, and the value output by the simulation circuit is compared with the corresponding output reference value to obtain the corresponding simulation result and FSDB file. In the embodiments of the present application, the module test files, register scan chain information, input excitation and output reference values, module netlists, and module SDF files required for the respective simulation of each sub-module are obtained, so as to ensure that the simulation can be performed normally, and at the same time Simulate each sub-module in parallel, and at the same time, assign a value to the register in the simulation circuit through the register scan chain information (including the register value at the specified time extracted from each register in the sub-module in the order of scanning the test chain), to By skipping the initialization, the initialization time can be saved, thereby further improving the simulation efficiency.
结合第一方面实施例的一种可能的实施方式,获取该子模块对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值的步骤,包括:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到该子模块对应的模块测试文件、用于抓取该子模块指定时刻的输入激励和输出参考值的脚本,以及根据所述集成电路的网表、所述SDC约束文件,得到用于抓取该子模块指定时刻的寄存器扫描链信息的脚本;利用抓取该子模块指定时刻的输入激励和输出参考值的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的数据,得到该子模块指定时刻的所述输入激励和输出参考值,以及利用所述抓取该子模块指定时刻的寄存器扫描链信息的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的指定时刻的寄存器值,得到该子模块指定时刻的寄存器扫描链信息。本申请实施例中,通过根据获取的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例,便可快速得到各个子模块各自对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值,通过获取各子模块仿真的参数,使仿真并行化,从而提高了仿真效率,同时利用该寄存器扫描链信息在仿真的时候对寄存器进行赋值,以跳过初始化,能进一步提高仿真效率。With reference to a possible implementation of the embodiment of the first aspect, the step of acquiring the module test file, register scan chain information, input excitation and output reference value corresponding to the sub-module includes: acquiring the netlist, SPEF of the integrated circuit file, SDC constraint file, RTL code and pre-simulation test case; according to the netlist of the integrated circuit, the SPEF file, and the SDC constraint file, the module test file corresponding to the sub-module is obtained, which is used to capture the sub-module The script of input excitation and output reference value at the specified time of the module, and according to the netlist of the integrated circuit and the SDC constraint file, the script for grabbing the register scan chain information at the designated time of the sub-module is obtained; using grabbing The script of the input stimulus and output reference value at the specified time of the sub-module obtains the data generated when the RTL code runs the pre-simulation test case, obtains the input stimulus and output reference value at the specified time of the sub-module, and uses The script that captures the register scan chain information at the specified time of the submodule obtains the register value at the specified time generated when the RTL code runs the pre-simulation test case, and obtains the register scan chain information at the specified time of the submodule. In the embodiment of the present application, according to the acquired netlist, SPEF file, SDC constraint file, RTL code and pre-simulation test case, the corresponding module test file, register scan chain information, input stimulus and Output the reference value. By obtaining the simulation parameters of each sub-module, the simulation is parallelized, thereby improving the simulation efficiency. At the same time, the register scan chain information is used to assign values to the registers during simulation to skip initialization, which can further improve the simulation efficiency. .
结合第一方面实施例的一种可能的实施方式,获取所述顶层仿真所需的包括网表在内的仿真参数的步骤,包括:获取所述顶层的顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件;相应地,利用所述顶层对应的仿真参数对所述顶层进行后仿真,包括:对所述顶层网表、所述顶层测试文件进行编译生成仿真电路可执行文件;根据所述顶层SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行;在运行的过程中,将所述所有子模块的输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。本申请实施例中,通过获取顶层仿真所需的顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件来对顶层进行后仿真,通过将各个子模块与顶层的关系也纳入了考虑内,保证了顶层仿真的正确性。With reference to a possible implementation of the embodiment of the first aspect, the step of acquiring simulation parameters including a netlist required for the top-level simulation includes: acquiring a top-level test file of the top-level, input excitations of all submodules and output reference value, top-level netlist and top-level SDF file; correspondingly, using the simulation parameters corresponding to the top-level to perform post-simulation on the top-level, including: compiling the top-level netlist and the top-level test file to generate a simulation The circuit executable file; according to the top-level SDF file, the delay information of the connection between the standard unit and the standard unit in the simulation circuit is reversed and run; in the process of running, the input excitation of all the sub-modules is loaded to each input pin of the simulation circuit, and compare the output value of the simulation circuit with the corresponding output reference value to obtain the corresponding simulation result and the FSDB file. In the embodiment of the present application, the top-level post-simulation is performed by acquiring the top-level test files required for the top-level simulation, the input excitation and output reference values of all submodules, the top-level netlist, and the top-level SDF file. Relationships are also taken into account, ensuring the correctness of the top-level simulation.
结合第一方面实施例的一种可能的实施方式,获取所述顶层的顶层测试文件、所有子模块的输入激励和输出参考值的步骤,包括:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到用于抓取所有子模块的输入激励和输出参考值的脚本以及各个子模块各自的输入输出IO延时信号和对应的时钟域信号;根据各个子模块各自的IO延时信号和对应的时钟域信号生成用于对仿真流程起控制作用的所述顶层测试文件;利用所述抓取所有子模块的输入激励和输出参考值的脚本去获取所述RTL代码以及运行所述前仿真测试用例时产生的数据,得到所述所有子模块的输入激励和输出参考值。本申请实施例中,根据获取的所述集成电路的网表、SPEF文件、SDC约束文件得到用于抓取所有子模块的输入激励和输出参考值的脚本以及各个子模块各自的IO延时信号和对应的时钟域信号,然后根据各个子模块各自的IO延时信号和对应的时钟域信号生成用于对仿真流程起控制作用的顶层测试文件,以及抓取所有子模块的输入激励和输出参考值的脚本去获取述RTL代码以及运行所述前仿真测试用例时产生的数据,便可得到所有子模块的输入激励和输出参考值,由于顶层仿真所需的参数是综合了各个子模块的各自的输入激励和输出参考值,以及各个子模块各自的IO延时信号和对应的时钟域信号而得到的,保证了顶层仿真的正确性,另外,在得到各个子模块各自的输入激励和输出参考值以及IO延时信号和对应的时钟域信号的同时,无需额外花时间便可得到顶层仿真所需的参数。With reference to a possible implementation of the embodiment of the first aspect, the step of acquiring the top-level test file of the top-level, input excitations and output reference values of all sub-modules includes: acquiring the netlist of the integrated circuit, the SPEF file, SDC constraint file, RTL code and pre-simulation test case; according to the netlist of the integrated circuit, the SPEF file, and the SDC constraint file, a script for capturing the input excitation and output reference values of all sub-modules is obtained and the The respective input and output IO delay signals and corresponding clock domain signals of each sub-module; according to the respective IO delay signals and corresponding clock domain signals of each sub-module, the top-level test file for controlling the simulation process is generated; The RTL code and the data generated when the pre-simulation test case is run are obtained by using the script that captures the input excitation and output reference values of all submodules, and the input excitation and output reference values of all the submodules are obtained. In the embodiment of the present application, according to the acquired netlist of the integrated circuit, the SPEF file, and the SDC constraint file, a script for capturing the input excitation and output reference values of all submodules and the respective IO delay signals of each submodule are obtained and the corresponding clock domain signal, and then generate the top-level test file for controlling the simulation process according to the respective IO delay signal of each sub-module and the corresponding clock domain signal, and capture the input excitation and output reference of all sub-modules To obtain the RTL code and the data generated when running the pre-simulation test case, the input excitation and output reference values of all sub-modules can be obtained, because the parameters required for the top-level simulation are a combination of the The input excitation and output reference values of each sub-module, as well as the respective IO delay signals and corresponding clock domain signals of each sub-module, ensure the correctness of the top-level simulation. In addition, after obtaining the respective input excitation and output reference values of each sub-module Values and IO delay signals and corresponding clock domain signals, the parameters required for the top-level simulation can be obtained without additional time.
第二方面,本申请实施例还提供了一种集成电路后仿真装置,包括:获取模块以及仿真模块;获取模块,用于获取待进行后仿真的集成电路中顶层和各子模块各自仿真所需的包括网表在内的仿真参数,其中,顶层和各个子模块各自对应的网表彼此独立且相互不同;仿真模块,用于针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和FSDB文件,以及利用所述顶层对应的仿真参数对所述顶层进行后仿真,得到所述顶层的仿真结果和FSDB文件。In a second aspect, an embodiment of the present application further provides an integrated circuit post-simulation device, including: an acquisition module and a simulation module; and an acquisition module for acquiring the respective simulation requirements of the top layer and each sub-module in the integrated circuit to be post-simulated The simulation parameters including the netlist, wherein the netlists corresponding to the top layer and each submodule are independent and different from each other; the simulation module is used for each submodule to use the simulation parameters corresponding to the submodule to the submodule. The module performs post-simulation to obtain corresponding simulation results and FSDB files, and uses the simulation parameters corresponding to the top-level to perform post-simulation on the top-level to obtain the top-level simulation results and FSDB files.
结合第二方面实施例的一种可能的实施方式,获取模块,用于针对每一个子模块,获取该子模块对应的模块测试文件、输入激励和输出参考值、模块网表以及模块SDF文件;相应地,仿真模块,用于:对所述模块网表、所述模块测试文件进行编译生成仿真电路可执行文件;根据所述模块SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行;在运行的过程中,将所述输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。In combination with a possible implementation of the embodiment of the second aspect, an acquisition module is used to acquire, for each submodule, the module test file, input excitation and output reference value, module netlist, and module SDF file corresponding to the submodule; Correspondingly, the simulation module is used for: compiling the module netlist and the module test file to generate a simulation circuit executable file; according to the module SDF file, back-marking the connection between the standard unit and the standard unit in the simulation circuit; Line delay information, and run; in the process of running, load the input excitation to each input pin of the simulation circuit, and compare the output value of the simulation circuit with the corresponding output reference value to obtain the corresponding output value. The simulation results and FSDB files.
结合第二方面实施例的一种可能的实施方式,获取模块,具体用于:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到该子模块对应的模块测试文件和用于抓取该子模块的输入激励和输出参考值的脚本;利用抓取该子模块的输入激励和输出参考值的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的数据,得到该子模块的所述输入激励和输出参考值。In combination with a possible implementation of the embodiment of the second aspect, an acquisition module is specifically configured to: acquire the netlist, SPEF file, SDC constraint file, RTL code, and pre-simulation test case of the integrated circuit; Netlist, described SPEF file, described SDC constraint file, obtain the module test file corresponding to this submodule and the script for capturing the input excitation and output reference value of this submodule; utilize the input of capturing this submodule The script of excitation and output reference value acquires the data generated when the RTL code runs the pre-simulation test case, and obtains the input excitation and output reference value of the sub-module.
结合第二方面实施例的一种可能的实施方式,获取模块,用于针对每一个子模块获取该子模块对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件;相应地,仿真模块用于:对所述模块网表、所述模块测试文件进行编译生成仿真电路可执行文件;根据所述模块SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,以及根据所述寄存器扫描链信息对所述仿真电路中的寄存器进行赋值,并运行;在运行的过程中,将所述输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。In combination with a possible implementation of the embodiment of the second aspect, an acquisition module is configured to acquire, for each submodule, the module test file, register scan chain information, input excitation and output reference values, module netlist, and Module SDF file; correspondingly, the simulation module is used for: compiling the module netlist and the module test file to generate a simulation circuit executable file; back-marking standard cells and standard cells in the simulation circuit according to the module SDF file The delay information of the connection between the two, and assign values to the registers in the simulation circuit according to the register scan chain information, and run; in the process of running, load the input excitation to each input of the simulation circuit pin, and compare the output value of the simulation circuit with the corresponding output reference value to obtain the corresponding simulation result and FSDB file.
结合第二方面实施例的一种可能的实施方式,获取模块,具体用于:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到该子模块对应的模块测试文件、用于抓取该子模块指定时刻的输入激励和输出参考值的脚本,以及根据所述集成电路的网表、所述SDC约束文件用于抓取该子模块指定时刻的寄存器扫描链信息的脚本;利用抓取该子模块的输入激励和输出参考值的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的数据,得到该子模块指定时刻的所述输入激励和输出参考值,以及利用所述抓取该子模块的寄存器扫描链信息的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的指定时刻的寄存器值,得到该子模块指定时刻的寄存器扫描链信息。In combination with a possible implementation of the embodiment of the second aspect, an acquisition module is specifically configured to: acquire the netlist, SPEF file, SDC constraint file, RTL code, and pre-simulation test case of the integrated circuit; The netlist, the SPEF file, the SDC constraint file, obtain the module test file corresponding to the sub-module, the script for capturing the input excitation and output reference value at the specified time of the sub-module, and according to the integrated circuit The netlist and the SDC constraint file are used to capture the script of the register scan chain information at the specified moment of the submodule; use the script of capturing the input excitation and output reference value of the submodule to obtain the RTL code to run the described RTL code. The data generated during the pre-simulation test case, obtain the input excitation and output reference value at the specified time of the sub-module, and use the script that grabs the register scan chain information of the sub-module to obtain the RTL code to run the described The register value at the specified time generated during the previous simulation test case is obtained, and the register scan chain information at the specified time of the submodule is obtained.
结合第二方面实施例的一种可能的实施方式,获取模块,用于获取所述顶层的顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件;相应地,仿真模块,用于:对所述顶层网表、所述顶层测试文件进行编译生成仿真电路可执行文件;根据所述顶层SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行;在运行的过程中,将所述所有子模块的输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。In combination with a possible implementation of the embodiment of the second aspect, an acquisition module is used to acquire the top-level test file of the top-level, the input excitation and output reference values of all sub-modules, the top-level netlist, and the top-level SDF file; accordingly, The simulation module is used for: compiling the top-level netlist and the top-level test file to generate a simulation circuit executable file; according to the top-level SDF file, the extension of the connection between the standard cell and the standard cell in the simulation circuit is reversed. In the process of running, the input excitation of all the sub-modules is loaded into each input pin of the simulation circuit, and the value output by the simulation circuit is compared with the corresponding output reference value to obtain Corresponding simulation results and FSDB files.
结合第二方面实施例的一种可能的实施方式,获取模块,具体用于:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到用于抓取所有子模块的输入激励和输出参考值的脚本以及各个子模块各自的IO延时信号和对应的时钟域信号;根据各个子模块各自的IO延时信号和对应的时钟域信号生成用于对仿真流程起控制作用的所述顶层测试文件;利用所述抓取所有子模块的输入激励和输出参考值的脚本去获取所述RTL代码以及运行所述前仿真测试用例时产生的数据,得到所述所有子模块的输入激励和输出参考值。In combination with a possible implementation of the embodiment of the second aspect, an acquisition module is specifically configured to: acquire the netlist, SPEF file, SDC constraint file, RTL code, and pre-simulation test case of the integrated circuit; The netlist, the SPEF file, the SDC constraint file, obtain the script for capturing the input excitation and output reference value of all submodules and the respective IO delay signals and corresponding clock domain signals of each submodule; according to The respective IO delay signal of each submodule and the corresponding clock domain signal generate the top-level test file used to control the simulation process; use the script to capture the input excitation and output reference value of all submodules to obtain The RTL code and the data generated when the pre-simulation test case is run are used to obtain input excitation and output reference values of all the submodules.
结合第二方面实施例的一种可能的实施方式,仿真模块,用于利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和FSDB文件。With reference to a possible implementation manner of the embodiment of the second aspect, a simulation module is used to perform post-simulation of the sub-module by using the simulation parameters corresponding to the sub-module to obtain corresponding simulation results and FSDB files.
结合第二方面实施例的一种可能的实施方式,仿真模块,用于利用所述顶层对应的仿真参数对所述顶层进行后仿真,得到所述顶层的仿真结果和FSDB文件。With reference to a possible implementation manner of the embodiment of the second aspect, a simulation module is configured to perform post-simulation on the top layer by using the simulation parameters corresponding to the top layer to obtain the simulation result and FSDB file of the top layer.
第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。In a third aspect, an embodiment of the present application further provides an electronic device, including: a memory and a processor, the processor is connected to the memory; the memory is used to store a program; the processor is used to call The program stored in the memory is used to execute the above-mentioned embodiment of the first aspect and/or the method provided in combination with any possible implementation manner of the embodiment of the first aspect.
第四方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。In a fourth aspect, an embodiment of the present application further provides a storage medium on which a computer program is stored, and when the computer program is run by a processor, executes the above-mentioned first aspect embodiment and/or combines the first aspect embodiment. The method provided by any of the possible implementations.
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。Other features and advantages of the present application will be set forth in the description which follows, and, in part, will be apparent from the description, or may be learned by practice of the embodiments of the present application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and drawings.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the accompanying drawings required in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some of the present application. In the embodiments, for those of ordinary skill in the art, other drawings can also be obtained according to these drawings without any creative effort. The above and other objects, features and advantages of the present application will be more apparent from the accompanying drawings. The same reference numerals refer to the same parts throughout the drawings. The drawings are not intentionally scaled to actual size, and the emphasis is on illustrating the subject matter of the present application.
图1示出了本申请实施例提供的一种集成电路后仿真方法的结构示意图。FIG. 1 shows a schematic structural diagram of a method for post-simulation of an integrated circuit provided by an embodiment of the present application.
图2示出了本申请实施例提供的一种获取测试文件、输入激励和输出参考值的原理示意图。FIG. 2 shows a schematic diagram of a principle of acquiring a test file, input excitation, and output reference value provided by an embodiment of the present application.
图3示出了本申请实施例提供的一种获取测试文件、寄存器扫描链信息、输入激励和输出参考值的原理示意图。FIG. 3 shows a schematic diagram of a principle of acquiring a test file, register scan chain information, input excitation, and output reference value provided by an embodiment of the present application.
图4示出了本申请实施例提供的一种集成电路后仿真方法的原理示意图。FIG. 4 shows a schematic schematic diagram of a method for post-simulation of an integrated circuit provided by an embodiment of the present application.
图5示出了本申请实施例提供的一种集成电路后仿真装置的模块示意图。FIG. 5 shows a schematic block diagram of an integrated circuit post-emulation device provided by an embodiment of the present application.
图6示出了本申请实施例提供的一种电子设备的结构示意图。FIG. 6 shows a schematic structural diagram of an electronic device provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that like numerals and letters refer to like items in the following figures, so once an item is defined in one figure, it does not require further definition and explanation in subsequent figures. Meanwhile, in the description of this application, relational terms such as "first", "second", etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities or that there is any such actual relationship or sequence between operations. Moreover, the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device that includes a list of elements includes not only those elements, but also includes not explicitly listed or other elements inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。Furthermore, the term "and/or" in this application is only an association relationship to describe related objects, indicating that there can be three kinds of relationships, for example, A and/or B, it can mean that A exists alone, and A and B exist at the same time. B, there are three cases of B alone.
针对传统后仿真方法对大规模集成电路进行后仿真,存在仿真时间长的问题,使得无法在芯片流片(Tape out)前提供快速信号数据库(Fast Signal Database,FSDB)文件,以便进行精确的功耗评估和IR drop的分析,导致后端在实现的时候需要留有足够的余量,间接影响到芯片成本的问题。基于此,本申请实施例提供了一种集成电路后仿真方法,以加快仿真速度,解决了现有方法对大规模集成电路后仿真慢,难以对超大规模实现后仿真的问题,为了便于理解,下面将结合图1,对本申请实施例提供的集成电路后仿真方法进行说明。Aiming at the traditional post-simulation method for post-simulation of large-scale integrated circuits, there is a problem of long simulation time, which makes it impossible to provide a Fast Signal Database (FSDB) file before the chip is taped out, so as to perform accurate functions. Consumption assessment and analysis of IR drop lead to the need to leave enough margin in the back-end implementation, which indirectly affects the cost of the chip. Based on this, the embodiments of the present application provide a method for post-simulation of integrated circuits, so as to speed up the simulation speed and solve the problems of slow post-simulation of large-scale integrated circuits and difficulty in post-simulation for ultra-large-scale integrated circuits in existing methods. For ease of understanding, The following describes the integrated circuit post-simulation method provided by the embodiment of the present application with reference to FIG. 1 .
步骤S101:获取待进行后仿真的集成电路中顶层和各子模块各自仿真所需的包括网表在内的仿真参数。Step S101 : acquiring simulation parameters including a netlist required for the respective simulations of the top layer and each sub-module in the integrated circuit to be subjected to post-simulation.
当需要对待进行后仿真的集成电路进行仿真时,获取待进行后仿真的集成电路中顶层和各子模块(Tile)各自仿真所需的包括网表在内的仿真参数。其中,后仿真是门级网表的仿真,是将电路的门延迟参数和各种电路单元之间的连线情况考虑在内后进行仿真,其结果可以判断时序是否正确,仿真的结果直接影响功耗评估,电压降(IR drop)分析的准确性等。When the integrated circuit to be post-simulated needs to be simulated, the simulation parameters including the netlist required for the respective simulation of the top layer and each sub-module (Tile) in the integrated circuit to be post-simulated are obtained. Among them, post-simulation is the simulation of the gate-level netlist, which takes into account the gate delay parameters of the circuit and the connection between various circuit units and then simulates. The results can determine whether the timing is correct, and the simulation results directly affect Power consumption assessment, accuracy of IR drop analysis, etc.
其中,需要说明的是,顶层和各个子模块各自对应的网表彼此独立且相互不同,也即顶层在进行后仿真时所需的网表与各个子模块各自在进行后仿真时所需的网表彼此独立且相互不同,各个子模块之间在进行后仿真时所需的网表也彼此独立且相互不同,如子模块A仿真时所需的网表与子模块B仿真时所需的网表是独立的,且不相同。由于顶层和各个子模块在进行后仿真时是基于各自独立的网表进行的,而不是基于整个集成电路的网表进行后仿真,使得顶层和各个子模块可以并行进行后仿真,加快了仿真速度。其中,鉴于集成电路的规模越来越大,整体做后端实现往往比较耗时甚至无法实现,因此目前的大规模芯片设计实现过程是一个先自上而下,再自下而上的过程,通常是将按功能划分的芯片依据物理位置自上而下进行Tile(瓦片)划分(也即依据数据流和功能将物理相近的模块组合成的一个物理上可以实现的大模块),从而将整个芯片划分为包含多个物理可实现的Tile和顶层,经划分后的每个Tile和顶层由于逻辑门变少,使物理实现变成可能,待各Tile和顶层分别完成物理实现得到各部分最终的网表,再自下而上组合到一起形成整个芯片的网表,最后在该网表上完成各项检查工作(包括时序验收,物理验证,门级网表后仿真等)后最终进行流片。Among them, it should be noted that the netlists corresponding to the top layer and each submodule are independent and different from each other, that is, the netlist required by the top layer during post-simulation and the netlist required by each submodule during post-simulation. The tables are independent and different from each other, and the netlists required for post-simulation between submodules are also independent and different from each other. For example, the netlist required for submodule A simulation and the netlist required for submodule B simulation Tables are independent and not the same. Since the post-simulation of the top-level and each sub-module is performed based on their independent netlists, rather than the post-simulation based on the netlist of the entire integrated circuit, the top-level and each sub-module can be post-simulated in parallel, which speeds up the simulation speed. . Among them, in view of the increasing scale of integrated circuits, the overall back-end implementation is often time-consuming or even impossible to achieve. Therefore, the current large-scale chip design and implementation process is a top-down and bottom-up process. Usually, the chips divided by function are divided into tiles (tiles) from top to bottom according to their physical locations (that is, a large physically achievable module is formed by combining physically similar modules according to data flow and function), so that the The entire chip is divided into multiple physically achievable tiles and top layers. After the division, each tile and top layer have fewer logic gates, which makes physical implementation possible. After each tile and top layer complete the physical implementation, the final result of each part is obtained. The netlist is then combined from bottom to top to form the netlist of the entire chip. Finally, various inspections (including timing acceptance, physical verification, post-gate-level netlist simulation, etc.) are completed on the netlist. piece.
其中,一种实施方式下,每个子模块仿真所需的仿真参数除了包括对应该子模块的模块网表外,还包括对应的模块测试文件(test bench)、输入激励(输入pattern)和输出参考值(输出pattern)以及模块标准延时格式(Standard Delay Format,SDF)文件,也即针对每一个子模块,其仿真所需的仿真参数包括:该子模块对应的模块测试文件、输入激励和输出参考值、模块网表以及模块SDF文件。每个子模块仿真所需的仿真参数所包括的参数类型相同,其具体的参数值不同。In one embodiment, the simulation parameters required for the simulation of each sub-module include, in addition to the module netlist corresponding to the sub-module, the corresponding module test file (test bench), input stimulus (input pattern) and output reference value (output pattern) and module standard delay format (Standard Delay Format, SDF) file, that is, for each submodule, the simulation parameters required for the simulation include: the module test file, input stimulus and output corresponding to the submodule References, block netlists, and block SDF files. The simulation parameters required for the simulation of each sub-module include the same parameter types and different specific parameter values.
其中,各个子模块的模块网表以及模块SDF文件在分层次设计阶段,在完成子模块各自的物理实现时便可以得到。Among them, the module netlist of each submodule and the module SDF file can be obtained when the submodule's respective physical implementation is completed in the hierarchical design stage.
其中,获取每个子模块对应的模块测试文件、输入激励和输出参考值的过程可以是:先获取该集成电路的网表、标准寄生参数交换格式(Standard Parasitic ExchangeForma,SPEF)文件(为集成电路设计流程中EDA工具间传递互连线寄生参数的标准媒介文件)、标准设计约束(Standard Design Constraints,SDC)文件(为设计中的约束文件,它对电路的时序,面积,功耗进行约束,决定了芯片是否满足设计要求的规范)、寄存器传输级(Register Transfer Level,RTL)代码以及前仿真测试用例,然后根据获取的集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例,便可得到每个子模块对应的模块测试文件、输入激励和输出参考值,也即,根据集成电路的网表、SPEF文件、SDC约束文件,得到该子模块对应的模块测试文件和用于抓取该子模块的输入激励和输出参考值的脚本;根据抓取该子模块的输入激励和输出参考值的脚本、RTL代码以及前仿真测试用例,得到该子模块的输入激励和输出参考值。Wherein, the process of obtaining the module test file, input excitation and output reference value corresponding to each sub-module may be: first obtain the netlist of the integrated circuit, the standard parasitic parameter exchange format (Standard Parasitic ExchangeFormat, SPEF) file (for integrated circuit design Standard media file for transferring interconnect parasitic parameters between EDA tools in the process), Standard Design Constraints (SDC) file (the constraint file in the design, which constrains the timing, area, and power consumption of the circuit, determines the The specification of whether the chip meets the design requirements), Register Transfer Level (RTL) code and pre-simulation test cases, and then based on the acquired integrated circuit netlist, SPEF file, SDC constraint file, RTL code and pre-simulation test Use case, the module test file, input stimulus and output reference value corresponding to each sub-module can be obtained, that is, according to the netlist, SPEF file, and SDC constraint file of the integrated circuit, the module test file corresponding to the sub-module and the output reference value can be obtained. The script to capture the input excitation and output reference value of the submodule; obtain the input excitation and output reference value of the submodule according to the script, RTL code and pre-simulation test case for capturing the input excitation and output reference value of the submodule .
可选地,根据集成电路的网表、SPEF文件、SDC约束文件,得到该子模块对应的模块测试文件和用于抓取该子模块的输入激励和输出参考值的脚本的过程可以是:先根据集成电路的SPEF文件和SDC约束文件,计算集成电路的网表中各个子模块各自的IO(输入input,输出out)接口信号、对应的时钟域信号以及IO延时信号,然后根据每个子模块对应的IO延时信号和时钟域信号生成该子模块对应的用于对仿真流程起控制作用的模块测试文件,以及每个子模块对应的根据IO接口信号和时钟域信号生成用于抓取该子模块的输入激励和输出参考值的脚本。Optionally, according to the netlist, SPEF file, and SDC constraint file of the integrated circuit, the process of obtaining the module test file corresponding to the submodule and the script for capturing the input excitation and output reference value of the submodule may be: first. According to the SPEF file and SDC constraint file of the integrated circuit, calculate the respective IO (input input, output out) interface signals, corresponding clock domain signals and IO delay signals of each sub-module in the integrated circuit's netlist, and then according to each sub-module The corresponding IO delay signal and clock domain signal generate the module test file corresponding to the sub-module for controlling the simulation process, and the corresponding IO interface signal and clock domain signal for each sub-module are generated to capture the sub-module. Scripts for the input stimulus and output reference of the module.
根据抓取该子模块的输入激励和输出参考值的脚本、RTL代码以及前仿真测试用例,得到该子模块的输入激励和输出参考值的过程可以是:利用抓取该子模块的输入激励和输出参考值的脚本去获取RTL代码运行前仿真测试用例时产生的数据,便可得到该子模块的输入激励和输出参考值。According to the script, RTL code and pre-simulation test case for capturing the input stimulus and output reference value of the submodule, the process of obtaining the input stimulus and output reference value of the submodule can be as follows: using the capture input stimulus and output reference value of the submodule The script that outputs the reference value obtains the data generated when the test case is simulated before the RTL code runs, and then the input stimulus and output reference value of the sub-module can be obtained.
为了便于理解,结合图2对如何获取各个子模块各自对应的模块测试文件、输入激励和输出参考值的过程进行说明。该过程可以分为A、B两部分。在A部分,将集成电路的网表、SPEF文件、SDC约束文件输入电子设计自动化(Electronic Design Automation,EDA)工具(如prime time),配合脚本(该脚本通过工具内嵌命令找到顶层下面第一层次各个子模块的模块名,子模块的输入/输出端口以及该输入/输出端口对应的时钟和IO延时的信息,并根据这些信息逐一生成各子模块仿真所需的后续文件)处理后便可输出各个子模块各自对应的用于对仿真流程起控制作用的块测试文件(包括多个)、用于抓取各个子模块的输入激励和输出参考值的脚本以及各个子模块各自的IO延时信号和对应的时钟域信号(用于生成顶层仿真所需的顶层测试文件)。其中,利用EDA工具,读入集成电路的网表、SPEF文件、SDC约束文件后,该工具会自动计算网表中各子模块各自的输入输出pin,得到各个子模块的IO接口信号,以及计算各个子模块中的标准单元(cell)和标准单元间的连线(net)的延时信息,并提取当前环境中各个pin的延时信息,得到各个子模块各自对应的IO延时信号,以及还可以查询各输入输出pin所在的时钟域,得到各个子模块各自对应的时钟域信号。针对每一个子模块来说,在得到该子模块的IO接口信号、对应的时钟域信号以及IO延时信号后,然后根据对应的IO延时信号和时钟域信号生成用于对仿真流程起控制作用的模块测试文件,根据IO接口信号和时钟域信号生成用于抓取该子模块各自的输入激励和输出参考值的脚本。For ease of understanding, the process of how to obtain the module test file, input excitation and output reference value corresponding to each sub-module will be described with reference to FIG. 2 . The process can be divided into two parts, A and B. In Part A, input the netlist, SPEF file, and SDC constraint file of the integrated circuit into the Electronic Design Automation (EDA) tool (such as prime time), and cooperate with the script (the script finds the first one below the top level through the built-in command of the tool) The module name of each sub-module of the hierarchy, the input/output port of the sub-module, and the clock and IO delay information corresponding to the input/output port, and the subsequent files required for each sub-module simulation are generated one by one according to this information. It can output the corresponding block test files (including multiple) of each sub-module for controlling the simulation process, the script for capturing the input excitation and output reference value of each sub-module, and the respective IO delay of each sub-module. time signals and corresponding clock domain signals (used to generate top-level test files required for top-level simulation). Among them, after using the EDA tool to read the netlist, SPEF file, and SDC constraint file of the integrated circuit, the tool will automatically calculate the input and output pins of each sub-module in the netlist, obtain the IO interface signals of each sub-module, and calculate delay information of the standard cell (cell) in each submodule and the connection (net) between the standard cells, and extract the delay information of each pin in the current environment to obtain the corresponding IO delay signal of each submodule, and You can also query the clock domain where each input and output pin is located to obtain the corresponding clock domain signal of each sub-module. For each sub-module, after obtaining the IO interface signal, the corresponding clock domain signal and the IO delay signal of the sub-module, the corresponding IO delay signal and clock domain signal are generated to control the simulation process. The active module test file generates a script for capturing the respective input excitation and output reference value of the submodule according to the IO interface signal and the clock domain signal.
在得到用于抓取各个子模块的输入输出pattern的脚本后,利用该脚本去获取RTL代码运行前仿真测试用例(即对集成电路进行前仿真时所使用过的测试用例)时产生的数据,便可得到各个子模块各自的输入激励和输出参考值。也即B部分中的顶层前仿真环境读取用于抓取各个子模块各自的输入激励和输出参考值的脚本文件、RTL代码和前仿真测试用例运行仿真,待仿真跑完后,便可得到各个子模块的输入激励和输出参考值。其中,该脚本在仿真时钟产生后即可在时钟的上升沿对输入输出端口信号进行采样输出到文件中,也即在时钟的上升沿正常运行时,将RTL代码运行前仿真测试用例时的所有子模块的输入输出端口信号抓取出来并存储为后仿pattern文件,得到输入pattern和输出pattern。After obtaining the script used to capture the input and output patterns of each submodule, use the script to obtain the data generated when the RTL code is run before the simulation test case (that is, the test case used in the pre-simulation of the integrated circuit), The input excitation and output reference value of each sub-module can be obtained. That is, the top-level pre-simulation environment in Part B reads the script files, RTL codes and pre-simulation test cases used to capture the respective input excitation and output reference values of each sub-module to run the simulation. After the simulation is completed, you can get Input stimulus and output reference for each submodule. Among them, after the simulation clock is generated, the script can sample the input and output port signals on the rising edge of the clock and output it to the file, that is, when the rising edge of the clock is running normally, it will simulate all the test cases before running the RTL code. The input and output port signals of the sub-module are captured and stored as a post-imitation pattern file to obtain the input pattern and output pattern.
其中,模块测试文件(test bench)用于对仿真流程起控制作用,其中包括IO延时信号,输入激励,输出比对等指示信息,如在仿真时指示模块仿真环境需要做什么,如指示其需要对模块网表进行例化、需要打开输入激励,需要做输出比对(也即将仿真的输出与输出pattern进行比对)等。Among them, the module test file (test bench) is used to control the simulation process, including IO delay signal, input stimulus, output comparison and other indication information, such as instructing what the module simulation environment needs to do during simulation, such as instructing its The module netlist needs to be instantiated, the input excitation needs to be turned on, and the output comparison needs to be done (that is, the simulation output is compared with the output pattern), etc.
作为另一种实施方式,每个子模块仿真所需的仿真参数除了包括对应该子模块的模块网表外,还包括对应的模块测试文件(test bench)、寄存器扫描链信息(包含将各个寄存器按照扫描测试的顺序提取出来的指定时刻的寄存器的值)、输入激励(输入pattern)和输出参考值(输出pattern)以及模块标准延时格式(Standard Delay Format,SDF)文件,也即针对每一个子模块,其仿真所需的仿真参数包括:该子模块对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件。As another implementation manner, the simulation parameters required for the simulation of each sub-module include, in addition to the module netlist corresponding to the sub-module, the corresponding module test file (test bench), register scan chain information (including The value of the register at the specified time extracted from the sequence of the scan test), the input stimulus (input pattern), the output reference value (output pattern), and the module standard delay format (Standard Delay Format, SDF) file, that is, for each sub The simulation parameters required for the simulation include: the module test file corresponding to the sub-module, the register scan chain information, the input excitation and output reference values, the module netlist, and the module SDF file.
其中,获取该子模块对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值的步骤可以是:根据集成电路的网表、SPEF文件、SDC约束文件,得到该子模块对应的模块测试文件、用于抓取该子模块指定时刻的输入激励和输出参考值的脚本,以及根据所述集成电路的网表、所述SDC约束文件,得到用于抓取该子模块指定时刻的寄存器扫描链信息的脚本;根据抓取该子模块指定时刻的输入激励和输出参考值的脚本、RTL代码以及前仿真测试用例,得到该子模块指定时刻的输入激励和输出参考值(也即利用抓取该子模指定时刻块的输入激励和输出参考值的脚本去抓取RTL代码运行前仿真测试用例时产生的指定时刻数据,得到该子模块指定时刻的输入激励和输出参考值),以及根据抓取该子模块指定时刻的寄存器扫描链信息的脚本、RTL代码以及前仿真测试用例,得到该子模块指定时刻的寄存器扫描链信息(也即利用抓取该子模块指定时刻的寄存器扫描链信息的脚本去抓取RTL代码运行前仿真测试用例时产生的指定时刻的寄存器的值,并按照扫描测试的顺序提取出来,得到该子模块指定时刻的寄存器扫描链信息)。该实施方式的原理示意图如图3所示,与图2所示的实施方式相比,相当于在A部分原有基础上,额外输出用于抓取该子模块指定时刻的寄存器扫描链信息的脚本,并将该脚本输入B部分中,以便利用该脚本去获取RTL代码运行前仿真测试用例时指定时刻产生的(各个寄存器的值,便可得到各个子模块各自的寄存器扫描链信息,其中,EDA工具(如prime time)读入网表和SDC后,将芯片设置为测试模式,每个Tile有独立的扫描链,通过每个Tile已知的扫描链输入pin追踪该pin所驱动的下一级寄存器,然后从下一级驱动寄存器的输出pin追踪再下一级驱动寄存器,逐级追踪,直到到达该Tile的扫描链输出pin,然后将该扫描链的顺序记录下来,并以该顺序产生抓取扫描链信息的脚本。也即,在A部分,将集成电路的网表、SPEF文件、SDC约束文件输入EDA工具后,将芯片设置为测试模式,该EDA工具便可以自动生成用于抓取各个子模块指定时刻各自的寄存器扫描链信息(scan chain,芯片扫描测试的时候将寄存器串在一起形成的链)的脚本,该脚本用于将RTL运行前仿真测试用例时产生的指定时刻的寄存器的值按照扫描测试的顺序提取出来。在B部分,顶层前仿真环境读入用于抓取各个子模块各自指定时刻的输入激励和输出参考值的脚本文件、抓取各个子模块各自的寄存器扫描链信息的脚本、RTL代码和前仿真测试用例运行仿真,待仿真跑完后,便可得到各个子模块指定时刻后各自的输入激励和输出参考值,以及指定时刻的寄存器扫描链信息。其中,为了避免累赘,该实施例中未描述部分,请参照图2所示的实施方式中的相同部分。其中,寄存器扫描链信息用于在仿真时,在特定时刻(如在仿真过程中即将加载输入激励时)按scan chain的顺序对所有的寄存器进行赋值,以跳过初始化,从而加快仿真速度。其中,图2、图3中的模块测试文件、模块pattern(也即输入pattern、输出pattern),以及图3中的模块scan chain均用的虚线框表示,其表示数量为多个。The step of obtaining the module test file, register scan chain information, input excitation and output reference value corresponding to the sub-module may be: obtaining the module test file corresponding to the sub-module according to the netlist, SPEF file, and SDC constraint file of the integrated circuit file, the script used to capture the input excitation and output reference value at the specified time of the submodule, and the register scan used to capture the specified time of the submodule according to the netlist of the integrated circuit and the SDC constraint file The script of the chain information; according to the script, RTL code and pre-simulation test case that captures the input stimulus and output reference value at the specified time of the submodule, the input stimulus and output reference value at the specified time of the submodule are obtained (that is, using the capture The script of the input stimulus and output reference value of the specified time block of the submodule captures the specified time data generated when the RTL code is run before simulating the test case, and obtains the input stimulus and output reference value at the specified time of the submodule), and according to the capture Take the script, RTL code and pre-simulation test case of the register scan chain information at the specified time of the submodule, and obtain the register scan chain information at the specified time of the submodule (that is, use the method of capturing the register scan chain information at the specified time of the submodule). The script grabs the value of the register at the specified time generated when the test case is simulated before the RTL code runs, and extracts it in the order of the scan test to obtain the register scan chain information at the specified time of the submodule). The schematic diagram of the principle of this embodiment is shown in FIG. 3 . Compared with the embodiment shown in FIG. 2 , it is equivalent to additionally outputting the register scan chain information used to capture the register scan chain information at the specified time of the sub-module on the original basis of Part A. Script, and input the script into part B, in order to use the script to obtain the specified time generated when the RTL code is simulated before the test case is run (the value of each register, the register scan chain information of each submodule can be obtained, where, After the EDA tool (such as prime time) reads the netlist and SDC, the chip is set to test mode, each tile has an independent scan chain, and the next input pin driven by the pin is tracked through the known scan chain input pin of each tile. stage register, and then trace from the output pin of the next stage drive register to the next stage drive register, trace step by step until reaching the output pin of the scan chain of the tile, then record the sequence of the scan chain, and generate in this order Script to capture scan chain information. That is, in part A, after inputting the netlist, SPEF file, and SDC constraint file of the integrated circuit into the EDA tool, set the chip to test mode, and the EDA tool can automatically generate the scan chain information. The script to take the respective register scan chain information (scan chain, the chain formed by stringing the registers together during the chip scan test) at the specified time of each submodule. This script is used to simulate the test case before the RTL runs. The values of the registers are extracted in the order of the scan test. In part B, the top-level pre-simulation environment reads in the script file used to capture the input stimulus and output reference value of each sub-module at the specified time, and captures the respective registers of each sub-module The script, RTL code and pre-simulation test case of the scan chain information run the simulation, and after the simulation is finished, the input excitation and output reference values of each sub-module after the specified time can be obtained, as well as the register scan chain information at the specified time. , in order to avoid redundancy, the part that is not described in this embodiment, please refer to the same part in the implementation shown in Figure 2. Wherein, the register scan chain information is used in simulation, at a specific moment (such as about to be loaded in the simulation process) When inputting excitation) assign values to all registers in the order of scan chain to skip initialization, thereby speeding up the simulation. Among them, the module test file and module pattern in Figure 2 and Figure 3 (that is, input pattern, output pattern) , and the module scan chain in FIG. 3 is represented by a dashed box, which indicates that the number is multiple.
其中,顶层仿真所需的仿真参数除了包括顶层网表外,还包括:顶层测试文件、所有子模块的输入激励和输出参考值以及顶层SDF文件,也即顶层仿真所需的仿真参数包括:顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件。其中,顶层的顶层网表以及顶层SDF文件在集成电路分层次设计阶段,在完成顶层物理实现时便可以得到。Among them, the simulation parameters required for the top-level simulation include, in addition to the top-level netlist, the top-level test file, the input excitation and output reference values of all sub-modules, and the top-level SDF file, that is, the simulation parameters required for the top-level simulation include: Test files, input stimuli and output references for all submodules, top-level netlist, and top-level SDF files. Among them, the top-level top-level netlist and the top-level SDF file can be obtained when the top-level physical implementation is completed in the hierarchical design stage of the integrated circuit.
其中,获取顶层的顶层测试文件、所有子模块的输入激励和输出参考值的过程可以是获取集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例,再根据获取的集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例,便可得到顶层的顶层测试文件、所有子模块的输入激励和输出参考值,也即根据集成电路的网表、SPEF文件、SDC约束文件,得到用于抓取所有子模块的输入激励和输出参考值的脚本以及各个子模块各自的IO延时信号和对应的时钟域信号;根据各个子模块各自的IO延时信号和对应的时钟域信号生成用于对仿真流程起控制作用的顶层测试文件;根据抓取所有子模块的输入激励和输出参考值的脚本、RTL代码以及前仿真测试用例,得到所有子模块的输入激励和输出参考值。例如,根据集成电路的SPEF文件和SDC约束文件,计算集成电路的网表中各个子模块各自的IO接口信号、对应的时钟域信号以及IO延时信号,然后根据各个子模块各自的IO接口信号和对应的时钟域信号,生成用于抓取所有子模块的输入激励和输出参考值的抓取脚本,最后根据各个子模块各自的IO延时信号和对应的时钟域信号,生成用于对仿真流程起控制作用的顶层测试文件,以及利用抓取脚本获取RTL代码运行前仿真测试用例时产生的数据,便可得到所有子模块的输入激励和输出参考值。Among them, the process of obtaining the top-level top-level test file, the input excitation and output reference values of all sub-modules may be to obtain the netlist of the integrated circuit, the SPEF file, the SDC constraint file, the RTL code and the pre-simulation test case, and then according to the obtained integration The netlist, SPEF file, SDC constraint file, RTL code and pre-simulation test case of the circuit can obtain the top-level top-level test file, the input excitation and output reference values of all sub-modules, that is, according to the netlist of the integrated circuit, SPEF file, SDC constraint file, get the script used to capture the input excitation and output reference value of all sub-modules, as well as the respective IO delay signals and corresponding clock domain signals of each sub-module; according to the respective IO delay signals of each sub-module and the corresponding clock domain signal to generate a top-level test file for controlling the simulation process; according to the script, RTL code and pre-simulation test case that captures the input stimulus and output reference value of all sub-modules, the input of all sub-modules is obtained Excitation and output reference values. For example, according to the SPEF file and SDC constraint file of the integrated circuit, calculate the respective IO interface signals, corresponding clock domain signals and IO delay signals of each sub-module in the integrated circuit's netlist, and then calculate the respective IO interface signals of each sub-module according to the respective IO interface signals. and the corresponding clock domain signal, generate a capture script for capturing the input excitation and output reference value of all sub-modules, and finally generate a simulation based on the respective IO delay signals and corresponding clock domain signals of each sub-module. The top-level test file that controls the flow, and the data generated when the RTL code is simulated before the execution of the RTL code is obtained by using the grab script, and the input stimulus and output reference value of all sub-modules can be obtained.
结合上述的图2对获取顶层的顶层测试文件、所有子模块的输入激励和输出参考值的过程进行说明,在A部分,将集成电路的网表、SPEF文件、SDC约束文件输入EDA工具,配合脚本处理(该脚本通过工具内嵌命令找到顶层下面第一层次各个子模块的模块名,子模块的输入/输出端口以及该输入/输出端口对应的时钟和IO延时的信息,并根据这些信息逐一生成各子模块仿真所需的后续文件)便可输出各个子模块各自对应的用于对仿真流程起控制作用的模块测试文件(包括多个)、用于抓取各个子模块的输入激励和输出参考值的脚本以及各个子模块各自的IO延时信号和对应的时钟域信号(包括多个)。也即利用EDA工具,读入集成电路的网表SPEF文件、SDC约束文件后,该工具会自动计算网表中各个子模块各自的输入输出pin,得到各个子模块各自的IO接口信号,以及计算各个子模块各自中的标准单元(cell)和标准单元间的连线(net)的延时信息,并提取当前环境中各个pin的延时信息,得到各个子模块各自对应的IO延时信号,以及还可以查询各输入输出pin所在的时钟域,得到各个子模块各自对应的时钟域信号。针对每一个子模块来说,在得到该子模块的IO接口信号、对应的时钟域信号以及IO延时信号后,然后根据对应的IO延时信号和时钟域信号生成用于对仿真流程起控制作用的模块测试文件,根据IO接口信号和时钟域信号生成用于抓取该子模块各自的输入激励和输出参考值的脚本。在B部分,将用于抓取各个子模块的输入输出pattern的脚本、RTL代码和前仿真测试用例、以及各个子模块各自的IO接口信号和对应的时钟域信号,输入B部分中的顶层前仿真环境中进行仿真,便可得到各个子模块的输入输出pattern以及顶层测试文件。也即B部分中的顶层前仿真环境读取用于抓取各个子模块的输入激励和输出参考值的脚本文件、RTL代码和前仿真测试用例运行仿真,待仿真跑完后,便可得到各个子模块的输入激励和输出参考值。根据得到的各个子模块各自的IO延时信号和对应的时钟域信号生成用于对仿真流程起控制作用的顶层测试文件,例如,利用输入的各个子模块各自的IO接口信号和对应的时钟域信号,对顶层前仿真环境进行修改,加入pattern读入,输出信号比对等,生成顶层测试文件。The process of obtaining the top-level top-level test file, input excitation and output reference value of all sub-modules is described in conjunction with the above-mentioned Figure 2. In part A, the integrated circuit netlist, SPEF file, and SDC constraint file are input into the EDA tool, and cooperate with Script processing (the script finds the module name of each sub-module at the first level below the top level, the input/output port of the sub-module, and the clock and IO delay information corresponding to the input/output port through the built-in command of the tool, and according to the information The subsequent files required for the simulation of each sub-module are generated one by one, and the corresponding module test files (including multiple) for controlling the simulation process, the input excitation and The script that outputs the reference value and the respective IO delay signals of each sub-module and the corresponding clock domain signals (including multiple). That is to say, after using the EDA tool to read in the netlist SPEF file and SDC constraint file of the integrated circuit, the tool will automatically calculate the input and output pins of each submodule in the netlist, obtain the respective IO interface signals of each submodule, and calculate The delay information of the standard unit (cell) in each sub-module and the connection (net) between the standard units, and the delay information of each pin in the current environment is extracted to obtain the corresponding IO delay signal of each sub-module, In addition, the clock domain where each input and output pin is located can be queried to obtain the corresponding clock domain signal of each sub-module. For each sub-module, after obtaining the IO interface signal, the corresponding clock domain signal and the IO delay signal of the sub-module, the corresponding IO delay signal and clock domain signal are generated to control the simulation process. The active module test file generates a script for capturing the respective input excitation and output reference value of the submodule according to the IO interface signal and the clock domain signal. In part B, the scripts, RTL codes and pre-simulation test cases used to capture the input and output patterns of each sub-module, as well as the respective IO interface signals and corresponding clock domain signals of each sub-module, are input into the top-level front of part B. By simulating in the simulation environment, the input and output patterns and top-level test files of each sub-module can be obtained. That is, the top-level pre-simulation environment in Part B reads the script files, RTL codes and pre-simulation test cases used to capture the input stimulus and output reference value of each sub-module to run the simulation. Input stimulus and output reference for the submodule. Generate a top-level test file for controlling the simulation process according to the obtained IO delay signals and corresponding clock domain signals of each sub-module. For example, use the input IO interface signals and corresponding clock domain signals of each sub-module. Signal, modify the top-level pre-simulation environment, add patterns to read in, output signal comparison, etc., and generate top-level test files.
步骤S102:针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和FSDB文件,以及利用所述顶层对应的仿真参数对所述顶层进行后仿真,得到所述顶层的仿真结果和FSDB文件。Step S102: for each sub-module, use the simulation parameters corresponding to the sub-module to perform post-simulation on the sub-module, obtain corresponding simulation results and FSDB files, and use the simulation parameters corresponding to the top-level to perform post-simulation on the top-level , to get the top-level simulation results and FSDB files.
在获取到待进行后仿真的集成电路中顶层和各子模块各自对应的仿真参数后,针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,便可得到对应的仿真结果和FSDB文件,及利用顶层对应的仿真参数对所述顶层进行后仿真,便可得到所述顶层的仿真结果和FSDB文件。通过将原有整体仿真进行拆分,拆分后各部分可以并行进行仿真,显著提升芯片的后仿真速度,使得可以在芯片流片前充分验证时序功能正确性,同时产生准确的FSDB文件以便进行IR drop,功耗等分析,从而降低芯片成本。After obtaining the simulation parameters corresponding to the top layer and each sub-module in the integrated circuit to be post-simulated, for each sub-module, post-simulate the sub-module using the simulation parameters corresponding to the sub-module, and then the corresponding sub-module can be obtained. The simulation result and the FSDB file, and the post-simulation of the top layer by using the simulation parameters corresponding to the top layer, the simulation result and the FSDB file of the top layer can be obtained. By splitting the original overall simulation, each part can be simulated in parallel after splitting, which significantly improves the post-simulation speed of the chip, so that the correctness of timing functions can be fully verified before the chip is taped out, and an accurate FSDB file is generated for Analysis of IR drop, power consumption, etc., thereby reducing chip cost.
其中,作为一种实施方式,针对每一个子模块,获取的该子模块对应的仿真所需的仿真参数,包括:模块测试文件、输入激励和输出参考值、模块网表以及模块SDF文件。相应地,利用该子模块对应的仿真参数对该子模块进行后仿真时,模块仿真环境读取该子模块对应的仿真参数模块测试文件、输入激励和输出参考值、模块网表以及模块SDF文件进行后仿真,得到仿真结果和FSDB文件。其过程可以是模块仿真环境对该子模块对应的模块网表、模块测试文件进行编译生成仿真电路可执行文件,然后根据模块SDF文件在仿真电路中反标标准单元(cell)和标准单元间的连线(net)的延时信息,并运行,在运行的过程中,将输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。其中,利用该子模块对应的仿真参数对该子模块进行后仿真,除了可以得到对应的仿真结果,还可以得到模块快速信号数据库(FSDB)文件,也即利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和模块FSDB文件。其中,FSDB文件是一种波形文件格式,用来记录信号随时间的变化情况,用于后续模块功耗分析和IR drop分析。Wherein, as an implementation manner, for each submodule, the acquired simulation parameters required for the simulation corresponding to the submodule include: module test file, input excitation and output reference values, module netlist, and module SDF file. Correspondingly, when the sub-module is post-simulated by using the simulation parameters corresponding to the sub-module, the module simulation environment reads the simulation parameter module test file, input excitation and output reference value, module netlist and module SDF file corresponding to the sub-module. Perform post-simulation to obtain simulation results and FSDB files. The process can be that the module simulation environment compiles the module netlist and module test file corresponding to the sub-module to generate the simulation circuit executable file, and then back-labels the standard cell (cell) and the standard cell in the simulation circuit according to the module SDF file. The delay information of the connection (net), and run, in the process of running, load the input excitation to each input pin of the simulation circuit, and compare the output value of the simulation circuit with the corresponding output reference value, Obtain the corresponding simulation results and FSDB files. Wherein, using the simulation parameters corresponding to the sub-module to perform post-simulation on the sub-module, in addition to obtaining the corresponding simulation results, the module fast signal database (FSDB) file can also be obtained, that is, using the simulation parameters corresponding to the sub-module for this sub-module. After the sub-module is simulated, the corresponding simulation results and the module FSDB file are obtained. Among them, the FSDB file is a waveform file format, which is used to record the change of the signal over time for subsequent module power consumption analysis and IR drop analysis.
其中,作为又一种实施方式,针对每一个子模块,获取的该子模块对应的仿真所需的仿真参数,包括:模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件。相应地,利用该子模块对应的仿真参数对该子模块进行后仿真时,模块仿真环境读取该子模块对应的仿真参数模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件进行后仿真,得到仿真结果和FSDB文件。其过程可以是模块仿真环境对该子模块对应的模块网表、模块测试文件进行编译生成仿真电路可执行文件,然后根据模块SDF文件在仿真电路中反标标准单元(cell)和标准单元间的连线(net)的延时信息,以及根据所述寄存器扫描链信息对所述仿真电路中的寄存器进行赋值并运行,在运行的过程中,将输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。其中,通过根据寄存器扫描链信息对仿真电路中的寄存器进行赋值的方式可以跳过基于输入激励中的复位信息进行初始化的过程,提高仿真速度。其中,输入激励中的复位信息用于对该仿真电路进行复位(初始化),复位后各部分按正常运行。Wherein, as another implementation manner, for each sub-module, the acquired simulation parameters required for the simulation corresponding to the sub-module include: module test file, register scan chain information, input excitation and output reference values, module netlist and module SDF files. Correspondingly, when the sub-module is post-simulated using the simulation parameters corresponding to the sub-module, the module simulation environment reads the simulation parameters corresponding to the sub-module. The module test file, register scan chain information, input excitation and output reference values, module network The table and module SDF files are post-simulated, and the simulation results and FSDB files are obtained. The process can be that the module simulation environment compiles the module netlist and module test file corresponding to the sub-module to generate the simulation circuit executable file, and then back-labels the standard cell (cell) and the standard cell in the simulation circuit according to the module SDF file. Delay information of the connection (net), and assign values to the registers in the simulation circuit according to the register scan chain information and run, and in the process of running, load the input excitation to each input pin of the simulation circuit , and compare the output value of the simulation circuit with the corresponding output reference value to obtain the corresponding simulation result and FSDB file. The process of initializing based on the reset information in the input excitation can be skipped by assigning values to the registers in the simulation circuit according to the register scan chain information, thereby improving the simulation speed. The reset information in the input excitation is used to reset (initialize) the simulation circuit, and each part operates normally after reset.
获取的顶层仿真所需的仿真参数包括顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件。相应地,利用顶层对应的仿真参数对顶层进行后仿真,相当于,顶层仿真环境读取顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件进行后仿真,得到顶层仿真结果和FSDB文件。其过程可以是,顶层仿真环境对顶层网表、顶层测试文件进行编译生成仿真电路可执行文件,然后根据顶层SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行,在运行的过程中,将所有子模块的输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。其中,利用顶层对应的仿真参数对顶层进行后仿真,除了可以得到对应的顶层仿真结,还可以得到顶层快速信号数据库(FSDB)文件,也即利用顶层对应的仿真参数对顶层进行后仿真,得到对应的顶层仿真结果和顶层FSDB文件。The obtained simulation parameters required for the top-level simulation include the top-level test file, input stimulus and output reference values for all submodules, the top-level netlist, and the top-level SDF file. Correspondingly, using the simulation parameters corresponding to the top layer to perform post-simulation on the top layer, which is equivalent to that the top-level simulation environment reads the top-level test file, the input excitation and output reference values of all sub-modules, the top-level netlist and the top-level SDF file for post-simulation, and obtains Top-level simulation results and FSDB files. The process can be that the top-level simulation environment compiles the top-level netlist and the top-level test file to generate a simulation circuit executable file, and then inverses the delay information of the connection between the standard cell and the standard cell in the simulation circuit according to the top-level SDF file, And run, in the process of running, load the input excitation of all sub-modules to each input pin of the simulation circuit, and compare the output value of the simulation circuit with the corresponding output reference value to obtain the corresponding simulation results and FSDB file. Among them, using the simulation parameters corresponding to the top layer to perform post-simulation on the top layer, in addition to obtaining the corresponding top-level simulation results, the top-level fast signal database (FSDB) file can also be obtained. Corresponding top-level simulation results and top-level FSDB files.
其整个仿真过程的流程图可以用图4进行说明,整个过程可以概括为A、B、C、D四部分。其中,A、B为仿真准备阶段,用于得到顶层和各个子模块在进行后仿真时所需的测试文件以及输入激励和输出参考值,也即用于得到各个子模块各自仿真时所需的模块测试文件、输入激励和输出参考值,以及得到顶层仿真时所需的顶层测试文件、所有子模块的输入激励和输出参考值。C部分表示的是各个子模块进行后仿真的过程,D部分表示的是顶层进行后仿真的部分。其中,不同子模块进行后仿真时对应的模块仿真环境不同。The flow chart of the whole simulation process can be illustrated in Figure 4, and the whole process can be summarized as four parts A, B, C and D. Among them, A and B are the simulation preparation stages, which are used to obtain the test files and input excitation and output reference values required by the top-level and each sub-module during post-simulation, that is, to obtain the required simulation values of each sub-module. Module test files, input stimuli, and output references, as well as top-level test files, input stimuli, and output references for all submodules needed to get the top-level simulation. Part C represents the post-simulation process of each sub-module, and part D represents the post-simulation part at the top level. Among them, the corresponding module simulation environments are different when different sub-modules perform post-simulation.
由于顶层和各个子模块在进行后仿真时是基于各自独立的网表进行的,使得各子模块和顶层可以并行进行仿真,通过在寄存器传输级(RTL)仿真中提取各子模块各自的输入激励(输入pattern)和输出参考值(输出pattern)、然后利用每个子模块的输入pattern作为激励对该子模块进行后仿真,通过判断该子模块的输出和输出pattern的一致性来评价仿真是否通过,以及利用各个子模块的输入pattern作为激励对顶层进行后仿真,通过判断顶层的输出和对应的输出pattern的一致性来评价仿真是否通过,使得各子模块和顶层可以并行进行仿真,解决了大规模集成电路后仿真慢,超大规模难以实现后仿真的问题,并且能快速产生FSDB文件,用于功耗分析和IR drop分析。Since the top-level and each sub-module are based on their independent netlists during post-simulation, each sub-module and top-level can be simulated in parallel. (input pattern) and output reference value (output pattern), then use the input pattern of each sub-module as an incentive to perform post-simulation on the sub-module, and evaluate whether the simulation passes by judging the consistency of the output and output pattern of the sub-module, And use the input pattern of each sub-module as an incentive to perform post-simulation on the top layer, and evaluate whether the simulation passes by judging the consistency of the output of the top layer and the corresponding output pattern, so that each sub-module and the top layer can be simulated in parallel, solving large-scale problems. The post-simulation of the integrated circuit is slow, and it is difficult to realize the post-simulation problem on a large scale, and the FSDB file can be quickly generated for power consumption analysis and IR drop analysis.
本申请实施例还提供了一种集成电路后仿真装置100,如图5所示。该集成电路后仿真装置100包括:获取模块110、仿真模块120。The embodiment of the present application further provides a post-integrated
获取模块110,用于获取待进行后仿真的集成电路中顶层和各子模块各自仿真所需的包括网表在内的仿真参数,其中,顶层和各个子模块各自对应的网表彼此独立且相互不同。The
仿真模块120,用于针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和FSDB文件,以及利用所述顶层对应的仿真参数对所述顶层进行后仿真,得到所述顶层的仿真结果和FSDB文件。The
其中,可选地,获取模块110,用于针对每一个子模块,获取该子模块对应的模块测试文件、输入激励和输出参考值、模块网表以及模块SDF文件;相应地,仿真模块120,用于:对所述模块网表、所述模块测试文件进行编译生成仿真电路可执行文件;根据所述模块SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行;在运行的过程中,将所述输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。Wherein, optionally, the
可选地,获取模块110,具体用于:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到该子模块对应的模块测试文件和用于抓取该子模块的输入激励和输出参考值的脚本;利用抓取该子模块的输入激励和输出参考值的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的数据,得到该子模块的所述输入激励和输出参考值。Optionally, the obtaining
可选地,获取模块110,用于针对每一个子模块获取该子模块对应的模块测试文件、寄存器扫描链信息、输入激励和输出参考值、模块网表以及模块SDF文件;相应地,仿真模块120用于:对所述模块网表、所述模块测试文件进行编译生成仿真电路可执行文件;根据所述模块SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,以及根据所述寄存器扫描链信息对所述仿真电路中的寄存器进行赋值,并运行;在运行的过程中,将所述输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。Optionally, the obtaining
可选地,获取模块110,具体用于:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到该子模块对应的模块测试文件、用于抓取该子模块指定时刻的输入激励和输出参考值的脚本,以及根据所述集成电路的网表、所述SDC约束文件,得到用于抓取该子模块指定时刻的寄存器扫描链信息的脚本;利用抓取该子模块指定时刻的输入激励和输出参考值的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的数据,得到该子模块指定时刻的所述输入激励和输出参考值,以及利用所述抓取该子模块指定时刻的寄存器扫描链信息的脚本去获取所述RTL代码运行所述前仿真测试用例时产生的指定时刻的寄存器值、,得到该子模块指定时刻的寄存器扫描链信息。Optionally, the obtaining
可选地,获取模块110,用于获取所述顶层的顶层测试文件、所有子模块的输入激励和输出参考值、顶层网表以及顶层SDF文件;相应地,仿真模块120,用于:对所述顶层网表、所述顶层测试文件进行编译生成仿真电路可执行文件;根据所述顶层SDF文件在仿真电路中反标标准单元和标准单元间的连线的延时信息,并运行;在运行的过程中,将所述所有子模块的输入激励加载至该仿真电路的各个输入管脚,并将该仿真电路输出的值与对应的输出参考值进行比较,得到对应的仿真结果和FSDB文件。Optionally, the
可选地,获取模块110,具体用于:获取所述集成电路的网表、SPEF文件、SDC约束文件、RTL代码以及前仿真测试用例;根据所述集成电路的网表、所述SPEF文件、所述SDC约束文件,得到用于抓取所有子模块的输入激励和输出参考值的脚本以及各个子模块各自的IO延时信号和对应的时钟域信号;根据各个子模块各自的IO延时信号和对应的时钟域信号生成用于对仿真流程起控制作用的所述顶层测试文件;利用所述抓取所有子模块的输入激励和输出参考值的脚本去获取所述RTL代码以及运行所述前仿真测试用例时产生的数据,得到所述所有子模块的输入激励和输出参考值。Optionally, the obtaining
本申请实施例所提供的集成电路后仿真装置100其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。The implementation principle and the technical effects of the integrated
如图6所示,图6示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。As shown in FIG. 6 , FIG. 6 shows a structural block diagram of an
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图5中所示的软件功能模块,即集成电路后仿真装置100。其中,集成电路后仿真装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如集成电路后仿真装置100包括的软件功能模块或计算机程序。例如,处理器240,用于获取待进行后仿真的集成电路中顶层和各子模块各自仿真所需的包括网表在内的仿真参数,其中,顶层和各个子模块各自对应的网表彼此独立且相互不同;针对每一个子模块,利用该子模块对应的仿真参数对该子模块进行后仿真,得到对应的仿真结果和FSDB文件,以及利用所述顶层对应的仿真参数对所述顶层进行后仿真,得到所述顶层的仿真结果和FSDB文件。The
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。Wherein, the
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。The
其中,上述的电子设备200,包括但不限于计算机、服务器等。The above-mentioned
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的集成电路后仿真方法。Embodiments of the present application also provide a non-volatile computer-readable storage medium (hereinafter referred to as storage medium), where a computer program is stored on the storage medium, and the computer program is executed by a computer such as the above-mentioned
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. For the same and similar parts of the various embodiments, refer to each other Can.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may also be implemented in other manners. The apparatus embodiments described above are merely illustrative, for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architectures, functions and possible implementations of apparatuses, methods and computer program products according to various embodiments of the present application. operate. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more functions for implementing the specified logical function(s) executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented in dedicated hardware-based systems that perform the specified functions or actions , or can be implemented in a combination of dedicated hardware and computer instructions.
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。In addition, each functional module in each embodiment of the present application may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions are implemented in the form of software function modules and sold or used as independent products, they may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a notebook computer, a server, or an electronic device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited to this. should be covered within the scope of protection of this application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010963765.0A CN112100952B (en) | 2020-09-14 | 2020-09-14 | A kind of integrated circuit post-simulation method, device, electronic device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010963765.0A CN112100952B (en) | 2020-09-14 | 2020-09-14 | A kind of integrated circuit post-simulation method, device, electronic device and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100952A true CN112100952A (en) | 2020-12-18 |
CN112100952B CN112100952B (en) | 2021-06-22 |
Family
ID=73751620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010963765.0A Active CN112100952B (en) | 2020-09-14 | 2020-09-14 | A kind of integrated circuit post-simulation method, device, electronic device and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100952B (en) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668259A (en) * | 2020-12-24 | 2021-04-16 | 北京华大九天科技股份有限公司 | System verification method of post-simulation netlist |
CN112732636A (en) * | 2021-01-11 | 2021-04-30 | 上海金卓科技有限公司 | Configuration method, device and equipment of chip prototype verification system based on multiple FPGAs |
CN112765916A (en) * | 2021-01-22 | 2021-05-07 | 上海华虹宏力半导体制造有限公司 | Generation method of post-simulation parameter netlist of integrated circuit |
CN113065300A (en) * | 2021-03-31 | 2021-07-02 | 眸芯科技(上海)有限公司 | Method, system and device for backtracking simulation waveform in chip EDA (electronic design automation) simulation |
CN113283211A (en) * | 2021-05-20 | 2021-08-20 | 复旦大学 | Microprocessor automatic verification method and verification device based on Verilog |
CN113342583A (en) * | 2021-06-08 | 2021-09-03 | 海光信息技术股份有限公司 | Chip verification system, method, device, equipment and storage medium |
CN113468837A (en) * | 2021-05-10 | 2021-10-01 | 浙江大学 | Method and system for estimating salient fast current of chip power supply network |
CN113536717A (en) * | 2021-07-14 | 2021-10-22 | 北京华大九天科技股份有限公司 | Circuit simulation method based on incremental compilation |
CN113723033A (en) * | 2021-07-30 | 2021-11-30 | 北京爱芯科技有限公司 | Low-power-consumption verification method and device, electronic equipment and storage medium |
CN114117985A (en) * | 2021-12-03 | 2022-03-01 | 芯格(上海)微电子有限公司 | Intelligent verification method, system, medium and terminal equipment of integrated operational amplifier |
CN114239477A (en) * | 2021-12-09 | 2022-03-25 | 海光信息技术股份有限公司 | Hardware connection checking method, device, storage medium and electronic device |
CN114236359A (en) * | 2021-12-21 | 2022-03-25 | 无锡江南计算技术研究所 | Novel integrated circuit test excitation generation method for ATE test equipment |
CN114460436A (en) * | 2021-12-22 | 2022-05-10 | 中国电子科技集团公司第五十八研究所 | A method of adaptively generating ATE test code in EDA simulation |
CN114548006A (en) * | 2022-02-24 | 2022-05-27 | 海光信息技术股份有限公司 | Verification method and device for integrated circuit, electronic equipment and storage medium |
CN114580339A (en) * | 2022-02-28 | 2022-06-03 | 海光信息技术股份有限公司 | Signal line electromigration inspection method and device, electronic device and storage medium |
CN114626324A (en) * | 2022-02-24 | 2022-06-14 | 深圳市紫光同创电子有限公司 | FPGA circuit post-simulation verification method, device, electronic device and storage medium |
CN114692533A (en) * | 2022-03-18 | 2022-07-01 | 眸芯科技(上海)有限公司 | Method and device for checking clock in chip EDA simulation |
CN115146582A (en) * | 2022-08-02 | 2022-10-04 | 上海壁仞智能科技有限公司 | Simulation method and simulation device, electronic device and computer-readable storage medium |
CN115238619A (en) * | 2022-09-20 | 2022-10-25 | 北京数字光芯集成电路设计有限公司 | Sub-module post-simulation method and system for digital chips |
CN115796086A (en) * | 2022-11-03 | 2023-03-14 | 芯格(上海)微电子有限公司 | Simulation verification method, system, medium and device for LDO (low dropout regulator) with trimming pin |
CN115983170A (en) * | 2023-03-17 | 2023-04-18 | 中国人民解放军国防科技大学 | Super-front-back simulation method, device and equipment for very large-scale integrated circuits |
CN116451625A (en) * | 2023-06-14 | 2023-07-18 | 摩尔线程智能科技(北京)有限责任公司 | Apparatus and method for joint simulation of RTL and netlist with SDF |
CN116542032A (en) * | 2023-04-24 | 2023-08-04 | 广州市粤港澳大湾区前沿创新技术研究院 | Chip integrated design method and system |
CN118535132A (en) * | 2024-07-25 | 2024-08-23 | 北京思凌科半导体技术有限公司 | Integrated circuit design method, device, equipment and medium based on multiple intelligent agents |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150440A (en) * | 2013-03-14 | 2013-06-12 | 福州瑞芯微电子有限公司 | Simulation method of module-level circuit netlist |
CN104331546A (en) * | 2014-10-22 | 2015-02-04 | 中国空间技术研究院 | Digital customized integrated circuit back end layout design evaluation method for space vehicle |
CN104899076A (en) * | 2015-06-18 | 2015-09-09 | 中国科学院自动化研究所 | Super-large-scale integrated circuit gate-level net list simulation acceleration method |
CN105138774A (en) * | 2015-08-25 | 2015-12-09 | 中山大学 | Timing sequence post-simulation method based on integrated circuit hiberarchy design |
CN108052769A (en) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | Netlist emulation verification method and device |
-
2020
- 2020-09-14 CN CN202010963765.0A patent/CN112100952B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150440A (en) * | 2013-03-14 | 2013-06-12 | 福州瑞芯微电子有限公司 | Simulation method of module-level circuit netlist |
CN104331546A (en) * | 2014-10-22 | 2015-02-04 | 中国空间技术研究院 | Digital customized integrated circuit back end layout design evaluation method for space vehicle |
CN104899076A (en) * | 2015-06-18 | 2015-09-09 | 中国科学院自动化研究所 | Super-large-scale integrated circuit gate-level net list simulation acceleration method |
CN105138774A (en) * | 2015-08-25 | 2015-12-09 | 中山大学 | Timing sequence post-simulation method based on integrated circuit hiberarchy design |
CN108052769A (en) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | Netlist emulation verification method and device |
Non-Patent Citations (1)
Title |
---|
李学建: "《面向卫星导航终端应用的发射机射频前端芯片设计》", 《万方数据》 * |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668259A (en) * | 2020-12-24 | 2021-04-16 | 北京华大九天科技股份有限公司 | System verification method of post-simulation netlist |
CN112732636A (en) * | 2021-01-11 | 2021-04-30 | 上海金卓科技有限公司 | Configuration method, device and equipment of chip prototype verification system based on multiple FPGAs |
CN112732636B (en) * | 2021-01-11 | 2023-05-30 | 北京东土军悦科技有限公司 | Configuration method, device and equipment of chip prototype verification system based on multiple FPGAs |
CN112765916A (en) * | 2021-01-22 | 2021-05-07 | 上海华虹宏力半导体制造有限公司 | Generation method of post-simulation parameter netlist of integrated circuit |
CN112765916B (en) * | 2021-01-22 | 2024-02-20 | 上海华虹宏力半导体制造有限公司 | Method for generating simulation parameter netlist after integrated circuit |
CN113065300A (en) * | 2021-03-31 | 2021-07-02 | 眸芯科技(上海)有限公司 | Method, system and device for backtracking simulation waveform in chip EDA (electronic design automation) simulation |
CN113065300B (en) * | 2021-03-31 | 2024-01-05 | 眸芯科技(上海)有限公司 | Method, system and device for backtracking simulation waveform in chip EDA simulation |
CN113468837A (en) * | 2021-05-10 | 2021-10-01 | 浙江大学 | Method and system for estimating salient fast current of chip power supply network |
CN113468837B (en) * | 2021-05-10 | 2023-11-03 | 浙江大学 | A method and system for estimating bump current in chip power supply network |
CN113283211A (en) * | 2021-05-20 | 2021-08-20 | 复旦大学 | Microprocessor automatic verification method and verification device based on Verilog |
CN113342583A (en) * | 2021-06-08 | 2021-09-03 | 海光信息技术股份有限公司 | Chip verification system, method, device, equipment and storage medium |
CN113536717A (en) * | 2021-07-14 | 2021-10-22 | 北京华大九天科技股份有限公司 | Circuit simulation method based on incremental compilation |
CN113723033A (en) * | 2021-07-30 | 2021-11-30 | 北京爱芯科技有限公司 | Low-power-consumption verification method and device, electronic equipment and storage medium |
CN114117985A (en) * | 2021-12-03 | 2022-03-01 | 芯格(上海)微电子有限公司 | Intelligent verification method, system, medium and terminal equipment of integrated operational amplifier |
CN114117985B (en) * | 2021-12-03 | 2024-04-05 | 芯格(上海)微电子有限公司 | Intelligent verification method, system, medium and terminal equipment for integrated operational amplifier |
CN114239477A (en) * | 2021-12-09 | 2022-03-25 | 海光信息技术股份有限公司 | Hardware connection checking method, device, storage medium and electronic device |
CN114236359A (en) * | 2021-12-21 | 2022-03-25 | 无锡江南计算技术研究所 | Novel integrated circuit test excitation generation method for ATE test equipment |
CN114236359B (en) * | 2021-12-21 | 2023-08-08 | 无锡江南计算技术研究所 | ATE test equipment-oriented integrated circuit test excitation generation method |
CN114460436A (en) * | 2021-12-22 | 2022-05-10 | 中国电子科技集团公司第五十八研究所 | A method of adaptively generating ATE test code in EDA simulation |
CN114548006B (en) * | 2022-02-24 | 2025-02-07 | 海光信息技术股份有限公司 | Integrated circuit verification method, device, electronic device, and storage medium |
CN114626324A (en) * | 2022-02-24 | 2022-06-14 | 深圳市紫光同创电子有限公司 | FPGA circuit post-simulation verification method, device, electronic device and storage medium |
CN114626324B (en) * | 2022-02-24 | 2023-12-12 | 深圳市紫光同创电子有限公司 | FPGA circuit post-simulation verification method, device, electronic equipment and storage medium |
CN114548006A (en) * | 2022-02-24 | 2022-05-27 | 海光信息技术股份有限公司 | Verification method and device for integrated circuit, electronic equipment and storage medium |
CN114580339A (en) * | 2022-02-28 | 2022-06-03 | 海光信息技术股份有限公司 | Signal line electromigration inspection method and device, electronic device and storage medium |
CN114692533A (en) * | 2022-03-18 | 2022-07-01 | 眸芯科技(上海)有限公司 | Method and device for checking clock in chip EDA simulation |
CN115146582A (en) * | 2022-08-02 | 2022-10-04 | 上海壁仞智能科技有限公司 | Simulation method and simulation device, electronic device and computer-readable storage medium |
CN115238619A (en) * | 2022-09-20 | 2022-10-25 | 北京数字光芯集成电路设计有限公司 | Sub-module post-simulation method and system for digital chips |
CN115238619B (en) * | 2022-09-20 | 2023-06-27 | 北京数字光芯集成电路设计有限公司 | Post-module simulation method and system for digital chip |
CN115796086A (en) * | 2022-11-03 | 2023-03-14 | 芯格(上海)微电子有限公司 | Simulation verification method, system, medium and device for LDO (low dropout regulator) with trimming pin |
CN115983170B (en) * | 2023-03-17 | 2023-06-16 | 中国人民解放军国防科技大学 | Ultra-Large-Scale Integrated Circuit Super-Simulation Method, Device and Equipment |
CN115983170A (en) * | 2023-03-17 | 2023-04-18 | 中国人民解放军国防科技大学 | Super-front-back simulation method, device and equipment for very large-scale integrated circuits |
CN116542032A (en) * | 2023-04-24 | 2023-08-04 | 广州市粤港澳大湾区前沿创新技术研究院 | Chip integrated design method and system |
CN116542032B (en) * | 2023-04-24 | 2024-04-09 | 广州市粤港澳大湾区前沿创新技术研究院 | Chip integrated design method and system |
CN116451625B (en) * | 2023-06-14 | 2023-09-15 | 摩尔线程智能科技(北京)有限责任公司 | Apparatus and method for joint simulation of RTL and netlist with SDF |
CN116451625A (en) * | 2023-06-14 | 2023-07-18 | 摩尔线程智能科技(北京)有限责任公司 | Apparatus and method for joint simulation of RTL and netlist with SDF |
CN118535132A (en) * | 2024-07-25 | 2024-08-23 | 北京思凌科半导体技术有限公司 | Integrated circuit design method, device, equipment and medium based on multiple intelligent agents |
CN118535132B (en) * | 2024-07-25 | 2024-10-01 | 北京思凌科半导体技术有限公司 | Integrated circuit design method, device, equipment and medium based on multiple intelligent agents |
Also Published As
Publication number | Publication date |
---|---|
CN112100952B (en) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100952A (en) | Post-simulation method and device for integrated circuit, electronic equipment and storage medium | |
US9361415B1 (en) | Method, system, and computer program product for implementing a multi-fabric electronic design spanning across multiple design fabrics | |
US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
CN103678745B (en) | Cross-platform multi-level integrated design system for FPGA | |
JP4994393B2 (en) | System and method for generating multiple models at different levels of abstraction from a single master model | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
CN108830008A (en) | Test method and test system for full model of standard cell library | |
CN112417798B (en) | Time sequence testing method and device, electronic equipment and storage medium | |
JP2001189387A (en) | Method and system for verifying design of system on chip | |
JPH05143674A (en) | Automatic logic-model forming method based on circuit graphic database | |
CN112949233A (en) | Automatic development method and device of FPGA chip and electronic equipment | |
CN113343629B (en) | Integrated circuit verification method, code generation method, system, device, and medium | |
CN105868114A (en) | FPGA software system and all module testing system and method thereof | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
CN118571297B (en) | A storage circuit verification method and computing device | |
WO2023245719A1 (en) | Performance check method for timing logic element, and device | |
CN113569524A (en) | Method for extracting clock tree based on comprehensive netlist in chip design and application | |
CN115935870B (en) | Power consumption analysis method, device, electronic equipment and storage medium | |
CN118052196A (en) | Chip verification test method and device based on UVM and electronic equipment | |
CN116048952A (en) | A method and device for instantiating module simulation verification based on tailorable IP | |
CN112861455B (en) | FPGA modeling verification system and method | |
CN106100920A (en) | A kind of reusable model verification method of network interconnection chip | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
CN101794328B (en) | Fast and accurate estimation of gate output loading | |
Choi et al. | Early HW/SW co-verification using virtual platforms |
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 |