IP Library Granted Patent US 12,724,951
Granted Patent B2
US 12,724,951 · App. 17/710,237 · Granted Sep 1, 2026

Real time view swapping (RTVS) in a mixed signal simulation

Inventors: Henry Jyu (Cupertino, CA); Xiaonan Shi (Shanghai, CN); Tingting Jiang (Shanghai, CN)
Assignee: Synopsys, Inc.
G06F30/367G06F30/392G06F30/398
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,724,951
App. No.
17/710,237
Granted
Sep 1, 2026
Kind
B2
Abstract

A method, a system, and a non-transitory computer readable medium for simulating a circuit are provided. The method includes generating a digital simulation file for the circuit that includes a block, generating a mixed simulation file for the circuit, generating a waveform file by executing the digital simulation file for a first time window of a simulation, determining a plurality of analog values for the block based on the waveform file, and executing, by a processor, the mixed simulation file for a second time window of the simulation with the plurality of analog values annotated to the block at a start of the second time window. The digital simulation file corresponds to the block in a digital view and the mixed simulation file corresponds to the block in an analog view.

Claims (50)

1 . A method for simulating a circuit, comprising:

generating a digital simulation file for the circuit, wherein the circuit comprises a block and wherein the digital simulation file corresponds to the block in a digital view;

generating a mixed simulation file for the circuit, wherein the mixed simulation file corresponds to the block in an analog view;

generating a waveform file by executing the digital simulation file for a first time window of a simulation;

executing the mixed simulation file for the first time window of the simulation based on the waveform file, wherein the execution of the mixed simulation file for the first time window skips simulation of the block during the first time window;

determining a plurality of analog values for the block based on the waveform file, wherein the plurality of analog values correspond to initial states of one or more nodes of the block acquired from the waveform file; and

executing, by one or more processors, the mixed simulation file for a second time window of the simulation with the plurality of analog values annotated to the block at a start of the second time window.

2 . The method of claim 1 , wherein the circuit comprises an additional block, wherein the digital simulation file corresponds to the additional block in the digital view, and wherein the mixed simulation file corresponds to the additional block in the digital view.

3 . The method of claim 2 , further comprising:

associating the additional block with a digital value after executing the mixed simulation file for the first time window.

4 . The method of claim 2 , further comprising:

executing the digital simulation file for the second time window of the simulation and a third time window of the simulation.

5 . The method of claim 4 , wherein executing the mixed simulation file for the second time window is performed in parallel with executing the digital simulation file for the second time window.

6 . The method of claim 1 , further comprising:

acquiring the initial states from the waveform file.

7 . The method of claim 1 , wherein the second time window includes a first idle period at the start of the second time window and a second idle period at an end of the second time window.

8 . The method of claim 1 , further comprising:

displaying in a graphical window a first waveform and a second waveform, wherein the first waveform corresponds to a digital signal and the second waveform corresponds to the corresponding analog signal; and

masking the first waveform for a duration of the second time window.

9 . The method of claim 1 , further comprising:

receiving information indicative of a start time and an end time of a plurality of mixed simulation windows of the simulation; and

executing the mixed simulation file for each of the plurality of mixed simulation windows.

10 . A system for simulating a circuit, comprising:

a memory storing instructions; and

a processor, coupled with the memory and to execute the instructions, the instructions when executed cause the processor to:

generate a digital simulation file for the circuit, wherein the circuit comprises a block and wherein the digital simulation file corresponds to the block in a digital view,

generate a mixed simulation file for the circuit, wherein the mixed simulation file corresponds to the block in an analog view,

generate a waveform file by executing the digital simulation file for a first time window of a simulation,

execute the mixed simulation file for the first time window of the simulation based on the waveform file, wherein the execution of the mixed simulation file for the first time window skips simulation of the block during the first time window,

determine a plurality of analog values for the block based on the waveform file, wherein the plurality of analog values correspond to initial states of one or more nodes of the block acquired from the waveform file, and

execute the mixed simulation file for a second time window of the simulation with the plurality of analog values annotated to the block at a start of the second time window.

11 . The system of claim 10 , wherein the circuit comprises an additional block, wherein the digital simulation file corresponds to the additional block in the digital view, and wherein the mixed simulation file corresponds to the additional block in the digital view.

12 . The system of claim 11 , wherein the processor is further configured to:

associate the additional block with a digital value after executing the mixed simulation file for the first time window.

13 . The system of claim 11 , wherein the processor is further configured to:

execute the digital simulation file for the second time window of the simulation and a third window of the simulation.

14 . The system of claim 13 , wherein executing the mixed simulation file for the second time window is performed in parallel with executing the digital simulation file for the second time window.

15 . The system of claim 10 , wherein the processor is further configured to:

acquire the initial states from the waveform file.

16 . The system of claim 10 , wherein the second time window includes a first idle period at the start of the second time window and a second idle period at an end of the second time window.

17 . The system of claim 10 , wherein the processor is further configured to:

display in a graphical window a first waveform and a second waveform, wherein the first waveform corresponds to a digital signal and the second waveform corresponds to the corresponding analog signal; and

mask the first waveform for a duration of the second time window.

18 . A non-transitory computer readable medium comprising stored instructions for simulating a circuit comprising a first block and a second block, which when executed by a processor, cause the processor to:

generate a digital simulation file for the circuit, wherein the circuit comprises a block and wherein the digital simulation file corresponds to the block in a digital view;

generate a mixed simulation file for the circuit, wherein the mixed simulation file corresponds to the block in an analog view;

generate a waveform file by executing the digital simulation file for a first time window of a simulation;

execute the mixed simulation file for the first time window of the simulation based on the waveform file, wherein the execution of the mixed simulation file for the first time window skips simulation of the block during the first time window;

determine a plurality of analog values for the block based on the waveform file, wherein the plurality of analog values correspond to initial states of one or more nodes of the block acquired from the waveform file; and

execute the mixed simulation file for a second time window of the simulation with the plurality of analog values annotated to the block at a start of the second time window.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2023
From: JYU, HENRY; SHI, XIAONAN; JIANG, TINGTING
To: SYNOPSYS, INC.
Reel/Frame 063660/0653 →
Continuity (2)
Provisional Application 63168763 · Mar 31, 2021
Related Publication 20220327272A1 · Oct 13, 2022
References Cited (44)
US 5963724A · Mantooth · 1999 [cited by examiner]
US 6236956B1 · Mantooth · 2001 [cited by examiner]
US 6801881B1 · Shah · 2004 [cited by examiner]
US 6820243B1 · Shey · 2004 [cited by examiner]
US 6961689B1 · Greenberg · 2005 [cited by examiner]
US 7299164B2 · Courtay · 2007 [cited by examiner]
US 7672827B1 · Schapira · 2010 [cited by examiner]
US 7761279B1 · Cai · 2010 [cited by examiner]
US 7865348B1 · Au · 2011 [cited by examiner]
US 8201137B1 · Bhushan · 2012 [cited by examiner]
US 8255191B1 · Kolpekwar · 2012 [cited by examiner]
US 8296699B1 · Chetput · 2012 [cited by examiner]
US 8478576B1 · Cameron · 2013 [cited by examiner]
US 8504346B1 · Kolpekwar · 2013 [cited by examiner]
US 8554530B1 · O'Riordan · 2013 [cited by examiner]
US 8949100B1 · Cranston · 2015 [cited by examiner]
US 9047424B1 · Baker · 2015 [cited by examiner]
US 10262088B1 · Turbovich · 2019 [cited by examiner]
US 11017139B1 · Roy · 2021 [cited by examiner]
US 11023640B1 · Keller · 2021 [cited by examiner]
US 11334702B1 · Banerjee · 2022 [cited by examiner]
US 11847392B1 · Lin · 2023 [cited by examiner]
US 20020049576A1 · Meyer · 2002 [cited by examiner]
US 20030149962A1 · Willis · 2003 [cited by examiner]
US 20050080600A1 · Courtay · 2005 [cited by examiner]
US 20050143966A1 · McGaughy · 2005 [cited by examiner]
US 20060190230A1 · Patterson · 2006 [cited by examiner]
US 20060225009A1 · Reddy · 2006 [cited by examiner]
US 20070101302A1 · Okamoto · 2007 [cited by examiner]
US 20120246606A1 · Krauch · 2012 [cited by examiner]
US 20130338991A1 · Lin · 2013 [cited by examiner]
US 20140067357A1 · Fang · 2014 [cited by examiner]
US 20160070834A1 · Le · 2016 [cited by examiner]
US 20170024504A1 · Branch · 2017 [cited by examiner]
US 20170083651A1 · Akkaraju · 2017 [cited by examiner]
US 20170316137A1 · James · 2017 [cited by examiner]
US 20180129767A1 · Akkaraju · 2018 [cited by examiner]
US 20200065114A1 · Garg · 2020 [cited by examiner]
US 20200104497A1 · Crouch · 2020 [cited by examiner]
US 20230315964A1 · Kolpekwar · 2023 [cited by examiner]
WO WO2022212751A1 · 2022 [cited by examiner]
International Search Report and Written Opinion of the International Searching Authority directed to related International Patent Application No. PCT/US2022/022898, mailed Jul. 15, 2022; 13 pages. [cited by applicant]
“CircuitLogix,” Wikipedia Article, last updated Jul. 22, 2020; 4 pages. [cited by applicant]
Schneider et al., “Multi-Level Timing Simulation on GPUs,” Proceedings of the 23rd Asia and South Pacific Design Automation Conference, Jan. 22, 2018; 7 pages. [cited by applicant]