IP Library Granted Patent US 12,517,743
Granted Patent B2
US 12,517,743 · App. 17/382,841 · Granted Jan 6, 2026

System and method for modeling memory devices with latency

Inventors: Charles W. Selvidge (Oakland, CA); Mukesh Gupta (Freemont, CA); Sanjay Gupta (Noida, IN); Suresh Krishnamurthy (Noida, IN); Mayank Awasthi (New Delhi, IN)
Assignee: Siemens Industry Software Inc.
G06F9/455
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,517,743
App. No.
17/382,841
Granted
Jan 6, 2026
Kind
B2
Abstract

Systems and methods for emulate or prototyping of hardware, such as memory, are disclosed. A memory compiler may receive information, such as system calls, indicative of one or more aspects of latency. Responsive to the information, the memory compiler may create infrastructure, such as pipelines and FIFOs, based on the aspects of latency, for emulation or prototyping of the hardware. Using the created infrastructure may improve emulation compile speed, such as by creating a pipeline-based cache structure, and may improve emulation runtime speed, such as by utilizing earlier unused model clocks to fetch data from host sooner.

Claims (39)

1 . A computer-implemented method for emulation or prototyping of a circuit design comprising:

responsive to receiving information regarding circuit design latency of the circuit design, generating, using a memory compiler, a memory model comprising infrastructure regarding the circuit design latency while reducing emulation or prototyping latency when performing the emulation or the prototyping of the circuit design, wherein, responsive to at least one memory access request comprising the information regarding the circuit design latency, creating the infrastructure regarding the circuit design latency based on the information regarding the circuit design latency; and

performing, using the memory model, one or both of the emulation or the prototyping of the circuit design.

2 . The method of claim 1 , wherein the information is based on the at least one memory access request indicative of the circuit design latency;

wherein performing the at least one memory access request results in the emulation or prototyping latency; and

wherein responsive to accessing the at least one memory access request, generating the memory model comprising the infrastructure reflective of the circuit design latency in the at least one memory access request and reducing the emulation or prototyping latency in performing the at least one memory access request.

3 . The method of claim 2 , wherein the circuit design latency is used to reduce the emulation or prototyping latency for another request system call; and

wherein the circuit design latency is indicative of a time at which a response to the at least one memory access request is expected.

4 . The method of claim 3 , wherein the time at which the response is expected is in a number of clock cycles;

wherein the memory compiler creates a FIFO infrastructure responsive to the at least one memory access request based on the circuit design latency; and

wherein the FIFO infrastructure delivers the response at a time based on a number of clock cycles indicative of when the request will mature.

5 . The method of claim 3 , wherein emulation or prototyping latency is due to fetching data for the another request system call; and

wherein the fetching of the data for the another request system call is performed at least partly during performing the at least one memory access request.

6 . The method of claim 1 , wherein the memory model performs at least one action related to the emulation or prototyping latency at least partly during the circuit design latency.

7 . The method of claim 6 , wherein the at least one action comprises fetching data.

8 . The method of claim 1 , wherein the information of latency comprises delay due to a cache miss.

9 . The method of claim 1 , wherein the information of latency in the at least one memory access request comprises on one or more fields in the at least one memory access request; and

wherein the infrastructure created is based on the one or more fields in the at least one memory access request.

10 . The method of claim 9 , wherein the one or more fields comprise a type of memory access.

11 . The method of claim 10 , wherein the type of the at least one memory access comprises one of read, write, burst read, or burst write.

12 . The method of claim 9 , wherein the one or more fields comprise at least one of:

a memory core declaration identifier;

cycle latency in one or more memory accesses; or

an address range to be accessed.

13 . A non-transitory machine-readable medium for emulation or prototyping of a circuit design comprising instructions that, when executed by a processor, cause a computing system to:

responsive to receiving information regarding circuit design latency of the circuit design, generate, use a memory compiler, a memory model comprising infrastructure regarding the circuit design latency while reducing emulation or prototyping latency when performing the emulation or the prototyping of the circuit design, wherein, responsive to at least one memory access request comprising the information regarding the circuit design latency, creating the infrastructure regarding the circuit design latency based on the information regarding the circuit design latency; and

perform, using the memory model, one or both of the emulation or the prototyping of the circuit design.

14 . The non-transitory machine-readable medium of claim 13 , wherein the information is based on the at least one memory access request indicative of the circuit design latency;

wherein performing the at least one memory access request results in the emulation or prototyping latency; and

wherein the instructions cause the computing system to, responsive to accessing the at least one memory access request, generate the memory model comprising the infrastructure reflective of the circuit design latency in the at least one memory access request and reducing the emulation or prototyping latency in performing the at least one memory access request.

15 . The non-transitory machine-readable medium of claim 14 , wherein the circuit design latency is used to reduce the emulation or prototyping latency for another request system call; and

wherein the circuit design latency is indicative of a time at which a response to the at least one memory access request is expected.

16 . The non-transitory machine-readable medium of claim 15 , wherein the time at which the response is expected is in a number of clock cycles;

wherein the memory compiler creates a FIFO infrastructure responsive to the at least one memory access request based on the circuit design latency; and

wherein the FIFO infrastructure delivers the response at a time based on a number of clock cycles indicative of when the request will mature.

17 . The non-transitory machine-readable medium of claim 13 , wherein the memory model performs at least one action related to the emulation or prototyping latency at least partly during the circuit design latency.

18 . The non-transitory machine-readable medium of claim 17 , wherein the at least one action comprises fetching data.

19 . The non-transitory machine-readable medium of claim 15 , wherein emulation or prototyping latency is due to fetching data for the another request system call; and

wherein the fetching of the data for the another request system call is performed at least partly during performing the at least one memory access request.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 070456 FRAME: 0726. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Mar 12, 2025
From: SIEMENS EDA (INDIA) PRIVATE LIMITED
To: SIEMENS INDUSTRY SOFTWARE LIMITED
Reel/Frame 071308/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: GUPTA, SANJAY; KRISHNAMURTHY, SURESH; AWASTHI, MAYANK
To: SIEMENS EDA (INDIA) PRIVATE LIMITED
Reel/Frame 070455/0212 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: SELVIDGE, CHARLES W.; GUPTA, MUKESH
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 070455/0986 →
MERGER Recorded Mar 10, 2025
From: MENTOR GRAPHICS CORPORATION
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 070456/0201 →
MERGER Recorded Mar 10, 2025
From: SIEMENS EDA (INDIA) PRIVATE LIMITED
To: SIEMENS INDUSTRY SOFTWARE LIMITED
Reel/Frame 070456/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: SIEMENS INDUSTRY SOFTWARE LIMITED
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 070456/0927 →
Priority Claims (1)
IN 202041036515 · Aug 25, 2020 · national
Continuity (1)
Related Publication 20220066801A1 · Mar 3, 2022
References Cited (10)
US 11243856B1 · Hayashi · 2022 [cited by examiner]
Bharat Sukhwani, “ConTutto—A novel FPGA-based Prototyping Platform Enabling Innovation in the Memory Subsystem of a Server Class Processor”, Oct. 14-18, 2017 (Year: 2017). [cited by examiner]
Shang Li, “Statistical DRAM Modeling”, Sep. 30-Oct. 9, 2019 (Year: 2019). [cited by examiner]
David Wang, “DRAMsim: A Memory System Simulator”, Sep. 2005 (Year: 2005). [cited by examiner]
Atsushi Koshiba, “A Software-based NVM Emulator Supporting Read/Write Asymmetric Latencies” (Year: 2019). [cited by examiner]
Bharat Sukhwani, “ConTutto—A Novel FPGA-based Prototyping Platform Enabling Innovation in the Memory Subsystem of a Server Class Processor” (Year: 2017). [cited by examiner]
David Wang, “DRAMsim: A Memory System Simulator” (Year: 2005). [cited by examiner]
Wentao Wang, “Physics-Based Device-Level Power Electronic Circuit Hardware Emulation on FPGA” (Year: 2014). [cited by examiner]
Shang Li, “Statistical DRAM Modeling” (Year: 2019). [cited by examiner]
Koshiba, Atsushi, et al. “A software-based NVM emulator supporting read/write asymmetric latencies.” IEICE Transactions on Information and Systems 102.12 (2019): 2377-2388. (Year: 2019). [cited by examiner]