Simulation communication method and device for digital-analog hybrid circuit
By establishing a mapping relationship based on the netlist files of analog circuits and digital circuits, the signal synchronization between the analog simulator and digital simulator is achieved, which solves the problem of strong coupling of the simulator in existing tools and improves the efficiency and flexibility of circuit simulation.
Patent Information
- Application Number
- CN202510514071.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-23
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-04-23
AI Technical Summary
The existing digital analog hybrid circuit simulation tools have strong coupling of emulators and cannot generalize standardized mixed signal simulation interfaces. User configuration and circuit debugging are inconvenient, and they are unable to be compatible with different versions of emulators, which limits the flexibility of emulator selection.
By obtaining the netlist files of the analog circuit and the digital circuit, a mapping relationship between the analog simulator and the digital simulator is established to realize signal synchronization. The analog simulator runs before the digital simulator, and during the simulation process, signal synchronization is performed according to the conversion event triggered by the mixed signal boundary to ensure coordinated work between the simulators.
The independence and flexibility between analog simulators and digital simulators are realized, the efficiency and consistency of circuit simulation are improved, and the complexity of circuit debugging is reduced.
Smart Images

Figure CN120373237A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of circuit simulation technology, and particularly to a digital-analog hybrid circuit simulation communication method and device. Background Art
[0002] A digital-analog hybrid chip is a special type of integrated circuit (IC). It consists of analog circuits and digital circuits and can integrate analog and digital signal processing functions on the same chip. This design allows the chip to process continuously varying analog signals and discrete digital signals within the same physical package. Among them, the analog circuit is the core part, and the digital circuit is used to control the analog circuit to implement specific algorithms. The application scenarios of digital-analog hybrid chips are very extensive:
[0003] Communication field: In wireless communication and demodulation, digital-analog hybrid chips are used to receive and process analog signals and convert them into digital signals for processing. In wired communication, such as ADSL / fiber optic modems, local area networks, and wide area networks, digital-analog hybrid chips are also required to achieve the conversion of analog signals to digital signals.
[0004] Media field: For operations such as audio and video encoding, decoding, signal extraction, synthesis, and noise reduction, it is necessary to convert analog signals into digital signals for editing and management on electronic devices.
[0005] Image processing field: In the application of image sensors, digital-analog hybrid chips are responsible for converting analog signals into digital signals to improve image quality, which are commonly found in products such as digital audio players, digital audio collectors, and digital audio mixers.
[0006] Other application fields: In the automotive industry, complex digital-analog hybrid chips can be used for vehicle diagnosis, driver assistance systems, and vehicle networking technologies; in the medical field, they can be used for heart monitoring and medical imaging processing; in the industrial field, they may be used for applications such as motor control, robot control, and automation control.
[0007] In summary, digital-analog hybrid chips not only have extensive applications in the fields mentioned above but also play a key role in many modern electronic devices. There is a great application demand for the simulation tool software of digital-analog hybrid chips.
[0008] In the existing technical solutions, foreign EDA companies led by Synopsys, Cadence, and Siemens EDA (Mentor Graphics) have all provided simulation verification solutions for analog and digital mixed (hereinafter referred to as AMS) circuits. For example, Synopsys uses its digital simulator VCS + analog simulator XA for AMS simulation; Cadence uses its digital simulator Xcelium + analog simulator Spectre for AMS simulation. However, these tools are based on two independent and mature digital and analog simulators and are combined by establishing a synchronization mechanism inside, including two major parts: slicing the mixed-signal circuit and data synchronization in the simulation stage. However, the existing tools have the following problems:
[0009] Existing tools all need to perform automatic or manual slicing on the hierarchical structure of the circuit design, hand over digital modules to the digital simulator, and analog modules to the analog simulator for processing. Two independent topological structures and connection relationships are established for the digital simulator and the analog simulator. Existing tools bind specific digital simulators and analog simulators, so the tool itself has strong coupling, and a general standardized mixed-signal simulation interface has not been realized, bringing many inconveniences to user configuration and circuit debugging. Existing tools all use two proprietary tools of the same company and are implemented by adding internal processing. They cannot be simply modified to be compatible with other third-party simulators, or even different versions of simulators within the same company, and a standard interface between different tools cannot be formed. This problem also limits the flexibility of users to select simulators according to the circuit characteristics. Summary of the Invention
[0010] In view of the above problems, embodiments of the present invention are proposed to provide a digital and analog hybrid circuit simulation communication method and device that overcome the above problems or at least partially solve the above problems.
[0011] According to one aspect of the embodiments of the present invention, a digital and analog hybrid circuit simulation communication method is provided. The method includes:
[0012] For a digital and analog hybrid circuit, obtain an analog circuit netlist file containing the analog circuit part and a digital circuit netlist file containing the digital circuit part;
[0013] The analog simulator reads the analog circuit netlist file, and the digital simulator reads the digital circuit netlist file, and establishes a mapping relationship between the mixed-signal boundaries in the analog simulator and the digital simulator;
[0014] The analog simulator initializes the analog circuit, and the digital simulator initializes the digital circuit;
[0015] The analog simulator performs analog simulation, and the digital simulator performs digital simulation. During the simulation execution, according to the conversion events triggered by the mixed-signal boundaries, the signal synchronization between the analog simulator and the digital simulator is carried out until the simulation ends. Among them, the analog simulator starts the simulation operation before the digital simulator, runs based on the next event scheduled time of the digital simulator, and sends the current waiting time of the analog simulator to the digital simulator when it pauses. The digital simulator runs based on the current waiting time of the analog simulator and sends the next event scheduled time of the new digital simulator to the analog simulator when it pauses.
[0016] Optionally, the analog circuit netlist file and the digital circuit netlist file contain mixed-signal boundaries.
[0017] The analog simulator reads the analog circuit netlist file, and the digital simulator reads the digital circuit netlist file. Further including establishing the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator:
[0018] The analog simulator reads the analog circuit netlist file and sends the signal name and signal analog identifier corresponding to the mixed-signal boundary to the digital simulator according to the mixed-signal boundary in the analog circuit netlist file.
[0019] The digital simulator searches for the mixed-signal boundary of the digital circuit netlist file according to the signal name, determines the signal digital identifier corresponding to the signal name, and sends the signal analog identifier and the signal digital identifier to the analog simulator to establish the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator.
[0020] Optionally, the analog simulator reads the analog circuit netlist file, and the digital simulator reads the digital circuit netlist file. Further including establishing the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator:
[0021] The analog simulator reads the analog circuit netlist file, and the digital simulator reads the digital circuit netlist file.
[0022] Inter-process communication is established between the analog simulator and the digital simulator.
[0023] Based on the inter-process communication, the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator is established.
[0024] Optionally, the initialization of the analog circuit by the analog simulator and the initialization of the digital circuit by the digital simulator further include:
[0025] The analog simulator initializes the initial values of each part of the analog circuit and judges whether there is a mixed-signal boundary triggering the analog-to-digital event.
[0026] If so, send analog-to-digital signal synchronization information to the digital simulator;
[0027] If not, send the current waiting time of the analog simulator to the digital simulator;
[0028] After the digital simulator receives the analog-to-digital signal synchronization information or the current waiting time of the analog simulator, initialize the initial values of each digital circuit, and determine whether there is a mixed-signal boundary triggering a digital-to-analog event;
[0029] If so, send digital-to-analog signal synchronization information to the analog simulator, and the analog simulator re-initializes the initial values of each analog circuit according to the digital-to-analog signal synchronization information;
[0030] If not, send the next event scheduled time of the digital simulator to the analog simulator.
[0031] Optionally, the analog simulator performs analog simulation, and the digital simulator performs digital simulation, and during the simulation execution, synchronize the signals between the analog simulator and the digital simulator according to the conversion events triggered by the mixed-signal boundary until the simulation ends, further including:
[0032] The analog simulator performs analog simulation and determines whether there is a mixed-signal boundary triggering an analog-to-digital conversion event;
[0033] If so, send analog-to-digital signal synchronization information to the digital simulator; add the analog-to-digital event time to the simulation time axis of the digital simulator, perform signal synchronization according to the analog-to-digital signal synchronization information at the analog-to-digital event time, and return the next event scheduled time of the digital simulator to the analog simulator; the analog-to-digital signal synchronization information includes signal analog identifiers, voltage, current, reference voltage, and / or equivalent resistance information;
[0034] If not, when the next moment of the simulation time axis of the analog simulator exceeds the next event scheduled time of the digital simulator, pause the analog simulator, send the current waiting time of the analog simulator to the digital simulator, and wait for the digital simulator to return the new next event scheduled time of the digital simulator;
[0035] And,
[0036] The digital simulator performs digital simulation and determines whether there is a mixed-signal boundary triggering a digital-to-analog conversion event;
[0037] If so, send digital-to-analog signal synchronization information to the analog simulator; the analog simulator performs signal synchronization according to the digital-to-analog signal synchronization information and returns the current waiting time of the analog simulator to the digital simulator; the digital-to-analog signal synchronization information includes signal digital identifiers, voltage, current, and / or equivalent resistance information;
[0038] Otherwise, when the next moment of the simulation time axis of the digital simulator exceeds the current waiting time of the analog simulator, pause the digital simulator and send the scheduled time of the next event of the new digital simulator to the analog simulator;
[0039] When the digital simulator finishes running, send a digital simulation end to the analog simulator. If the analog simulator has not finished running at this time, send a preset time to the analog simulator as the scheduled time of the next event of the digital simulator for the analog simulator to continue execution until the analog simulator finishes running;
[0040] When the analog simulator finishes running, send an analog simulation end to the digital simulator.
[0041] Optionally, send digital-to-analog signal synchronization information to the analog simulator; the analog simulator synchronizes signals according to the digital-to-analog signal synchronization information and returns the current waiting time of the analog simulator to the digital simulator, which further includes:
[0042] Send digital-to-analog signal synchronization information to the analog simulator;
[0043] If the simulation time axis of the analog simulator exceeds the conversion event time of digital-to-analog conversion, the analog simulator returns the position corresponding to the conversion event time of digital-to-analog conversion, re-synchronizes signals according to the digital-to-analog signal synchronization information, and returns the current waiting time of the analog simulator to the digital simulator.
[0044] According to another aspect of the embodiments of the present invention, a digital-analog hybrid circuit simulation communication device is provided, which includes:
[0045] A netlist file module, adapted to obtain an analog circuit netlist file containing an analog circuit part and a digital circuit netlist file containing a digital circuit part for a digital-analog hybrid circuit;
[0046] A mapping module, adapted to enable the analog simulator to read the analog circuit netlist file and the digital simulator to read the digital circuit netlist file, and establish a mapping relationship between the hybrid signal boundaries in the analog simulator and the digital simulator;
[0047] An initialization module, adapted to initialize the analog circuit by the analog simulator and initialize the digital circuit by the digital simulator;
[0048] A simulation module, suitable for simulating with an emulator for analog simulation and a digital emulator for digital simulation, and synchronizing signals between the analog emulator and the digital emulator according to conversion events triggered by mixed-signal boundaries during the simulation execution until the simulation ends; wherein, the analog emulator performs simulation operation prior to the digital emulator, runs based on the next event scheduled time of the digital emulator, and sends the current waiting time of the analog emulator to the digital emulator when it pauses, and the digital emulator runs based on the current waiting time of the analog emulator and sends a new next event scheduled time of the digital emulator to the analog emulator when it pauses.
[0049] According to another aspect of an embodiment of the present invention, a computing device is provided, including: a processor, a memory, a communication interface, and a communication bus, and the processor, the memory, and the communication interface complete communication with each other through the communication bus;
[0050] The memory is used for storing at least one executable instruction, and the executable instruction causes the processor to perform operations corresponding to the above digital-analog hybrid circuit simulation communication method.
[0051] According to still another aspect of an embodiment of the present invention, a computer storage medium is provided, and at least one executable instruction is stored in the storage medium, and the executable instruction causes a processor to perform operations corresponding to the digital-analog hybrid circuit simulation communication method as described above.
[0052] According to yet another aspect of an embodiment of the present invention, a computer program product is provided, including at least one executable instruction, and the executable instruction causes a processor to perform operations corresponding to the digital-analog hybrid circuit simulation communication method as described above.
[0053] According to the digital-analog hybrid circuit simulation communication method and device provided by an embodiment of the present invention, a mapping relationship of each mixed-signal boundary in the analog emulator and the digital emulator is established, which is convenient for signal synchronization based on the corresponding mapping relationship when a conversion event is triggered. After initializing the analog emulator and the digital emulator respectively, the two perform circuit simulation. The analog emulator performs simulation operation prior to the digital emulator. During the simulation process, signal synchronization can be performed through conversion events. The analog emulator runs within the next event scheduled time of the digital emulator, and the digital emulator runs within the current waiting time of the analog emulator, realizing that the analog emulator dominates and the digital emulator follows for circuit simulation, and digital-analog hybrid circuit simulation can be completed without being limited by the emulator.
[0054] The above description is only an overview of the technical solution of the embodiments of the present invention. In order to be able to understand the technical means of the embodiments of the present invention more clearly, it can be implemented in accordance with the content of the description. And in order to make the above and other purposes, features, and advantages of the embodiments of the present invention more obvious and understandable, the following specifically illustrates the specific implementation manners of the embodiments of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] By reading the following detailed description of the preferred embodiments, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of illustrating the preferred embodiments and are not considered to be a limitation of the embodiments of the present invention. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:
[0056] Figure 1 shows a flowchart of a digital-analog hybrid circuit simulation communication method according to an embodiment of the present invention;
[0057] Figure 2 shows a flowchart of a digital-analog hybrid circuit simulation communication method according to another embodiment of the present invention;
[0058] Figure 3 shows a schematic diagram of communication interaction between a digital simulator and an analog simulator;
[0059] Figure 4 shows a schematic structural diagram of a digital-analog hybrid circuit simulation communication device according to an embodiment of the present invention;
[0060] Figure 5 shows a schematic structural diagram of a computing device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0061] Hereinafter, exemplary embodiments of the present invention will be described in more detail with reference to the drawings. Although the exemplary embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present invention can be more thoroughly understood and the scope of the present invention can be completely conveyed to those skilled in the art.
[0062] Figure 1 shows a flowchart of a digital-analog hybrid circuit simulation communication method according to an embodiment of the present invention, as Figure 1 shown, the method includes the following steps:
[0063] Step S101, for a digital-analog hybrid circuit, obtain an analog circuit netlist file including an analog circuit part and a digital circuit netlist file including a digital circuit part.
[0064] For a digital-analog hybrid circuit, in this embodiment, the digital-analog hybrid circuit is split to obtain an analog circuit netlist file containing the analog circuit part and a digital circuit netlist file containing the digital circuit part. Among them, the circuit structures in the analog circuit netlist file and the digital circuit netlist file are the same. The analog circuit part is retained in the analog circuit netlist file, and the digital circuit part is deleted. The digital circuit part is retained in the digital circuit netlist file, and the analog circuit part is deleted. The analog circuit netlist file and the digital circuit netlist file contain mixed-signal boundaries. Corresponding signal conversion events, such as analog-to-digital signal conversion and digital-to-analog signal conversion, are triggered at the mixed-signal boundaries. Through the signal conversion events, signal synchronization between the analog simulator and the digital simulator is achieved, so as to complete the simulation of the entire digital-analog hybrid circuit.
[0065] Step S102: The analog simulator reads the analog circuit netlist file, and the digital simulator reads the digital circuit netlist file to establish a mapping relationship for each mixed-signal boundary in the analog simulator and the digital simulator.
[0066] Based on the obtained analog circuit netlist file and digital circuit netlist file, the analog simulator reads the analog circuit netlist file, and the digital simulator reads the digital circuit netlist file. The analog simulator and the digital simulator perform circuit simulation based on their respective netlist files.
[0067] In addition to their respective circuit parts, the analog circuit netlist file and the digital circuit netlist file also contain mixed-signal boundaries. Signals affected by digital behavior in the circuit structure are digital circuits, and signals affected by analog behavior are analog circuits. The mixed-signal boundary refers to a signal that is affected by both digital behavior and analog behavior. When a signal crosses the mixed-signal boundary and digital behavior or analog behavior occurs, signal conversion synchronization is also required during the simulation process, that is, the signals of the digital circuit and the analog circuit during the simulation operation are converted and then synchronized to ensure the consistency of signals during the circuit simulation process. Therefore, after the analog simulator and the digital simulator read their respective netlist files, it is also necessary to establish a mapping relationship for each mixed-signal boundary in the analog simulator and the digital simulator. The mapping relationship ensures that when the analog simulator and the digital simulator perform signal synchronization, they can determine the positions where they need to perform synchronization.
[0068] Step S103: The analog simulator initializes the analog circuit, and the digital simulator initializes the digital circuit.
[0069] After establishing the mapping relationship between the analog emulator and the digital emulator for each mixed-signal boundary, the analog emulator and the digital emulator can be initialized. In the initialization stage, the analog circuit of the analog emulator can be initialized first to generate the initial values of the analog circuit, or the initial values can be determined according to the configuration information. For example, the initial values include that the initial voltage of the analog circuit is 1.8 volts, etc. Here, the analog emulator is initialized first, and then the digital emulator is initialized. When initializing the digital emulator, if there are mixed-signal boundaries that need to perform signal conversion synchronization during initialization, the analog emulator is informed by sending a message during the initialization of the digital emulator. The analog emulator can perform a rollback. The change of the analog circuit in the analog emulator is not completed instantaneously, and there is a rising or falling process. New initialization can be performed based on the signal affected by the digital circuit.
[0070] Step S104, the analog emulator performs analog simulation, and the digital emulator performs digital simulation. During the simulation execution process, according to the conversion events triggered by the mixed-signal boundaries, the analog emulator and the digital emulator are synchronized in signals until the simulation ends.
[0071] After the digital emulator and the analog emulator are initialized, the analog emulator performs analog simulation, and the digital emulator performs digital simulation. During the simulation execution process, if a conversion event triggered by a mixed-signal boundary is encountered, such as analog-to-digital conversion, digital-to-analog conversion, etc., according to the conversion event triggered by the mixed-signal boundary, when performing analog-to-digital conversion, the analog emulator sends the corresponding signal synchronization information to the digital emulator. When performing digital-to-analog conversion, the digital emulator sends the corresponding signal synchronization information to the analog emulator to achieve signal conversion synchronization processing.
[0072] Furthermore, during the simulation execution process, in addition to sending the corresponding signal synchronization information for the conversion event between the digital emulator and the analog emulator, the operation of the analog emulator runs within the next event scheduled time of the digital emulator. When it exceeds, the analog emulator pauses running and sends the current waiting time of the analog emulator to the digital emulator. The digital emulator runs based on the current waiting time of the analog emulator. When it exceeds, it pauses running and sends the new next event scheduled time of the digital emulator to the analog emulator to ensure that the digital emulator and the analog emulator can perform simulation pauses or continue simulation according to the schedule during the simulation execution process, and to ensure the signal consistency and integrity during the simulation execution process of the digital emulator and the analog emulator. During the simulation execution process, the analog emulator performs simulation operation first. When signal conversion is involved during the simulation execution process of the digital emulator and the analog emulator has already simulated to that position, the analog emulator can determine the position according to the conversion event and then perform a rollback, re-perform signal synchronization according to the signal conversion, and re-perform the simulation. The analog emulator performs simulation execution more quickly, and making it perform a rollback execution can improve the overall simulation efficiency.
[0073] According to the digital-analog hybrid circuit simulation communication method provided by an embodiment of the present invention, a mapping relationship of each hybrid signal boundary in the analog simulator and the digital simulator is established, which facilitates signal synchronization based on the corresponding mapping relationship when a conversion event is triggered. After initializing the analog simulator and the digital simulator respectively, the two perform circuit simulation. The analog simulator starts the simulation operation prior to the digital simulator. During the simulation process, signal synchronization can be performed through a conversion event. The analog simulator operates within the next event scheduled time of the digital simulator, and the digital simulator operates within the current waiting time of the analog simulator, realizing that the circuit simulation is dominated by the analog simulator and followed by the digital simulator, and can be completed without being limited by the simulator for digital-analog hybrid circuit simulation.
[0074] Figure 2 The flowchart of the digital-analog hybrid circuit simulation communication method according to another embodiment of the present invention is shown. As Figure 2 shown, the method includes the following steps:
[0075] Step S201, for a digital-analog hybrid circuit, obtain an analog circuit netlist file containing the analog circuit part and a digital circuit netlist file containing the digital circuit part.
[0076] In the prior art, when dealing with a digital-analog hybrid circuit, a manual or automatic splitting method is adopted to split the digital circuit part and the analog circuit part into different circuit structures respectively, and then enter two different simulators, namely a digital simulator and an analog simulator, for parsing and compilation. The obtained analog circuit and digital circuit both form independent circuit structures. Whether it is the digital simulator or the analog simulator, they only process their respective partial circuits, and there is no communication between the two, resulting in serious fragmentation. Users cannot know the complete circuit, which increases the complexity of circuit debugging.
[0077] In this embodiment, for a digital-analog hybrid circuit, a mixed-signal hierarchical structure including a digital circuit part and an analog circuit part is first established for it. The mixed-signal hierarchical structure includes both a digital circuit part and an analog circuit part. The topological expansion of the mixed-signal hierarchical structure is carried out, and the signal analysis of the circuit structure behavior is performed. The signals affected by the digital behavior are marked as digital circuits, the signals affected by the analog behavior are marked as analog circuits, and the signals affected by both digital behavior and analog behavior are marked as mixed-signal boundaries. Based on the mixed-signal boundaries, further optimization processing can be carried out. For the analog circuits connected between the mixed-signal boundaries, analog devices can be connected, or for the digital circuits connected to digital behaviors, digital-to-analog conversion units can be inserted. So that during simulation, according to the inserted digital-to-analog conversion units, the corresponding analog-to-digital or digital-to-analog conversion events can be triggered to synchronize the signals between the two circuits. According to the optimized mixed-signal hierarchical structure, two digital circuits and analog circuits with the same circuit structure can be obtained. The circuit structures of the digital circuit and the analog circuit are the same, and they are vertically mapped. The missing analog part in the digital circuit matches the analog part of the analog circuit, and the missing digital part in the analog circuit matches the digital part of the digital circuit. A digital circuit netlist file is generated according to the digital circuit, and an analog circuit netlist file is generated according to the analog circuit.
[0078] Step S202, the analog simulator reads the analog circuit netlist file, the digital simulator reads the digital circuit netlist file, and an inter-process communication is established between the analog simulator and the digital simulator.
[0079] The analog simulator reads the analog circuit netlist file, the digital simulator reads the digital circuit netlist file, and an inter-process communication is established between the analog simulator and the digital simulator to facilitate the sending and receiving of information between the two simulators. The inter-process communication can be implemented, for example, by anaConnectMsComm(). The above is for illustrative purposes, and it is specifically set according to the actual situation and is not limited here.
[0080] Step S203, based on the inter-process communication, a mapping relationship between the mixed-signal boundaries in the analog simulator and the digital simulator is established.
[0081] After the analog simulator reads the analog circuit netlist file, it can send the signal name corresponding to the mixed-signal boundary and the signal analog identifier to the digital simulator according to the mixed-signal boundary in the analog circuit netlist file. The content sent by the analog simulator is as follows:
[0082]
[0083] The digital simulator can find the mixed-signal boundaries of the digital circuit netlist file according to the signal name. Among them, the signal names ieName of the digital circuit netlist file and the analog circuit netlist file are the same. According to the determined signal name, the corresponding signal digital identifier can be determined. Thus, the digital simulator can determine the one-to-one mapping relationship between the signal digital identifier and the signal analog identifier. The digital simulator then sends the signal analog identifier and the signal digital identifier to the analog simulator together. The analog simulator can determine the one-to-one mapping relationship between the signal digital identifier and the signal analog identifier, thereby establishing the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator. The content sent by the digital simulator is as follows:
[0084]
[0085] The analog simulator sends something like sendIeNameIdPairs(uint32_t numPairs,const IeNameIdPair* ieNameIdPairs), and the digital simulator returns something like receiveIeIdIdPairs(uint32_t& numPairs,IeIdIdPair*& ieIdIdPairs). Establishing the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator can facilitate accurately locating the occurrence position of the conversion event when triggering the conversion event during the subsequent simulation execution process for signal synchronization.
[0086] The above code is for illustrative purposes and is specifically set according to the actual implementation situation, which is not limited here.
[0087] Step S204, the analog simulator initializes the analog circuit, and the digital simulator initializes the digital circuit.
[0088] In the initialization stage, the analog simulator initializes the initial values of each part of the analog circuit and sets the initial values of the analog circuit. When initializing, it is also necessary to determine whether there is a mixed-signal boundary triggering the analog-to-digital event. If it exists, it is also necessary to send the analog-to-digital signal synchronization information to the digital simulator, and the digital simulator needs to perform signal synchronization correspondingly. If it does not exist, it sends the current waiting time of the analog simulator to the digital simulator and waits for the digital simulator to return information. For example, the digital simulator sends the next event scheduled time of the digital simulator to the analog simulator. The analog simulator can simulate and run within the next event scheduled time of the digital simulator, which is convenient for the analog simulator to perform pause scheduling, etc. during the simulation execution process according to the scheduled time; or, if the digital simulator has a digital-to-analog event, the analog simulator needs to re-initialize, etc., which is specifically determined according to the actual implementation situation and is not limited here.
[0089] After receiving the analog-to-digital signal synchronization information or the current waiting time of the analog simulator, the digital simulator initializes the initial values of each digital circuit. When initializing, if the digital simulator receives the analog-to-digital signal synchronization information, it needs to perform signal synchronization according to it and modify the initial values of the digital circuit. If the digital simulator receives the current waiting time of the analog simulator, the digital simulator runs within the current waiting time of the analog simulator according to the current waiting time of the analog simulator. When initializing the digital simulator, it also needs to determine whether there is a mixed-signal boundary triggering a digital-to-analog event. If so, the digital simulator sends the digital-to-analog signal synchronization information to the analog simulator, and the analog simulator re-initializes the initial values of each analog circuit according to the digital-to-analog signal synchronization information. After that, the analog simulator performs simulation execution based on the new initial values and does not need to perform mutual signal conversion with the digital simulator. If there is no digital-to-analog event, the digital simulator sends the next event scheduled time of the digital simulator to the analog simulator. The analog simulator performs simulation according to the next event scheduled time of the digital simulator sent by the digital simulator.
[0090] Step S205, the analog simulator performs analog simulation and determines whether there is a mixed-signal boundary triggering an analog-to-digital conversion event.
[0091] The analog simulator and the digital simulator perform circuit simulation execution, and the analog simulator runs prior to the digital simulator. During the analog simulation process of the analog simulator, it determines whether there is a mixed-signal boundary triggering an analog-to-digital conversion event. If so, it executes step S206; if not, it executes step S207. The analog simulator performs simulation execution within the next event scheduled time of the digital simulator sent by the digital simulator and manages the execution time of the analog simulator.
[0092] Step S206, send the analog-to-digital signal synchronization information to the digital simulator, add the analog-to-digital event time to the simulation time axis of the digital simulator, perform signal synchronization according to the analog-to-digital signal synchronization information at the analog-to-digital event time, and return the next event scheduled time of the digital simulator to the analog simulator.
[0093] When a mixed-signal boundary triggers an analog-to-digital conversion event during the simulation execution of the analog simulator, the analog simulator sends the analog-to-digital signal synchronization information. The analog-to-digital signal synchronization information includes, for example, signal analog identifiers, voltage, current, equivalent resistance information, etc., as follows:
[0094]
[0095] Among them, the voltage is the analog signal voltage value, and the digital simulator can convert it into the corresponding digital signal logic value according to the reference voltage. The equivalent resistance is the equivalent resistance of the analog signal, and correspondingly, it is set as the driving strength of the digital signal. The current is the analog signal current value, and correspondingly, it is converted into the corresponding digital signal value, etc. Further, the analog-to-digital signal synchronization information may also include, for example, the reference voltage, etc. It can use a static voltage, that is, the reference voltage is a fixed constant, or it can use a dynamic voltage, that is, the reference voltage comes from a signal (analog signal or digital signal), and its value changes in real time during the simulation. The above is for illustrative purposes, and it is specifically set according to the implementation situation, and no limitation is made here.
[0096] The analog simulator sends to the digital simulator, such as sendA2DEvents(double time, uint32_t numEvents, const A2DEvent* a2dEvents). time agrees on the time for the next simulator signal synchronization. When the analog simulator sends to the digital simulator, it generally sends the current waiting time of the analog simulator. When converting analog to digital events, it can be temporarily not set. numEvents defines different events, including analog-to-digital events, the current waiting time of the analog simulator, etc., and corresponding values are sent according to specific events. a2dEvents is the analog-to-digital signal synchronization information.
[0097] The digital simulator can add the analog-to-digital event time to its simulation time axis. When the simulation executes to the analog-to-digital event time, signal synchronization is performed according to the analog-to-digital signal synchronization information, and correspondingly, the converted digital voltage, current, resistance (driving strength), etc. are obtained. After synchronization, the next event scheduled time of the digital simulator is returned to the analog simulator to agree on the new next simulation execution time. When the digital simulator returns, it can use, for example, receiveIeEvent(ARecvIeEvent& ieEvent), where ARecvIeEvent includes the following data:
[0098]
[0099] After the digital simulator completes signal synchronization, it can use the above function to return the next event scheduled time of the digital simulator to the analog simulator. The above is for illustrative purposes, and it is specifically set according to the implementation situation, and no limitation is made here.
[0100] In an alternative embodiment, if the next event scheduled time of the digital emulator is t2, during the simulation execution of the analog emulator, before reaching the time t2, a simulation-to-digital event is triggered, and the simulation-to-digital signal synchronization information is sent to the digital emulator. After the analog emulator sends the simulation-to-digital signal synchronization information, it can first pause the simulation. The digital emulator adds the simulation-to-digital event time t2' to the simulation time axis. When the digital emulator executes the simulation until t2', signal synchronization is performed according to the simulation-to-digital signal synchronization information. After the synchronization is completed, the next event scheduled time of the digital emulator, such as t3, is returned to the analog emulator, and the analog emulator continues to execute the simulation according to the returned next event scheduled time of the digital emulator, such as executing until the time t3. The above is for illustrative purposes, and specific settings are made according to the implementation situation, and no limitation is made here.
[0101] Step S207, when the next moment of the simulation time axis of the analog emulator exceeds the next event scheduled time of the digital emulator, pause the analog emulator, send the current waiting time of the analog emulator to the digital emulator, and wait for the digital emulator to return the new next event scheduled time of the digital emulator.
[0102] When the analog emulator executes the simulation within the next event scheduled time of the digital emulator, excluding the conversion event of the simulation-to-digital triggered by the mixed-signal boundary, if the next moment of the simulation time axis of the analog emulator exceeds the next event scheduled time of the digital emulator, the analog emulator is paused. The analog emulator can use sendWaitTime(double time), where time can be set as the current waiting time of the analog emulator, to send the current waiting time of the analog emulator to the digital emulator, so as to wait for the digital emulator to return the new next event scheduled time of the digital emulator, that is, after the digital emulator returns the next event scheduled time of the digital emulator based on receiveIeEvent(ARecvIeEvent& ieEvent), the analog emulator continues to perform the simulation.
[0103] Step S208, the digital emulator performs digital simulation and determines whether there is a conversion event of the digital-to-analog triggered by the mixed-signal boundary.
[0104] During the digital simulation of the digital emulator, it is determined whether there is a conversion event of the digital-to-analog triggered by the mixed-signal boundary. If so, step S209 is executed; if not, step S210 is executed. The digital emulator executes the simulation within the current waiting time of the analog emulator and manages the execution time of the digital emulator.
[0105] Step S209, send the digital-to-analog signal synchronization information to the analog emulator. The analog emulator performs signal synchronization according to the digital-to-analog signal synchronization information and returns the current waiting time of the analog emulator to the digital emulator.
[0106] When a digital-to-analog conversion event is triggered at the mixed-signal boundary during the simulation execution of the digital simulator, the digital simulator sends digital-to-analog signal synchronization information to the analog simulator. The digital-to-analog signal synchronization information includes signal digital identifiers, voltage, current, equivalent resistance information, etc., as follows:
[0107]
[0108]
[0109] Among them, the voltage is the digital signal logic value, which is converted into the corresponding analog signal voltage according to the reference voltage. The current is the digital signal value, which can be converted into the corresponding analog signal current source. The equivalent resistance is the intensity information of the digital signal, which can be set as the equivalent resistance of the analog signal. When the digital signal is in a high-impedance state, an open-circuit resistance, etc. needs to be added to the corresponding analog signal. The above is for illustrative purposes, and it is specifically set according to the implementation situation, and is not limited here.
[0110] The digital simulator can set the digital-to-analog signal synchronization information, digital-to-analog events, etc. of d2aEvents through functions such as receiveIeEvent(ARecvIeEvent&ieEvent). The analog simulator performs signal synchronization according to the received digital-to-analog signal synchronization information. After the signal synchronization, the analog simulator sets its current waiting time according to sendWaitTime(double time), sends the current waiting time of the analog simulator to the digital simulator, and returns the current waiting time of the analog simulator to the digital simulator.
[0111] Furthermore, if the simulation time axis of the analog simulator has exceeded the digital-to-analog conversion event time, for example, when the digital simulator has not executed to time A1, the simulation process of the analog simulator has passed time A1. When the digital simulator executes to time A1, it triggers a digital-to-analog conversion event, notifies the analog simulator that a digital-to-analog conversion event occurs at time A1. The analog simulator returns the position corresponding to the digital-to-analog conversion event time A1, re-performs signal synchronization for A1 according to the digital-to-analog signal synchronization information, and then returns the current waiting time of the analog simulator to the digital simulator to maintain signal synchronization with the digital simulator. When the analog simulator executes before the digital simulator and a conversion event that requires signal synchronization occurs, the analog simulator can roll back and re-execute to synchronize signals with the digital simulator.
[0112] Step S210, when the next moment of the simulation time axis of the digital simulator exceeds the current waiting time of the analog simulator, pause the digital simulator and send the next event scheduled time of the new digital simulator to the analog simulator.
[0113] When the digital simulator performs simulation execution within the current waiting time of the analog simulator, the conversion event of digital-to-analog conversion at the mixed-signal boundary is not included. When the next moment of the simulation time axis of the digital simulator exceeds the current waiting time of the analog simulator, the digital simulator is paused. The digital simulator sends the scheduled time of the next event of the new digital simulator to the analog simulator by, for example, receiveIeEvent(ARecvIeEvent& ieEvent) and setting the scheduled time of the next event of the digital simulator.
[0114] In this embodiment, both the digital simulator and the analog simulator are software tools. There is no limitation on the execution order before and after between steps S205 - S207 and steps S208 - S210. According to the specific execution situation, the corresponding steps are called for execution.
[0115] Step S211, when the digital simulator finishes running, send a digital simulation end to the analog simulator.
[0116] When the digital simulator finishes running, the digital simulator can set the digital simulation end through, for example, receiveIeEvent(ARecvIeEvent& ieEvent) to notify the analog simulator that the digital simulator has finished simulation.
[0117] Furthermore, if the analog simulator has not finished running at this time, that is, when the digital simulator has not received the analog simulation end sent by the analog simulator, the digital simulator can send a preset time to the analog simulator as the scheduled time of the next event of the digital simulator. The preset time can be set to -1 to ensure that the analog simulator continues to execute until the analog simulator finishes running.
[0118] Step S212, when the analog simulator finishes running, send an analog simulation end to the digital simulator.
[0119] After the analog simulator finishes running, the analog simulator can send an analog simulation end to the digital simulator through, for example, sendAnalogFinish(double time) to inform the digital simulator of the end time, and the digital simulator ends at the same time.
[0120] The simulation processes of the analog simulator and the digital simulator can be referred to Figure 3As shown, after the analog simulator and the digital simulator establish inter-process communication, the analog simulator sends analog boundary information, such as the signal name and the signal analog identifier, to the digital simulator. The digital simulator determines the digital boundary signal information based on the signal name and returns the corresponding digital boundary signal information, including the signal analog identifier and the signal digital identifier, to the analog simulator, thereby establishing the mapping relationship of each mixed-signal boundary between the analog simulator and the digital simulator. After that, the analog circuit is initialized. During the initialization, when there is an analog-to-digital conversion event, the analog-to-digital conversion event is sent to the digital simulator. If not, the current waiting time of the analog simulator is sent. After receiving any information sent by the analog simulator during initialization, the digital simulator initializes the digital circuit. When there is a digital-to-analog conversion event during initialization, the digital-to-analog conversion event is sent to the analog simulator, and the analog circuit is re-initialized according to the digital-to-analog conversion. If there is no digital-to-analog conversion event, the digital simulator sends the next event scheduled time of the digital simulator. After the initialization of the analog circuit and the digital circuit, the simulation operation stage is entered. During the simulation operation, the analog simulator and the digital simulator send the corresponding analog-to-digital conversion event or the signal synchronization information corresponding to the digital-to-analog conversion event triggered by the mixed-signal boundary, and the corresponding simulator performs signal synchronization. After the signal synchronization is completed, the current waiting time of the corresponding analog simulator or the next event scheduled time of the digital simulator is sent, etc., until the simulation of the analog simulator and the digital simulator ends. When the digital simulator ends, the digital simulation end is sent to the analog simulator. If the analog simulator has not ended yet, the digital simulator will set the next event scheduled time of the digital simulator to, for example, -1 to ensure that the analog simulator can continue to run. After the analog simulator finishes running, the analog simulation end is sent to the digital simulator. At this time, both the analog and digital simulations end. The above is an example. The information sending order, sending timing, etc. of each stage such as the mixed-signal boundary mapping, initialization, and simulation operation are set according to the actual situation and are not limited here.
[0121] According to the digital - analog hybrid circuit simulation communication method provided by the embodiments of the present invention, the analog simulator establishes inter - process communication with the digital simulator and constructs a mapping relationship for the hybrid signal boundaries of the two, so as to determine the corresponding signal synchronization based on the mapping relationship. The analog simulator is initialized prior to the digital simulator. When there is a digital - to - analog conversion event, the digital simulator modifies the signal initial value of the analog simulator, and the analog simulator can roll back and re - initialize. After initialization, the analog simulator performs simulation operation prior to the digital simulator. During the simulation process, signal synchronization is performed according to the corresponding conversion events, and the analog simulator is set to run within the next event scheduled time of the digital simulator, and the digital simulator runs within the current waiting time of the analog simulator, which is convenient for scheduling the analog simulator and the digital simulator to determine the corresponding time positions for signal synchronization. The running speed of the analog simulator is fast, and the analog simulator can roll back to correct signals, improving the overall simulation efficiency. Based on the communication of this application, circuit simulation can be realized with the analog simulator taking the lead and the digital simulator following, and it can be completed without being limited by the simulator for digital - analog hybrid circuit simulation.
[0122] Figure 4 The structural schematic diagram of the digital - analog hybrid circuit simulation communication device provided by the embodiments of the present invention is shown. As Figure 4 shown, the device includes:
[0123] A netlist file module 410, adapted to obtain an analog circuit netlist file containing the analog circuit part and a digital circuit netlist file containing the digital circuit part for a digital - analog hybrid circuit;
[0124] A mapping module 420, adapted to read the analog circuit netlist file by the analog simulator and the digital circuit netlist file by the digital simulator, and establish a mapping relationship for each hybrid signal boundary in the analog simulator and the digital simulator;
[0125] An initialization module 430, adapted to initialize the analog circuit by the analog simulator and initialize the digital circuit by the digital simulator;
[0126] A simulation module 440, adapted to perform analog simulation by the analog simulator and digital simulation by the digital simulator, and synchronize the signals of the analog simulator and the digital simulator according to the conversion events triggered by the hybrid signal boundaries during the simulation execution until the simulation ends; wherein, the analog simulator performs simulation operation prior to the digital simulator, runs based on the next event scheduled time of the digital simulator, and sends the current waiting time of the analog simulator to the digital simulator when pausing, and the digital simulator runs based on the current waiting time of the analog simulator and sends the new next event scheduled time of the digital simulator to the analog simulator when pausing.
[0127] Optionally, the analog circuit netlist file and the digital circuit netlist file contain mixed-signal boundaries;
[0128] The mapping module 420 is further adapted to:
[0129] The analog simulator reads in the analog circuit netlist file and sends the signal name and signal analog identifier corresponding to the mixed-signal boundary to the digital simulator according to the mixed-signal boundary in the analog circuit netlist file;
[0130] The digital simulator searches for the mixed-signal boundary of the digital circuit netlist file according to the signal name, determines the signal digital identifier corresponding to the signal name, and sends the signal analog identifier and the signal digital identifier to the analog simulator to establish the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator.
[0131] Optionally, the mapping module 420 is further adapted to:
[0132] The analog simulator reads in the analog circuit netlist file, and the digital simulator reads in the digital circuit netlist file;
[0133] Inter-process communication is established between the analog simulator and the digital simulator;
[0134] Based on the inter-process communication, the mapping relationship of each mixed-signal boundary in the analog simulator and the digital simulator is established.
[0135] Optionally, the initialization module 430 is further adapted to:
[0136] The analog simulator initializes the initial values of each part of the analog circuit and determines whether there is a mixed-signal boundary triggering an analog-to-digital event;
[0137] If so, send the analog-to-digital signal synchronization information to the digital simulator;
[0138] If not, send the current waiting time of the analog simulator to the digital simulator;
[0139] After receiving the analog-to-digital signal synchronization information or the current waiting time of the analog simulator, the digital simulator initializes the initial values of each part of the digital circuit and determines whether there is a mixed-signal boundary triggering a digital-to-analog event;
[0140] If so, send the digital-to-analog signal synchronization information to the analog simulator, and the analog simulator re-initializes the initial values of each part of the analog circuit according to the digital-to-analog signal synchronization information;
[0141] If not, send the next event scheduled time of the digital simulator to the analog simulator.
[0142] Optionally, the simulation module 440 is further adapted to:
[0143] The analog simulator performs analog simulation to determine whether there is a mixed-signal boundary triggering an analog-to-digital conversion event;
[0144] If so, send analog-to-digital signal synchronization information to the digital simulator; add the analog-to-digital event time to the simulation time axis of the digital simulator, and perform signal synchronization according to the analog-to-digital signal synchronization information at the analog-to-digital event time, and return the next event scheduled time of the digital simulator to the analog simulator; the analog-to-digital signal synchronization information includes signal analog identifiers, voltage, current, reference voltage, and / or equivalent resistance information;
[0145] If not, when the next moment of the simulation time axis of the analog simulator exceeds the next event scheduled time of the digital simulator, pause the analog simulator, send the current waiting time of the analog simulator to the digital simulator, and wait for the digital simulator to return the new next event scheduled time of the digital simulator;
[0146] And,
[0147] The digital simulator performs digital simulation to determine whether there is a mixed-signal boundary triggering a digital-to-analog conversion event;
[0148] If so, send digital-to-analog signal synchronization information to the analog simulator; the analog simulator performs signal synchronization according to the digital-to-analog signal synchronization information and returns the current waiting time of the analog simulator to the digital simulator; the digital-to-analog signal synchronization information includes signal digital identifiers, voltage, current, and / or equivalent resistance information;
[0149] If not, when the next moment of the simulation time axis of the digital simulator exceeds the current waiting time of the analog simulator, pause the digital simulator and send the new next event scheduled time of the digital simulator to the analog simulator;
[0150] When the digital simulator finishes running, send digital simulation end to the analog simulator. If the analog simulator has not finished running at this time, send a preset time to the analog simulator as the next event scheduled time of the digital simulator for the analog simulator to continue execution until the analog simulator finishes running;
[0151] When the analog simulator finishes running, send analog simulation end to the digital simulator.
[0152] Optionally, the simulation module 440 is further adapted to:
[0153] Send digital-to-analog signal synchronization information to the analog simulator;
[0154] If the simulation time axis of the simulation emulator exceeds the digital-to-analog conversion event time, the simulation emulator returns to the position corresponding to the digital-to-analog conversion event time, re-performs signal synchronization according to the digital-to-analog signal synchronization information, and returns the current waiting time of the simulation emulator to the digital emulator.
[0155] The descriptions of the above modules refer to the corresponding descriptions in the method embodiments and will not be elaborated here.
[0156] An embodiment of the present invention also provides a non-volatile computer storage medium. The computer storage medium stores at least one executable instruction, and the executable instruction can execute the operations corresponding to the digital-analog hybrid circuit simulation communication method in any of the above method embodiments.
[0157] An embodiment of the present application provides a computer program product. The computer program product includes at least one executable instruction or computer program, and the executable instruction or computer program can cause a processor to execute the operations corresponding to the digital-analog hybrid circuit simulation communication method in any of the above method embodiments.
[0158] Figure 5 A schematic structural diagram of a computing device according to an embodiment of the present invention is shown. Specific embodiments of the present invention do not limit the specific implementation of the computing device.
[0159] As Figure 5 shown, the computing device may include: a processor 502, a communication interface 504, a memory 506, and a communication bus 508.
[0160] Among them:
[0161] The processor 502, the communication interface 504, and the memory 506 communicate with each other through the communication bus 508.
[0162] The communication interface 504 is used to communicate with network elements of other devices such as clients or other servers.
[0163] The processor 502 is used to execute the program 510, and specifically can execute the relevant steps in the digital-analog hybrid circuit simulation communication method embodiment described above.
[0164] Specifically, the program 510 may include program code, and the program code includes computer operation instructions.
[0165] The processor 502 may be a central processing unit (CPU), or a specific application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. One or more processors included in the computing device may be of the same type of processor, such as one or more CPUs; or may be of different types of processors, such as one or more CPUs and one or more ASICs.
[0166] A memory 506 for storing a program 510. The memory 506 may include high-speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
[0167] The program 510 may specifically be used to cause the processor 502 to execute the digital-analog hybrid circuit simulation communication method in any of the above method embodiments. For the specific implementation of each step in the program 510, reference may be made to the corresponding steps and the descriptions in the corresponding units in the above digital-analog hybrid circuit simulation communication embodiments, which will not be elaborated herein. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described devices and modules may refer to the corresponding process descriptions in the foregoing method embodiments, which will not be repeated herein.
[0168] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems may also be used in conjunction with the teachings provided herein. Based on the above description, the structures required to construct such systems will be apparent. In addition, the embodiments of the present invention are not directed to any specific programming language. It should be understood that the content of the embodiments of the present invention described herein can be implemented using various programming languages, and the descriptions made above for specific languages are for disclosing the preferred embodiments of the present invention.
[0169] In the specification provided herein, a large number of specific details are set forth. However, it can be understood that the embodiments of the present invention may be practiced without these specific details. In some instances, well-known methods, structures, and technologies have not been shown in detail so as not to obscure the understanding of this specification.
[0170] Similarly, it should be understood that, in order to streamline the embodiments of the present invention and assist in understanding one or more of the various inventive aspects, in the foregoing description of the exemplary embodiments of the present invention, the various features of the embodiments of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be construed as reflecting an intention that the claimed embodiments of the present invention require more features than are expressly recited in each claim. Rather, as reflected in the following claims, the inventive aspects lie in less than all the features of the single embodiments disclosed previously. Thus, the claims following the detailed description are hereby expressly incorporated into the detailed description, with each claim standing on its own as a separate embodiment of the present invention.
[0171] Those skilled in the art will appreciate that the modules in the devices in the embodiments can be adaptively changed and disposed in one or more devices different from the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all the features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all the processes or units of any method or device so disclosed. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) can be replaced by an alternative feature that provides the same, equivalent, or similar purpose.
[0172] In addition, those skilled in the art will be able to understand that, although some of the embodiments herein include certain features included in other embodiments rather than other features, the combination of the features of different embodiments means that it is within the scope of the present invention and forms different embodiments. For example, in the following claims, any one of the claimed embodiments can be used in any combination.
[0173] Each component embodiment of the present invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components according to the embodiments of the present invention. Embodiments of the present invention may also be implemented as a device or apparatus program (e.g., a computer program and a computer program product) for performing part or all of the methods described herein. Such a program implementing embodiments of the present invention may be stored on a computer-readable medium, or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, or provided on a carrier signal, or in any other form.
[0174] It should be noted that the above embodiments illustrate the embodiments of the present invention rather than limit the present invention, and those skilled in the art can design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Embodiments of the present invention may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In the unit claims listing several devices, several of these devices may be embodied by the same item of hardware. The use of the words first, second, and third, etc. does not denote any order. These words may be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
Claims
1. A digital-analog hybrid circuit simulation communication method, characterized in that It includes: For a digital - analog hybrid circuit, obtaining an analog circuit netlist file containing the analog circuit part and a digital circuit netlist file containing the digital circuit part; The analog simulator reads in the analog circuit netlist file, and the digital simulator reads in the digital circuit netlist file, and establishes a mapping relationship of each mixed - signal boundary in the analog simulator and the digital simulator; The analog simulator initializes the analog circuit, and the digital simulator initializes the digital circuit; The analog simulator performs analog simulation, and the digital simulator performs digital simulation, and synchronizes signals between the analog simulator and the digital simulator according to the conversion events triggered by the mixed - signal boundary during the simulation execution until the simulation ends; wherein, the analog simulator starts the simulation operation earlier than the digital simulator, runs within the next - event scheduled time of the digital simulator, and sends the current waiting time of the analog simulator to the digital simulator when pausing the operation, and the digital simulator runs within the current waiting time of the analog simulator and sends the next - event scheduled time of the new digital simulator to the analog simulator when pausing the operation.
2. The method according to claim 1, characterized in that The analog circuit netlist file and the digital circuit netlist file contain mixed - signal boundaries; The analog simulator reads in the analog circuit netlist file, and the digital simulator reads in the digital circuit netlist file, and establishing the mapping relationship of each mixed - signal boundary in the analog simulator and the digital simulator further includes: The analog simulator reads in the analog circuit netlist file, and sends the signal name and the signal analog identifier corresponding to the mixed - signal boundary to the digital simulator according to the mixed - signal boundary in the analog circuit netlist file; The digital simulator searches for the mixed - signal boundary of the digital circuit netlist file according to the signal name, determines the signal digital identifier corresponding to the signal name, and sends the signal analog identifier and the signal digital identifier to the analog simulator to establish the mapping relationship of each mixed - signal boundary in the analog simulator and the digital simulator.
3. The method according to claim 1, characterized in that The analog simulator reads in the analog circuit netlist file, and the digital simulator reads in the digital circuit netlist file, and establishing the mapping relationship of each mixed - signal boundary in the analog simulator and the digital simulator further includes: The analog simulator reads in the analog circuit netlist file, and the digital simulator reads in the digital circuit netlist file; Establish inter - process communication between the analog simulator and the digital simulator; Based on the inter - process communication, establish the mapping relationship of each mixed - signal boundary in the analog simulator and the digital simulator.
4. The method according to claim 1, characterized in that, The analog simulator initializes the analog circuit, and the digital simulator initializes the digital circuit further includes: The analog simulator initializes the initial values of the analog circuit, and judges whether there is a mixed - signal boundary triggering an analog - to - digital event; If so, send analog - to - digital signal synchronization information to the digital simulator; If not, send the current waiting time of the analog simulator to the digital simulator. After receiving the analog-to-digital signal synchronization information or the current waiting time of the analog simulator, the digital simulator initializes the initial values of each digital circuit and determines whether there is a mixed-signal boundary triggering a digital-to-analog event; If so, it sends the digital-to-analog signal synchronization information to the analog simulator, and the analog simulator re-initializes the initial values of each analog circuit according to the digital-to-analog signal synchronization information; If not, it sends the next event scheduled time of the digital simulator to the analog simulator.
5. The method according to claim 1, characterized in that, The analog simulator performs analog simulation, and the digital simulator performs digital simulation. During the simulation execution process, according to the conversion event triggered by the mixed-signal boundary, the analog simulator and the digital simulator are signal-synchronized until the simulation ends, which further includes: The analog simulator performs analog simulation and determines whether there is a mixed-signal boundary triggering an analog-to-digital conversion event; If so, it sends the analog-to-digital signal synchronization information to the digital simulator; adds the analog-to-digital event time to the simulation time axis of the digital simulator, and performs signal synchronization according to the analog-to-digital signal synchronization information at the analog-to-digital event time, and returns the next event scheduled time of the digital simulator to the analog simulator; the analog-to-digital signal synchronization information includes signal analog identifiers, voltage, current, reference voltage, and / or equivalent resistance information; If not, when the next moment of the simulation time axis of the analog simulator exceeds the next event scheduled time of the digital simulator, the analog simulator is paused, and the current waiting time of the analog simulator is sent to the digital simulator, waiting for the digital simulator to return a new next event scheduled time of the digital simulator; And, The digital simulator performs digital simulation and determines whether there is a mixed-signal boundary triggering a digital-to-analog conversion event; If so, it sends the digital-to-analog signal synchronization information to the analog simulator; the analog simulator performs signal synchronization according to the digital-to-analog signal synchronization information and returns the current waiting time of the analog simulator to the digital simulator; the digital-to-analog signal synchronization information includes signal digital identifiers, voltage, current, and / or equivalent resistance information; If not, when the next moment of the simulation time axis of the digital simulator exceeds the current waiting time of the analog simulator, the digital simulator is paused, and a new next event scheduled time of the digital simulator is sent to the analog simulator; When the digital simulator runs to an end, it sends digital simulation end to the analog simulator. If at this time the analog simulator has not run to an end, it sends a preset time as the next event scheduled time of the digital simulator to the analog simulator for the analog simulator to continue execution until the analog simulator runs to an end; When the analog simulator runs to an end, it sends analog simulation end to the digital simulator.
6. The method according to claim 5, wherein Sending digital-to-analog signal synchronization information to the analog simulator; the analog simulator synchronizes signals according to the digital-to-analog signal synchronization information and returns the current waiting time of the analog simulator to the digital simulator, further including: Sending digital-to-analog signal synchronization information to the analog simulator; If the simulation time axis of the analog simulator exceeds the conversion event time of digital-to-analog conversion, the analog simulator returns the position corresponding to the digital-to-analog conversion event time, re-synchronizes signals according to the digital-to-analog signal synchronization information, and returns the current waiting time of the analog simulator to the digital simulator.
7. A digital-analog hybrid circuit simulation communication device, characterized in that, The apparatus includes: A netlist file module, adapted to obtain an analog circuit netlist file containing an analog circuit part and a digital circuit netlist file containing a digital circuit part for a digital-analog hybrid circuit; A mapping module, adapted to enable the analog simulator to read the analog circuit netlist file and the digital simulator to read the digital circuit netlist file, and establish a mapping relationship between the hybrid signal boundaries in the analog simulator and the digital simulator; An initialization module, adapted to initialize the analog circuit by the analog simulator and initialize the digital circuit by the digital simulator; A simulation module, adapted to perform analog simulation by the analog simulator and digital simulation by the digital simulator, and synchronize signals between the analog simulator and the digital simulator according to the conversion events triggered by the hybrid signal boundaries during the simulation execution until the simulation ends; wherein, the analog simulator performs simulation operation prior to the digital simulator, runs based on the next event scheduled time of the digital simulator, and sends the current waiting time of the analog simulator to the digital simulator when pausing the operation, and the digital simulator runs based on the current waiting time of the analog simulator and sends the new next event scheduled time of the digital simulator to the analog simulator when pausing the operation.
8. A computing device, characterized in that, Including: A processor, a memory, a communication interface, and a communication bus, and the processor, the memory, and the communication interface complete communication with each other through the communication bus; The memory is used to store at least one executable instruction, and the executable instruction causes the processor to perform the operations corresponding to the digital-analog hybrid circuit simulation communication method according to any one of claims 1-6.
9. A computer storage medium, characterized in that, At least one executable instruction is stored in the storage medium, and the executable instruction causes the processor to perform the operations corresponding to the digital-analog hybrid circuit simulation communication method according to any one of claims 1-6.
10. A computer program product, characterized in that, Including at least one executable instruction, and the executable instruction causes the processor to perform the operations corresponding to the digital-analog hybrid circuit simulation communication method according to any one of claims 1-6.
Citation Information
Patent Citations
Circuit simulation method and device
CN114492280A
Digital-analog hybrid simulation method and system for CIS chip
CN114818575A
Verification method based on digital analog circuit hybrid simulation and related product
CN115688659A
Method for simulating analog / digital mixed integrated circuit
JP1992071071A
Device and method for analog / digital mixed circuit simulation
JP2002007502A