CN115659885A - Systems and methods for simulation testing - Google Patents
Systems and methods for simulation testing Download PDFInfo
- Publication number
- CN115659885A CN115659885A CN202211702299.6A CN202211702299A CN115659885A CN 115659885 A CN115659885 A CN 115659885A CN 202211702299 A CN202211702299 A CN 202211702299A CN 115659885 A CN115659885 A CN 115659885A
- Authority
- CN
- China
- Prior art keywords
- write
- stimulus
- excitation
- read
- signal
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 246
- 238000004088 simulation Methods 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 124
- 238000013461 design Methods 0.000 claims abstract description 95
- 239000013598 vector Substances 0.000 claims description 123
- 230000005284 excitation Effects 0.000 claims description 102
- 230000008569 process Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 19
- 238000007781 pre-processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000006399 behavior Effects 0.000 abstract description 10
- 208000005017 glioblastoma Diseases 0.000 description 51
- 230000003993 interaction Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010998 test method Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例涉及集成电路领域,提供了一种仿真测试的系统和方法,该系统包括在软件侧实现的激励发生器和调度器以及在硬件侧实现的通用总线模型,其中,激励发生器用于生成激励文件;调度器用于将激励文件加载到通用总线模型;通用总线模型用于根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试;通用总线模型还用于接收响应信号,并根据响应信号确定仿真测试的结果。通过该方案,能够使得所有仿真行为均在硬件环境中完成,实现软件与硬件的解耦,提高仿真测试的效率。
The embodiment of the present application relates to the field of integrated circuits, and provides a system and method for simulation testing. The system includes a stimulus generator and a scheduler implemented on the software side and a general bus model implemented on the hardware side, wherein the stimulus generator is used for Generate stimulus files; the scheduler is used to load the stimulus files into the generic bus model; the generic bus model is used to generate stimulus signals based on the stimulus files and send the stimulus signals to the design under test for simulation testing; the generic bus model is also used to receive responses signal, and determine the result of the simulation test based on the response signal. Through this solution, all simulation behaviors can be completed in the hardware environment, the decoupling of software and hardware can be realized, and the efficiency of simulation testing can be improved.
Description
技术领域technical field
本申请涉及集成电路技术领域,并且更为具体地,涉及一种仿真测试的系统和方法。The present application relates to the technical field of integrated circuits, and more specifically, to a system and method for simulation testing.
背景技术Background technique
随着大规模集成电路(integrated circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量以及上市时间,需要对芯片进行准确快速的仿真测试。硬件仿真加速(emulation)技术通过将待测设计(design under test,DUT)映射到硬件仿真器(emulator)的硬件平台上,能够提高DUT的逻辑规模和运行速度。但是,由于DUT输入信号的产生以及输出信号的处理都需要在软件环境中进行,导致芯片仿真测试的速度受限于软件侧的运行速度。因此,如何提高芯片仿真测试的效率成为亟需解决的技术问题。With the development of large-scale integrated circuit (integrated circuit, IC) technology, the logic scale of the chip and the complexity of the circuit are getting higher and higher. In order to ensure the quality of the chip and the time to market, it is necessary to conduct accurate and fast simulation tests on the chip. Hardware emulation acceleration (emulation) technology can improve the logic scale and running speed of the DUT by mapping the design under test (DUT) to the hardware platform of the emulator. However, since the generation of the DUT input signal and the processing of the output signal need to be carried out in the software environment, the speed of the chip simulation test is limited by the running speed of the software side. Therefore, how to improve the efficiency of chip simulation testing has become an urgent technical problem to be solved.
发明内容Contents of the invention
本申请实施例提供一种仿真测试的系统和方法,可以使得所有仿真行为均在硬件环境中完成,实现软件与硬件的解耦,提高仿真测试的效率。Embodiments of the present application provide a system and method for simulation testing, which can enable all simulation behaviors to be completed in a hardware environment, realize decoupling of software and hardware, and improve the efficiency of simulation testing.
第一方面,提供一种仿真测试的系统,包括在软件侧实现的激励发生器和调度器以及在硬件侧实现的通用总线模型,其中,激励发生器,用于生成激励文件,激励文件用于指示对待测设计进行仿真测试的操作;调度器,用于将激励文件加载到通用总线模型;通用总线模型,用于根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试;通用总线模型,还用于接收响应信号,并根据响应信号确定仿真测试的结果,其中,响应信号是待测设计根据激励信号发送的输出信号。In the first aspect, a simulation test system is provided, including a stimulus generator and a scheduler implemented on the software side and a general bus model implemented on the hardware side, wherein the stimulus generator is used to generate stimulus files, and the stimulus files are used for Indicates the operation of the simulation test of the design under test; the scheduler is used to load the stimulus file to the general bus model; the general bus model is used to generate the stimulus signal according to the stimulus file and send the stimulus signal to the design under test for simulation testing ; The general bus model is also used to receive the response signal and determine the result of the simulation test according to the response signal, wherein the response signal is an output signal sent by the design under test according to the excitation signal.
根据本申请提供的技术方案,仿真测试系统能够在硬件环境中实现激励信号的产生以及响应信号的接收过程,使得所有仿真行为均在硬件环境中完成,避免硬件与软件的频繁交互,提高仿真测试的运算速度,同时实现软件与硬件的解耦,提高可仿真测试的逻辑规模,从而提高仿真测试的效率。According to the technical solution provided by this application, the simulation test system can realize the generation of the excitation signal and the receiving process of the response signal in the hardware environment, so that all simulation behaviors are completed in the hardware environment, avoiding frequent interaction between hardware and software, and improving simulation testing. At the same time, it realizes the decoupling of software and hardware, increases the logic scale of simulation test, and improves the efficiency of simulation test.
结合第一方面,在第一方面的某些实现方式中,激励文件包括写激励向量,用于指示对待测设计进行写操作,激励信号包括写地址通道信号和写数据通道信号,响应信号包括写响应通道信号,通用总线模型,包括:写激励存储模块,用于存储写激励向量;写通道解码模块,用于解码写激励向量,以产生写地址通道信号和写数据通道信号,其中,写地址通道信号用于指示向待测设计写入数据的地址,写数据通道信号用于指示向待测设计写入的数据;写地址控制模块,用于向待测设计发送写地址通道信号;写数据控制模块,用于向待测设计发送写数据通道信号;写响应记录模块,用于接收写响应通道信号,写响应通道信号用于指示写操作是否成功。With reference to the first aspect, in some implementations of the first aspect, the stimulus file includes a write stimulus vector for instructing a write operation on the design under test, the stimulus signal includes a write address channel signal and a write data channel signal, and the response signal includes a write Response channel signal, general bus model, including: write stimulus storage module, used to store write stimulus vector; write channel decoding module, used to decode write stimulus vector, to generate write address channel signal and write data channel signal, wherein, write address The channel signal is used to indicate the address of writing data to the design under test, and the write data channel signal is used to indicate the data written to the design under test; the write address control module is used to send the write address channel signal to the design under test; the write data The control module is used to send the write data channel signal to the design under test; the write response recording module is used to receive the write response channel signal, and the write response channel signal is used to indicate whether the write operation is successful.
根据本申请提供的技术方案,通用总线模型能够在硬件环境中解析写激励向量,并利用标准协议提供的硬件接口与DUT进行信号交互,从而由硬件实现写操作的仿真测试,验证DUT写操作的正确性。According to the technical solution provided by this application, the universal bus model can analyze the write stimulus vector in the hardware environment, and use the hardware interface provided by the standard protocol to perform signal interaction with the DUT, thereby realizing the simulation test of the write operation by the hardware and verifying the DUT write operation. correctness.
结合第一方面,在第一方面的某些实现方式中,写激励存储模块还用于:当满足写激励向量的触发条件时,向写通道解码模块发送写激励向量。With reference to the first aspect, in some implementation manners of the first aspect, the write incentive storage module is further configured to: when a trigger condition of the write incentive vector is met, send the write incentive vector to the write channel decoding module.
根据本申请提供的技术方案,通用总线模型能够调度写激励向量的触发时机与顺序,从而提高可仿真场景的多样性与真实性,提高仿真测试的效果。According to the technical solution provided by the present application, the universal bus model can schedule the timing and order of triggering the write stimulus vector, thereby increasing the diversity and authenticity of the simulatable scenarios and improving the effect of the simulation test.
结合第一方面,在第一方面的某些实现方式中,激励文件包括读激励向量,用于指示对待测设计进行读操作,激励信号包括读地址通道信号,响应信号包括读响应通道信号,通用总线模型,包括:读激励存储模块,用于存储读激励向量;读通道解码模块,用于解码读激励向量,以产生读地址通道信号,其中,读地址通道信号用于指示从待测设计读取数据的地址;读地址控制模块,用于向待测设计发送读地址通道信号;读响应记录模块,用于接收读响应通道信号,读响应通道信号用于指示读操作是否成功。In combination with the first aspect, in some implementations of the first aspect, the stimulus file includes a read stimulus vector, which is used to indicate the read operation of the design under test, the stimulus signal includes a read address channel signal, and the response signal includes a read response channel signal. The bus model includes: a read stimulus storage module for storing the read stimulus vector; a read channel decoding module for decoding the read stimulus vector to generate a read address channel signal, wherein the read address channel signal is used to indicate the read from the design under test The address for fetching data; the read address control module is used to send the read address channel signal to the design under test; the read response record module is used to receive the read response channel signal, and the read response channel signal is used to indicate whether the read operation is successful.
根据本申请提供的技术方案,通用总线模型能够在硬件环境中解析读激励向量,并利用标准协议提供的硬件接口与DUT进行信号交互,从而由硬件实现读操作的仿真测试,验证DUT读操作的正确性。According to the technical solution provided by this application, the universal bus model can analyze the read stimulus vector in the hardware environment, and use the hardware interface provided by the standard protocol to perform signal interaction with the DUT, thereby realizing the simulation test of the read operation by the hardware and verifying the read operation of the DUT. correctness.
结合第一方面,在第一方面的某些实现方式中,读激励存储模块还用于:当满足读激励向量的触发条件时,向读通道解码模块发送读激励向量。With reference to the first aspect, in some implementation manners of the first aspect, the read stimulus storage module is further configured to: send the read stimulus vector to the read channel decoding module when a trigger condition of the read stimulus vector is satisfied.
根据本申请提供的技术方案,通用总线模型能够调度读激励向量的触发时机与顺序,从而提高可仿真场景的多样性与真实性,提高仿真测试的效果。According to the technical solution provided by the present application, the universal bus model can schedule the timing and order of triggering the read stimulus vector, thereby increasing the diversity and authenticity of the simulatable scenarios and improving the effect of the simulation test.
结合第一方面,在第一方面的某些实现方式中,通用总线模型还包括过程监控模块,用于:根据响应信号,确定测试结果信息,测试结果信息用于指示仿真测试的结果;向调度器发送测试结果信息。In combination with the first aspect, in some implementations of the first aspect, the general bus model further includes a process monitoring module, configured to: determine test result information according to the response signal, and the test result information is used to indicate the result of the simulation test; The device sends the test result information.
根据本申请提供的技术方案,通用总线模型能够根据激励文件中每个读/写激励向量的响应结果确定该激励文件的测试结果,从而将待测系统发送的信号分析并转变为更直观测试结果信息,便于测试人员理解。According to the technical solution provided by this application, the universal bus model can determine the test result of the stimulus file according to the response result of each read/write stimulus vector in the stimulus file, so as to analyze and transform the signal sent by the system under test into a more intuitive test result Information, easy for testers to understand.
结合第一方面,在第一方面的某些实现方式中,调度器,还用于接收测试结果信息,并将测试结果信息上传至服务器。With reference to the first aspect, in some implementation manners of the first aspect, the scheduler is further configured to receive the test result information, and upload the test result information to the server.
根据本申请提供的技术方案,调度器能够获取通用总线模型发送的仿真测试结果,并上传至服务器或用户设备,从而使得用户能够在仿真测试结束后随时获取测试的结果。According to the technical solution provided by this application, the scheduler can obtain the simulation test results sent by the general bus model, and upload them to the server or user equipment, so that the user can obtain the test results at any time after the simulation test ends.
结合第一方面,在第一方面的某些实现方式中,调度器,还用于监控待测设计的运行状态,以使得用户根据运行状态调试待测设计。With reference to the first aspect, in some implementation manners of the first aspect, the scheduler is further configured to monitor the running state of the design under test, so that the user can debug the design under test according to the running state.
根据本申请提供的技术方案,调度器能够监控硬件逻辑运行中的关键信号,从而便于用户的测试人员在测试出现问题时快速定位问题的原因并进行调试,提高仿真测试的效率。According to the technical solution provided by this application, the scheduler can monitor the key signals in the hardware logic operation, so that the user's testers can quickly locate the cause of the problem and debug it when there is a problem in the test, and improve the efficiency of the simulation test.
结合第一方面,在第一方面的某些实现方式中,调度器,还用于向通用总线模型发送控制信号,控制信号用于控制通用总线模型启动或关闭。With reference to the first aspect, in some implementation manners of the first aspect, the scheduler is further configured to send a control signal to the general bus model, and the control signal is used to control the general bus model to start or stop.
根据本申请提供的技术方案,调度器能够控制通用总线模型的状态,使得测试过程自动完成,提升了用户的使用体验,同时能够调度多个待测芯片系统工作,从而提高可仿真场景的多样性与真实性,提高仿真测试的效果。According to the technical solution provided by this application, the scheduler can control the state of the general bus model, so that the test process is automatically completed, which improves the user experience, and at the same time can schedule the work of multiple chip systems to be tested, thereby increasing the diversity of simulatable scenarios And authenticity, improve the effect of simulation test.
结合第一方面,在第一方面的某些实现方式中,调度器,还用于向待测设计发送初始化信号,初始化信号用于将待测设计恢复为仿真测试前的状态。With reference to the first aspect, in some implementation manners of the first aspect, the scheduler is further configured to send an initialization signal to the design under test, and the initialization signal is used to restore the design under test to a state before the simulation test.
根据本申请提供的技术方案,调度器能够在一轮测试结束后或下一轮测试开始前将待测系统复原,使得整个系统能够在一轮仿真测试结束后更新激励文件并自动开始下一轮测试,从而提升仿真测试的效率。According to the technical solution provided by this application, the scheduler can restore the system under test after one round of testing is over or before the next round of testing starts, so that the entire system can update the stimulus file after a round of simulation testing and automatically start the next round Test, thereby improving the efficiency of simulation testing.
结合第一方面,在第一方面的某些实现方式中,激励发生器,包括:字段生成模块,用于根据约束文件,生成满足约束文件的指令字段,其中,约束文件用于指示指令字段的取值范围;字段拼接存储模块,用于拼接指令字段,以生成指令信息,指令信息用于指示通用总线模型对待测设计进行的操作。With reference to the first aspect, in some implementations of the first aspect, the stimulus generator includes: a field generation module, configured to generate an instruction field that satisfies the constraint file according to the constraint file, wherein the constraint file is used to indicate the Value range; the field splicing storage module is used for splicing instruction fields to generate instruction information, and the instruction information is used to indicate the operation performed by the general bus model on the design to be tested.
根据本申请提供的技术方案,激励发生器能够批量生成符合测试需求的激励文件,从而提高仿真测试的数据量,提高仿真测试的准确性。According to the technical solution provided by this application, the stimulus generator can generate stimulus files in batches that meet the test requirements, thereby increasing the data volume of the simulation test and improving the accuracy of the simulation test.
结合第一方面,在第一方面的某些实现方式中,字段拼接模块,还用于根据指令信息确定调试信息,调试信息用于解释指令信息的内容。With reference to the first aspect, in some implementation manners of the first aspect, the field splicing module is further configured to determine debugging information according to the instruction information, and the debugging information is used to explain content of the instruction information.
根据本申请提供的技术方案,激励发生器还能够生成用于解释指令信息内容的调试信息,从而使用户的测试人员能够快速理解激励文件指示待测设计进行的操作,便于调试待测设计。According to the technical solution provided by this application, the stimulus generator can also generate debugging information for explaining the content of instruction information, so that the user's tester can quickly understand the operation of the stimulus file instructing the design to be tested, and facilitate debugging of the design to be tested.
结合第一方面,在第一方面的某些实现方式中,激励发生器,还包括预处理模块,用于对指令字段进行预处理,以使其满足通用总线模型所用的标准协议。With reference to the first aspect, in some implementation manners of the first aspect, the stimulus generator further includes a preprocessing module, configured to preprocess the instruction field so that it meets the standard protocol used by the general bus model.
根据本申请提供的技术方案,激励发生器能够对随机生成的指令字段进行预处理,避免指令字段出现不符合待测设计所用的总线标准协议的情况,从而提高激励文件的准确性,提高仿真测试的效果。According to the technical solution provided by this application, the excitation generator can preprocess the randomly generated instruction fields to avoid the situation that the instruction field does not conform to the bus standard protocol used in the design to be tested, thereby improving the accuracy of the excitation file and improving the simulation test Effect.
结合第一方面,在第一方面的某些实现方式中,激励发生器,还包括约束格式自检模块,用于确定约束文件的格式是否正确。With reference to the first aspect, in some implementation manners of the first aspect, the stimulus generator further includes a constraint format self-inspection module, configured to determine whether the format of the constraint file is correct.
根据本申请提供的技术方案,激励发生器能够先对约束文件的正确性进行检验,避免用户输入的测试需求不符合待测设计所用的总线标准协议的情况,从而提高激励文件的准确性,提高仿真测试的效果。According to the technical solution provided by this application, the stimulus generator can first check the correctness of the constraint file to avoid the situation that the test requirements input by the user do not conform to the bus standard protocol used in the design to be tested, thereby improving the accuracy of the stimulus file and improving The effect of the simulation test.
结合第一方面,在第一方面的某些实现方式中,激励发生器生成的激励文件包括以下至少一种:随机地址激励、连续地址激励、加权地址激励。With reference to the first aspect, in some implementation manners of the first aspect, the incentive file generated by the incentive generator includes at least one of the following: random address incentives, continuous address incentives, and weighted address incentives.
根据本申请提供的技术方案,激励发生器能够生成多种类型的激励文件,使得仿真测试系统能够覆盖更多的测试场景,从而提高仿真测试的准确性。According to the technical solution provided by this application, the stimulus generator can generate various types of stimulus files, so that the simulation test system can cover more test scenarios, thereby improving the accuracy of the simulation test.
结合第一方面,在第一方面的某些实现方式中,通用总线模型由可综合代码编写。With reference to the first aspect, in some implementation manners of the first aspect, the general bus model is written by synthesizable code.
根据本申请提供的技术方案,通用总线模型由可综合的Verilog代码(或其它可由真实电路实现的语言)编写,使得通用总线模型和待测设计构成的测试平台能够应用于嵌入式的硬件仿真测试方法,进一步提高仿真测试的效率。According to the technical solution provided by this application, the general bus model is written by synthesizable Verilog code (or other languages that can be realized by real circuits), so that the test platform composed of the general bus model and the design to be tested can be applied to embedded hardware simulation testing method to further improve the efficiency of simulation testing.
第二方面,提供一种仿真测试的系统,该方法由仿真测试的系统执行,该系统包括在软件侧实现的激励发生器和调度器以及在硬件侧实现的通用总线模型,该方法包括:激励发生器生成激励文件,激励文件用于指示对待测设计进行仿真测试的操作;调度器将激励文件加载到通用总线模型;通用总线模型根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试;通用总线模型接收响应信号,并根据响应信号确定仿真测试的结果,其中,响应信号是待测设计根据激励信号发送的输出信号。In a second aspect, a system for simulation testing is provided, the method is executed by the system for simulation testing, the system includes an excitation generator and a scheduler implemented on the software side and a general bus model implemented on the hardware side, the method includes: The generator generates a stimulus file, and the stimulus file is used to indicate the operation of the simulation test of the design under test; the scheduler loads the stimulus file into the general bus model; the general bus model generates a stimulus signal according to the stimulus file, and sends the stimulus signal to the design under test to carry out the simulation test; the general bus model receives the response signal, and determines the result of the simulation test according to the response signal, wherein the response signal is an output signal sent by the design under test according to the excitation signal.
结合第二方面,在第二方面的某些实现方式中,激励文件包括写激励向量,用于指示对待测设计进行写操作,激励信号包括写地址通道信号和写数据通道信号,响应信号包括写响应通道信号,通用总线模型根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试,包括:通过写激励存储模块,存储所述写激励向量;通过写通道解码模块,解码写激励向量,以产生写地址通道信号和写数据通道信号,其中,写地址通道信号用于指示向待测设计写入数据的地址,写数据通道信号用于指示向待测设计写入的数据;通过写地址控制模块,向待测设计发送写地址通道信号;通过写数据控制模块,向待测设计发送写数据通道信号;通用总线模型接收响应信号,并根据响应信号确定仿真测试的结果,包括:通过写响应记录模块,接收写响应通道信号,写响应通道信号用于指示写操作是否成功。With reference to the second aspect, in some implementations of the second aspect, the stimulus file includes a write stimulus vector for instructing a write operation on the design under test, the stimulus signal includes a write address channel signal and a write data channel signal, and the response signal includes a write In response to the channel signal, the universal bus model generates an excitation signal according to the excitation file, and sends the excitation signal to the design under test for simulation testing, including: storing the write excitation vector through the write excitation storage module; through the write channel decoding module, decoding Write the stimulus vector to generate the write address channel signal and the write data channel signal, wherein the write address channel signal is used to indicate the address for writing data to the design under test, and the write data channel signal is used to indicate the data written to the design under test Send the write address channel signal to the design under test through the write address control module; send the write data channel signal to the design under test through the write data control module; the general bus model receives the response signal, and determines the result of the simulation test according to the response signal, Including: receiving a write response channel signal through a write response recording module, and the write response channel signal is used to indicate whether the write operation is successful.
结合第二方面,在第二方面的某些实现方式中,通用总线模型根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试,还包括:通过写激励存储模块,当满足写激励向量的触发条件时,向写通道解码模块发送写激励向量。In conjunction with the second aspect, in some implementations of the second aspect, the general bus model generates the stimulus signal according to the stimulus file, and sends the stimulus signal to the design under test for simulation testing, and also includes: by writing the stimulus storage module, when When the trigger condition of the write stimulus vector is met, the write stimulus vector is sent to the write channel decoding module.
结合第二方面,在第二方面的某些实现方式中,激励文件包括读激励向量,用于指示对待测设计进行读操作,激励信号包括读地址通道信号,响应信号包括读响应通道信号,通用总线模型根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试,包括:通过读激励存储模块,存储所述读激励向量;通过读通道解码模块,解码读激励向量,以产生读地址通道信号,其中,读地址通道信号用于指示从待测设计读取数据的地址;通过读地址控制模块,向待测设计发送读地址通道信号;通用总线模型接收响应信号,并根据响应信号确定仿真测试的结果,包括:通过读响应记录模块,接收读响应通道信号,读响应通道信号用于指示读操作是否成功。In conjunction with the second aspect, in some implementations of the second aspect, the stimulus file includes a read stimulus vector, which is used to indicate the read operation of the design under test, the stimulus signal includes a read address channel signal, and the response signal includes a read response channel signal. The bus model generates the stimulus signal according to the stimulus file, and sends the stimulus signal to the design under test for simulation testing, including: storing the read stimulus vector through the read stimulus storage module; decoding the read stimulus vector through the read channel decoding module, and Generate a read address channel signal, wherein the read address channel signal is used to indicate the address of reading data from the design to be tested; send the read address channel signal to the design to be tested through the read address control module; the general bus model receives the response signal, and according to The response signal determines the result of the simulation test, including: receiving a read response channel signal through the read response recording module, and the read response channel signal is used to indicate whether the read operation is successful.
结合第二方面,在第二方面的某些实现方式中,通用总线模型根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试,还包括:通过读激励存储模块,当满足读激励向量的触发条件时,向读通道解码模块发送读激励向量。In conjunction with the second aspect, in some implementations of the second aspect, the general bus model generates an excitation signal according to the excitation file, and sends the excitation signal to the design under test for simulation testing, and further includes: by reading the excitation storage module, when When the trigger condition of the read stimulus vector is met, the read stimulus vector is sent to the read channel decoding module.
结合第二方面,在第二方面的某些实现方式中,通用总线模型接收响应信号,并根据响应信号确定仿真测试的结果,还包括:通过过程监控模块,根据响应信号,确定测试结果信息,测试结果信息用于指示仿真测试的结果;向调度器发送测试结果信息。In combination with the second aspect, in some implementations of the second aspect, the general bus model receives the response signal, and determines the result of the simulation test according to the response signal, and further includes: determining the test result information according to the response signal through the process monitoring module, The test result information is used to indicate the result of the simulation test; the test result information is sent to the scheduler.
结合第二方面,在第二方面的某些实现方式中,该方法还包括:调度器接收测试结果信息,并将测试结果信息上传至服务器。With reference to the second aspect, in some implementation manners of the second aspect, the method further includes: the scheduler receives the test result information, and uploads the test result information to the server.
结合第二方面,在第二方面的某些实现方式中,该方法还包括:调度器监控待测设计的运行状态,以使得用户根据运行状态调试待测设计。With reference to the second aspect, in some implementation manners of the second aspect, the method further includes: the scheduler monitors the running state of the design under test, so that the user debugs the design under test according to the running state.
结合第二方面,在第二方面的某些实现方式中,该方法还包括:调度器向通用总线模型发送控制信号,控制信号用于控制通用总线模型启动或关闭。With reference to the second aspect, in some implementation manners of the second aspect, the method further includes: the scheduler sends a control signal to the general bus model, and the control signal is used to control the general bus model to start or stop.
结合第二方面,在第二方面的某些实现方式中,该方法还包括:调度器向待测设计发送初始化信号,初始化信号用于将待测设计恢复为仿真测试前的状态。With reference to the second aspect, in some implementation manners of the second aspect, the method further includes: the scheduler sends an initialization signal to the design under test, and the initialization signal is used to restore the design under test to a state before the simulation test.
结合第二方面,在第二方面的某些实现方式中,激励发生器生成激励文件,包括:通过字段生成模块,根据约束文件,生成满足约束文件的指令字段,其中,约束文件用于指示指令字段的取值范围;通过拼接存储模块,根据拼接指令字段,以生成指令信息,指令信息用于指示通用总线模型对待测设计进行的操作。In conjunction with the second aspect, in some implementations of the second aspect, the stimulus generator generates the stimulus file, including: using a field generation module to generate an instruction field that satisfies the constraint file according to the constraint file, wherein the constraint file is used to indicate that the instruction The value range of the field; by splicing the storage module, according to the splicing instruction field, the instruction information is generated, and the instruction information is used to indicate the operation of the general bus model to be tested.
结合第二方面,在第二方面的某些实现方式中,激励发生器生成激励文件,还包括:通过拼接存储模块,根据指令信息确定调试信息,调试信息用于解释指令信息的内容。With reference to the second aspect, in some implementations of the second aspect, the stimulus generator generating the stimulus file further includes: determining debugging information according to instruction information by concatenating storage modules, and the debugging information is used to explain the contents of the instruction information.
结合第二方面,在第二方面的某些实现方式中,激励发生器生成激励文件,还包括:通过预处理模块,对指令字段进行预处理,以使其满足通用总线模型所用的标准协议。With reference to the second aspect, in some implementations of the second aspect, the stimulus generator generating the stimulus file further includes: using a preprocessing module to preprocess the instruction field so that it meets the standard protocol used by the general bus model.
结合第二方面,在第二方面的某些实现方式中,激励发生器生成激励文件,还包括:通过约束格式自检模块,确定约束文件的格式是否正确。With reference to the second aspect, in some implementation manners of the second aspect, the stimulus generator generating the stimulus file further includes: determining whether the format of the constraint file is correct through a constraint format self-check module.
结合第二方面,在第二方面的某些实现方式中,激励发生器生成的激励文件包括以下至少一种:随机地址激励、连续地址激励、加权地址激励。With reference to the second aspect, in some implementation manners of the second aspect, the incentive file generated by the incentive generator includes at least one of the following: random address incentives, continuous address incentives, and weighted address incentives.
结合第二方面,在第二方面的某些实现方式中,通用总线模型由可综合代码编写。With reference to the second aspect, in some implementation manners of the second aspect, the general bus model is written by synthesizable code.
第三方面,提供一种仿真测试的系统,包括:处理器和存储器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行该计算机程序,使得该系统执行如第二方面或第二方面的任一种可能的实现方式中的方法。In a third aspect, a system for simulation testing is provided, including: a processor and a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the system performs as described in the second aspect or the second A method in any possible implementation of an aspect.
第四方面,提供一种计算机程序产品,包括:计算机程序代码,当该计算机程序代码被计算设备的处理器运行时,使得计算设备执行如第二方面或第二方面的任一种可能的实现方式中的方法。In a fourth aspect, there is provided a computer program product, including: computer program code, when the computer program code is executed by a processor of a computing device, the computing device executes the second aspect or any possible implementation of the second aspect methods in methods.
第五方面,提供一种计算机可读存储介质,包括计算机程序,当该计算机程序在计算机上运行时,使得计算机执行如第二方面或第二方面的任一种可能的实现方式中的方法。In a fifth aspect, there is provided a computer-readable storage medium, including a computer program. When the computer program runs on a computer, the computer executes the method in the second aspect or any possible implementation manner of the second aspect.
附图说明Description of drawings
图1是本申请实施例的系统架构示意图。FIG. 1 is a schematic diagram of a system architecture of an embodiment of the present application.
图2是本申请实施例的一种应用场景的例子的示意图。Fig. 2 is a schematic diagram of an example of an application scenario of the embodiment of the present application.
图3是本申请实施例提供的一种仿真测试的系统的示意性结构框图。Fig. 3 is a schematic structural block diagram of a simulation test system provided by an embodiment of the present application.
图4是本申请实施例提供的一种激励发生器的示意性结构框图。Fig. 4 is a schematic structural block diagram of an excitation generator provided by an embodiment of the present application.
图5是本申请实施例提供的一种通用总线模型的示意性结构框图。Fig. 5 is a schematic structural block diagram of a general bus model provided by an embodiment of the present application.
图6是本申请实施例提供的一种仿真测试的方法的示意性流程框图。Fig. 6 is a schematic flowchart of a simulation test method provided by an embodiment of the present application.
图7是本申请实施例提供的一种仿真测试系统的示意性结构框图。Fig. 7 is a schematic structural block diagram of a simulation test system 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.
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。The present application presents various aspects, embodiments or features in terms of a system comprising a number of devices, components, modules and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. In addition, combinations of these schemes can also be used.
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。In addition, in the embodiments of the present application, words such as "exemplary" and "for example" are used as examples, illustrations or explanations. Any embodiment or design described herein as "example" is not to be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the word example is intended to present concepts in a concrete manner.
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。In the embodiments of the present application, "corresponding (corresponding, relevant)" and "corresponding (corresponding)" may sometimes be used interchangeably. It should be noted that when the difference is not emphasized, the meanings they intend to express are consistent.
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。The network architecture and business scenarios described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute limitations on the technical solutions provided by the embodiments of the present application. For the evolution of architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。Reference to "one embodiment" or "some embodiments" or the like in this specification means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in other embodiments," etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean "one or more but not all embodiments" unless specifically stated otherwise. The terms "including", "comprising", "having" and variations thereof mean "including but not limited to", unless specifically stated otherwise.
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A 和/或 B,可以表示:包括单独存在 A,同时存在 A 和 B,以及单独存在 B 的情况,其中 A,B 可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或 c 中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或 a-b-c,其中a,b,c可以是单个,也可以是多个。In this application, "at least one" means one or more, and "multiple" means two or more. "And/or" describes the association relationship of associated objects, indicating that there can be three types of relationships, for example, A and/or B, which can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, among which A, B can be singular or plural. The character "/" generally indicates that the contextual objects are an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple .
随着大规模集成电路(integrated circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量以及上市时间,需要对芯片进行准确快速的仿真测试。通过通用验证方法学(universal verification methodology, UVM)等技术能够在软件环境中实现仿真(simulation)测试。但是软件仿真受编译工具和仿真平台(服务器性能)的限制,测试逻辑规模较小,且受到软件环境计算能力的限制,仿真速度较慢。硬件仿真加速(emulation)技术通过将待测设计(design under test,DUT)映射到硬件仿真器(emulator)的硬件平台上,能够提高DUT的逻辑规模和运行速度。但是,由于DUT输入信号的产生以及输出信号的处理都需要在软件环境中进行,因此测试过程中软件测与硬件侧存在较频繁的信号交互,使得芯片仿真测试的速度依旧受限于软件侧的运行速度。With the development of large-scale integrated circuit (integrated circuit, IC) technology, the logic scale of the chip and the complexity of the circuit are getting higher and higher. In order to ensure the quality of the chip and the time to market, it is necessary to conduct accurate and fast simulation tests on the chip. Simulation testing can be implemented in a software environment through technologies such as universal verification methodology (UVM). However, software simulation is limited by compilation tools and simulation platforms (server performance), the scale of test logic is small, and limited by the computing power of the software environment, the simulation speed is relatively slow. Hardware emulation acceleration (emulation) technology can improve the logic scale and running speed of the DUT by mapping the design under test (DUT) to the hardware platform of the emulator. However, since the generation of the DUT input signal and the processing of the output signal need to be carried out in the software environment, there are frequent signal interactions between the software test and the hardware side during the test process, so that the speed of the chip simulation test is still limited by the software side. run speed.
鉴于此,本申请实施例提供一种仿真测试的系统,通过在硬件环境中实现激励信号的产生以及响应信号的接收过程,所有仿真行为均在硬件环境中完成,从而避免硬件与软件的频繁交互,使得仿真速度与硬件运行速度一致,提高仿真测试的效率。此外,通过实现软件与硬件的解耦,使得可仿真的逻辑规模只和硬件资源相关,不受软件仿真平台计算能力的限制,从而提高可仿真测试的逻辑规模,提高仿真测试的效率。In view of this, the embodiment of the present application provides a simulation test system. By realizing the generation of the excitation signal and the reception of the response signal in the hardware environment, all simulation behaviors are completed in the hardware environment, thereby avoiding frequent interaction between hardware and software. , so that the simulation speed is consistent with the running speed of the hardware, and the efficiency of the simulation test is improved. In addition, by realizing the decoupling of software and hardware, the logical scale that can be simulated is only related to hardware resources, and is not limited by the computing power of the software simulation platform, thereby increasing the logical scale that can be simulated and improving the efficiency of simulation testing.
图1是本申请实施例的系统架构示意图。如图1所示,仿真测试系统10至少包括激励发生器11、调度器12以及通用总线模型13(general bus model,GBM)。其中,激励发生器11和调度器12运行在软件侧环境中(例如服务器或个人计算机的操作系统),激励发生器11用于生成激励文件,调度器12用于将激励文件加载到通用总线模型13。通用总线模型13运行在硬件侧环境中(例如硬件仿真器(emulator)或现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)等),用于根据激励文件产生激励信号输入到待测设计20(design under test,DUT),并接收DUT输出的响应信号,从而进行仿真行为,以对DUT的功能进行测试。其中DUT是在硬件仿真平台上实现的待测试逻辑电路,例如系统级芯片(system on chip,SOC)、芯片的子系统或功能模块等。GBM与DUT基于总线协议(例如高级可扩展接口(advanced extensible interface,AXI))进行信号交互。FIG. 1 is a schematic diagram of a system architecture of an embodiment of the present application. As shown in FIG. 1 , the simulation test system 10 includes at least a stimulus generator 11 , a scheduler 12 and a general bus model 13 (general bus model, GBM). Among them, the stimulus generator 11 and the scheduler 12 run in the software side environment (such as the operating system of a server or a personal computer), the stimulus generator 11 is used to generate stimulus files, and the scheduler 12 is used to load the stimulus files to the general bus model 13. The general bus model 13 runs in a hardware-side environment (such as a hardware emulator (emulator) or a field programmable logic gate array (fieldprogrammable gate array, FPGA), etc.), and is used to generate a stimulus signal according to a stimulus file and input it to the design under test 20 ( design under test, DUT), and receive the response signal output by the DUT, so as to simulate the behavior to test the function of the DUT. The DUT is a logic circuit to be tested implemented on a hardware simulation platform, such as a system on chip (SOC), a subsystem or a functional module of a chip, and the like. GBM and DUT perform signal interaction based on bus protocol (such as advanced extensible interface (AXI)).
如图1所示,仿真测试系统10中调度器12可以调度多个GBM,每个GBM可以如图中所示对应同一个DUT,例如分别用于测试同一芯片的不同功能模块,也可以分别对应不同的DUT,例如在多台硬件仿真器上实现多个芯片的协同测试。对应的,激励发生器11也可以生成多个激励文件,激励发生器12可以根据需求在GBM中加载一个或多个激励文件,不同的GBM中可以加载的不同的激励文件,也可以加载相同的激励文件。As shown in Figure 1, the scheduler 12 in the simulation test system 10 can schedule multiple GBMs, and each GBM can correspond to the same DUT as shown in the figure, for example, it is used to test different functional modules of the same chip, or it can correspond to Different DUTs, for example, implement collaborative testing of multiple chips on multiple hardware emulators. Correspondingly, the stimulus generator 11 can also generate a plurality of stimulus files, and the stimulus generator 12 can load one or more stimulus files in the GBM according to the requirements. Different stimulus files that can be loaded in different GBMs can also load the same incentive file.
上述过程中,激励文件的生成以及调度都可以在DUT的仿真行为开始前完成,调度器12从通用总线模型13获取测试结果信息可以在接收到GBM发送的测试结束信号之后。因此,仿真行为中DUT和仿真测试系统10的信号交互可以只发生在硬件环境中的GBM和DUT之间,仿真测试的运行过程不依赖系统内软件部分和硬件部分的信息交互。从而能够实现硬件与软件的解耦,提高可仿真的逻辑规模以及仿真运行速度,提高仿真测试的效率。In the above process, the generation and scheduling of the stimulus file can be completed before the DUT simulation behavior starts, and the scheduler 12 can obtain the test result information from the general bus model 13 after receiving the test end signal sent by the GBM. Therefore, the signal interaction between the DUT and the simulation test system 10 in the simulation behavior can only occur between the GBM and the DUT in the hardware environment, and the running process of the simulation test does not depend on the information interaction between the software part and the hardware part in the system. In this way, the decoupling of hardware and software can be realized, the logic scale that can be simulated and the speed of simulation running can be improved, and the efficiency of simulation testing can be improved.
应理解,图1所示的系统架构仅以软件和硬件两部分实现的方式为例,为了说明本申请实施例中仿真测试的系统能够实现软件部分和硬件部分的解耦,并不限定激励发生器11和调度器12只能在软件环境中实现。激励发生器11和调度器12根据系统需要也可以在硬件环境中实现,例如,可以将激励发生器以功能模块的形式集成在GBM中,从而由硬件实现激励发生器和调度器的相应功能。It should be understood that the system architecture shown in Figure 1 only takes the implementation of software and hardware as an example. In order to illustrate that the simulation test system in the embodiment of the application can realize the decoupling of the software part and the hardware part, it does not limit the occurrence of incentives. The controller 11 and the scheduler 12 can only be implemented in a software environment. The stimulus generator 11 and the scheduler 12 can also be implemented in a hardware environment according to system requirements. For example, the stimulus generator can be integrated into the GBM in the form of a functional module, so that the corresponding functions of the stimulus generator and the scheduler can be realized by hardware.
为了更好地理解本申请实施例的方案,下面先结合图2对本申请实施例可能的应用场景进行简单的介绍。In order to better understand the solution of the embodiment of the present application, the following briefly introduces possible application scenarios of the embodiment of the present application with reference to FIG. 2 .
图2是本申请实施例的一个应用场景的例子的示意图。如图2所示,DUT和本申请实施例提供的仿真测试系统的GBM完成信号交互的仿真行为,因此DUT和本系统的GBM构成了该应用场景中的测试平台(testbench)。其中,DUT可以是图1所示系统架构中的待测设计20,GBM可以是图1所示系统架构中的通用总线模型13。DUT由硬件描述性语言(例如Verilog或SystemVerilog,SV等)编写,GBM由可综合的Verilog代码(或其它可由真实电路实现的语言)编写,因此二者构成的是可综合testbench,即该测试平台能够综合成真实电路,从而在硬件平台中实现。例如图2所示应用场景中该可综合testbench工作在硬件仿真器(emulator)上。Fig. 2 is a schematic diagram of an example of an application scenario of the embodiment of the present application. As shown in Figure 2, the DUT and the GBM of the simulation test system provided by the embodiment of the present application complete the simulation behavior of signal interaction, so the DUT and the GBM of this system constitute a test bench (testbench) in this application scenario. Wherein, the DUT may be the design under test 20 in the system architecture shown in FIG. 1 , and the GBM may be the general bus model 13 in the system architecture shown in FIG. 1 . DUT is written by hardware descriptive language (such as Verilog or SystemVerilog, SV, etc.), GBM is written by synthesizable Verilog code (or other languages that can be realized by real circuits), so the two constitute a synthesizable testbench, that is, the test platform It can be synthesized into a real circuit and realized in a hardware platform. For example, in the application scenario shown in Figure 2, the synthesizable testbench works on a hardware emulator.
应理解,图2所示的testbench由可综合代码编写,因此不仅可以应用于硬件仿真(emulation)平台,也可以应用于其他平台,例如软件仿真(simulation)平台或FPGA平台等,本申请不做具体限定。为了简洁起见,下面以GBM应用于硬件加速平台为例描述本申请的部分实施例,但本领域技术人员很清楚,此描述不构成对本申请的范围的限制。It should be understood that the testbench shown in Figure 2 is written by synthesizable code, so it can be applied not only to hardware emulation (emulation) platforms, but also to other platforms, such as software emulation (simulation) platforms or FPGA platforms, etc. This application does not Specific limits. For the sake of brevity, the following describes some embodiments of the present application by taking GBM applied to a hardware acceleration platform as an example, but it is clear to those skilled in the art that this description does not limit the scope of the present application.
在该情况下,图3示出了本申请实施例提供的一种仿真测试的系统300的示意性结构框图。In this case, FIG. 3 shows a schematic structural block diagram of a simulation test system 300 provided by an embodiment of the present application.
如图3所示,该系统300包括:激励发生器310,调度器320,通用总线模型330。可选地,系统300可以是图1所示架构中的仿真测试系统10,激励发生器310可以是图1所示架构中的激励发生器11,调度器320可以是图1所示架构中的调度器12,通用总线模型330可以是图1所示架构中的GBM。其中,通用总线模型330通过硬件实现。As shown in FIG. 3 , the system 300 includes: a stimulus generator 310 , a scheduler 320 , and a general bus model 330 . Optionally, the system 300 can be the simulation test system 10 in the architecture shown in Figure 1, the excitation generator 310 can be the excitation generator 11 in the architecture shown in Figure 1, and the scheduler 320 can be the The scheduler 12 and the general bus model 330 may be the GBM in the architecture shown in FIG. 1 . Wherein, the universal bus model 330 is realized by hardware.
具体地,该激励发生器310用于生成激励文件,该激励文件用于指示对DUT进行仿真测试的操作。例如,激励发生器310能够根据DUT待测试的功能,生成GBM可读的指令信息和对应的调试信息,其中指令信息使用二进制指示GBM对DUT进行的操作,例如写入数据或读取数据等,调试信息使用十六进制对指令信息所指示的操作进行解释。其中,每条指令信息又可以称为一个激励向量。至少一个激励向量组成的文件称为激励文件,用于描述对DUT进行的一系列仿真测试的操作。应理解,指令信息的编码格式并不限于二进制,也可以使用硬件设备能够理解的其他编码格式;同样地,调试信息的编码格式也不限于十六进制,可以使用其他方便用户的测试人员阅读的编码格式。Specifically, the stimulus generator 310 is used to generate a stimulus file, and the stimulus file is used to instruct the operation of performing a simulation test on the DUT. For example, the stimulus generator 310 can generate GBM-readable instruction information and corresponding debugging information according to the function of the DUT to be tested, wherein the instruction information uses binary instructions to indicate the operations performed by the GBM on the DUT, such as writing data or reading data, etc. The debug information uses hexadecimal to explain the operation indicated by the instruction information. Wherein, each piece of instruction information may also be referred to as an excitation vector. A file consisting of at least one stimulus vector is called a stimulus file, which is used to describe a series of simulation tests performed on the DUT. It should be understood that the encoding format of instruction information is not limited to binary, and other encoding formats that hardware devices can understand can also be used; similarly, the encoding format of debugging information is not limited to hexadecimal, and other user-friendly testers can be used to read encoding format.
具体地,该调度器320用于将激励文件加载到通用总线模型。例如,调度器320能够将激励发生器310生成的激励文件分配到对应的GBM。例如,调度器320可以与GBM的静态随机存储器(static random access memory,SRAM)交互,将激励文件下载到GBM的SRAM中。可选地,调度器320还可以将GBM存储在SRAM中的测试结果信息上传至服务器或用户设备,以使得用户能够在仿真测试结束后获取测试的结果。Specifically, the scheduler 320 is used to load the stimulus file to the general bus model. For example, the scheduler 320 can distribute the stimulus files generated by the stimulus generator 310 to corresponding GBMs. For example, the scheduler 320 may interact with a static random access memory (SRAM) of the GBM, and download the stimulus file into the SRAM of the GBM. Optionally, the scheduler 320 may also upload the test result information stored by the GBM in the SRAM to the server or user equipment, so that the user can obtain the test result after the simulation test is completed.
可选地,调度器320根据用户需求还可以包括以下功能。可选地,调度器320能够监控硬件逻辑运行中的关键信号,例如,添加探针监控GBM的测试完成信号,当全部检测到GBM的测试完成信号时确定该轮仿真测试结束;又例如,添加探针监控GBM的响应错误信号,从而能够对测试出现问题的GBM进行调试;再例如,在DUT中添加探针监控DUT运行中的关键信号,以用于测试出现问题时定位问题的原因。可选地,调度器320能够控制整个测试平台的运行,例如,在仿真测试开始前初始化DUT、复位DUT的时钟等;又例如,控制GBM的启动或关闭,以对多个待测芯片协同工作的场景进行仿真;再例如,暂停DUT的时钟和/或GBM,以对运行出现问题的GBM进行调试。Optionally, the scheduler 320 may also include the following functions according to user requirements. Optionally, the scheduler 320 can monitor key signals in the hardware logic operation, for example, add a probe to monitor the test completion signal of the GBM, and determine that the round of simulation testing ends when all the test completion signals of the GBM are detected; The probe monitors the response error signal of the GBM, so that the GBM that has a problem in the test can be debugged; another example, add a probe to the DUT to monitor the key signal in the DUT operation, so as to locate the cause of the problem when the test occurs. Optionally, the scheduler 320 can control the operation of the entire test platform, for example, initialize the DUT, reset the clock of the DUT, etc. before the simulation test starts; Simulate the scenario; another example, suspend the DUT clock and/or GBM to debug the GBM that has problems running.
具体地,该通用总线模型330用于根据激励文件产生激励信号,以对DUT进行仿真测试;接收响应信号,以确定仿真测试的结果。其中,激励信号是DUT可识别的输入信号,响应信号是DUT根据激励信号发送的输出信号。例如,通用总线模型330能够解析激励向量从而确定对DUT进行的操作以及进行该操作所需的信息,例如,写操作需要确定写地址与写数据、读操作则需要确定读地址,通用总线模型330根据解析出的信息通过DUT所用标准协议规定的对应通道与DUT进行信号交互。Specifically, the universal bus model 330 is used to generate stimulus signals according to the stimulus files to conduct simulation tests on the DUT; receive response signals to determine the results of the simulation tests. Wherein, the excitation signal is an input signal recognizable by the DUT, and the response signal is an output signal sent by the DUT according to the excitation signal. For example, the universal bus model 330 can analyze the stimulus vector to determine the operation of the DUT and the information required for the operation. For example, the write operation needs to determine the write address and write data, and the read operation needs to determine the read address. The universal bus model 330 According to the parsed information, the signal interaction with the DUT is carried out through the corresponding channel stipulated by the standard protocol used by the DUT.
以AXI总线协议为例,写操作使用三个通道:写地址通道、写数据通道、写响应通道,GBM通过写地址通道向DUT发送指示写入数据的地址的信号,通过写数据通道向DUT发送指示写入的数据的信号,通过写响应通道接收DUT发送的写操作的响应信号。读操作使用两个通道:读地址通道、读响应通道,GBM通过读地址通道向DUT发送指示读取数据的地址的信号,通过写响应通道接收DUT发送的读操作的响应信号以及读取的数据的信号。可选地,GBM根据使用需求可以只包括写操作所用的通道,或只包括读操作所用的通道,也可以同时包括写操作和读操作所用的通道,本申请不做具体限定。应理解,本申请仅是以AXI总线协议为例说明GBM与DUT信号交互的过程,不构成对GBM具体接口的限定,根据需要GBM也可以提供其他总线标准协议所需的其他接口。可选地,GBM根据测试需要还可以扩展总线标准协议之外的控制信号,例如测试完成信号(gbm_test_done)用于指示仿真测试完成、响应错误信号(gbm_error)用于指示测试结果与预期不一致。上述可扩展的控制信号可以通过调度器320进行后台监控,也可以集成到SOC的中断电路,通过中央处理器(central processingunit,CPU)等设备监控GBM的测试状态。Taking the AXI bus protocol as an example, the write operation uses three channels: the write address channel, the write data channel, and the write response channel. GBM sends a signal indicating the address of the written data to the DUT through the write address channel, and sends a signal to the DUT through the write data channel. The signal indicating the written data receives the response signal of the write operation sent by the DUT through the write response channel. The read operation uses two channels: the read address channel and the read response channel. The GBM sends a signal indicating the address of the read data to the DUT through the read address channel, and receives the response signal of the read operation sent by the DUT and the read data through the write response channel. signal of. Optionally, the GBM may only include channels used for write operations, or only channels used for read operations, or both channels used for write operations and read operations, which is not specifically limited in this application. It should be understood that this application only uses the AXI bus protocol as an example to illustrate the process of signal interaction between the GBM and the DUT, and does not constitute a limitation on the specific interface of the GBM. The GBM can also provide other interfaces required by other bus standard protocols as required. Optionally, GBM can also expand the control signals beyond the bus standard protocol according to the test requirements, for example, the test completion signal (gbm_test_done) is used to indicate the completion of the simulation test, and the response error signal (gbm_error) is used to indicate that the test results are inconsistent with expectations. The above scalable control signal can be monitored in the background through the scheduler 320 , or can be integrated into the interrupt circuit of the SOC, and the test status of the GBM can be monitored through devices such as a central processing unit (CPU).
通过本申请实施例的技术方案,仿真测试系统能够在硬件环境中实现激励信号的产生以及响应信号的接收过程,使得所有仿真行为均在硬件环境中完成,实现了仿真过程中软件与硬件的解耦,避免了硬件与软件的频繁交互,提高了仿真测试的速度以及可仿真的逻辑规模,从而提高仿真测试的效率。Through the technical solution of the embodiment of the application, the simulation test system can realize the generation of the excitation signal and the receiving process of the response signal in the hardware environment, so that all simulation behaviors are completed in the hardware environment, and the solution of software and hardware in the simulation process is realized. Coupling avoids frequent interaction between hardware and software, improves the speed of simulation testing and the scale of logic that can be simulated, thereby improving the efficiency of simulation testing.
上文结合图1至图3说明了本申请实施例提供的仿真测试的系统,下面分别具体介绍本申请实施例中激励发生器310和通用总线模型330的实现方式。The simulation test system provided by the embodiment of the present application is described above with reference to FIG. 1 to FIG. 3 , and the implementation methods of the excitation generator 310 and the general bus model 330 in the embodiment of the present application are respectively introduced in detail below.
图4示出了本申请实施例提供的一种激励发生器310的示意性结构图。下面结合图4对激励发生器310的结构进行说明。FIG. 4 shows a schematic structural diagram of an excitation generator 310 provided by an embodiment of the present application. The structure of the excitation generator 310 will be described below with reference to FIG. 4 .
如图4所示,激励文件通过生成指令字段再将指令字段拼接为指令信息的方式生成。对应的,激励发生器310可以包括:字段生成模块312、字段拼接存储模块315。As shown in Figure 4, the incentive file is generated by generating instruction fields and then splicing the instruction fields into instruction information. Correspondingly, the excitation generator 310 may include: a field generation module 312 and a field concatenation storage module 315 .
具体地,该字段生成模块312用于根据约束文件生成满足约束文件的指令字段。例如,约束文件可以约束每个字段的四种属性:字段类型(type)、字段位宽(width)、字段约束列表(cons)、字段权值列表(weight)。其中,字段类型(type)用于指示该指令字段的作用,以AXI协议中的写操作指令为例,可以包括地址字段(awaddr)、数据量字段(awlen)、数据大小字段(awsize)等;字段位宽(width)用于指示该指令字段在指令中所占的字节数;字段约束列表(cons)用于指示该指令字段的取值范围;字段权值列表(weight)用于指示该指令字段在指令中的权重。Specifically, the field generation module 312 is used to generate an instruction field satisfying the constraint file according to the constraint file. For example, a constraint file can constrain four attributes of each field: field type (type), field bit width (width), field constraint list (cons), and field weight list (weight). Among them, the field type (type) is used to indicate the function of the instruction field. Taking the write operation instruction in the AXI protocol as an example, it can include the address field (awaddr), data volume field (awlen), data size field (awsize), etc.; The field bit width (width) is used to indicate the number of bytes occupied by the instruction field in the instruction; the field constraint list (cons) is used to indicate the value range of the instruction field; the field weight list (weight) is used to indicate the The weight of the directive field in the directive.
可选地,根据用户选择的激励类型,字段生成模块312生成指令字段的方式可以不同。例如,激励类型可以包括随机地址激励、连续地址激励、加权地址激励。其中,连续地址激励的生成方式为字段生成模块312根据的对应的字段约束列表(cons)确定起始的awaddr、固定的awlen和固定的awsize,从而确定地址连续的至少一个激励向量;随机地址激励和加权地址激励的激励向量都随机生成,即字段生成模块312根据的对应的字段约束列表(cons)确定随机的awaddr、awlen和awsize,以生成地址随机的至少一个激励向量。其中,字段约束列表(cons)可以是具体的取值,例如从随机数表中确定,也可以是取值的范围,例如取规定的两个数值之间的任意值,本申请不做具体限定。Optionally, according to the incentive type selected by the user, the way the field generating module 312 generates the instruction field may be different. For example, incentive types may include random address incentives, continuous address incentives, and weighted address incentives. Among them, the continuous address stimulus is generated in such a way that the field generation module 312 determines the initial awaddr, fixed awlen, and fixed awsize according to the corresponding field constraint list (cons), thereby determining at least one stimulus vector with continuous addresses; random address stimulus The stimulus vectors of the stimulus and weighted address stimulus are randomly generated, that is, the field generation module 312 determines random awaddr, awlen and awsize according to the corresponding field constraint list (cons), so as to generate at least one stimulus vector with a random address. Among them, the field constraint list (cons) can be a specific value, such as determined from a random number table, or a range of values, such as any value between two specified values, which is not specifically limited in this application .
具体地,该字段拼接存储模块315用于拼接指令字段以生成指令信息,并根据指令信息确定对应的调试信息。依旧以AXI协议中的写操作指令为例,字段拼接存储模块315能够将字段生成模块312生成的awaddr、awlen和awsize等字段拼接为一条指令信息,该信息可被GBM解码,用于指示将特定数量的具有特定大小的数据写入DUT的特定地址。对应地,字段拼接存储模块315能够将指令信息转变为易于用户的测试人员阅读的编码格式,以生成调试信息,起到解释说明指令信息内容的作用。一条完整的指令信息也可以称为一个激励向量,激励向量和对应的调试信息暂时存储在字段拼接存储模块315,直到生成的激励向量数量满足激励文件的要求,将存储的一组激励向量输出为一个激励文件。并将对应的调试信息存储在用户设备或服务器中,以便用户的测试人员调试时查看。Specifically, the field splicing storage module 315 is used to splice instruction fields to generate instruction information, and determine corresponding debugging information according to the instruction information. Still taking the write operation instruction in the AXI protocol as an example, the field splicing storage module 315 can splice the fields such as awaddr, awlen, and awsize generated by the field generation module 312 into a piece of instruction information, which can be decoded by GBM and used to indicate that a specific An amount of data with a specific size is written to a specific address of the DUT. Correspondingly, the field splicing storage module 315 can convert the instruction information into an encoding format that is easy to be read by user testers, so as to generate debugging information, and play a role in explaining the content of the instruction information. A complete instruction information can also be called an incentive vector, and the incentive vector and the corresponding debugging information are temporarily stored in the field splicing storage module 315 until the number of generated incentive vectors meets the requirements of the incentive file, and the stored set of incentive vectors is output as A stimulus file. And store the corresponding debugging information in the user's device or server, so that the user's tester can view it during debugging.
可选地,激励文件中多个激励向量连续生成的方式根据激励类型可以不同,激励类型包括但不限于:随机地址激励、连续地址激励、加权地址激励。例如,当字段拼接存储模块315生成并存储了第一激励向量后,若存储的激励向量数小于激励文件需求的激励向量数,则继续生成第二激励向量,对于随机地址激励,该第二激励向量的指令字段通过从与第一激励向量相同的字段约束列表(cons)中随机确定;对于连续地址激励,该第二激励的awaddr与第一激励中止的地址连续,且使用与第一激励相同的固定awlen和awsize;对于加权地址激励,则将一组激励向量进一步按照权值分为多个子组,同一子组的激励向量根据相同的字段约束列表(cons)随机确定,不同子组的激励向量根据不同的字段约束列表(cons)随机确定。例如,加权地址激励文件预计的激励向量数为N(N为大于1的正整数),其中第一子组N1个向量、第二子组N2个激励向量、第三子组N3个激励向量(N1、N2和N3为正整数,且N1+N2+N3=N),对应的字段约束列表(cons)中可以给出6个值a1至a6,则第一子组中激励向量的指令字段可以取值自a1至a2范围内的随机值,第二子组中激励向量的指令字段可以取值自a3至a4范围内的随机值,第三子组中激励向量的指令字段可以取值自a5至a6范围内的随机值。Optionally, the way in which multiple incentive vectors are continuously generated in the incentive file may be different according to the incentive type. The incentive types include but are not limited to: random address incentives, continuous address incentives, and weighted address incentives. For example, after the field splicing storage module 315 generates and stores the first excitation vector, if the number of the stored excitation vectors is less than the number of excitation vectors required by the excitation file, then continue to generate the second excitation vector, for the random address excitation, the second excitation vector The instruction field of the vector is randomly determined from the same field constraint list (cons) as the first stimulus vector; for continuous address stimulus, the awaddr of this second stimulus is consecutive to the address where the first stimulus was suspended, and uses the same fixed awlen and awsize; for weighted address incentives, a group of incentive vectors is further divided into multiple subgroups according to the weight value, the incentive vectors of the same subgroup are randomly determined according to the same field constraint list (cons), and the incentive vectors of different subgroups The vectors are determined randomly according to the different field constraint lists (cons). For example, the number of stimulus vectors predicted by the weighted address stimulus file is N (N is a positive integer greater than 1), wherein the first subgroup has N1 vectors, the second subgroup has N2 stimulus vectors, and the third subgroup has N3 stimulus vectors ( N1, N2 and N3 are positive integers, and N1+N2+N3=N), the corresponding field constraint list (cons) can give 6 values a1 to a6, then the instruction field of the excitation vector in the first subgroup can be Take a random value in the range from a1 to a2, the command field of the stimulus vector in the second subgroup can take a random value in the range from a3 to a4, and the command field of the stimulus vector in the third subgroup can take a value from a5 to a random value in the range a6.
根据上述例子,可以看出加权地址激励文件实现了为同一激励文件中不同子组的激励向量生成范围不同的随机指令字段,但由于激励向量按顺序生成,导致同一子组的激励向量相邻。为了使激励文件更加模拟真实情况,还可以打乱加权地址激励文件中激励向量的顺序。According to the above example, it can be seen that the weighted address stimulus file realizes the generation of random instruction fields with different ranges for the stimulus vectors of different subgroups in the same stimulus file, but because the stimulus vectors are generated sequentially, the stimulus vectors of the same subgroup are adjacent. In order to make the stimulus file simulate the real situation more, the order of the stimulus vectors in the weighted address stimulus file can also be disturbed.
在该情况下,可选地,激励发生器310还可以包括乱序处理模块314,用于当激励类型为地址加权时,将字段拼接存储模块315生成的激励向量进行乱序处理,从而重新排列激励文件中激励向量的顺序。In this case, optionally, the excitation generator 310 may also include an out-of-order processing module 314, configured to perform out-of-order processing on the excitation vectors generated by the field splicing storage module 315 when the excitation type is address weighted, so as to rearrange The order of the stimulus vectors in the stimulus file.
由于每个指令字段是独立生成的,因此字段生成模块312生成的指令字段虽然能够满足约束文件,但可能存在拼接起来不符合DUT所用的标准协议的情况,因此在生成指令字段后还可以对指令字段可选地进行预处理。预处理可以包括地址预处理和/或跨4K边界预处理。Since each instruction field is independently generated, although the instruction field generated by the field generation module 312 can satisfy the constraint file, it may not conform to the standard protocol used by the DUT when spliced. Therefore, after the instruction field is generated, the instruction can also be Fields are optionally preprocessed. Preprocessing may include address preprocessing and/or preprocessing across 4K boundaries.
在该情况下,可选地,激励发生器310还可以包括预处理模块313,用于对指令字段进行预处理,以使其满足DUT所用的标准协议。可选地,预处理模块313包括地址预处理模块313和/或跨4K边界预处理模块313。例如,以AXI为例,AXI总线进行窄带传输时,地址字段的低比特位会被赋予0值,例如数据总线位宽128bit时,大小配置为3,则地址字段的末尾数只能为0、4、8、c数值,因此若DUT为窄带传输,则可以对字段生成模块312生成的地址字段进行预处理。再例如,AXI总线的地址一般不允许跨4K边界,字段生成模块312生成的起始地址虽然能够满足要求,但随机生成的数据量(len)字段过大时可能导致终止地址超过4K边界,因此可以对数据量(len)字段进行预处理,将其变为两个较短的字段。应理解,上述两种预处理情况仅是为了举例说明,还可以根据需求以及实际使用的总线协议情况对指令字段进行其他方式的预处理,本申请对此不做具体限定。In this case, optionally, the stimulus generator 310 may also include a preprocessing module 313 for preprocessing the instruction field so that it meets the standard protocol used by the DUT. Optionally, the preprocessing module 313 includes an address preprocessing module 313 and/or a cross-4K boundary preprocessing module 313 . For example, taking AXI as an example, when the AXI bus performs narrowband transmission, the lower bit of the address field will be assigned a value of 0. For example, when the data bus bit width is 128bit, the size is configured as 3, and the end number of the address field can only be 0, 4, 8, and c values, so if the DUT is for narrowband transmission, the address field generated by the field generation module 312 can be preprocessed. For another example, the address of the AXI bus is generally not allowed to cross the 4K boundary. Although the start address generated by the field generation module 312 can meet the requirements, the randomly generated data amount (len) field may cause the end address to exceed the 4K boundary when the field is too large. Therefore The amount of data (len) field can be preprocessed into two shorter fields. It should be understood that the above two preprocessing situations are only for illustration, and the instruction field may be preprocessed in other ways according to requirements and actual bus protocol conditions, which is not specifically limited in this application.
由于约束文件可以是用户根据测试需求输入的,也可能存在不符合DUT所用的标准协议的情况,因此在生成指令字段前还可以对约束文件可选地进行数值和格式自检。Since the constraint file can be input by the user according to the test requirements, or it may not conform to the standard protocol used by the DUT, the value and format self-checking of the constraint file can also be optionally performed before the instruction field is generated.
在该情况下,可选地,激励发生器310还可以包括约束格式自检模块311,用于确定约束文件的格式是否正确。例如,检查字段约束列表中的值不能大于字段位宽的表达能力。又例如,以AXI协议为例,对于部分类型的字段AXI协议规定了其字段位宽,因此可以检查字段类型是否与字段位宽相匹配。再例如,若选择了地址加权类型的激励,还可以检查字段约束列表是否提供了多个取值范围等。In this case, optionally, the stimulus generator 310 may further include a constraint format self-check module 311, configured to determine whether the format of the constraint file is correct. For example, check that the value in the field constraint list cannot be larger than the expressiveness of the field bit width. For another example, taking the AXI protocol as an example, the AXI protocol specifies the field bit width for some types of fields, so it can be checked whether the field type matches the field bit width. For another example, if the incentive of the address weighting type is selected, it may also be checked whether the field constraint list provides multiple value ranges, etc.
上文结合图4说明了本申请实施例提供的系统中的激励发生器310,下面结合图5对通用总线模型330的结构进行说明。The excitation generator 310 in the system provided by the embodiment of the present application is described above with reference to FIG. 4 , and the structure of the general bus model 330 is described below with reference to FIG. 5 .
图5示出了本申请实施例提供的一种通用总线模型的示意性结构图。如前文所述,GBM根据仿真测试的需求可以分别对写操作或读操作进行处理。因此,应理解,图5所示的仅是GBM即处理写操作又处理读操作的一种情况,并非对GBM结构的限定,本申请实施例提供的GBM可以只包括图5中与写操作相关的部分模块,也可以只包括图5中读操作相关的部分模块,或包括图5中的全部模块。下面将根据写操作和读操作,对本申请实施提供的GBM的组成分别进行介绍。FIG. 5 shows a schematic structural diagram of a general bus model provided by an embodiment of the present application. As mentioned above, GBM can process write operations or read operations separately according to the requirements of the simulation test. Therefore, it should be understood that what is shown in Figure 5 is only a case where the GBM handles both write operations and read operations, and is not a limitation on the structure of the GBM. The GBM provided in the embodiment of the present application may only include the Some of the modules in FIG. 5 may also include only some of the modules related to the read operation in FIG. 5 , or include all the modules in FIG. 5 . In the following, the composition of the GBM provided by the implementation of the present application will be introduced respectively according to the write operation and the read operation.
如图5所示,对DUT的写操作进行仿真,通用总线模型330可以包括:写通道解码模块3311、写地址控制模块3312、写数据控制模块3313、写响应记录模块3314、写激励存储模块3315。As shown in Figure 5, the DUT write operation is simulated, and the general bus model 330 may include: write channel decoding module 3311, write address control module 3312, write data control module 3313, write response recording module 3314, write stimulus storage module 3315 .
具体地,该写激励存储模块3315用于接收调度器加载到GBM的激励文件,并存储激励文件中的写激励向量。其中,激励文件中指示对DUT进行写操作的激励向量称为写激励向量。Specifically, the write incentive storage module 3315 is configured to receive the incentive file loaded into the GBM by the scheduler, and store the write incentive vector in the incentive file. Wherein, the stimulus vector indicating the write operation to the DUT in the stimulus file is called a write stimulus vector.
可选地,当需要调度写激励向量的触发时序时,例如激励文件中有多个写激励向量需要按顺序执行的情况,或写激励向量需要在特定时间触发的情况等,GBM还可以先存储激励向量,当满足条件时触发相应的激励向量。在该情况下写激励存储模块3315还可以用于,当满足写激励向量的触发条件时,向写通道解码模块3311发送写激励向量。例如,写激励存储模块3315能够存储激励文件中的写激励向量,同时监控系统的运行状态,根据系统下游状态决定将写向量送入写通道解码模块3311。以AXI总线协议为例,写激励向量中可以包括计数(num)字段,当写地址通道的计数器与该写激励向量的num字段匹配时,调用该写激励向量。写激励存储模块3315还可以根据仿真测试需求选择其他触发条件,本申请不做具体限定,例如,在DUT时钟的特定时刻触发对应的写激励向量等。Optionally, when it is necessary to schedule the trigger timing of the write stimulus vector, for example, when there are multiple write stimulus vectors in the stimulus file that need to be executed sequentially, or when the write stimulus vector needs to be triggered at a specific time, etc., the GBM can also store Stimulus vector, trigger the corresponding stimulus vector when the condition is met. In this case, the write stimulus storage module 3315 may also be configured to send the write stimulus vector to the write channel decoding module 3311 when the trigger condition of the write stimulus vector is met. For example, the write incentive storage module 3315 can store the write incentive vector in the incentive file, monitor the operating status of the system at the same time, and decide to send the write vector to the write channel decoding module 3311 according to the downstream status of the system. Taking the AXI bus protocol as an example, the write stimulus vector may include a count (num) field, and when the counter of the write address channel matches the num field of the write stimulus vector, the write stimulus vector is invoked. The write stimulus storage module 3315 can also select other trigger conditions according to the requirements of the simulation test, which are not specifically limited in this application, for example, trigger the corresponding write stimulus vector at a specific time of the DUT clock.
具体地,该写通道解码模块3311用于解码写激励向量,以确定写地址通道信号和写数据通道信号。其中,写地址通道信号用于指示向DUT写入数据的地址,写数据通道信号用于指示向DUT写入的数据。例如,写通道解码模块3311能够根据DUT所用的总线标准协议,从写激励向量中提取写操作需要的指令字段,从而确定写入DUT的地址和数据。Specifically, the write channel decoding module 3311 is used to decode the write excitation vector to determine the write address channel signal and the write data channel signal. Wherein, the write address channel signal is used to indicate the address for writing data into the DUT, and the write data channel signal is used to indicate the data written into the DUT. For example, the write channel decoding module 3311 can extract the instruction field needed for the write operation from the write stimulus vector according to the bus standard protocol used by the DUT, so as to determine the address and data written into the DUT.
可选地,写地址通道信号和写数据通道信号可根据对应指令字段的值直接确定,也可以根据其他指令字段的值简介确定。例如,写激励向量中可以包括地址字段,用于表示向DUT写入数据的地址,也可以包括数据字段,用于表示向DUT写入的数据,从而提高解码速度。又例如,写激励向量中可以不包括数据字段,向DUT写入的数据可以根据写激励向量中识别码(id)字段和GBM中预存数据的映射关系确定,也可以根据写激励向量中地址字段通过编/解码的方式获得,从而简化激励向量的内容。Optionally, the write address channel signal and the write data channel signal may be directly determined according to the value of the corresponding command field, or may be determined briefly according to the value of other command fields. For example, the write stimulus vector may include an address field for indicating the address for writing data to the DUT, and may also include a data field for indicating the data written to the DUT, thereby increasing the decoding speed. For another example, the data field may not be included in the write stimulus vector, and the data written to the DUT may be determined according to the mapping relationship between the identification code (id) field in the write stimulus vector and the pre-stored data in the GBM, or according to the address field in the write stimulus vector Obtained by encoding/decoding, thereby simplifying the content of the excitation vector.
具体地,该写地址控制模块3312用于向DUT发送写地址通道信号。例如,以DUT使用AXI总线协议为例,写地址控制模块3312能够通过写地址通道向DUT发送信号,根据写通道解码模块3311确定的写地址,控制写地址通道信号的时序和电平,从而指示DUT写入数据的地址。Specifically, the write address control module 3312 is used to send a write address channel signal to the DUT. For example, taking the DUT using the AXI bus protocol as an example, the write address control module 3312 can send signals to the DUT through the write address channel, and control the timing and level of the write address channel signal according to the write address determined by the write channel decoding module 3311, thereby indicating The address where DUT writes data.
具体地,该写数据控制模块3313用于向DUT发送写数据通道信号。例如,以DUT使用AXI总线协议为例,写数据控制模块3313能够通过写数据通道向DUT发送信号。在写地址通道向DUT发送写地址信号的同时,写数据控制模块3313能够根据写通道解码模块3311确定的写数据,控制写数据通道信号的时序和电平,从而指示DUT写入的数据。Specifically, the write data control module 3313 is used to send a write data channel signal to the DUT. For example, taking the DUT using the AXI bus protocol as an example, the write data control module 3313 can send a signal to the DUT through the write data channel. While the write address channel sends the write address signal to the DUT, the write data control module 3313 can control the timing and level of the write data channel signal according to the write data determined by the write channel decoding module 3311, thereby indicating the data written by the DUT.
具体地,该写响应记录模块3314用于接收DUT发送的写响应通道信号。例如,以DUT使用AXI总线协议为例,写响应记录模块3314能够通过写响应通道接收DUT返回的响应信号,其中,写响应信号指示了该写操作是否成功。Specifically, the write response recording module 3314 is used to receive the write response channel signal sent by the DUT. For example, taking the DUT using the AXI bus protocol as an example, the write response recording module 3314 can receive the response signal returned by the DUT through the write response channel, wherein the write response signal indicates whether the write operation is successful.
通过本申请实施例的技术方案,GBM能够在硬件环境中解析写激励向量,并利用标准协议提供的硬件接口与DUT进行信号交互,从而由硬件实现写操作的仿真测试,验证DUT写操作的正确性。Through the technical solution of the embodiment of the present application, GBM can analyze the write stimulus vector in the hardware environment, and use the hardware interface provided by the standard protocol to perform signal interaction with the DUT, thereby realizing the simulation test of the write operation by the hardware, and verifying the correctness of the DUT write operation sex.
以上说明了对DUT进行写操作仿真所需的模块,下面对读操作仿真的相关模块进行说明。如图5所示,对DUT的读操作进行仿真,通用总线模型330可以包括:读通道解码模块3321、读地址控制模块3322、读响应记录模块3323、读激励存储模块3324。The modules required for the simulation of the write operation to the DUT have been described above, and the relevant modules of the simulation of the read operation will be described below. As shown in FIG. 5 , to simulate the read operation of DUT, the general bus model 330 may include: a read channel decoding module 3321 , a read address control module 3322 , a read response record module 3323 , and a read stimulus storage module 3324 .
具体地,该读激励存储模块3324用于接收调度器加载到GBM的激励文件,并存储激励文件中的读激励向量。其中,激励文件中指示对DUT进行读操作的激励向量称为读激励向量。Specifically, the read stimulus storage module 3324 is configured to receive the stimulus file loaded into the GBM by the scheduler, and store the read stimulus vector in the stimulus file. Wherein, the stimulus vector indicating the read operation on the DUT in the stimulus file is called the read stimulus vector.
可选地,读激励存储模块3324还可以用于,当满足读激励向量的触发条件时,向读通道解码模块3321发送读激励向量。可选地,读通道解码模块3321的实现方式可以与写通道解码模块3311类似,可以参考上文对写通道解码模块3311的说明,这里不再赘述。Optionally, the read stimulus storage module 3324 may also be configured to send the read stimulus vector to the read channel decoding module 3321 when the trigger condition of the read stimulus vector is satisfied. Optionally, the implementation of the read channel decoding module 3321 may be similar to that of the write channel decoding module 3311, and reference may be made to the above description of the write channel decoding module 3311, which will not be repeated here.
具体地,该读通道解码模块3321用于解码读激励向量,以确定读地址通道信号。其中,读地址通道信号用于指示从DUT读取数据的地址。例如,读通道解码模块3321能够根据DUT所用的总线标准协议,从读激励向量中提取读操作需要的指令字段,从而确定从DUT读取数据的地址。可选地,读通道解码模块3321的实现方式可以与写通道解码模块3311类似,可以参考上文对写通道解码模块3311的说明,这里不再赘述。Specifically, the read channel decoding module 3321 is used to decode the read excitation vector to determine the read address channel signal. Wherein, the read address channel signal is used to indicate the address for reading data from the DUT. For example, the read channel decoding module 3321 can extract the instruction field needed for the read operation from the read stimulus vector according to the bus standard protocol used by the DUT, so as to determine the address for reading data from the DUT. Optionally, the implementation of the read channel decoding module 3321 may be similar to that of the write channel decoding module 3311, and reference may be made to the above description of the write channel decoding module 3311, which will not be repeated here.
具体地,该读地址控制模块3322用于向DUT发送读地址通道信号。例如,以DUT使用AXI总线协议为例,读地址控制模块3322能够通过读地址通道向DUT发送信号,根据读通道解码模块3321确定的读地址,控制读地址通道信号的时序和电平,从而指示DUT读取数据的地址。Specifically, the read address control module 3322 is used to send a read address channel signal to the DUT. For example, taking the DUT using the AXI bus protocol as an example, the read address control module 3322 can send signals to the DUT through the read address channel, and control the timing and level of the read address channel signal according to the read address determined by the read channel decoding module 3321, thereby indicating DUT read data address.
具体地,该读响应记录模块3323用于接收DUT发送的读响应通道信号。例如,以DUT使用AXI总线协议为例,读响应记录模块3323能够通过读响应通道接收DUT返回的响应信号,其中,读响应信号能够指示该读操作是否成功。可选地,该读响应记录模块3323还可以用于通过读响应通道接收DUT发送的读数据,从而使GBM除了验证DUT读写操作的正确性外,还能够用于验证读写数据的正确性。Specifically, the read response recording module 3323 is used to receive the read response channel signal sent by the DUT. For example, taking the DUT using the AXI bus protocol as an example, the read response recording module 3323 can receive the response signal returned by the DUT through the read response channel, wherein the read response signal can indicate whether the read operation is successful. Optionally, the read response recording module 3323 can also be used to receive the read data sent by the DUT through the read response channel, so that in addition to verifying the correctness of the DUT read and write operations, the GBM can also be used to verify the correctness of the read and write data .
通过本申请实施例的技术方案,GBM能够在硬件环境中解析读激励向量,并利用标准协议提供的硬件接口与DUT进行信号交互,从而由硬件实现读操作的仿真测试,验证DUT读操作的正确性。Through the technical solution of the embodiment of the present application, GBM can analyze the read stimulus vector in the hardware environment, and use the hardware interface provided by the standard protocol to perform signal interaction with the DUT, thereby realizing the simulation test of the read operation by the hardware, and verifying the correctness of the DUT read operation sex.
上文说明了GBM进行读写操作仿真所需要的相关模块。在一些可能的情况下,还需要根据激励文件中每个读/写激励向量的响应结果确定该激励文件的测试结果信息。The above describes the relevant modules required by GBM for reading and writing operation simulation. In some possible cases, it is also necessary to determine the test result information of the stimulus file according to the response result of each read/write stimulus vector in the stimulus file.
在该情况下,可选地,通用总线模型330还可以包括过程监控模块,用于根据响应信号确定测试结果信息;向调度器发送测试结果信息。测试结果信息可以包括但不限于以下至少一项:成功的读/写操作数、失败的读/写操作数、失败的读/写操作的相关信息、读/写操作的响应速度等。例如,过程监控模块能够根据接收到DUT发送的响应信号所反映的操作结果,统计完成的读/写操作数数量,还可以统计其中与预期一致的成功读/写操作数,以及与预期不一致的失败读/写操作数。进一步地,对于失败的读/写操作,过程监控模块还可以记录相应激励向量中的相关信息(例如读/写地址),从而便于确定响应错误的原因。可选地,过程监控模块还可以对响应信号进行分析,例如根据读/写地址通道发出信号的时间和读/写响应通道收到信号的时间间隔,确定读/写操作的延迟,进一步地还可以根据每个读/写操作的延迟确定读/写操作的平均延迟,从而分析读/写操作的响应速度。In this case, optionally, the universal bus model 330 may also include a process monitoring module, configured to determine test result information according to the response signal; and send the test result information to the scheduler. The test result information may include but not limited to at least one of the following: number of successful read/write operations, number of failed read/write operations, relevant information of failed read/write operations, response speed of read/write operations, and the like. For example, the process monitoring module can count the number of completed read/write operations according to the operation results reflected by the response signal received from the DUT, and can also count the number of successful read/write operations that are consistent with expectations, and the number of operations that are inconsistent with expectations Failed read/write operands. Further, for failed read/write operations, the process monitoring module can also record relevant information (such as read/write address) in the corresponding stimulus vector, so as to facilitate the determination of the cause of the response error. Optionally, the process monitoring module can also analyze the response signal, for example, determine the delay of the read/write operation according to the time when the read/write address channel sends out the signal and the time interval when the read/write response channel receives the signal, and further The average latency of read/write operations can be determined according to the latency of each read/write operation, so as to analyze the response speed of read/write operations.
可选地,过程监控模块还能够产生测试完成信号和/或响应错误信号,以使得调度器320能够监控GBM的测试状态。例如,当激励文件中全部的激励向量执行完成后,过程监控模块可以产生测试完成信号。又例如,当接收到的响应信号与预期响应不一致时,过程监控模块可以产生响应错误信号。Optionally, the process monitoring module can also generate a test completion signal and/or respond to an error signal so that the scheduler 320 can monitor the test status of the GBM. For example, when all the stimulus vectors in the stimulus file are executed, the process monitoring module can generate a test completion signal. For another example, when the received response signal is inconsistent with the expected response, the process monitoring module may generate a response error signal.
上文结合图1至图5说明了本申请提供的仿真测试的系统实施例,下面,结合图6说明本申请提供的仿真测试的方法实施例。应理解,方法实施例与系统实施例相互对应,类似的描述可以参照系统实施例。The system embodiment of the simulation test provided by the present application is described above with reference to FIG. 1 to FIG. 5 , and the method embodiment of the simulation test provided by the present application is described below with reference to FIG. 6 . It should be understood that the method embodiments correspond to the system embodiments, and similar descriptions may refer to the system embodiments.
图6示出了本申请实施例提供的一种仿真测试的方法的示意性流程图。可选地,图6的方法可以由图3的系统300执行。Fig. 6 shows a schematic flow chart of a simulation test method provided by an embodiment of the present application. Optionally, the method in FIG. 6 may be executed by the system 300 in FIG. 3 .
如图6所示,该方法包括如下步骤。As shown in Fig. 6, the method includes the following steps.
S610:激励发生器生成激励文件。S610: The excitation generator generates an excitation file.
具体地,激励发生器用于生成激励文件,该激励文件用于指示对DUT进行仿真测试的操作。可选地,步骤S610可以由图3所示系统中的激励发生器310执行。Specifically, the stimulus generator is used to generate a stimulus file, and the stimulus file is used to instruct the operation of the simulation test on the DUT. Optionally, step S610 may be performed by the excitation generator 310 in the system shown in FIG. 3 .
S620:调度器将激励文件加载到通用总线模型。S620: The scheduler loads the stimulus file into the general bus model.
具体地,调度器能够将激励发生器生成的激励文件分配到对应的GBM。可选地,步骤S620可以由图3所示系统中的调度器320执行。Specifically, the scheduler can distribute the stimulus file generated by the stimulus generator to the corresponding GBM. Optionally, step S620 may be executed by the scheduler 320 in the system shown in FIG. 3 .
S630:通用总线模型根据激励文件产生激励信号,并将激励信号发送至待测设计以进行仿真测试。S630: The general bus model generates stimulus signals according to the stimulus files, and sends the stimulus signals to the design under test for simulation testing.
S640:通用总线模型接收响应信号,并根据响应信号确定仿真测试的结果。S640: The general bus model receives the response signal, and determines a simulation test result according to the response signal.
具体地,通用总线模型根据激励文件产生激励信号,以对DUT进行仿真测试;接收响应信号,以确定仿真测试的结果。其中,激励信号是DUT可识别的输入信号,响应信号是DUT根据激励信号发送的输出信号。可选地,步骤S630和S640可以由图3所示系统中的通用总线模型330执行。Specifically, the universal bus model generates stimulus signals according to the stimulus files to perform a simulation test on the DUT; receives a response signal to determine the result of the simulation test. Wherein, the excitation signal is an input signal recognizable by the DUT, and the response signal is an output signal sent by the DUT according to the excitation signal. Optionally, steps S630 and S640 may be executed by the general bus model 330 in the system shown in FIG. 3 .
通过本申请实施例的技术方案,通过在硬件环境中实现激励信号的产生以及响应信号的接收过程,所有仿真行为均在硬件环境中完成,实现了仿真过程中软件与硬件的解耦,避免了硬件与软件的频繁交互,提高了仿真测试的速度以及可仿真的逻辑规模,从而提高仿真测试的效率。Through the technical solution of the embodiment of the present application, by realizing the generation of the excitation signal and the receiving process of the response signal in the hardware environment, all simulation behaviors are completed in the hardware environment, realizing the decoupling of software and hardware in the simulation process, avoiding The frequent interaction between hardware and software improves the speed of simulation testing and the logic scale that can be simulated, thereby improving the efficiency of simulation testing.
对于上述步骤S610,可选地,激励发生器生成激励文件,包括:通过字段生成模块,根据约束文件,生成满足约束文件的指令字段,其中,约束文件用于指示指令字段的取值范围;通过拼接存储模块,根据拼接指令字段,以生成指令信息,指令信息用于指示通用总线模型对待测设计进行的操作。For the above step S610, optionally, the stimulus generator generates the stimulus file, including: using a field generation module to generate an instruction field satisfying the constraint file according to the constraint file, wherein the constraint file is used to indicate the value range of the instruction field; The splicing storage module is used to generate instruction information according to the splicing instruction field, and the instruction information is used to indicate the operation of the general bus model to be tested.
可选地,激励发生器生成激励文件,还包括:通过拼接存储模块,根据指令信息确定调试信息,调试信息用于解释指令信息的内容。Optionally, the stimulus generator generating the stimulus file further includes: determining debugging information according to instruction information by splicing storage modules, and the debugging information is used to explain the contents of the instruction information.
可选地,激励发生器生成激励文件,还包括:通过预处理模块,对指令字段进行预处理,以使其满足通用总线模型所用的标准协议。Optionally, generating the stimulus file by the stimulus generator further includes: preprocessing the instruction field through a preprocessing module so that it meets the standard protocol used by the general bus model.
可选地,激励发生器生成激励文件,还包括:通过约束格式自检模块,确定约束文件的格式是否正确。Optionally, generating the stimulus file by the stimulus generator further includes: determining whether the format of the constraint file is correct through a constraint format self-test module.
对于上述步骤S630至S640,可选地,包括:通过写通道解码模块,解码写激励向量,以产生写地址通道信号和写数据通道信号,其中,写地址通道信号用于指示向待测设计写入数据的地址,写数据通道信号用于指示向待测设计写入的数据;通过写地址控制模块,向待测设计发送写地址通道信号;通过写数据控制模块,向待测设计发送写数据通道信号;通过写响应记录模块,接收写响应通道信号,写响应通道信号用于指示写操作是否成功。For the above steps S630 to S640, optionally, it includes: decoding the write excitation vector through the write channel decoding module to generate the write address channel signal and the write data channel signal, wherein the write address channel signal is used to indicate writing to the design under test The address of the input data, the write data channel signal is used to indicate the data written to the design under test; through the write address control module, send the write address channel signal to the design under test; through the write data control module, send the write data to the design under test A channel signal: through the write response recording module, the write response channel signal is received, and the write response channel signal is used to indicate whether the write operation is successful.
可选地,上述步骤还包括:通过写激励存储模块,存储写激励向量;当满足写激励向量的触发条件时,向写通道解码模块发送写激励向量。Optionally, the above steps further include: storing the write stimulus vector through the write stimulus storage module; and sending the write stimulus vector to the write channel decoding module when a trigger condition of the write stimulus vector is met.
可选地,上述步骤还包括:通过读通道解码模块,解码读激励向量,以确定读地址通道信号,其中,读地址通道信号用于指示从待测设计读取数据的地址;通过读地址控制模块,向待测设计发送读地址通道信号;通过读响应记录模块,接收读响应通道信号,读响应通道信号用于指示读操作是否成功。Optionally, the above steps further include: decoding the read excitation vector through the read channel decoding module to determine the read address channel signal, wherein the read address channel signal is used to indicate the address for reading data from the design under test; through the read address control The module sends the read address channel signal to the design under test; the read response channel signal is received through the read response recording module, and the read response channel signal is used to indicate whether the read operation is successful.
可选地,上述步骤还包括:通过读激励存储模块,存储读激励向量;当满足读激励向量的触发条件时,向读通道解码模块发送读激励向量。Optionally, the above steps further include: storing the read stimulus vector through the read stimulus storage module; and sending the read stimulus vector to the read channel decoding module when a trigger condition of the read stimulus vector is satisfied.
可选地,上述步骤还包括:通过过程监控模块,根据响应信号,确定测试结果信息,测试结果信息用于指示仿真测试的结果;向调度器发送测试结果信息。Optionally, the above steps further include: through the process monitoring module, according to the response signal, determining test result information, the test result information is used to indicate the result of the simulation test; sending the test result information to the scheduler.
可选地,上述方法还包括:调度器接收测试结果信息,并将测试结果信息上传至服务器。Optionally, the above method further includes: the scheduler receives the test result information, and uploads the test result information to the server.
可选地,上述方法还包括:调度器监控待测设计的运行状态,以使得用户根据运行状态调试待测设计。Optionally, the above method further includes: the scheduler monitors the running state of the design under test, so that the user can debug the design under test according to the running state.
可选地,上述方法还包括:调度器向通用总线模型发送控制信号,控制信号用于控制通用总线模型启动或关闭。Optionally, the above method further includes: the scheduler sends a control signal to the general bus model, and the control signal is used to control the general bus model to start or stop.
可选地,上述方法还包括:调度器向待测设计发送初始化信号,初始化信号用于将待测设计恢复为仿真测试前的状态。Optionally, the above method further includes: the scheduler sends an initialization signal to the design under test, and the initialization signal is used to restore the design under test to a state before the simulation test.
本申请还提供一种仿真测试的系统100。如图7所示,系统100包括:总线102、处理器104、存储器106、通信接口108和硬件仿真设备110。处理器104、存储器106和通信接口108之间通过总线102通信,硬件仿真设备110通过通信接口108与系统的其它部件通信。应理解,本申请不限定系统100中的处理器、存储器的个数。The present application also provides a system 100 for simulation testing. As shown in FIG. 7 , the system 100 includes: a bus 102 , a processor 104 , a memory 106 , a communication interface 108 and a hardware emulation device 110 . The processor 104 , the memory 106 and the communication interface 108 communicate through the bus 102 , and the hardware emulation device 110 communicates with other components of the system through the communication interface 108 . It should be understood that the present application does not limit the number of processors and memories in the system 100 .
总线102可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线102可包括在系统100各个部件(例如,存储器106、处理器104、通信接口108)之间传送信息的通路。The bus 102 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus or the like. The bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one line is used in FIG. 3 , but it does not mean that there is only one bus or one type of bus. Bus 102 may include pathways for transferring information between various components of system 100 (eg, memory 106 , processor 104 , communication interface 108 ).
处理器104可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。The processor 104 may include a central processing unit (central processing unit, CPU), a graphics processing unit (graphics processing unit, GPU), a microprocessor (micro processor, MP) or a digital signal processor (digital signal processor, DSP), etc. Any one or more of them.
存储器106可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器104还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。The memory 106 may include a volatile memory, such as a random access memory (random access memory, RAM). The processor 104 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (read-only memory, ROM), a flash memory, a mechanical hard disk (hard diskdrive, HDD) or a solid state disk (solid state drive, SSD).
存储器106中存储有可执行的程序代码,处理器104执行该可执行的程序代码以分别实现前述系统中激励发生器、调度器、通用总线模型或各模块的功能,从而实现上述仿真测试的方法。也即,存储器106上存有用于执行上述仿真测试的方法的指令。Executable program codes are stored in the memory 106, and the processor 104 executes the executable program codes to respectively realize the functions of the stimulus generator, the scheduler, the general bus model or each module in the aforementioned system, thereby realizing the method for the above-mentioned simulation test . That is, the memory 106 stores instructions for executing the method for the simulation test described above.
通信接口108使用例如但不限于网络接口卡、收发器一类的收发模块,来实现系统100与其他设备或通信网络之间的通信。The communication interface 108 implements communication between the system 100 and other devices or communication networks by using transceiver modules such as but not limited to network interface cards and transceivers.
硬件仿真设备110使用例如但不限于基于处理器阵列(CPU-based)或基于现场可编程门阵列(FPGA-based)的硬件仿真器(emulator),来执行上述仿真测试方法中需要在硬件侧执行的步骤。The hardware emulation device 110 uses, for example but not limited to, an emulator based on a processor array (CPU-based) or an emulator based on a field programmable gate array (FPGA-based) to perform the above emulation testing method that needs to be executed on the hardware side A step of.
本申请实施例还提供一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,以执行上述仿真测试的方法。The embodiment of the present application also provides a chip, the chip includes a processor and a data interface, and the processor reads the instructions stored in the memory through the data interface, so as to execute the above simulation test method.
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行上述仿真测试的方法。The embodiment of the present application also provides a computer program product including instructions. The computer program product may be a software or program product containing instructions, executable on a computing device or stored on any available medium. When the computer program product is run on at least one computing device, at least one computing device is caused to perform the above-mentioned simulation test method.
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述仿真测试的方法。The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state hard disk), and the like. The computer-readable storage medium includes instructions, and the instructions instruct a computing device to perform the above simulation test method.
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above-mentioned embodiments can be combined arbitrarily. To make the description concise, all possible combinations of the technical features in the above-mentioned embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, should be considered as within the scope of this specification.
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的保护范围。The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still apply to the foregoing embodiments The recorded technical solutions are modified, or some of the technical features are replaced equivalently; and these modifications or replacements do not make the essence of the corresponding technical solutions depart from the protection scope of the technical solutions of each embodiment of the application.
Claims (34)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702299.6A CN115659885B (en) | 2022-12-29 | 2022-12-29 | System and method for simulation test |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702299.6A CN115659885B (en) | 2022-12-29 | 2022-12-29 | System and method for simulation test |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115659885A true CN115659885A (en) | 2023-01-31 |
CN115659885B CN115659885B (en) | 2023-03-21 |
Family
ID=85023152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211702299.6A Active CN115659885B (en) | 2022-12-29 | 2022-12-29 | System and method for simulation test |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115659885B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116367207A (en) * | 2023-06-01 | 2023-06-30 | 高新兴智联科技股份有限公司 | Quick offline verification wireless communication coding and decoding method |
CN117172205A (en) * | 2023-11-02 | 2023-12-05 | 摩尔线程智能科技(北京)有限责任公司 | Performance analysis method, device, electronic equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316695A (en) * | 2000-04-03 | 2001-10-10 | 中国人民解放军国防科学技术大学 | Integrated method for analoging and testing ASIC chip by combining software with hardware |
EP1376417A1 (en) * | 2002-06-26 | 2004-01-02 | Emulation and Verification Engineering | Method and system for emulating a circuit under test associated with a test environment |
CN1928877A (en) * | 2006-08-17 | 2007-03-14 | 电子科技大学 | Verification method for SOC software and hardware integration design |
CN105302950A (en) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | Software and hardware cooperation based cross-linking simulation test method for programmable logic device |
CN114297962A (en) * | 2021-12-08 | 2022-04-08 | 北京轩宇信息技术有限公司 | Self-adaptive interface FPGA software and hardware collaborative simulation acceleration system |
CN114325333A (en) * | 2021-12-30 | 2022-04-12 | 江苏集萃智能集成电路设计技术研究所有限公司 | A high-efficiency and standardized SOC system-level verification method and device |
-
2022
- 2022-12-29 CN CN202211702299.6A patent/CN115659885B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316695A (en) * | 2000-04-03 | 2001-10-10 | 中国人民解放军国防科学技术大学 | Integrated method for analoging and testing ASIC chip by combining software with hardware |
EP1376417A1 (en) * | 2002-06-26 | 2004-01-02 | Emulation and Verification Engineering | Method and system for emulating a circuit under test associated with a test environment |
CN1928877A (en) * | 2006-08-17 | 2007-03-14 | 电子科技大学 | Verification method for SOC software and hardware integration design |
CN105302950A (en) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | Software and hardware cooperation based cross-linking simulation test method for programmable logic device |
CN114297962A (en) * | 2021-12-08 | 2022-04-08 | 北京轩宇信息技术有限公司 | Self-adaptive interface FPGA software and hardware collaborative simulation acceleration system |
CN114325333A (en) * | 2021-12-30 | 2022-04-12 | 江苏集萃智能集成电路设计技术研究所有限公司 | A high-efficiency and standardized SOC system-level verification method and device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116367207A (en) * | 2023-06-01 | 2023-06-30 | 高新兴智联科技股份有限公司 | Quick offline verification wireless communication coding and decoding method |
CN117172205A (en) * | 2023-11-02 | 2023-12-05 | 摩尔线程智能科技(北京)有限责任公司 | Performance analysis method, device, electronic equipment and storage medium |
CN117172205B (en) * | 2023-11-02 | 2024-03-15 | 摩尔线程智能科技(北京)有限责任公司 | Performance analysis methods, devices, electronic equipment and storage media |
Also Published As
Publication number | Publication date |
---|---|
CN115659885B (en) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9152540B2 (en) | System and methods for generating and managing a virtual device | |
CN115659885B (en) | System and method for simulation test | |
US10007492B2 (en) | System and method for automatically generating device drivers for run time environments | |
CN115685785B (en) | General Bus Model and Method of Simulation Test | |
US8639981B2 (en) | Flexible SoC design verification environment | |
CN117112447B (en) | Data transmission method and device, electronic equipment and readable storage medium | |
US9690681B1 (en) | Method and system for automatically generating executable system-level tests | |
WO2025081835A1 (en) | Interruption control method and apparatus, device, program, and readable storage medium | |
US8626965B2 (en) | Using a DMA engine to automatically validate DMA data paths | |
CN113282439B (en) | eMMC test method and device, readable storage medium and electronic equipment | |
JP4187470B2 (en) | Semiconductor device development support cooperation device and development support method | |
CN114548027B (en) | Method, electronic device and storage medium for tracking signals in verification system | |
CN113760751B (en) | Method for generating test case, electronic device and storage medium | |
CN114912397A (en) | Programmable logic device, prototype verification system, method, apparatus and storage medium | |
CN117076337B (en) | Data transmission method and device, electronic equipment and readable storage medium | |
US10198539B1 (en) | Systems and methods for dynamic RTL monitors in emulation systems | |
CN114662430B (en) | Regression testing method, equipment and storage medium for design to be tested | |
CN117292738A (en) | System and method for verifying micro instruction sequence | |
CN115658411B (en) | An excitation generator and an excitation generation method | |
US20160077942A1 (en) | Storage system and test method for testing pci express interface | |
CN117236277B (en) | Method and device for checking register and electronic equipment | |
CN115658413B (en) | Excitation generator and excitation generating method | |
CN117131821B (en) | Chip verification method, device, electronic equipment and storage medium | |
CN115684897A (en) | Chip testing method and device | |
CN110321574B (en) | A method and apparatus for printing waveforms |
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 | ||
CP03 | Change of name, title or address |
Address after: B655, 4th Floor, Building 14, Cuiwei Zhongli, Haidian District, Beijing, 100036 Patentee after: Mole Thread Intelligent Technology (Beijing) Co.,Ltd. Country or region after: China Address before: 209, 2nd Floor, No. 31 Haidian Street, Haidian District, Beijing Patentee before: Moore Threads Technology Co., Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |