Multi-platform simulation method and simulation system
By introducing a synchronous point-time mechanism into the multi-platform simulation method, efficient simulation verification of heterogeneous system-on-chip (SoC) is achieved, which solves the problems of inefficient simulation verification and multi-platform simulation in the existing technology, and improves the simulation efficiency and accuracy of design verification.
Patent Information
- Application Number
- CN202510126195.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-27
- Publication Date
- 2025-05-27
AI Technical Summary
In the prior art, the simulation verification efficiency of heterogeneous system-on-chip (SoC) is inefficient, resulting in high cost of design iteration and error repair, and it is difficult for multi-platform simulation to achieve efficient communication and collaborative work.
By introducing a synchronous time point mechanism into the multi-platform simulation method, the first simulation platform calculates and sends synchronous time points to the second simulation platform, so that the two platforms can be promoted independently and stage-by-stage and consistently promoted when necessary, thereby achieving segmented time synchronization.
This method promotes the simulation cycle with the smallest granularity without affecting the simulation progress of each platform, avoids redundant synchronization, improves simulation efficiency, and is suitable for simulation of heterogeneous parallel SoC systems.
Smart Images

Figure CN120046575A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of chip simulation, and in particular to a multi-platform simulation method and a simulation system. Background Art
[0002] In the prior art, with the rapid development of science and technology, various applications have increasingly higher performance requirements for chips. Taking AI chips as an example, with the rapid development of artificial intelligence technology, the demand for the scale of AI algorithms has exploded, which has made the requirements for chip performance and cost more stringent. Similar problems also exist in other specific fields. In order to solve the above problems, the heterogeneous system-on-chip (SoC) design concept that combines a general central processing unit (CPU) with customized components has emerged. SoC can integrate various special functional modules, such as image processing modules, audio processing modules, special AI network accelerator modules, etc., according to the needs of specific applications. By combining the CPU with these customized SoC components, the versatility and software stack advantages of the CPU can be fully utilized, while the specialization and high performance of the SoC components can be used to achieve efficient operation of the chip in various application scenarios.
[0003] Generally, it takes about 12-18 months for the chip design process to go from concept to product, covering the steps of establishing design concepts and functional ideas, determining architecture, designing RTL code, conducting functional verification, performing synthesis, drawing layout, tape-out, and subsequent packaging and testing. Generally, the FPGA board-level functional verification phase is not entered until the RTL code design is completed, which will lead to inefficiency and greatly increase the error cost of chip design. In order to avoid this situation, it is very necessary to perform simulation verification when confirming the architecture design before completing the specific RTL; in addition, most chip-based products need to run software to work, so when starting hardware development, software development needs to be started at the same time, and in order to avoid the problem of mismatch between hardware optimization and modification and software in the subsequent development process, hardware and software need to be developed and verified together. Through early simulation verification, potential problems can be discovered and solved before RTL code design, thereby reducing the cost of later design iterations and error repair. In addition, early simulation verification can also help the design team better understand the performance and functions of the architecture design, provide guidance and reference for subsequent RTL code design, and conduct hardware exploration, performance analysis, software development and debugging.
[0004] Due to the complexity of SoC heterogeneous architecture and the diversity of customized components, it is very difficult to build a chip system-level simulation system. Fine-grained simulation systems, such as those provided by platforms such as Cadence and Synopsys, can provide accurate results, but at the cost of high computing and time costs. For large-scale system-level chip SoC simulation, this fine-grained simulation system will result in too long simulation time and low efficiency, and is not suitable for early simulation verification. In contrast, coarse-grained simulation systems focus more on modeling and verifying designs at the system level, and are more suitable for early simulation verification of SoC designs.
[0005] System C and Python are two common coarse-grained simulation programming language choices. Python-based simulation systems are fast to develop, but they cannot use mature models provided by IP vendors, and self-developed simulation systems perform poorly in terms of simulating hardware performance. System C-based simulation systems are difficult to develop, and require writing hardware System C models based on the characteristics of the customized components being developed, which makes it difficult for such simulation systems to provide strong support for rapid development and iteration of the platform.
[0006] In actual applications, some components may already have mature existing simulation systems and platforms available for use, such as IP vendors providing TLM models of their IP modules (based on System C); others need to be highly customized according to the designer's specific needs. In order to achieve rapid verification of SoC, utilize mature simulation systems and improve the ease of use, it is necessary to combine different platforms, give full play to the advantages of both, improve the development efficiency and verification effect of the entire system, and meet various complex design requirements. In addition, the parallel execution of different modules in heterogeneous chips also brings certain difficulties to multi-platform simulation. Since different modules may be developed using different programming languages and tools, how to achieve efficient communication and collaborative work between them is a challenge; at the same time, the parallel execution of different modules also needs to consider issues such as task scheduling, asynchronous synchronization, and bus resource occupancy to ensure the performance stability and functional correctness of the entire system.
[0007] When SoC uses a simulation platform, different components can be triggered synchronously or asynchronously based on the running time cycle. However, under different simulation platforms, the platforms communicate and cooperate through the application programming interface API. The hardware of different simulation platforms needs to be advanced according to the time cycle, and the signals need to interact between the platform hardware. This makes synchronization a challenging problem in this multi-platform environment. The industry has publicly disclosed a solution that adds an extension conversion module to achieve successful collaboration of simulation models of different programming languages to improve the development efficiency of chip simulation systems. However, in the above solution, different simulation platforms do not interact directly with each other, but need to build intermediate modules, which increases the workload to a certain extent and reduces the simulation efficiency.
[0008] In view of this, it is necessary to provide a new simulation method and simulation system for heterogeneous parallel chips. Summary of the invention
[0009] In order to solve the above technical problems, the present invention provides a multi-platform simulation method, including the steps of: the second simulation platform calculates the synchronization time point between it and the first simulation platform based on the current task, and sends the synchronization time point to the first simulation platform; the first simulation platform can send a synchronization instruction to the second simulation platform at the time point; and the second simulation platform can update its simulation state based on the synchronization instruction and calculate the next synchronization time point between it and the first simulation platform.
[0010] The multi-platform simulation method provided can achieve the independent advancement of different platforms and the consistent advancement of multiple platforms in stages based on the synchronization time point mechanism without the need to set up additional functional modules, thereby realizing the segmented time synchronization between multiple platforms and accelerating the simulation efficiency. This interactive solution supports the mode of driving the simulation cycle forward with the main simulation platform, and synchronizes the two platforms at the necessary interaction moments, thereby realizing the segmented time synchronization of the SoC simulation system.
[0011] Optionally, the multi-platform simulation method also includes that the first simulation platform can send instructions to the second simulation platform at the synchronization time point, and the instructions include instructions that require data to be returned from the second simulation platform and / or instructions that can cause the second simulation platform to request data.
[0012] Optionally, the "second simulation platform can update its simulation state and calculate the next synchronization time point with the first simulation platform based on the synchronization instruction" includes: the second simulation platform can calculate the next synchronization time point with the first simulation platform based on the synchronization instruction, based on instructions or data received from the first simulation platform and / or sending a request or data to the first simulation platform.
[0013] The multi-platform simulation method provided by the present application takes the first simulation platform as the leading / prioritized one, and can advance the simulation cycle with the smallest granularity without affecting the simulation progress of each platform, thereby avoiding redundant synchronization of multiple simulation platforms when updating in each cycle, while taking into account the simulation efficiency.
[0014] Optionally, the multi-platform simulation method also includes the following steps: if the second simulation platform receives instructions or data from the first simulation platform before running to the synchronization time point, the time point when the instructions or data are received is used as the latest synchronization time point for synchronization with the first simulation platform.
[0015] Optionally, the multi-platform simulation method further includes:
[0016] The first simulation platform sends a signal to the second simulation platform;
[0017] Determining whether the synchronization time point sent by the second simulation platform is received;
[0018] If yes, then the simulation period is updated, if no, then the determination of whether the synchronization time point sent by the second simulation platform is received is continued;
[0019] After updating the simulation cycle, determining whether there is a new instruction or receiving data sent by the second simulation platform;
[0020] If yes, a signal is sent to the second simulation platform; if no, a determination is made as to whether the synchronization time point has been reached;
[0021] If it is determined that the operation reaches the synchronization time point, sending a signal to the second simulation platform;
[0022] If it is determined that the process has not reached the synchronization time point, the simulation cycle is updated.
[0023] Optionally, the multi-platform simulation method further includes:
[0024] The second simulation platform determines whether a signal from the first simulation platform is received;
[0025] If yes, update to the latest synchronization time point; if no, continue to determine whether a signal from the first simulation platform is received;
[0026] After updating to the latest synchronization time point, receiving instructions / data from the first simulation platform, or sending requests / data to the first simulation platform;
[0027] Calculate the next synchronization time point and send the synchronization time point to the first simulation platform.
[0028] Optionally, the first simulation platform is applied to the simulation of a main processor in the SoC system, and the second simulation platform is applied to the simulation of other processors in the SoC system.
[0029] Optionally, the main processor and other processors of the SoC system operate based on a synchronization mechanism.
[0030] Optionally, the main processor and other processors of the SoC system run based on an asynchronous mechanism.
[0031] In order to achieve the above-mentioned invention object, the present application also provides a simulation system, which applies the multi-platform simulation method described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 It is a schematic diagram of the steps of the multi-platform simulation method provided in an embodiment of the present invention.
[0033] Figure 2 It is a schematic diagram of the steps of the multi-platform simulation method provided in an embodiment of the present invention.
[0034] Figure 3 It is a schematic diagram of the operation flow of the first simulation platform of the multi-platform simulation method provided in an embodiment of the present invention.
[0035] Figure 4 It is a schematic diagram of the operation flow of the second simulation platform of the multi-platform simulation method provided in an embodiment of the present invention.
[0036] Figure 5 It is a flowchart of a first simulation situation of the multi-platform simulation method provided in an embodiment of the present invention.
[0037] Figure 6 It is a flowchart diagram of a second simulation situation of the multi-platform simulation method provided in an embodiment of the present invention.
[0038] Figure 7 It is a flowchart diagram of the third simulation situation of the multi-platform simulation method provided in the embodiment of the present invention.
[0039] Figure 8 It is a flowchart of the interaction between the first simulation platform and the second simulation platform in the simulation system provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0040] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0041] This embodiment provides a multi-platform simulation method, such as Figure 1 As shown, taking the multiple platforms including the first simulation platform and the second simulation platform as an example, the steps include:
[0042] The second simulation platform calculates the synchronization time point between itself and the first simulation platform based on the current task, and sends the synchronization time point to the first simulation platform;
[0043] The first simulation platform can send a synchronization instruction to the second simulation platform at the synchronization time point; and
[0044] The second simulation platform can update its simulation state and calculate the next synchronization time point with the first simulation platform based on the synchronization instruction.
[0045] The multi-platform simulation method provided in this embodiment can realize the independent advancement of different platforms and the consistent advancement of multiple platforms in stages based on the synchronization time point mechanism without the need to set up additional functional modules, thereby realizing the segmented time synchronization between multiple platforms and accelerating the simulation efficiency. This interactive scheme supports the mode of driving the simulation cycle forward with the main simulation platform, and synchronizes the two platforms at the necessary interaction time, thereby realizing the segmented time synchronization of the heterogeneous parallel chip SoC simulation system.
[0046] Optionally, the multi-platform simulation method includes: the first simulation platform can send instructions to the second simulation platform at a synchronization time point, the instructions including instructions requiring data to be returned from the second simulation platform and / or instructions capable of inducing data requests from the second simulation platform.
[0047] Optionally, "the second simulation platform can update its simulation state and calculate the next synchronization time point with the first simulation platform based on the synchronization instruction" includes: the second simulation platform can, based on the synchronization instruction, based on instructions or data received from the first simulation platform, or, send a request or data to the first simulation platform, and calculate the next synchronization time point with the first simulation platform.
[0048] Alternatively, if Figure 2As shown, the above-mentioned multi-platform simulation method includes: if the second simulation platform receives instructions or data from the first simulation platform before running to the synchronization time point, the time point when the instruction or data is received is used as the latest synchronization time point for synchronization with the first simulation platform.
[0049] The multi-platform simulation method provided in this embodiment takes the first simulation platform as the dominant / prioritized one and can advance the simulation cycle with the smallest granularity without affecting the simulation progress of each platform (on the one hand, the simulation is advanced with the cycle as the granularity, and on the other hand, synchronization is performed only in necessary cycles). This avoids redundant synchronization of multiple simulation platforms when they are updated in each cycle, while taking into account simulation efficiency.
[0050] Optionally, the first simulation platform is applied to the simulation of the main core / main processor in the SoC system, and the second simulation platform is applied to the simulation of other processors in the SoC system, especially the SoC system with heterogeneous parallel architecture.
[0051] Alternatively, if Figure 3 As shown, the multi-platform simulation method includes:
[0052] The first simulation platform sends a signal to other simulation platforms;
[0053] Determine whether the synchronization time point sent by other simulation platforms is received;
[0054] If yes, the simulation period is updated, if no, the determination of whether the synchronization time point sent by other simulation platforms is received is continued;
[0055] After updating the simulation cycle, determining whether there are new instructions or data sent by other simulation platforms is received;
[0056] If yes, a signal is sent to other simulation platforms; if no, a determination is made as to whether the simulation has reached the synchronization time point;
[0057] If it is determined that the operation reaches the synchronization time point, a signal is sent to other simulation platforms;
[0058] If it is determined that the simulation has not reached the synchronization time point, the simulation cycle is updated.
[0059] Alternatively, if Figure 4 As shown, the multi-platform simulation method includes:
[0060] The second simulation platform determines whether a signal from the first simulation platform is received;
[0061] If yes, update to the latest synchronization time point, if no, continue to determine whether the signal of the first simulation platform is received;
[0062] After updating to the latest synchronization time point, receiving instructions / data from the first simulation platform, or sending requests / data to the first simulation platform;
[0063] Calculate the next synchronization time point and send the synchronization time point to the first simulation platform.
[0064] Optionally, this embodiment provides a simulation system, applying the multi-platform simulation method provided by this embodiment.
[0065] Optionally, the main core and other processors of the SoC system operate based on a synchronization mechanism.
[0066] Optionally, the main core and other processors of the SoC system run based on an asynchronous mechanism.
[0067] SoC is the abbreviation of System On Chip, which is usually called "system on chip" or "system-level chip" in Chinese. It is an integrated circuit (IC) that integrates the main functional modules of a computer system on a single chip.
[0068] The design goal of SoC is to integrate multiple functions (such as computing, storage, communication, etc.) into one chip to achieve high-efficiency, low-power and small-size solutions. It is widely used in consumer electronics, embedded devices, communication equipment and other fields.
[0069] The multi-platform simulation method provided in this embodiment can be applied to the simulation of heterogeneous SoC systems. The processor core in the SoC used to control and manage the entire system is called the main core. In most cases, the main core is the CPU. The simulation platform where the main core is located is called the main simulation platform. Other processors can execute tasks assigned by the main core and interact with the main core for instructions and data. In the SoC system, other processors are usually NPUs.
[0070] In this implementation, the first simulation platform is used to simulate the main core, also referred to as the main simulation platform hereinafter; the second simulation platform is used to simulate other processors, also referred to as other simulation platforms or slave simulation platforms hereinafter.
[0071] The interactive signals of the main simulation platform include:
[0072] Signal 1: Sending instructions issued by the main core to other processors located in other simulation platforms (second simulation platforms);
[0073] Signal 2: Sends return data requested by other processors;
[0074] Signal 3: Receive requests from other processors;
[0075] Signal 4: Receive return data from other processors.
[0076] Since the main simulation platform not only needs to issue instructions or data in an uncertain simulation cycle, but also needs to receive requests from other simulation platforms in an unknown cycle, it is not possible to control the simulation cycle advancement simply through the main simulation platform, and the simulation conditions of other simulation platforms need to be considered separately. This implementation adopts a technical solution based on synchronization time points (checktime), and the solution is as follows:
[0077] Each simulation platform involved in the simulation is regarded as a simulation point, which can provide the expected advancement time cycle of the point, that is, the simulation cycle for other processors at the point to complete the main core task (the next one may send return data or request), that is, the synchronization cycle, and the time end of each synchronization cycle is the synchronization time point. The main simulation platform obtains the checktime of each simulation point and arranges them to obtain the minimum checktime. The main simulation platform starts to advance the simulation. If the main simulation platform needs to send instructions or data before the checktime, the main simulation platform sends the cycle and instructions or data to other platforms through SoCket communication. Other platforms update to the cycle and then receive instructions or data, and then return a new checktime; if the main simulation platform is directly updated to the checktime, then at the checktime cycle node, a check (synchronization instruction) signal is sent to other simulation platforms. Other simulation platforms update to the checktime and then decide whether to send requests or data according to the simulation status, and then send a new checktime.
[0078] We will now consider the case where the CPU acts as the main core and the NPU acts as other processors to interact, and use this as an example to explain each case in detail. The same is true for other SoC designs.
[0079] There are two situations for signal 1. One is that the instruction only requires other processors to perform internal operations without returning data to the main core. The other is that in addition to the internal operations, the operation results need to be returned to the main core, and the returned data is signal 4. Considering the complexity of these two situations in multiple simulation platforms, their impact and effect on simulation interaction will also be different. For the first situation, since there is no need to return data, the simulation system can only focus on the simulation of the main core without considering the working status of other processors. In this case, the work of the simulation system is relatively simple, and only the interaction signal from the main simulation platform to other simulation platforms exists, which can complete the simulation task faster. However, for the second signal situation, since the operation results need to be returned to the main core, the simulation system needs to consider the data transmission and return process initiated by other processors, and the main core may need to wait for the data to be returned before continuing to execute subsequent instructions. The simulation system cannot only focus on the simulation process of the main core. In addition, there are request signals (signal 3) initiated by other processors, which will make the simulation situation more complicated. Therefore, when performing simulation, it is necessary to comprehensively consider the two situations of signal 1 and the influence of other request signals to ensure the accuracy and reliability of the simulation results. The following three cases are respectively divided to illustrate how the present invention correctly simulates in a checktime-based manner.
[0080] The first simulation case, such as Figure 5 As shown, the CPU sends an instruction including a data return request at t0. Taking the synchronization period t1 as an example, which is not a period for returning data but only a time period for executing other CPU tasks, the NPU updates the simulation state to t0 based on the instruction, predicts / calculates the synchronization period to be t1, and sends the synchronization period to the CPU. The CPU updates to t1 and sends a synchronization instruction. The NPU updates to t1. The NPU predicts / calculates the next synchronization period t2. The CPU updates to t2 and sends a synchronization instruction. The NPU obtains the data to be returned, updates to t2, and returns the data at t2. The NPU predicts / calculates the next synchronization period t3 based on the simulation situation inside the NPU. If the NPU detects that there is no possibility of sending data or requests next, the returned synchronization period is 0, and the CPU can directly advance the simulation period based on this.
[0081] The second simulation case, such as Figure 6As shown, the CPU sends an instruction that can trigger the NPU data request at t0, the NPU updates to t0, receives the instruction and predicts / calculates the synchronization cycle t1, and sends the synchronization cycle t1 to the CPU, the CPU updates to t1, sends the synchronization instruction, the NPU synchronizes to t1 and simulates and detects the need to send a data request to the CPU, so it sends a data request to the CPU and predicts the synchronization cycle t2, the CPU starts simulation, at this time there are three situations: ① The new instruction appears earliest, then the simulation cycle and the new instruction are sent to the NPU; ② The data returned by the NPU request is prepared earliest, then the simulation cycle and data are sent to the NPU; ③ The synchronization cycle t2 arrives earliest, then the synchronization instruction is sent to the NPU. Figure 6 As shown, the data to be returned is ready at t2, so the CPU returns the data at t2, and the NPU synchronizes to t2 and receives the data. The simulation cycle here can be understood as the synchronization time point.
[0082] The third simulation case, such as Figure 7 As shown, the CPU sends instructions including a data return request and instructions that can trigger NPU data requests at t0 and t1 respectively. It should be noted that if the NPU executes instructions serially, this situation is a serial combination of the first and second situations. If the NPU supports parallel execution, then the two instructions may be executed simultaneously inside the NPU.
[0083] Specifically, the CPU sends instructions including data return requests and instructions that can trigger NPU data requests at t0 and t1 respectively. The NPU receives the CPU instructions and predicts / calculates the synchronization cycle t2. The CPU receives the synchronization cycle t2 and sends a synchronization instruction to the NPU. The NPU synchronizes to t2, detects the need to send a data request, and sends a data request and predicts / calculates the synchronization cycle t4 to the CPU. If the CPU has prepared the data requested by the NPU by t3, it sends the synchronization cycle t3 and the data to the NPU. The NPU synchronizes to t3 and receives the data. Since the NPU only receives the data returned by the CPU between t2 and t3, it does not affect the next synchronization cycle that may send return data or requests. Therefore, the synchronization cycle sent by the NPU to the CPU at t3 is still t4. The CPU sends a synchronization instruction to the NPU at t4. The NPU synchronizes to t4 and sends the data requested by the CPU.
[0084] The above simulation method is applicable to synchronous and asynchronous SoC simulation. For asynchronous architecture, it is only necessary to consider the influence of frequency when transferring simulation time and synchronization period between different simulation platforms and calculate the corresponding synchronization period of different simulation platforms according to the frequency.
[0085] Optionally, this embodiment provides a simulation system, and applies the multi-platform simulation method provided in this embodiment to simulate a SoC system, especially a heterogeneous parallel SoC system.
[0086] like Figure 8 As shown, the simulation system includes a main simulation platform and other simulation platforms. The interaction process between the main simulation platform and other simulation platforms is as follows:
[0087] After the initial synchronization, the main simulation platform determines whether there are new instructions or return data. If so, it will shake hands with other simulation platforms and send instructions or data to other simulation platforms after confirming that other simulation platforms are ready. Other simulation platforms can calculate the synchronization time point based on the instructions or data, and send the synchronization time point to the main simulation platform. The main simulation platform can send synchronization instructions to other simulation platforms when time advances to the synchronization time point. After receiving the synchronization instructions, other simulation platforms synchronize with the main simulation platform, send requests or data to the main simulation platform, and calculate / predict the next synchronization time point and send it to the main simulation platform.
[0088] So far, the technical solution of the present invention has been described in conjunction with the accompanying drawings. However, it is easy for those skilled in the art to understand that the protection scope of the present invention is obviously not limited to the above-mentioned specific embodiments. Without departing from the principle of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will fall within the protection scope of the present invention.
Claims
1. A multi-platform simulation method, characterized in that: Includes steps: The second simulation platform calculates a synchronization time point between itself and the first simulation platform based on the current task, and sends the synchronization time point to the first simulation platform; The first simulation platform is capable of sending a synchronization instruction to the second simulation platform at the synchronization time point; and The second simulation platform can update its simulation state and calculate the next synchronization time point with the first simulation platform based on the synchronization instruction.
2. The multi-platform simulation method according to claim 1, characterized in that: The first simulation platform can send instructions to the second simulation platform at the synchronization time point, where the instructions include instructions that require data to be returned from the second simulation platform and / or instructions that can cause the second simulation platform to request data.
3. The multi-platform simulation method according to claim 1, characterized in that: The "second simulation platform can update its simulation status and calculate the next synchronization time point with the first simulation platform based on the synchronization instruction" includes: the second simulation platform can calculate the next synchronization time point with the first simulation platform based on the synchronization instruction, based on receiving instructions or data from the first simulation platform and / or sending requests or data to the first simulation platform.
4. The multi-platform simulation method according to any one of claims 1 to 3, characterized in that: The method also includes the following steps: if the second simulation platform receives instructions or data from the first simulation platform before running to the synchronization time point, the time point at which the instructions or data are received is used as the latest synchronization time point for synchronization with the first simulation platform.
5. The multi-platform simulation method according to any one of claims 1 to 3, characterized in that: Also includes: The first simulation platform sends a signal to the second simulation platform; Determining whether the synchronization time point sent by the second simulation platform is received; If yes, then the simulation period is updated, if no, then the determination of whether the synchronization time point sent by the second simulation platform is received is continued; After updating the simulation cycle, determining whether there is a new instruction or receiving data sent by the second simulation platform; If yes, a signal is sent to the second simulation platform; if no, a determination is made as to whether the synchronization time point has been reached; If it is determined that the operation reaches the synchronization time point, sending a signal to the second simulation platform; If it is determined that the process has not reached the synchronization time point, the simulation cycle is updated.
6. The multi-platform simulation method according to any one of claims 1 to 3, characterized in that: Also includes: The second simulation platform determines whether a signal from the first simulation platform is received; If yes, update to the latest synchronization time point; if no, continue to determine whether a signal from the first simulation platform is received; After updating to the latest synchronization time point, receiving instructions / data from the first simulation platform, or sending requests / data to the first simulation platform; Calculate the next synchronization time point and send the synchronization time point to the first simulation platform.
7. The multi-platform simulation method according to claim 4, characterized in that: The first simulation platform is applied to the simulation of the main processor in the SoC system, and the second simulation platform is applied to the simulation of other processors in the SoC system.
8. The multi-platform simulation method according to claim 4, characterized in that: The main processor and other processors of the SoC system operate based on a synchronization mechanism.
9. The multi-platform simulation method according to claim 4, characterized in that: The main processor and other processors of the SoC system operate based on an asynchronous mechanism.
10. A simulation system, characterized in that: Apply the multi-platform simulation method described in any one of claims 1-9.