WO2024108496A1 - 一种芯片验证系统、方法、装置、设备及存储介质 - Google Patents
一种芯片验证系统、方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- WO2024108496A1 WO2024108496A1 PCT/CN2022/134106 CN2022134106W WO2024108496A1 WO 2024108496 A1 WO2024108496 A1 WO 2024108496A1 CN 2022134106 W CN2022134106 W CN 2022134106W WO 2024108496 A1 WO2024108496 A1 WO 2024108496A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sub
- simulation
- management
- file
- dut
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
Definitions
- the present application relates to the field of chip testing technology, and in particular to a chip verification system, method, device, equipment and storage medium.
- the conventional idea is to use a single TB (TestBench, verification platform) to verify the chip based on the chip's DUT (Design Under Test, design to be verified) file in a simulation manner.
- DUT Design Under Test, design to be verified
- the purpose of the embodiments of the present application is to provide a chip verification system, method, device and storage medium to improve the chip verification efficiency.
- the specific technical solution is as follows:
- an embodiment of the present application provides a chip verification system, the system comprising: a management TB and a simulation TB, the simulation TB comprising a plurality of sub-TBs, each sub-TB being deployed with a different sub-DUT file of a chip's DUT file, wherein:
- the management TB is used to control the head TB to start verification through the control channel, and the head TB is: a sub-TB in which the first sub-DUT file of the business simulation task is deployed;
- the header TB is used to generate a simulated input signal and send the simulated input signal to the management TB through a service channel;
- Each sub-TB is used to run the locally deployed sub-DUT file to obtain intermediate results, and send the intermediate results to other sub-TBs through the data channel;
- the tail TB is used to obtain the simulation result for the business simulation task and send the simulation result to the management TB through the business channel.
- the tail TB is: the sub-TB where the last sub-DUT file of the business simulation task is deployed;
- the management TB is also used to obtain the benchmark result of the business simulation task based on the simulation input signal, and verify the chip according to the benchmark result and the simulation result.
- an embodiment of the present application provides a chip verification method, which is applied to a management TB in a chip verification system, wherein the chip verification system further includes a simulation TB, wherein the simulation TB includes multiple sub-TBs, each of which is deployed with a different sub-DUT file of a DUT file of a chip;
- the method comprises:
- tail TB is a sub-TB in which the last sub-DUT file of the business simulation task is deployed;
- a benchmark result of the business simulation task is obtained based on the simulation input signal, and the chip is verified according to the benchmark result and the simulation result.
- an embodiment of the present application provides a chip verification method, which is applied to a sub-TB included in a simulation TB in a chip verification system, wherein the chip verification system further includes a management TB, and each sub-TB is deployed with different sub-DUT files of a DUT file of a chip;
- the method comprises:
- the sub-TB is a head TB
- a simulation input signal is generated, and based on the simulation input signal, a local sub-DUT file deployed locally is run to obtain an intermediate result;
- the simulation input signal is sent to the management TB through a service channel, and the intermediate result is sent to a downstream TB through a data channel,
- the sub-DUT file deployed by the downstream TB is a downstream sub-DUT file of the local sub-DUT file
- the head TB is: a sub-TB in which the first sub-DUT file of a service simulation task is deployed;
- the sub-TB receives the intermediate result sent by the upstream TB, uses the received intermediate result as input to run the locally deployed local sub-DUT file to obtain the intermediate result, and sends the obtained intermediate result to the downstream TB through the data channel between itself and the downstream TB, wherein the sub-DUT file deployed by the upstream TB is the upstream sub-DUT file of the local sub-DUT file, and the intermediate TB is: the sub-TB other than the head TB and the tail TB;
- the sub-TB receives the intermediate results sent by the upstream TB, runs the locally deployed local sub-DUT file with the received intermediate results as input to obtain simulation results, and sends the simulation results to the management TB through the business channel, so that the management TB verifies the chip based on the simulation input signal and the simulation results, wherein the tail TB is: the sub-TB with the last sub-DUT file of the business simulation task deployed.
- an embodiment of the present application provides a chip verification device, which is applied to a management TB in a chip verification system, wherein the chip verification system further includes a simulation TB, wherein the simulation TB includes a plurality of sub-TBs, each of which is deployed with a different sub-DUT file of a DUT file of a chip;
- the device comprises:
- a control module used for controlling a head TB to start verification through a control channel, so that the head TB generates a simulation input signal, the head TB being: a sub-TB in which the first sub-DUT file of a business simulation task is deployed;
- a business information receiving module used to receive the simulation input signal sent by the head TB through the business channel; receive the simulation result for the business simulation task fed back by the tail TB through the business channel, wherein the tail TB is: a sub-TB in which the last sub-DUT file of the business simulation task is deployed;
- the chip verification module is used to obtain a benchmark result of the business simulation task based on the simulation input signal, and verify the chip according to the benchmark result and the simulation result.
- an embodiment of the present application provides a chip verification device, which is applied to a sub-TB included in a simulation TB in a chip verification system, wherein the chip verification system further includes a management TB, and each sub-TB is deployed with different sub-DUT files of a DUT file of a chip;
- the device comprises:
- a control response module for generating a simulation input signal in response to the start verification control of the management TB if the simulation TB is a head TB, and running the locally deployed local sub-DUT file based on the simulation input signal to obtain an intermediate result, wherein the head TB is: a sub-TB in which the first sub-DUT file of the business simulation task is deployed;
- a data transceiver module is used to send the intermediate result obtained to the downstream TB through the data channel if the simulation TB is a head TB; if the sub-TB is an intermediate TB, receive the intermediate result sent by the upstream TB, use the received intermediate result as input to run the locally deployed local sub-DUT file to obtain the intermediate result, and send the intermediate result obtained to the downstream TB through the data channel between itself and the downstream TB; if the sub-TB is a tail TB, receive the intermediate result sent by the upstream TB, use the received intermediate result as input to run the locally deployed local sub-DUT file to obtain the simulation result, wherein the tail TB is: the sub-TB with the last sub-DUT file of the business simulation task deployed, the intermediate TB is the sub-TB other than the head TB and the tail TB, the sub-DUT file deployed by the downstream TB is the downstream sub-DUT file of the local sub-DUT file, and the sub-DUT file deployed by the upstream TB is the upstream sub-
- a service information sending module is used to send the simulation input signal to the management TB through a service channel if the simulation TB is a head TB; if the sub-TB is a tail TB, send the simulation result to the management TB through a service channel, so that the management TB verifies the chip based on the simulation input signal and the simulation result.
- an embodiment of the present application provides a verification platform, including: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to: implement the chip verification method described in the second aspect or the third aspect above.
- an embodiment of the present application provides a computer-readable storage medium storing machine-executable instructions.
- the machine-executable instructions When called and executed by a processor, the machine-executable instructions prompt the processor to implement the chip verification method described in the second aspect or the third aspect above.
- an embodiment of the present application further provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to implement the chip verification method described in the second aspect or the third aspect above.
- the head TB can generate a simulation input signal in response to the control of the management TB, and send the simulation input signal to the above-mentioned management TB through the business channel; the tail TB can obtain the simulation result for the business simulation task, and feed back the obtained simulation result to the management TB through the business channel, so that the management TB can receive the above-mentioned simulation input signal and simulation result, and then can successfully verify the chip based on the above-mentioned simulation input signal and simulation result.
- each sub-TB is used to run the locally deployed sub-DUT file to obtain the intermediate results, and send the obtained intermediate results to other sub-TBs through the data channel. It can be seen that, on the one hand, each sub-TB can send the obtained intermediate results to other sub-TBs so that other sub-TBs can obtain new intermediate results based on the received intermediate results. On the other hand, each sub-TB can continue to run the locally deployed sub-DUT file to obtain the intermediate results. That is, in the above process, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use its own computing resources to run the locally deployed sub-DUT file to work together to obtain the simulation results. This reduces the time consumption when obtaining the simulation results, improves the efficiency of obtaining the simulation results, and thus improves the efficiency of verifying the chip based on the simulation results.
- the management TB controls the head TB to start verification through the control channel
- the head TB and the tail TB respectively feed back the simulation input signal and the simulation result to the management TB through the service channel
- each sub-TB sends the intermediate result to other sub-TBs through the data channel.
- FIG1 is a schematic diagram of the structure of a first chip verification system provided in an embodiment of the present application.
- FIG2 is a signaling interaction diagram of a first chip verification method provided in an embodiment of the present application.
- FIG3 is a signaling interaction diagram of a second chip verification method provided in an embodiment of the present application.
- FIG4 is a signaling interaction diagram of a third chip verification method provided in an embodiment of the present application.
- FIG5 is a schematic diagram of the contents of a topology file provided in an embodiment of the present application.
- FIG6 is a schematic diagram of a topology file generation interface provided in an embodiment of the present application.
- FIG7 is a schematic diagram of the structure of a second chip verification system provided in an embodiment of the present application.
- 8a and 8b are signaling interaction diagrams of a fourth chip verification method provided in an embodiment of the present application.
- FIG9 is a schematic diagram of a fifth chip verification method according to an embodiment of the present application.
- FIG10 is a schematic diagram of a sixth chip verification method according to an embodiment of the present application.
- FIG11 is a schematic diagram of a flow chart of a seventh chip verification method provided in an embodiment of the present application.
- FIG12 is a schematic flow chart of an eighth chip verification method provided in an embodiment of the present application.
- FIG13 is a schematic diagram of a flow chart of a ninth chip verification method provided in an embodiment of the present application.
- FIG14 is a schematic diagram of the structure of a first chip verification device provided in an embodiment of the present application.
- FIG15 is a schematic diagram of the structure of a second chip verification device provided in an embodiment of the present application.
- FIG16 is a schematic diagram of the structure of a verification platform provided in an embodiment of the present application.
- the design file to be verified may be written in HDL (Hardware Description Language).
- a part of the DUT file obtained by splitting the DUT file obtained by splitting the DUT file.
- the embodiments of the present application do not limit the specific method for segmenting the DUT file to obtain the sub-DUT files.
- the staff can segment the DUT file according to the actual situation and the sub-functions of the chip to be verified.
- each sub-DUT file obtained by segmentation corresponds to each sub-function of the chip to be verified.
- the task of verifying the function of the chip by TB simulation can also be called a verification case, corresponding to a verification process.
- the business simulation task can record the information of each sub-DUT file that needs to be executed in the verification process.
- business simulation task T1 is for the verification of sub-function 1 of the chip, then T1 records the information of sub-DUT files 1-3 related to sub-function 1;
- business simulation task T2 is for the verification of sub-functions 2 and 3 of the chip, then T2 records the information of sub-DUT files 5-9 related to sub-functions 2 and 3, and so on.
- the business simulation task will involve multiple sub-DUT files that need to be executed in the verification process. These sub-DUT files have a certain execution order during the verification process.
- a sub-DUT file that is executed after a sub-DUT file in the verification process can be called a downstream sub-DUT file of the sub-DUT file.
- a sub-DUT file that is executed before a sub-DUT file in the verification process can be called an upstream sub-DUT file of the sub-DUT file.
- the sub-DUT file deployed by its downstream TB is the downstream sub-DUT file of the local sub-DUT file deployed by the sub-TB; similarly, the sub-DUT file deployed by its upstream TB is the upstream sub-DUT file of the local sub-DUT file deployed by the sub-TB.
- Head TB Head TB
- tail TB middle TB.
- the head TB is the sub-TB where the first sub-DUT file of the business simulation task is deployed, and similarly, the tail TB is the sub-TB where the last sub-DUT file of the business simulation task is deployed.
- the middle TB is the sub-TB other than the head TB and the tail TB.
- the embodiments of the present application provide a chip verification system, method, apparatus, device and storage medium, which are described in detail below.
- an embodiment of the present application provides a chip verification system, the system comprising: a management TB and a simulation TB, the simulation TB comprising a plurality of sub-TBs, each sub-TB being deployed with a different sub-DUT file of a chip's DUT file, wherein:
- the management TB is used to control the head TB to start verification through the control channel.
- the head TB is: a sub-TB in which the first sub-DUT file of the business simulation task is deployed;
- the header TB is used to generate a simulated input signal and send the simulated input signal to the management TB through a service channel;
- Each sub-TB is used to run the locally deployed sub-DUT file to obtain intermediate results, and send the intermediate results to other sub-TBs through the data channel;
- the tail TB is used to obtain the simulation result for the business simulation task and to feed back the simulation result to the management TB through the business channel.
- the tail TB is: the sub-TB where the last sub-DUT file of the business simulation task is deployed;
- the management TB is also used to obtain a benchmark result of the business simulation task based on the simulation input signal, and verify the chip according to the benchmark result and the simulation result.
- the head TB can generate a simulation input signal in response to the control of the management TB, and send the simulation input signal to the above-mentioned management TB through the business channel; the tail TB can obtain the simulation result for the business simulation task, and feed back the obtained simulation result to the management TB through the business channel, so that the management TB can receive the above-mentioned simulation input signal and simulation result, and then can successfully verify the chip based on the above-mentioned simulation input signal and simulation result.
- each sub-TB is used to run the locally deployed sub-DUT file to obtain the intermediate results, and send the obtained intermediate results to other sub-TBs through the data channel. It can be seen that, on the one hand, each sub-TB can send the obtained intermediate results to other sub-TBs so that other sub-TBs can obtain new intermediate results based on the received intermediate results. On the other hand, each sub-TB can continue to run the locally deployed sub-DUT file to obtain the intermediate results. That is, in the above process, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use its own computing resources to run the locally deployed sub-DUT file to work together to obtain the simulation results. This reduces the time consumption when obtaining the simulation results, improves the efficiency of obtaining the simulation results, and thus improves the efficiency of verifying the chip based on the simulation results.
- the management TB controls the head TB to start verification through the control channel
- the head TB and the tail TB respectively feed back the simulation input signal and the simulation result to the management TB through the service channel
- each sub-TB sends the intermediate result to other sub-TBs through the data channel.
- FIG. 1 is a structural diagram of the first chip verification system provided in an embodiment of the present application.
- the above-mentioned chip verification system includes: management TB101 and simulation TB102, wherein the simulation TB102 includes multiple sub-TBs, and each sub-TB is deployed with different sub-DUT files of the chip's DUT file.
- the simulation TB102 in FIG. 1 includes sub-TBs including a head TB and a tail TB, and the connection between the management TB101 and the simulation TB102 represents the communication connection established between the management TB101 and the above sub-TBs.
- the following first describes a scenario in which chip verification is performed using the chip verification system provided by an embodiment of the present application.
- the chip verification system includes a management TB and a simulation TB.
- the simulation TB includes multiple sub-TBs, and each sub-TB is deployed with different sub-DUT files of the DUT file of the chip.
- each sub-TB Before performing chip verification, the management TB and the above-mentioned sub-TBs can start working, and then each sub-TB can run its locally deployed sub-DUT file in parallel. At this time, since no simulation input signal is generated, each sub-TB will not generate an operation result for the simulation input signal until the management TB controls the head TB to start verification. After the head TB receives the control message for starting verification sent by the management TB, it starts verification and generates a simulation input signal.
- the chip verification solution provided in the embodiment of the present application begins to execute.
- chip verification solution provided in the embodiment of the present application is described in detail in the form of a signaling diagram below.
- FIG. 2 which is a signaling interaction diagram of the first chip verification method provided in an embodiment of the present application, the method includes the following steps S201-S206.
- Step S201 The management TB controls the head TB to start verification through the control channel.
- the above-mentioned header TB is: a sub-TB in which the first sub-DUT file of the business simulation task is deployed.
- the first sub-DUT file of the above business simulation task is: the first sub-DUT file executed during the execution of the business simulation task.
- control channel and the service channel and data channel mentioned later are all transmission channels used to transmit data or messages.
- the management TB controls the header TB to start verification, which can be understood as the management TB controls the header TB to generate a simulation input signal, thereby starting verification for the business simulation task, that is, starting verification of part or all functions of the chip targeted by the business simulation task.
- the management TB may send a control message to the head TB through a control channel, thereby controlling the head TB to start verification.
- Step S202 The header TB generates a simulated input signal.
- the head TB can generate a simulated input signal according to the following two situations.
- the header TB pre-stores information for generating a simulated input signal, so that after receiving a control message sent by the management TB, the header TB can generate a simulated input signal according to the above information.
- the management TB when the management TB controls the head TB to generate a simulated input signal, it can send a message for generating the simulated input signal to the head TB, so that the head TB can generate the simulated input signal according to the received message.
- each sub-TB is used to run the locally deployed sub-DUT file to obtain an intermediate result, and sends the obtained intermediate result to other sub-TBs through the data channel.
- Step S203 the head TB sends a simulated input signal to the management TB through the service channel.
- Step S204 the tail TB obtains the simulation result for the business simulation task.
- the tail TB is a sub-TB in which the last sub-DUT file of the business simulation task is deployed.
- the last sub-DUT file of the above business simulation task can be understood as: the last sub-DUT file executed during the execution of the business simulation task.
- the sub-DUT file locally deployed by the tail TB does not have a downstream sub-DUT file, indicating that the sub-DUT file it deploys is the last sub-DUT file that needs to be executed in this business simulation task. Therefore, the result obtained by the tail TB running the locally deployed sub-DUT file is the simulation result for this business simulation task.
- Step S205 the tail TB feeds back the simulation result to the management TB through the service channel.
- Step S206 the management TB obtains a benchmark result of the business simulation task based on the simulation input signal, and verifies the chip according to the benchmark result and the simulation result.
- the management TB can input the simulation input signal into the locally deployed reference model (Reference Model) to obtain the benchmark result of the model output.
- the reference model is written in a high-level language and describes the functional logic of the chip.
- the management TB can compare the simulation results with the benchmark results to see if they are consistent. If they are consistent, it is determined that the chip has passed the verification for the business simulation task; if they are inconsistent, it is determined that the chip has failed the verification for the business simulation task.
- the head TB can generate a simulation input signal in response to the control of the management TB, and send the simulation input signal to the above-mentioned management TB through the business channel; the tail TB can obtain the simulation result for the business simulation task, and feed back the obtained simulation result to the management TB through the business channel, so that the management TB can receive the above-mentioned simulation input signal and simulation result, and then can successfully verify the chip based on the above-mentioned simulation input signal and simulation result.
- each sub-TB is used to run the locally deployed sub-DUT file to obtain the intermediate results, and send the obtained intermediate results to other sub-TBs through the data channel. It can be seen that, on the one hand, each sub-TB can send the obtained intermediate results to other sub-TBs so that other sub-TBs can obtain new intermediate results based on the received intermediate results. On the other hand, each sub-TB can continue to run the locally deployed sub-DUT file to obtain the intermediate results. That is, in the above process, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use its own computing resources to run the locally deployed sub-DUT file to work together to obtain the simulation results. This reduces the time consumption when obtaining the simulation results, improves the efficiency of obtaining the simulation results, and thus improves the efficiency of verifying the chip based on the simulation results.
- the management TB controls the head TB to start verification through the control channel
- the head TB and the tail TB respectively feed back the simulation input signal and the simulation result to the management TB through the service channel
- each sub-TB sends the intermediate result to other sub-TBs through the data channel.
- the above solution is also applicable to verification scenarios with large DUT logic scale of various chips to be verified, such as networking verification of multiple chip sets, chiplet system verification of multi-die (Die-to-Die) interconnected, and distributed joint simulation of EMU (Emulator) and EDA (electronic design assistance).
- the management TB can also send a verification completion message to each sub-TB through the control channel between the management TB and each sub-TB; each sub-TB can respond to the verification completion message by closing the service channel between the management TB, the data channel between the adjacent sub-TBs, and the control channel between the management TB.
- the end condition of the chip verification may be that each business simulation task has traversed all sub-DUT files and the verification of each business simulation task has passed.
- control channels, business channels and data channels established between various types of TBs can be closed in time, so that the memory occupied by the above transmission channels can be released in time.
- each sub-TB can send its intermediate results to other sub-TBs through a data channel according to the upstream and downstream relationships between itself and other sub-TBs.
- the present disclosure provides a second chip verification method.
- FIG. 3 which is a signaling interaction diagram of a second chip verification method provided in an embodiment of the present application, the method includes the following steps S301 - S308 .
- Step S301 Management TB control head simulation TB start verification.
- the management TB can control the head simulation TB to start verification in the following way.
- step S201 it may be the same as the aforementioned step S201, and will not be described in detail here.
- the management TB may store the access address of the head TB, so that the management TB may control the head TB to generate an excitation signal based on the access address.
- the access address may be an IP address, MAC address or other address of the head TB; the method of controlling the head TB to generate an excitation signal based on the access address may be to send an instruction message to start verification to the head TB.
- Step S302 The header TB generates a simulation input signal, and runs the locally deployed local sub-DUT file based on the simulation input signal to obtain an intermediate result.
- the above-mentioned simulation input signal is the input signal of the head TB running the local sub-DUT file.
- the head TB runs the local sub-DUT file
- the local sub-DUT file is input with the above-mentioned simulation input signal, and the output result can be obtained.
- the above-mentioned output result can be called the intermediate result for the simulation input signal.
- the head TB runs the local sub-DUT file
- the functional module corresponding to the local sub-DUT file in the chip is simulated.
- the above intermediate results can be understood as the interface timing of the above functional module output for the above simulation input signal.
- Step S303 The head TB sends a simulated input signal to the management TB.
- the head TB may send the simulation input signal to the management TB in the following manner.
- the head TB may send a simulated input signal to the management TB through a service channel.
- the head TB may pre-store the access address of the management TB, so that after the simulation input signal is generated, the head TB may send the generated simulation input signal to the management TB based on the access address.
- Step S304 The head TB sends the obtained intermediate result to the downstream TB.
- the sub-DUT file deployed by the downstream TB is a downstream sub-DUT file of the local sub-DUT file.
- the head TB may send the intermediate result to its own downstream TB.
- the downstream TB of the head TB may be one or more.
- the head TB may send the intermediate result to the downstream TB in the following manner.
- the head TB may pre-store the access address of the downstream TB, so that after the head TB obtains the intermediate result, it may send the intermediate result to the downstream TB based on the access address.
- the head TB may send the obtained intermediate result to the downstream simulation TB via a data channel between the head TB and the downstream simulation TB.
- Step S305 the intermediate TB receives the intermediate result sent by the upstream TB, uses the received intermediate result as an input signal to run the locally deployed local sub-DUT file to obtain the intermediate result, and sends the obtained intermediate result to the downstream TB.
- the above-mentioned intermediate TB is: a sub-TB except the head TB and the tail TB, and the sub-DUT file deployed by the upstream TB is an upstream sub-DUT file of the local sub-DUT file.
- the middle TB is a sub-TB other than the head TB and the tail TB
- the local sub-DUT file deployed locally in the middle TB has downstream sub-DUT files, indicating that there are subsequent sub-DUT files that need to be executed in this business simulation task, and this business simulation task has not yet ended, that is, the intermediate result obtained by the middle TB is not the final simulation result of this business simulation task.
- the intermediate TB can send the intermediate results obtained by itself to the downstream TB, so that the downstream TB receives the intermediate results and inputs the received intermediate results as input signals into the local sub-DUT file it runs.
- the intermediate TB runs the local sub-DUT file
- the functional module corresponding to the local sub-DUT file in the chip is simulated.
- the above intermediate results can be understood as the interface timing of the above functional module output for the above simulation input signal.
- the intermediate TB may send the obtained intermediate result to the downstream TB in the following manner.
- the intermediate TB may pre-store the access address of its downstream simulation TB, so that after the intermediate TB obtains the intermediate result, it may send the intermediate result to its downstream simulation TB based on the access address.
- the intermediate TB may send the obtained intermediate result to the downstream TB via a data channel between the intermediate TB and the downstream TB.
- Step S306 the tail TB receives the intermediate result sent by the upstream TB, and uses the received intermediate result as an input signal to run the locally deployed local sub-DUT file to obtain the simulation result.
- the tail TB is the sub-TB where the last sub-DUT file of the business simulation task is deployed.
- the local sub-DUT file deployed locally does not have a downstream sub-DUT file, indicating that the sub-DUT file deployed is the last sub-DUT file that needs to be executed in this business simulation task. Therefore, the result obtained by running the local sub-DUT file with the intermediate result sent by the upstream TB as the input signal is the simulation result for the business simulation task.
- Step S307 the tail TB feeds back the simulation result to the management TB.
- the tail TB may feed back the simulation result to the management TB in the following manner.
- the tail TB may pre-store the access address of the management TB, so that the tail TB may feed back the obtained intermediate result as the simulation result to the management TB based on the access address.
- the tail TB may send the simulation result to the management TB through the service channel between the tail TB and the management TB.
- Step S308 the management TB obtains a benchmark result of the business simulation task based on the simulation input signal, and verifies the chip according to the benchmark result and the simulation result.
- This step is the same as step S206 in the embodiment shown in FIG. 2 , and will not be described in detail here.
- the head TB can run the locally deployed local sub-DUT file based on the simulation input signal generated by itself to obtain an intermediate result, and then send the obtained intermediate result to the downstream TB through the data channel between itself and the downstream TB.
- the middle TB can receive the intermediate result sent by the upstream TB, and run the locally deployed local sub-DUT file with the received intermediate result as the input signal to obtain the intermediate result, and send the obtained intermediate result to the downstream TB through the data channel between itself and the downstream TB.
- the tail TB can receive the intermediate result sent by the upstream TB, and run the locally deployed local sub-DUT file with the received intermediate result as the input signal to obtain the simulation result.
- each sub-TB can exchange data in an orderly manner according to the upstream and downstream relationships, and finally the tail TB can obtain the simulation results accurately.
- FIG. 4 is a signaling interaction diagram of a third chip verification method provided in an embodiment of the present application, the method includes the following steps S401 - S411 .
- Step S401 Each sub-TB establishes a control channel with the management TB.
- the embodiment of the present application does not limit the process of establishing a control channel between each sub-TB and the management TB.
- the sub-TB may actively establish a control channel with the management TB, or the management TB may control the sub-TB to establish a control channel with itself.
- the management TB can establish a control server, and each sub-TB establishes a control client. After successfully establishing the control client, a control communication connection is established with the control server, and a local control thread is started based on the control communication connection. The management TB also starts a local control thread based on the control communication connection.
- the management TB and each sub-TB can receive or send control messages based on the local control thread, that is, the control channel between each sub-TB and the management TB is established.
- the control message can be a verification start indication message, TB information, etc.
- the management TB and each sub-TB have established control threads locally based on the control communication connection, so that the above-mentioned control threads can be dedicated to receiving and sending control messages between the management TB and each sub-TB. In this way, the interaction of control messages will not cause interaction confusion with other types of information, which is conducive to improving the efficiency of control message interaction between the management TB and each sub-TB.
- the data transmitted by the control channel is in TLV (Type-Length-Value) format.
- the Type part can use 8 bits to represent the command type identifier; the Value part represents the Payload, that is, the actual data content; the Length part can use 8 bits to represent the actual byte length of the Value part, supporting a maximum Value byte length of 256 bytes.
- the data format transmitted by the data control channel adopts the TLV format, which can support the transmission of variable-length control messages and is conducive to enriching the message types that the data control channel can transmit.
- Step S402 The head TB and the tail TB establish a service channel with the management TB.
- the tail TB is: the simulation TB in which the last sub-DUT file of the business simulation task is deployed.
- the embodiment of the present application does not limit the process of establishing a service channel between the head TB, the tail TB and the management TB.
- the head TB and the tail TB may actively establish a service channel with the management TB, or the management TB may control the head TB and the tail TB to establish a service channel with itself.
- the management TB can establish a business server, the head TB and the tail TB can establish a business communication connection with the business server, and start a local business thread based on the business communication connection, and the management TB also starts a local business thread based on the business communication connection.
- the management TB and the head TB and tail TB can all receive or send service information based on the local service thread, that is, the service channel between the head TB, tail TB and the management TB is established.
- the above service information can be a simulation input signal, a simulation result, and the like.
- the head TB, tail TB and management TB have all established business threads locally based on the business communication connection, so that the above business threads can be dedicated to receiving and sending business information between the management TB and the head TB and tail TB.
- the interaction of business information will not cause interaction confusion with other types of information, which is conducive to improving the efficiency of business information interaction between the management TB and the head TB and tail TB.
- the data transmitted by the above-mentioned service channel is: a variable-length message in a dynamic array format.
- the elements in the above dynamic array can be 8 bits in size.
- the data sender can apply for the size of the dynamic array according to the actual length of the data to be transmitted.
- the data receiver can obtain each variable-length message through the de-sticking packet technology at the bottom layer of the Socket.
- variable-length message supports the transmission of variable-length data. Therefore, the data format transmitted by the service channel adopts the variable-length message format, which can support the transmission of variable-length information and is conducive to enriching the information types that can be transmitted by the service channel.
- Step S403 establishing a data channel between adjacent sub-TBs.
- the sub-DUT files deployed by adjacent sub-TBs have an upstream and downstream relationship.
- the embodiment of the present application does not limit the method of establishing a data channel between adjacent sub-TBs.
- the following introduces a method of establishing a data channel between adjacent sub-TBs by taking steps A to C as an example.
- Step A Each sub-TB sends TB information to the management TB through the control channel between itself and the management TB.
- the above-mentioned TB information may include information such as the TB identification and access address of the sub-TB.
- Step B The management TB obtains the topology file, updates the topology file according to the received TB information, determines the adjacent sub-TBs based on the updated topology file, sends a control message to the adjacent sub-TB through the control channel between itself and the determined adjacent sub-TB, and synchronizes the updated topology file to each sub-TB.
- the topology file is used to record the topological relationship between the management TB and each sub-TB, the TB information of the management TB, and the TB information of each sub-TB.
- the topology file please refer to the embodiments shown in the subsequent Figures 5 and 6, which will not be described in detail here.
- the management TB may update the topology file according to the received TB information by updating the TB information in the topology file to the received TB information, deleting the topological relationship of the sub-TBs for which the TB information has not been received and recorded in the topology file.
- the management TB can determine the TB for establishing the data channel recorded in the topology file as the adjacent sub-TB, and then send a control message to the adjacent sub-TB through the control channel between itself and the determined adjacent sub-TB, and synchronize the updated topology file to each sub-TB.
- the management TB can send a control message to one of the adjacent sub-TBs, so that the sub-TB that receives the control message can actively initiate a data channel establishment request for another sub-TB.
- the management TB can also send a control message to both sub-TBs in the adjacent sub-TBs.
- Step C The adjacent sub-TB responds to the control message, establishes a data communication connection with the adjacent sub-TB based on the received topology file, and starts a local data thread according to the data communication connection.
- the adjacent sub-TB may read the sub-TBs adjacent to itself recorded in the topology file, and then establish a data communication connection with the sub-TBs, and start a local data thread according to the data communication connection.
- the adjacent sub-TBs can receive or send data through the above data communication connection based on the local data thread, that is, the data channel between the adjacent sub-TBs is established.
- the above data can be an intermediate result, etc.
- the management TB can determine the adjacent sub-TBs according to the updated topology file, and then synchronize the updated topology file to each sub-TB, and instruct the adjacent sub-TBs to establish a data channel, so that the sub-TB can accurately determine the sub-TBs adjacent to itself based on the updated topology file, and establish a data channel with the sub-TB.
- the data thread can be dedicated to receiving and sending data between adjacent sub-TBs, so that the interaction of the data does not cause interaction confusion with other types of information, which is conducive to improving the efficiency of data interaction between adjacent sub-TBs.
- the data transmitted by the above-mentioned data channel is: data based on a signal-based SB (Signal Based) mode or a TB (Transaction Based) mode.
- the data transmitted by the above-mentioned data channel is: the port signal value generated by running the sub-DUT file and transmitted at the clock cycle granularity.
- This mode requires cycle-level data flow synchronization;
- the data transmitted by the data sender is the interface data in the data format of the business channel.
- the data receiver can parse the above-mentioned data to generate an interface timing signal. This mode requires the data receiver to parse the received data, but does not require cycle-level data flow synchronization.
- the data in SB mode or TB mode can be selected for transmission in the data channel according to the actual situation, so that the selected transmitted data meets the characteristics of the data required to be transmitted by the data channel, thereby facilitating the improvement of the data transmission efficiency of the data channel.
- step S402 can be executed before or after step S403, and the above two steps can also be executed in parallel.
- Step S404 The management TB controls the head TB to start verification through the control channel.
- Step S405 The header TB generates a simulation input signal, and runs the locally deployed local sub-DUT file based on the simulation input signal to obtain an intermediate result.
- Step S406 the head TB sends a simulated input signal to the management TB through the service channel.
- Step S407 the head TB sends the intermediate result to the downstream TB via the data channel between itself and the downstream TB.
- Step S408 the intermediate TB receives the intermediate result sent by the upstream TB, runs the second sub-DUT file with the received intermediate result as the input signal to obtain the intermediate result, and sends the obtained intermediate result to the downstream TB through the data channel between itself and the downstream TB.
- Step S409 the tail TB receives the intermediate result sent by the upstream TB, and uses the received intermediate result as an input signal to run the locally deployed local sub-DUT file to obtain the simulation result.
- Step S410 the tail TB feeds back the simulation result to the management TB through the service channel.
- Step S411 the management TB obtains a benchmark result of the business simulation task based on a simulation input signal, and verifies the chip according to the benchmark result and the simulation result.
- FIG5 is a schematic diagram of the contents of a topology file provided in an embodiment of the present application.
- the number of managed TBs is 1 and the TB ID of the managed TB is 100.
- TB with TB marked as a is referred to as TBa hereinafter.
- ETH_TB_LEFT 200, ETH_TB_RIGHT: 300.
- COM_TB_DES 200_300_DRV,1,200,300,10900.
- “1” means that the channel type is a data channel
- "200, 300” means that TB200 is connected to TB300.
- TB200 can create a client based on the Socket method to connect to the server created by TB300
- "10900” means the Socket port number used when establishing the above connection.
- the topology description statement shown in Figure 5 indicates that two data channels (channel type is 1) are established from TB200 to TB300 and from TB300 to TB200, two business channels (channel types are 2 and 3) are established from TB200 to TB100, and two business channels (channel types are 2 and 3) are established from TB00 to TB100.
- a control channel is established between the management TB and each sub-TB. Therefore, during the execution of this solution, the management TB can establish a control channel with each sub-TB by default. That is, the management TB does not need to parse the topology file when establishing the control channel. Therefore, the above-mentioned topology file does not need to record the information used to characterize the control channel establishment relationship between the management TB and the sub-TB.
- FIG. 6 is a schematic diagram of a topology file generation interface provided in an embodiment of the present application.
- the staff can use the topology file generation interface shown in FIG6 to generate a topology file.
- topology file generation interface shown in FIG6 provides the staff with two functional windows: TB definition and TB connection relationship definition. The above two functions are described below respectively.
- the staff Used to determine the information of each sub-TB.
- the staff can use the above function to enter the TB number (TB quantity), Simulation TB name (sub-TB name) and Simulation TB ID (sub-TB identification) of the sub-TB for which the transmission channel is to be established, and click the Add button to confirm the input.
- the staff Used to determine the connection relationship between various types of TBs.
- the staff can use the above function to input Connection Description, Client TB ID, Server TB ID, Socket Port, select Connection Type, and click the Add button to confirm the input.
- the staff uses the above function to determine the TB information and the connection relationship between each type of TB, they can click the Gen (generation) button to obtain a topology file that records the TB information and the connection relationship between each type of TB.
- Gen generation
- the above interface will pop up a window to remind the staff that the generation is successful, as shown in Figure 6.
- the content of the pop-up window can be "generate topo file successfully!.
- each type of TB contains different components or modules, and these components together implement the chip verification scheme provided in the embodiment of the present application, which is explained below in conjunction with Figure 7.
- FIG. 7 is a schematic diagram of the structure of a second chip verification system provided in an embodiment of the application.
- the management TB mainly includes two modules: the management data socket comparison agent (master_data_socket_checker_agent) module and the socket control process (socket_control_process) module, which are introduced below.
- EVT_SYNC component CFG_SYNC component
- Data Pkt Rec Thread component Verification (Checker) component
- Data Pkt Socket component Data Pkt Socket component
- the Data Pkt Socket component is used to establish a business channel with the sub-TB using the Socket method
- the EVT_SYNC component is used to synchronize events
- the CFG_SYNC component is used to synchronize configuration information
- the Data Pkt Rec Thread component is used to create and maintain threads that receive business information based on business channels, for example, receiving simulation results or simulation input signals sent by sub-TBs;
- the Checker component is used to compare the received simulation input signal with the simulation result to determine whether the chip has passed the verification.
- EDT_Process It includes event process (EVT_Process) component, message process (Msg Process) component, topology process (Topo Process) component and Control Socket component.
- the Control Socket component is used to establish a control channel with the sub-TB using the Socket method
- the EVT_Process component and the Msg Process component are used to send events and messages to the sub-TB based on the control channel, including message processing and distribution, event processing and distribution, etc.;
- the Topo Process component is used to parse locally stored topology files.
- the sub-TB is introduced by taking the sub-TB on the left below as an example.
- the sub-TB includes a virtual data transfer agent (virtual_data_transfer_agent) module and various components, which are introduced below.
- virtual_data_transfer_agent virtual data transfer agent
- the interface timing received through the service channel is sent to ETH_DUT as the excitation signal of the DVA TX direction.
- the DVA TX direction is a predefined direction, which means the direction from left to right in the figure.
- the DVA RX direction is a pre-defined direction, which means the direction from right to left in the figure.
- It includes Data Stream Drv&Rec Thread components, EVT_SYNC components, CFG_SYNC components, Data Stream SOCKET (DATA_SREAM SOCKET) components, etc.
- the DATA_SREAM SOCKET component is used to establish a data channel with the adjacent sub-TB using the socket method
- the EVT_SYNC component is used to synchronize events
- the CFG_SYNC component is used to synchronize configuration information
- the Data Stream Drv&Rec Thread component is used to create and maintain threads that receive or send data based on data channels.
- Socket control process (socket_control_process) component.
- It is used to realize communication between the control channel and the management TB. On the one hand, it receives the control message sent by the management TB, and on the other hand, it sends the information and events of the current sub-TB to the management TB for processing.
- the above-mentioned information and events of the current sub-TB can be TB information, information for synchronization, etc.
- Socket data process (socket_data_process) component.
- It is used to send the DVA TX direction excitation signal generated by the TXIF_DRV_AGT component and the interface timing information generated in the DVA RX direction collected by the RXIF_MON_AGT component to the management TB.
- the components represented by the rectangular boxes except the dotted rectangular box in Figure 7 can all be called DVA (Distributed Verification Acceleration) components.
- the chip verification solution provided in the embodiment of the present application can be implemented based on the above-mentioned DVA component, which is specifically explained below by taking examples.
- the existing technology integrates the above components into the TB used in each BT-level verification process, and can directly perform IT (Integration Testbench, subsystem verification platform) level or ST (SoC Testbench, system verification platform) level verification without rebuilding a dedicated environment for IT-level or ST-level verification. This can start IT and ST-level chip verification more quickly, improving the chip verification efficiency.
- IT Integration Testbench, subsystem verification platform
- ST SoC Testbench, system verification platform
- Figures 8a and 8b are signaling interaction diagrams of the fourth chip verification method provided in an embodiment of the present application, wherein the first simulation TB and the second simulation TB are both sub-TBs, the first simulation TB corresponds to the aforementioned head TB, and the second simulation TB is a sub-TB other than the head TB, which can be the aforementioned middle TB or the aforementioned tail TB.
- the chip verification method shown in FIG. 8 a and FIG. 8 b is described below from the perspective of the execution timing of each type of TB. Tn and Tn+1 mentioned below only represent the order of execution of the steps.
- T1 Management TB initiates the verification process.
- the management TB starts the verification process, which can be understood as the management TB prepares to establish various transmission channels to prepare for the execution of the business simulation task.
- T2 The management TB parses the topology file, and the first simulation TB and the second simulation TB start the verification process.
- the first simulation TB and the second simulation TB start the verification process, which can be understood as the first simulation TB and the second simulation TB start to run their respective locally deployed sub-DUT files in parallel, but the simulation input signal has not been generated at this time, so each sub-TB will not produce an operating result for the simulation input signal.
- T3 Manage TB to establish a control server.
- T4 The first simulation TB and the second simulation TB establish a control client.
- the management TB starts the verification process before the first simulation TB and the second simulation TB, so that the management TB can establish a control server in advance, so that the first simulation TB and the second simulation TB can directly connect to the above server after establishing the control client.
- T5 The first simulation TB and the second simulation TB send a control communication connection establishment request to the management TB.
- T6 The management TB establishes a control communication connection, and starts a local control thread based on the control communication connection.
- the first simulation TB and the second simulation TB start local control threads based on the control communication connection.
- control channels between the management TB and the first simulation TB and the second simulation TB are established.
- T7 The first simulation TB and the second simulation TB send TB information through the control channel between themselves and the management TB.
- T8 Management TB updates the topology file based on TB information.
- T9 The management TB synchronizes the updated topology file to the first simulation TB through the control channel between itself and the first simulation TB, and synchronizes the updated topology file to the second simulation TB through the control channel between itself and the second simulation TB.
- T10 The first simulation TB and the second simulation TB receive the updated topology file.
- the management TB sends a service channel establishment message through the control channel between itself and the first simulation TB, and sends a service channel establishment message through the control channel between itself and the second simulation TB.
- the management TB can determine the second simulation TB to which the service channel is to be established based on the parsing result of the topology file in the aforementioned step T2, and then send a service channel establishment message to the second simulation TB through the control channel between the management TB and the second simulation TB.
- the second simulated TB of the service channel to be established is the tail TB.
- T12 Manage TB to establish business server.
- T13 The first simulation TB and the second simulation TB send a service channel establishment request to the management TB.
- T14 Manage TB to establish business channels.
- the method of managing TB to establish a service channel in the above steps T11-T14 can be obtained on the basis of the control channel establishment method described in the above steps T3-T6, and will not be repeated here.
- T15 The management TB sends a data channel establishment message through the control channel between itself and the adjacent simulation TB.
- the management TB may determine the adjacent simulation TBs according to the parsing result of the topology file in the aforementioned step T2.
- the adjacent simulation TBs mentioned above correspond to the adjacent sub-TBs mentioned above.
- T16 Establish a data channel between adjacent simulation TBs.
- T17 The management TB, the first simulation TB, and the second simulation TB synchronize information to internal components.
- the information synchronized between the above-mentioned various TBs may be any information required in the verification process.
- T18 The first simulation TB and the second simulation TB send a DUT initialization configuration completion message through the control channel between themselves and the management TB.
- T19 The management TB controls the first simulation TB to start verification through the control channel between itself and the first simulation TB.
- the management TB After the management TB receives the message that the DUT initialization configuration is completed, it can start to control the first simulation TB to start verification. At this time, the first simulation TB starts to generate simulation input signals and the business simulation task starts to execute.
- the first simulation TB generates a simulation input signal, and runs the locally deployed first sub-DUT file based on the simulation input signal to obtain an intermediate result.
- T21 The first simulation TB sends a simulation input signal to the management TB through the service channel between itself and the management TB.
- the first simulation TB sends the obtained intermediate result to the simulation TB of the downstream sub-DUT file where the first sub-DUT file is deployed through the data channel between itself and the adjacent simulation TB.
- the second simulation TB receives the intermediate result sent by the simulation TB of the upstream sub-DUT file where the second sub-DUT file is deployed, and runs the second sub-DUT file with the received intermediate result as an input signal to obtain the intermediate result.
- T24 If the second sub-DUT file has a downstream sub-DUT file, the second simulation TB sends the obtained intermediate result to the simulation TB where the downstream sub-DUT file of the second sub-DUT file is deployed through the data channel between itself and the adjacent simulation TB.
- the simulation TB in which the downstream sub-DUT file of the second sub-DUT file is deployed is also the downstream TB of the second simulation TB.
- the second simulation TB is an intermediate TB, which can send the obtained intermediate results to the downstream TB through the data channel between itself and the downstream TB.
- T25 If the second sub-DUT file does not have a downstream sub-DUT file, the second simulation TB feeds back the obtained intermediate result as a simulation result to the management TB through the service channel between itself and the management TB.
- the second sub-DUT file does not have a downstream sub-DUT file, it means that the second simulation TB is the tail TB, then the intermediate result it obtains is the simulation result, and it can feed back the intermediate result as the simulation result to the management TB through the business channel between itself and the management TB.
- T26 Management TB obtains the benchmark results of the business simulation task based on the simulation input signal, and verifies the chip according to the benchmark results and simulation results.
- step S206 in the embodiment shown in FIG. 2 , and will not be described in detail here.
- T27 The management TB detects that the verification is completed and destroys the business thread.
- the management TB controls the first simulation TB to close the data channel and the service channel through the control channel between itself and the first simulation TB, and controls the second simulation TB to close the data channel and the service channel through the control channel between itself and the second simulation TB.
- T29 The first simulation TB and the second simulation TB close the data channel and the service channel.
- T30 The management TB controls the first simulation TB to close the control channel through the control channel between itself and the first simulation TB, and controls the second simulation TB to close the control channel through the control channel between itself and the second simulation TB.
- T31 The first simulation TB and the second simulation TB close the control channel.
- T32 The management TB, the first simulation TB and the second simulation TB end the verification process.
- the embodiments of the present application further provide chip verification methods respectively applied to the management TB and the sub-TBs included in the simulation TB in the chip verification system, which are respectively introduced below.
- FIG. 9 is a flowchart of a fifth chip verification method provided in an embodiment of the present application, and is applied to a management TB in a chip verification system, the method includes the following steps S901 to S904 .
- Step S901 Start verification by controlling the header TB through the control channel.
- Step S902 Receive the simulated input signal sent by the header TB through the service channel.
- Step S903 receiving the simulation result for the business simulation task fed back by the tail TB through the business channel.
- the simulation input signal can be input into the local DUT file running locally to obtain an intermediate result, and the intermediate result can be sent to the downstream TB through the data channel.
- the intermediate TB can obtain the intermediate result based on the intermediate result sent by the upstream TB, and send the intermediate result to the downstream TB through the data channel between itself and the downstream TB.
- the tail TB can receive the intermediate result sent by the upstream TB, and use the received intermediate result as the input signal to run the locally deployed local sub-DUT file to obtain the simulation result.
- Step S904 Obtain a benchmark result of the business simulation task based on the simulation input signal, and verify the chip according to the benchmark result and the simulation result.
- the management TB controls the head TB to start verification, it can receive the simulation input signal sent by the head TB through the business channel and the simulation result fed back by the tail simulation TB through the business channel, so that the benchmark result of the business simulation task can be obtained based on the simulation input signal, and the chip can be verified based on the benchmark result and the simulation result.
- the simulation result of the chip is obtained by multiple sub-TBs including the head TB and the tail TB, and when obtaining the simulation result, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use their own computing resources to work together to obtain the simulation result, which reduces the time consumed in obtaining the simulation result and improves the efficiency of obtaining the simulation result, thereby improving the efficiency of verifying the chip based on the simulation result.
- FIG. 10 is a flow chart of a sixth chip verification method provided in an embodiment of the present application, which is applied to managing TB, the method includes the following steps S1001 to S1005 .
- Step S1001 establish a control channel with each sub-TB, establish a service channel with the head TB and the tail TB, and control adjacent sub-TBs to establish a data channel.
- the management TB After receiving the connection request sent by the control client established by the sub-TB, the management TB establishes a control communication connection with the control client, and starts a local control thread based on the control communication connection.
- the management TB and each sub-TB have established control threads locally based on the control communication connection, so that the above-mentioned control threads can be dedicated to receiving and sending control messages between the management TB and each sub-TB, so that the interaction of control messages and other information will not be confused, which is conducive to improving the efficiency of control message interaction between the management TB and each sub-TB.
- the management TB establishes a business service end, and after receiving the connection request sent by the head TB and the tail TB, establishes a business communication connection with the head TB and the tail TB, and starts a local business thread based on the business communication connection.
- the management TB has established a business thread locally based on the business communication connection, so that the above business thread can be dedicated to receiving and sending business information between the management TB and the head TB and the tail TB, so that the interaction of business information does not cause interaction confusion with other types of information, which is conducive to improving the efficiency of business information interaction between the management TB and the head TB and the tail TB.
- the management TB can obtain the topology file, receive the TB information sent by each sub-TB through the control channel between itself and the management TB, update the topology file according to the received TB information, determine the adjacent sub-TBs based on the updated topology file, and then send a control message to the adjacent sub-TB through the control channel between itself and the determined adjacent sub-TB, and synchronize the updated topology file to each sub-TB, so that the adjacent sub-TB that receives the control message establishes a data channel with the adjacent sub-TB based on the received topology file.
- the management TB can determine the adjacent sub-TBs according to the updated topology file, and then synchronize the updated topology file to each sub-TB, and instruct the adjacent sub-TBs to establish a data channel, so that the sub-TB can accurately determine the sub-TBs adjacent to itself based on the updated topology file, and establish a data channel with the sub-TB.
- the data thread can be dedicated to receiving and sending data between adjacent sub-TBs, so that the interaction of the data does not cause interaction confusion with other types of information, which is conducive to improving the efficiency of data interaction between adjacent sub-TBs.
- Step S1002 Start verification by controlling the header TB through the control channel.
- Step S1003 Receive the simulated input signal sent by the header TB through the service channel.
- Step S1004 receiving the simulation result for the business simulation task fed back by the tail TB through the business channel.
- Step S1005 Obtain a benchmark result of the business simulation task based on the simulation input signal, and verify the chip according to the benchmark result and the simulation result.
- a control channel is established between the management TB and each sub-TB, a service channel is established with the head TB and the tail TB, and adjacent sub-TBs are controlled to establish a data channel.
- the above-mentioned different types of transmission channels can be used to perform different types of information or data transmission services. This can separate transmission services of different dimensions from each other, which is conducive to avoiding confusion between different transmission services and improving the transmission efficiency of information and data.
- the above steps also include: after the management TB determines that the chip verification is completed, it sends a verification completion message to each sub-TB through the control channel between itself and each sub-TB, so that each sub-TB closes the business channel, control channel and data channel between adjacent sub-TBs.
- the management TB can promptly control the sub-TB to disconnect the control channel and business channel with itself, and control the adjacent sub-TB to disconnect the data channel, so as to release the memory occupied by the above transmission channels in time.
- the following introduces a chip verification method for a sub-TB included in a simulation TB in a chip verification system.
- the sub-TB can be a head TB, a middle TB, or a tail TB, which will be introduced below with reference to FIGS. 11 to 13 , respectively.
- FIG. 11 is a flow chart of a seventh chip verification method provided in an embodiment of the present application, which is applied to a head TB, the method includes the following steps S1101 to S1103 .
- Step S1101 In response to the startup verification control of the management TB, a simulation input signal is generated.
- Step S1102 Run the locally deployed local sub-DUT file based on the simulation input signal to obtain an intermediate result.
- Step S1103 Send the simulation input signal to the management TB through the service channel, and send the obtained intermediate result to the downstream TB through the data channel.
- FIG. 12 is a flow chart of an eighth chip verification method provided in an embodiment of the present application, which is applied to an intermediate TB, the method includes the following steps S1201 to S1203 .
- Step S1201 Receive the intermediate result sent by the upstream TB.
- Step S1202 Using the received intermediate result as an input signal, the locally deployed local sub-DUT file is run to obtain the intermediate result.
- Step S1203 Send the intermediate result to the downstream TB through the data channel between itself and the downstream TB.
- FIG. 13 which is a flow chart of a ninth chip verification method provided in an embodiment of the present application, and applied to the tail TB, the method includes the following steps S1301 to S1303 .
- Step S1301 Receive the intermediate result sent by the upstream TB.
- Step S1302 Run the locally deployed local sub-DUT file with the received intermediate result as input to obtain the simulation result.
- Step S1303 Send the simulation result to the management TB through the service channel, so that the management TB verifies the chip based on the simulation input signal and the simulation result.
- each sub-TB obtains the intermediate result
- each sub-TB sends the obtained intermediate result to its downstream simulation TB, so that its downstream TB obtains a new intermediate result based on the received intermediate result.
- each sub-TB can continue to run the locally deployed sub-DUT file to obtain the intermediate result. That is, when obtaining the simulation result, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use their own computing resources to work together to obtain the simulation result. This reduces the time consumed in obtaining the simulation result and improves the efficiency of obtaining the simulation result, thereby improving the efficiency of verifying the chip based on the simulation result.
- the head TB and the tail TB respectively feed back the simulation input signal and the simulation result to the management TB through the service channel, and each sub-TB sends the intermediate result to other sub-TBs through the data channel.
- the following steps are also included:
- Each sub-TB establishes a control channel with the management TB. If the sub-TB is a head TB or a tail TB, it establishes a service channel with the management TB. Each sub-TB establishes a data channel with an adjacent sub-TB.
- each sub-TB establishes a control client, and after successfully establishing the control client, establishes a control communication connection with the control server established by the management TB, and starts a local control thread based on the control communication connection.
- each sub-TB has established a control thread locally based on the control communication connection, so that the above-mentioned control thread can be dedicated to receiving and sending control messages between the management TB and each sub-TB, so that the interaction of control messages and other types of information will not be confused, which is conducive to improving the efficiency of control message interaction between the management TB and each sub-TB.
- the head simulation TB and the tail TB can establish a business communication connection with the management TB, and start a local business thread based on the business communication connection.
- the head TB and the tail TB have established business threads locally based on the business communication connection, so that the above-mentioned business threads can be dedicated to receiving and sending business information between the management TB and the head TB and the tail TB, so that the interaction of business information and other types of information will not be confused, which is conducive to improving the efficiency of business information interaction between the management TB and the head TB and the tail TB.
- each sub-TB sends TB information to the management TB through the control channel between itself and the management TB, receives the topology file sent by the management TB that is updated based on the TB information, determines the adjacent sub-TBs based on the topology file, and then establishes a data communication connection with the determined adjacent sub-TBs, and starts the local data thread according to the data communication connection.
- each sub-TB can accurately determine the sub-TBs adjacent to itself based on the updated topology file sent by the management TB, and establish a data channel with the above sub-TBs.
- the above data thread can be dedicated to receiving and sending data between each sub-TB and the adjacent sub-TB, so that the interaction of data and other types of information will not be confused, which is conducive to improving the efficiency of data interaction between adjacent sub-TBs.
- each sub-TB after the management TB verifies the chip based on the simulation input signal and the simulation result, it also includes: each sub-TB responds to the verification end message sent by the management TB through the control channel between itself and each sub-TB, and closes the business channel between the management TB, the data channel between the adjacent sub-TBs, and the control channel between the management TB.
- each sub-TB can promptly disconnect the control channel and business channel between the management TB, and disconnect the data channel between the adjacent sub-TB, so as to promptly release the memory occupied by the above transmission channels.
- the embodiment of the present application also provides a chip verification device respectively used for managing TB and simulating TB, which are introduced below respectively.
- FIG. 14 it is a schematic diagram of the structure of a first chip verification device provided in an embodiment of the present application.
- the device includes the following modules:
- the control module 1401 is used to control the head TB to start verification through the control channel so that the head TB generates a simulation input signal, and the head TB is: a sub-TB in which the first sub-DUT file of the business simulation task is deployed;
- the business information receiving module 1402 is used to receive the simulation input signal sent by the head TB through the business channel; receive the simulation result for the business simulation task fed back by the tail TB through the business channel, wherein the tail TB is: the sub-TB in which the last sub-DUT file of the business simulation task is deployed;
- the chip verification module 1403 is used to obtain a benchmark result of the business simulation task based on the simulation input signal, and verify the chip according to the benchmark result and the simulation result.
- the management TB controls the head TB to start verification, it can receive the simulation input signal sent by the head TB through the business channel and the simulation result fed back by the tail simulation TB through the business channel, so that the benchmark result of the business simulation task can be obtained based on the simulation input signal, and the chip can be verified based on the benchmark result and the simulation result.
- the simulation result of the chip is obtained by a plurality of sub-TBs including the head TB and the tail TB, and when obtaining the simulation result, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use their own computing resources to work together to obtain the simulation result, which reduces the time consumption when obtaining the simulation result and improves the efficiency of obtaining the simulation result, thereby improving the efficiency of verifying the chip based on the simulation result.
- the channel establishment module is specifically used to establish a control server; after receiving a connection request sent by a control client established by the sub-TB, establish a control communication connection with the control client; and start a local control thread based on the control communication connection.
- the management TB and each sub-TB have established control threads locally based on the control communication connection, so that the above-mentioned control threads can be dedicated to receiving and sending control messages between the management TB and each sub-TB, so that the interaction of control messages and other information will not be confused, which is conducive to improving the efficiency of control message interaction between the management TB and each sub-TB.
- the channel establishment module is specifically used to obtain a topology file; receive TB information sent by each sub-TB through the control channel between itself and the management TB; update the topology file according to the received TB information; determine the adjacent sub-TBs with upstream and downstream relationships of the deployed sub-DUT files based on the updated topology file; send control messages to the adjacent sub-TBs through the control channel between itself and the determined adjacent sub-TBs, and synchronize the updated topology file to each sub-TB, so that the adjacent sub-TB that receives the control message establishes a data channel with the adjacent sub-TB based on the received topology file.
- the channel establishment module is specifically used to establish a business service end; after receiving the connection request sent by the head TB and the tail TB, establish a business communication connection with the head TB and the tail TB; and start a local business thread based on the business communication connection.
- the management TB has established a business thread locally based on the business communication connection, so that the above business thread can be dedicated to receiving and sending business information between the management TB and the head TB and the tail TB, so that the interaction of business information does not cause interaction confusion with other information, which is conducive to improving the efficiency of business information interaction between the management TB and the head TB and the tail TB.
- the end message sending module is used to send a verification end message to each sub-TB through the control channel between itself and each sub-TB after determining that the chip verification is completed, so that each sub-TB closes the business channel, control channel between itself and the data channel between adjacent sub-TBs.
- the management TB can promptly control the sub-TB to disconnect the control channel and business channel with itself, and control the adjacent sub-TB to disconnect the data channel, so as to release the memory occupied by the above transmission channels in time.
- FIG. 15 it is a schematic diagram of the structure of a second chip verification device provided in an embodiment of the present application, which is applied to a sub-TB included in a simulation TB in a chip verification system.
- the device includes:
- the control response module 1501 is used for generating a simulation input signal in response to the start verification control of the management TB if the simulation TB is a head TB, and running the locally deployed local sub-DUT file based on the simulation input signal to obtain an intermediate result, wherein the head TB is: a sub-TB in which the first sub-DUT file of the business simulation task is deployed;
- the data transceiver module 1502 is used to send the intermediate result obtained to the downstream TB through the data channel if the simulation TB is a head TB; if the sub-TB is an intermediate TB, receive the intermediate result sent by the upstream TB, use the received intermediate result as input to run the locally deployed local sub-DUT file to obtain the intermediate result, and send the intermediate result obtained to the downstream TB through the data channel between itself and the downstream TB; if the sub-TB is a tail TB, receive the intermediate result sent by the upstream TB, use the received intermediate result as input to run the locally deployed local sub-DUT file to obtain the simulation result, wherein the tail TB is: the sub-TB with the last sub-DUT file of the business simulation task deployed, the intermediate TB is the sub-TB other than the head TB and the tail TB, the sub-DUT file deployed by the downstream TB is the downstream sub-DUT file of the local sub-DUT file, and the sub-DUT file deployed by the upstream TB is the upstream
- the business information sending module 1503 is used to send the simulation input signal to the management TB through the business channel if the simulation TB is a head TB; if the sub-TB is a tail TB, send the simulation result to the management TB through the business channel, so that the management TB verifies the chip based on the simulation input signal and the simulation result.
- each sub-TB obtains the intermediate result
- each sub-TB sends the intermediate result to its downstream simulation TB, so that its downstream TB obtains a new intermediate result based on the received intermediate result.
- each sub-TB can continue to run the locally deployed sub-DUT file to obtain the intermediate result. In other words, when obtaining the simulation result, each sub-TB is executed in parallel.
- each sub-TB can be executed in parallel and use their own computing resources to work together to obtain the simulation result. This reduces the time consumed in obtaining the simulation result and improves the efficiency of obtaining the simulation result, thereby improving the efficiency of verifying the chip based on the simulation result.
- the head TB and the tail TB respectively feed back the simulation input signal and the simulation result to the management TB through the service channel, and each sub-TB sends the intermediate result to other sub-TBs through the data channel.
- control response module 1501 before the control response module 1501, it also includes:
- a control channel establishing module used to establish a control channel with the management TB
- a service channel establishing module configured to establish a service channel with the management TB if the sub-TB is a head TB or a tail TB;
- the data channel establishment module is used to establish a data channel with adjacent sub-TBs, wherein the sub-DUT files deployed in the adjacent sub-TBs have an upstream and downstream relationship.
- each sub-TB can promptly disconnect the control channel and business channel between the management TB, and disconnect the data channel between the adjacent sub-TB, so as to promptly release the memory occupied by the above transmission channels.
- control channel establishment module is specifically used to establish a control client; after successfully establishing the control client, establish a control communication connection with the control server established by the management TB; and start a local control thread based on the control communication connection.
- each sub-TB has established a control thread locally based on the control communication connection, so that the above control thread can be dedicated to receiving and sending control messages between the management TB and each sub-TB, so that the interaction of control messages and other information will not be confused, which is conducive to improving the efficiency of control message interaction between the management TB and each sub-TB.
- the data channel establishment module is specifically used to send TB information to the management TB through the control channel between itself and the management TB; receive a topology file sent by the management TB that is updated based on the TB information; determine adjacent sub-TBs based on the topology file; establish a data communication connection with the determined adjacent sub-TBs; and start a local data thread based on the data communication connection.
- the business channel establishment module is specifically used to establish a business communication connection with the business service end established by the management TB if the simulation TB is a head TB or a tail TB; and start a local business thread based on the business communication connection.
- An embodiment of the present application also provides a verification platform, as shown in Figure 16, a processor 1601 and a machine-readable storage medium 1602, wherein the machine-readable storage medium 1602 stores machine-executable instructions that can be executed by the processor, and the processor 1601 is prompted by the machine-executable instructions to implement the aforementioned chip verification method applied to managing TB or the chip verification method applied to simulating TB.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
Claims (17)
- 一种芯片验证系统,其特征在于,包括:管理TB和仿真TB,所述仿真TB包括多个子TB,各子TB部署有芯片的DUT文件的不同子DUT文件,其中,所述管理TB,用于通过控制通道控制头部TB启动验证,所述头部TB为:部署有业务仿真任务的首个子DUT文件的子TB;所述头部TB,用于生成仿真输入信号,通过业务通道向所述管理TB发送所述仿真输入信号;各子TB,用于运行本地部署的子DUT文件得到中间结果,通过数据通道向其他子TB发送所得中间结果;尾部TB,用于得到针对所述业务仿真任务的仿真结果,通过业务通道向所述管理TB发送所述仿真结果,所述尾部TB为:部署有业务仿真任务的最后一个子DUT文件的子TB;所述管理TB,还用于基于所述仿真输入信号获得所述业务仿真任务的基准结果,并根据所述基准结果和所述仿真结果,对所述芯片进行验证。
- 根据权利要求1所述的系统,其特征在于,所述头部TB,具体用于基于所述仿真输入信号运行本地部署的本地子DUT文件得到中间结果;通过自身与下游TB之间的数据通道向下游TB发送所得中间结果,所述下游TB部署的子DUT文件为本地子DUT文件的下游子DUT文件;中间TB,用于接收上游TB发送的中间结果,以所接收中间结果为输入信号运行本地部署的本地子DUT文件得到中间结果,通过自身与下游TB之间的数据通道向下游TB发送所得中间结果,所述上游TB部署的子DUT文件为本地子DUT文件的上游子DUT文件,所述中间TB为:除所述头部TB和尾部TB之外的子TB;所述尾部TB,具体用于接收上游TB发送的中间结果,以所接收中间结果为输入信号运行本地部署的本地子DUT文件得到仿真结果。
- 根据权利要求1所述的系统,其特征在于,所述管理TB,具体用于建立控制服务端;各子TB,具体用于建立控制客户端,在成功建立控制客户端后,与所述控制服务端建立控制通信连接,基于所述控制通信连接启动本地的控制线程;所述管理TB,具体用于基于所述控制通信连接启动本地的控制线程。
- 根据权利要求1所述的系统,其特征在于,各子TB,具体用于通过自身与所述管理TB之间的控制通道向所述管理TB发送TB信息;所述管理TB,具体用于获得拓扑文件,根据所接收的TB信息更新所述拓扑文件,基于更新后的拓扑文件确定相邻子TB,通过自身与确定出的相邻子TB之间的控制通道向相邻子TB发送控制消息,并向各子TB同步更新后的拓扑文件,其中,所述拓扑文件用于记录所述管理TB和各子TB之间的拓扑关系、所述管理TB的TB信息以及各子TB的TB信息,相邻子TB所部署的子DUT文件具有上下游关系;相邻子TB,具体用于响应于所述控制消息,基于接收到的拓扑文件与相邻子TB建立数据通信连接,根据所述数据通信连接启动本地的数据线程。
- 根据权利要求2所述的系统,其特征在于,所述管理TB,具体用于建立业务服务端;所述头部TB和尾部TB,具体用于与所述业务服务端建立业务通信连接,基于所述业务通信连接启动本地的业务线程;所述管理TB,具体用于基于所述业务通信连接启动本地的业务线程。
- 根据权利要求2-5中任一项所述的系统,其特征在于,所述管理TB,还用于确定芯片验证结束后,通过所述管理TB与各子TB之间的控制通道,向各子TB发送验证结束消息;各子TB,还用于响应于所述验证结束消息,关闭与所述管理TB之间的业务通道、与相邻子TB之间的数据通道以及与所述管理TB之间的控制通道。
- 根据权利要求2-5中任一项所述的系统,其特征在于,所述控制通道传输的数据为:标签-长度-值TLV格式的数据;和/或所述业务通道传输的数据为:动态数组格式的变长报文;和/或所述数据通道传输的数据为:基于信号的SB模式或TB模式的数据。
- 一种芯片验证方法,其特征在于,应用于芯片验证系统中的管理TB,所述芯片验证系统还包括 仿真TB,所述仿真TB包括多个子TB,各子TB部署有芯片的DUT文件的不同子DUT文件;所述方法包括:通过控制通道控制头部TB启动验证,以使得所述头部TB生成仿真输入信号,所述头部TB为:部署有业务仿真任务的首个子DUT文件的子TB;接收所述头部TB通过业务通道发送的所述仿真输入信号;接收尾部TB通过业务通道反馈的针对所述业务仿真任务的仿真结果,所述尾部TB为:部署有业务仿真任务的最后一个子DUT文件的子TB;基于所述仿真输入信号获得所述业务仿真任务的基准结果,并根据所述基准结果和所述仿真结果,对所述芯片进行验证。
- 根据权利要求8所述的方法,其特征在于,在所述通过控制通道控制头部TB启动验证之前,还包括:与各子TB建立控制通道、与所述头部TB和尾部TB建立业务通道、并控制相邻子TB建立数据通道,其中,相邻子TB所部署的子DUT文件具有上下游关系。
- 根据权利要求9所述的方法,其特征在于,所述与各子TB建立控制通道,包括:建立控制服务端;接收到子TB所建立的控制客户端发送的连接请求后,与所述控制客户端建立控制通信连接;基于所述控制通信连接启动本地的控制线程;或所述控制相邻子TB建立数据通道,包括:获得拓扑文件;接收各子TB通过自身与所述管理TB之间的控制通道发送的TB信息;根据接收到的TB信息更新所述拓扑文件;基于更新后的拓扑文件确定相邻子TB;通过自身与确定出的相邻子TB之间的控制通道向相邻子TB发送控制消息,并向各子TB同步更新后的拓扑文件,以使得接收到所述控制消息的相邻子TB基于接收到的拓扑文件与相邻子TB建立数据通道;或所述与所述头部TB和尾部TB建立业务通道,包括:建立业务服务端;接收到所述头部TB和尾部TB发送的连接请求后,与所述头部TB和尾部TB建立业务通信连接;基于所述业务通信连接启动本地的业务线程;或所述方法还包括:确定芯片验证结束后,通过自身与各子TB之间的控制通道向各子TB发送验证结束消息,以使得各子TB关闭与自身之间的业务通道、控制通道以及相邻子TB之间的数据通道。
- 一种芯片验证方法,其特征在于,应用于芯片验证系统中仿真TB包括的子TB,所述芯片验证系统还包括管理TB,各子TB部署有芯片的DUT文件的不同子DUT文件;所述方法包括:若所述子TB为头部TB,响应于所述管理TB的启动验证控制,生成仿真输入信号,基于所述仿真输入信号运行本地部署的本地子DUT文件得到中间结果;通过业务通道向所述管理TB发送所述仿真输入信号,并通过数据通道向下游TB发送所得中间结果,所述下游TB部署的子DUT文件为本地子DUT文件的下游子DUT文件,所述头部TB为:部署有业务仿真任务的首一个子DUT文件的子TB;若所述子TB为中间TB,接收上游TB发送的中间结果,以所接收中间结果为输入运行本地部署的本地子DUT文件得到中间结果,通过自身与下游TB之间的数据通道向下游TB发送所得中间结果,其中,所述上游TB部署的子DUT文件为本地子DUT文件的上游子DUT文件,所述中间TB为:除所述头部TB和尾部TB之外的子TB;若所述子TB为尾部TB,接收上游TB发送的中间结果,以所接收中间结果为输入运行本地部署的本地子DUT文件得到仿真结果,通过业务通道向所述管理TB发送所述仿真结果,以使得所述管理TB基于所述仿真输入信号和所述仿真结果对所述芯片进行验证,其中,所述尾部TB为:部署有业务仿真任务的最后一个子DUT文件的子TB。
- 根据权利要求11所述的方法,其特征在于,所述生成仿真输入信号之前,还包括:与所述管理TB建立控制通道;若所述子TB为头部TB或尾部TB,与所述管理TB建立业务通道;与相邻子TB建立数据通道,其中,相邻子TB所部署的子DUT文件具有上下游关系。
- 根据权利要求12所述的方法,其特征在于,所述与所述管理TB建立控制通道,包括:建立控制客户端;在成功建立控制客户端后,与所述管理TB建立的控制服务端建立控制通信连接;基于所述控制通信连接启动本地的控制线程;或所述与相邻子TB建立数据通道,包括:通过自身与所述管理TB之间的控制通道向所述管理TB发送TB信息;接收所述管理TB发送的基于TB信息更新后的拓扑文件;基于所述拓扑文件确定相邻子TB;与确定出的相邻子TB建立数据通信连接;根据所述数据通信连接启动本地的数据线程;或所述与所述管理TB建立业务通道,包括:与所述管理TB建立的业务服务端建立业务通信连接;基于所述业务通信连接启动本地的业务线程;或所述方法还包括:响应于所述管理TB通过自身与各子TB之间的控制通道发送的验证结束消息,关闭与所述管理TB之间的业务通道、与相邻子TB之间的数据通道以及与所述管理TB之间的控制通道。
- 一种芯片验证装置,其特征在于,应用于芯片验证系统中的管理TB,所述芯片验证系统还包括仿真TB,所述仿真TB包括多个子TB,各子TB部署有芯片的DUT文件的不同子DUT文件;所述装置包括:控制模块,用于通过控制通道控制头部TB启动验证,以使得所述头部TB生成仿真输入信号,所述头部TB为:部署有业务仿真任务的首个子DUT文件的子TB;业务信息接收模块,用于接收所述头部TB通过业务通道发送的所述仿真输入信号;接收尾部TB通过业务通道反馈的针对所述业务仿真任务的仿真结果,所述尾部TB为:部署有业务仿真任务的最后一个子DUT文件的子TB;芯片验证模块,用于基于所述仿真输入信号获得所述业务仿真任务的基准结果,并根据所述基准结果和所述仿真结果,对所述芯片进行验证。
- 一种芯片验证装置,其特征在于,应用于芯片验证系统中仿真TB包括的子TB,所述芯片验证系统还包括管理TB,各子TB部署有芯片的DUT文件的不同子DUT文件;所述装置包括:控制响应模块,用于若所述仿真TB为头部TB,响应于所述管理TB的启动验证控制,生成仿真输入信号,基于所述仿真输入信号运行本地部署的本地子DUT文件得到中间结果,所述头部TB为:部署有业务仿真任务的首一个子DUT文件的子TB;数据收发模块,用于若所述仿真TB为头部TB,通过数据通道向下游TB发送所得中间结果;若所述子TB为中间TB,接收上游TB发送的中间结果,以所接收中间结果为输入运行本地部署的本地子DUT文件得到中间结果,通过自身与下游TB之间的数据通道向下游TB发送所得中间结果;若所述子TB为尾部TB,接收上游TB发送的中间结果,以所接收中间结果为输入运行本地部署的本地子DUT文件得到仿真结果,其中,所述尾部TB为:部署有业务仿真任务的最后一个子DUT文件的子TB,所述中间TB为除头部TB和尾部TB之外的子TB,下游TB部署的子DUT文件为本地子DUT文件的下游子DUT文件,上游TB部署的子DUT文件为本地子DUT文件的上游子DUT文件;业务信息发送模块,用于若所述仿真TB为头部TB,通过业务通道向所述管理TB发送所述仿真输入信号;若所述子TB为尾部TB,通过业务通道向所述管理TB发送所述仿真结果,以使得所述管理TB基于所述仿真输入信号和所述仿真结果对所述芯片进行验证。
- 一种验证平台,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使实现权利要求8-10或11-13中任一所述的方法步骤。
- 一种计算机可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求8-10或11-13中任一所述的方法步骤。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22966012.1A EP4425337A4 (en) | 2022-11-24 | 2022-11-24 | Chip verification system, method and apparatus, device, and storage medium |
| PCT/CN2022/134106 WO2024108496A1 (zh) | 2022-11-24 | 2022-11-24 | 一种芯片验证系统、方法、装置、设备及存储介质 |
| CN202280004684.5A CN118401925A (zh) | 2022-11-24 | 2022-11-24 | 一种芯片验证系统、方法、装置、设备及存储介质 |
| US18/714,972 US20250278543A1 (en) | 2022-11-24 | 2022-11-24 | Chip verification system, method, device, apparatus and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/134106 WO2024108496A1 (zh) | 2022-11-24 | 2022-11-24 | 一种芯片验证系统、方法、装置、设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024108496A1 true WO2024108496A1 (zh) | 2024-05-30 |
Family
ID=91194808
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/134106 Ceased WO2024108496A1 (zh) | 2022-11-24 | 2022-11-24 | 一种芯片验证系统、方法、装置、设备及存储介质 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250278543A1 (zh) |
| EP (1) | EP4425337A4 (zh) |
| CN (1) | CN118401925A (zh) |
| WO (1) | WO2024108496A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119558269A (zh) * | 2025-01-24 | 2025-03-04 | 格创通信(浙江)有限公司 | 一种芯片设计验证系统、方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119420686B (zh) * | 2024-11-27 | 2025-12-19 | 新华三半导体技术有限公司 | 一种芯片验证装置、方法、电子设备及存储介质 |
| CN119397994B (zh) * | 2024-12-31 | 2025-04-11 | 北京开源芯片研究院 | 片上网络的验证方法、装置、电子设备及可读存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106777665A (zh) * | 2016-12-07 | 2017-05-31 | 盛科网络(苏州)有限公司 | 提高协同仿真平台验证效率的方法及系统 |
| CN113342583A (zh) * | 2021-06-08 | 2021-09-03 | 海光信息技术股份有限公司 | 芯片验证系统、方法、装置、设备和存储介质 |
| US11308008B1 (en) * | 2020-12-31 | 2022-04-19 | Cadence Design Systems, Inc. | Systems and methods for handling DPI messages outgoing from an emulator system |
| CN115086214A (zh) * | 2022-06-13 | 2022-09-20 | 新华三半导体技术有限公司 | 一种套片检测系统、方法、电子设备及存储介质 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7051304B2 (en) * | 2003-05-01 | 2006-05-23 | Sun Microsystems, Inc. | Distributed infiniband verification protocol |
-
2022
- 2022-11-24 CN CN202280004684.5A patent/CN118401925A/zh active Pending
- 2022-11-24 WO PCT/CN2022/134106 patent/WO2024108496A1/zh not_active Ceased
- 2022-11-24 US US18/714,972 patent/US20250278543A1/en active Pending
- 2022-11-24 EP EP22966012.1A patent/EP4425337A4/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106777665A (zh) * | 2016-12-07 | 2017-05-31 | 盛科网络(苏州)有限公司 | 提高协同仿真平台验证效率的方法及系统 |
| US11308008B1 (en) * | 2020-12-31 | 2022-04-19 | Cadence Design Systems, Inc. | Systems and methods for handling DPI messages outgoing from an emulator system |
| CN113342583A (zh) * | 2021-06-08 | 2021-09-03 | 海光信息技术股份有限公司 | 芯片验证系统、方法、装置、设备和存储介质 |
| CN115086214A (zh) * | 2022-06-13 | 2022-09-20 | 新华三半导体技术有限公司 | 一种套片检测系统、方法、电子设备及存储介质 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119558269A (zh) * | 2025-01-24 | 2025-03-04 | 格创通信(浙江)有限公司 | 一种芯片设计验证系统、方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4425337A1 (en) | 2024-09-04 |
| EP4425337A4 (en) | 2025-03-05 |
| US20250278543A1 (en) | 2025-09-04 |
| CN118401925A (zh) | 2024-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2024108496A1 (zh) | 一种芯片验证系统、方法、装置、设备及存储介质 | |
| CN107612962B (zh) | 一种分布式仿真评估试验管理系统 | |
| CN108809722A (zh) | 一种部署Kubernetes集群的方法、装置和存储介质 | |
| CN112035216B (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
| CN113946559B (zh) | 数据处理方法、目标数据库系统及数据处理系统 | |
| CN116029242B (zh) | 一种云原生的硬件逻辑仿真fpga加速方法及系统 | |
| CN112039722A (zh) | 一种mqtt协议仿真方法及仿真设备 | |
| CN117170822B (zh) | 使用分布式网络中间件的系统模型和代码联合仿真系统 | |
| WO2021233313A1 (zh) | 配置端口状态的方法、装置、系统及存储介质 | |
| CN111382201A (zh) | 异构数据库同步方法、装置、计算机设备及存储介质 | |
| CN111371578A (zh) | 部署虚拟化网络功能的方法和装置 | |
| WO2021175105A1 (zh) | 连接方法、装置、设备和存储介质 | |
| CN109756514B (zh) | 一种航天器复杂协议的遥测数据动态处理方法 | |
| CN115952074B (zh) | 片上系统的性能验证方法及装置 | |
| CN109062820A (zh) | 一种软件性能测试方法和装置 | |
| US8254267B2 (en) | Extensible traffic generator for synthesis of network data traffic | |
| CN116056126A (zh) | 仿真测试方法、装置、计算机设备和计算机可读存储介质 | |
| CN106990974A (zh) | 一种app应用更新方法、装置及电子设备 | |
| CN118540256A (zh) | 车载网络仿真测试方法、装置、设备、存储介质和程序产品 | |
| CN103152380B (zh) | 分布式的仿真通信框架和通信效能计算方法 | |
| US20140026139A1 (en) | Information processing apparatus and analysis method | |
| CN109656674B (zh) | 一种计算机设备、虚拟化芯片及数据传输方法 | |
| CN115967626A (zh) | 交换机配置装置、车辆控制器、车辆及交换机配置方法 | |
| CN114741448A (zh) | 一种Redis集群服务异地同步方法及装置 | |
| CN102740166B (zh) | 一种远程视频插播的系统和方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280004684.5 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2022966012 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18714972 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 2022966012 Country of ref document: EP Effective date: 20240529 |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22966012 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 18714972 Country of ref document: US |