IP Library › Granted Patent US 12,265,767
Granted Patent B2
US 12,265,767 · App. 17/893,136 · Granted Apr 1, 2025

System and method for electronic circuit resimulation

Inventor: Steven F. Hoover (Shrewsbury, MA)
Assignee: Steven Hoover
G06F30/327G06F30/3308G06F30/367
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,265,767
App. No.
17/893,136
Granted
Apr 1, 2025
Kind
B2
Abstract

A system and method allows resimulation of a portion of a model of an electronic circuit. The system and model may predict and cache data associated with the resimulation of the portion (e.g., the initial state and input signals associated with the portion) in a computer memory. If a request is received to resimulation the portion, the system and method may use the cached data to perform the resimulation.

Claims (30)

1. A computer-implemented method for resimulating operation of a portion of a model representing an electronic circuit, the method comprising:

processing a hardware-description-language (HDL) description of the electronic circuit to determine a first partition comprising a first representation of a first group of circuit elements of the electronic circuit;

determining that the first partition is a candidate for resimulation;

receiving, from a first HDL model corresponding to the HDL description, first simulation data corresponding to values of signals in the first partition;

based on determining that the first partition is a candidate for resimulation, storing, in a cache memory, the first simulation data;

receiving an indication of a request to resimulate the first partition;

processing, using the first simulation data, a second HDL model corresponding to the first partition to determine second simulation data; and

displaying, on a computer display, at least a portion of the second simulation data.

2. The method of claim 1 , further comprising:

receiving a second request to resimulate a second partition;

determining that at least a portion of the second simulation data corresponds to the second partition; and

processing, using the second simulation data, a third HDL model corresponding to the second partition.

3. The method of claim 1 , wherein determining that the first partition is a candidate for resimulation comprises processing a list of requested signals.

4. The method of claim 1 , wherein determining that the first partition is a candidate for resimulation comprises processing an interaction of a user with a user device.

5. A system comprising:

at least one processor; and

at least one memory including instructions that, when executed by the at least one processor, cause the system to:

process a hardware-description-language (HDL) description of an electronic circuit to determine a first partition comprising a first representation of a first group of circuit elements of the electronic circuit;

determine that the first partition is a candidate for resimulation;

receive, from a first HDL model corresponding to the HDL description, first simulation data corresponding to values of signals in the first partition;

based on determining that the first partition is a candidate for resimulation, store, in a cache memory, the first simulation data;

receive an indication of a request to resimulate the first partition;

process, using the first simulation data, a second HDL model corresponding to the first partition to determine second simulation data; and

display, on a computer display, at least a portion of the second simulation data.

6. The system of claim 5 , the memory further including instructions that, when executed by the at least one processor, further cause the system to:

receive a second request to resimulate a second partition;

determine that at least a portion of the second simulation data corresponds to the second partition; and

process, using the second simulation data, a third HDL model corresponding to the second partition.

7. The system of claim 5 , wherein determining that the first partition is a candidate for resimulation comprises processing a list of requested signals.

8. The system of claim 5 , wherein determining that the first partition is a candidate for resimulation comprises processing an interaction of a user with a user device.

Continuity (2)
Provisional Application 63235289 · Aug 20, 2021
Related Publication 20230054303A1 · Feb 23, 2023
References Cited (22)
US 7085703B2 · Gabele · 2006 [cited by examiner]
US 7428486B1 · Casati · 2008 [cited by examiner]
US 8902234B1 · Sanocki · 2014 [cited by examiner]
US 8903698B2 · Walker · 2014 [cited by examiner]
US 10380290B1 · Rasekh · 2019 [cited by examiner]
US 20050273298A1 · Shah · 2005 [cited by examiner]
US 20070074137A1 · Nishida · 2007 [cited by examiner]
US 20080140379A1 · Shah · 2008 [cited by examiner]
US 20130311152A1 · Walker · 2013 [cited by examiner]
US 20150100929A1 · Redekopp · 2015 [cited by examiner]
US 20170091360A1 · Adaikalasamy · 2017 [cited by examiner]
CA 2648257C · 2013 [cited by examiner]
WO WO2012112195A1 · 2012 [cited by examiner]
Jeong, et al. “A Time Division Multiplexing (TDM) Logic Mapping Method for Computational Applications”, ICCSA 2007, LNCS 4705, Part I, pp. 1096-1106. [cited by applicant]
Hoover, et al. “Top-Down Transaction-Level Design with TL-Verilog”, Nov. 5, 2018, arXiv:1811.01780. [cited by applicant]
Hoover, “Timing-Abstract Circuit Design in Transaction-Level Verilog”, 2017 IEEE International Conference on Computer Design (ICCD), 2017, pp. 525-532, doi: 10.1109/ICCD.2017.91. [cited by applicant]
D. Rosenband, J. Schwartz and Arvind, “Modular scheduling of guarded atomic actions”, 41st Design Automation Conference (DAC), 2004. [cited by applicant]
F. Gruian and M. Westmijze, “VHDL vs. Bluespec system verilog: a case study on a Java embedded architecture”, Proc. of the 2008 ACM Symposium on Applied Computing, pp. 1492-1497, Mar. 2008. [cited by applicant]
J. Bachrach et al., “Chisel: Constructing Hardware in a Scala Embedded Language”, Proc. of the 49th Design Automation Conference, Jun. 2012. [cited by applicant]
C. E. Leiserson, F. Rose and J. B. Saxe, “Optimizing synchronous circuitry by retiming”, Proc. of the 3rd Caltech Conference on VLSI, Mar. 1983. [cited by applicant]
B. Lockyear and C. Ebeling, “Optimal Retiming of Multi-Phase Level-Clocked Circuits”, Advanced Research in VLSI and Parallel Systems: Proc. of the Brown/MIT Conference, pp. 265-280, 1992. [cited by applicant]
E. Nurvitadhi, Automatic Pipeline Synthesis and Formal Verification from Transactional Datapath Specifications, 2010. [cited by applicant]