IP Library Granted Patent US 10,503,504
Granted Patent B2
US 10,503,504 · App. 15/399,982 · Granted Dec 10, 2019

Event-driven design simulation

Inventors: Vivian Chou (Rancho Palos Verdes, CA); Julien Lamoureux (Vancouver, CA); Sherman Lee (Rancho Palos Verdes, CA)
Assignee: Montana Systems Inc.
G06F9/3001G06F9/3005G06F9/30029G06F9/30043G06F9/30145G06F9/3802G06F9/3838G06F9/3851G06F9/3885G06F12/023G06F17/5022G06F17/5027G06F17/5036G06F17/5068G06F2212/251
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 10,503,504
App. No.
15/399,982
Granted
Dec 10, 2019
Kind
B2
Abstract

A simulation system that includes a simulation accelerator that uses parallel processing to accelerate the simulation of register transfer level codes (RTLs) while minimizing memory access latency is disclosed. The accelerator has an array of parallel computing resources. The simulation accelerator receives compiled RTLs in which the components of the design are mapped to instructions. The instructions are divided into groups, in which instructions belonging to a same group are logically independent of each other. The simulation accelerator fetches instructions and data for processing by the parallel computing resources for one group of instructions at a time.

Claims (28)

1. A simulation system configured to test a design by operating a testbench for the design, the simulation system comprising:

a simulation storage;

a simulation processor configured to (i) transport compiled design data from a host computing system to the simulation storage, the compiled design data comprising compiled register transfer levels (RTLs) of the design and compiled models of the testbench and (ii) execute the compiled models to generate stimulus for testing the compiled RTLs; and

a simulation accelerator configured to execute the compiled RTLs by using the stimulus generated by the simulation processor as input, wherein the compiled RTLs comprise instructions that are executable at a plurality of hardware computing resources in the simulation accelerator, wherein the instructions are divided into a plurality of groups of instructions, wherein the instructions of each group of instructions are distributed to the plurality of hardware computing resources to be executed in parallel and in any order.

2. The simulation system of claim 1 , wherein the simulation processor is operating an operating system for managing file transfer between the simulation system and the host computing system.

3. The simulation system of claim 1 , wherein each instruction belonging to a group of instructions is logically and temporally independent of any other instruction belonging to the group.

4. The simulation system of claim 1 , wherein the host computing system compiles a set of source files containing the testbench and the design into the compiled design data.

5. The simulation system of claim 1 , wherein the simulation processor and the simulation accelerator exchange data over a first communications medium, wherein the simulation system and the host computing system exchange data over a second communications medium that has higher latency than the first communications medium.

6. The simulation system of claim 1 , wherein the simulation processor and the simulation storage exchange data over a first communications medium, wherein the simulation system and the host computing system exchange data over a second communications medium that has higher latency than the first communications medium.

7. The simulation system of claim 1 , wherein the compiled models comprise data for the simulation processor and instructions for the simulation accelerator, wherein the simulation accelerator is configured to execute the instructions from the compiled RTLs and the instructions from the compiled models.

8. An integrated circuit (IC) configured to test a design by operating a testbench for the design, the IC comprising:

a simulation processor configured to (i) retrieve compiled design data from a host computing system, the compiled design data comprising compiled register transfer levels (RTLs) of the design and compiled models of the testbench and (ii) execute the compiled models to generate stimulus for testing the compiled RTLs; and

a simulation accelerator configured to execute the compiled RTLs by using the stimulus generated by the simulation processor as input, wherein the compiled RTLs comprise instructions that are executable at a plurality of hardware computing resources in the simulation accelerator, wherein the instructions are divided into a plurality of groups of instructions, wherein the instructions of each group of instructions are distributed to the plurality of hardware computing resources to be executed in parallel and in any order.

9. The IC of claim 8 , wherein the simulation processor is operating an operating system for managing file retrieval from the host computing system.

10. The IC of claim 8 , wherein each instruction belonging to a group of instructions is logically and temporally independent of any other instruction belonging to the group.

11. The IC of claim 8 , wherein the host computing system compiles a set of source files containing the testbench and the design into the compiled design data.

12. The IC of claim 8 , wherein the simulation processor and the simulation accelerator exchange data over a first communications medium, wherein the simulation system and the host computing system exchange data over a second communications medium that has higher latency than the first communications medium.

13. The IC of claim 8 , wherein the compiled models comprise data for the simulation processor and instructions for the simulation accelerator, wherein the simulation accelerator is configured to execute the instructions from the compiled RTLs and the instructions from the compiled models.

14. A method for testing a design by operating a testbench for the design, the method comprising:

executing an operating system at a simulation processor;

using the operating system to retrieve compiled design data from a host computing system to a simulation storage, the compiled design data comprising compiled register transfer levels (RTLs) of the design and compiled models of the testbench, wherein the compiled RTLs comprise instructions that are executable at a plurality of hardware computing resources in a simulation accelerator, wherein the instructions are divided into a plurality of groups of instructions;

executing the compiled models at the simulation processor to generate stimulus for testing the compiled RTLs; and

executing, at the simulation accelerator, the compiled RTLs by using the stimulus generated by the simulation processor as input, wherein the instructions of each group of instructions of the compiled RTLs are distributed to the plurality of hardware computing resources to be executed in parallel and in any order.

15. The method of claim 14 , wherein each instruction belonging to a group of instructions is logically and temporally independent of any other instruction belonging to the group.

16. The method of claim 14 , wherein the host computing system compiles a set of source files containing the testbench and the design into the compiled design data.

17. The method of claim 14 , wherein the simulation processor and the simulation accelerator exchange data over a first communications medium, wherein the simulation system and the host computing system exchange data over a second communications medium that has higher latency than the first communications medium.

18. The method of claim 14 , wherein the simulation processor and the simulation storage exchange data over a first communications medium, wherein the simulation system and the host computing system exchange data over a second communications medium that has higher latency than the first communications medium.

19. The method of claim 14 , wherein the compiled models comprise data for the simulation processor and instructions for the simulation accelerator, the method further comprising executing the instructions from the compiled RTLs and the instructions from the compiled models at the simulation accelerator.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2026
From: ALTAIR ENGINEERING CANADA, LTD
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 074923/0278 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2025
From: METRICS DESIGN AUTOMATION INC.
To: ALTAIR ENGINEERING CANADA, LTD.
Reel/Frame 069776/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2022
From: MONTANA SYSTEMS, INC.
To: METRICS DESIGN AUTOMATION INC.
Reel/Frame 061212/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: CHOU, VIVIAN; LEE, SHERMAN; LAMOUREUX, JULIEN
To: MONTANA SYSTEMS, INC
Reel/Frame 040871/0060 →
Continuity (2)
Provisional Application 62304110 · Mar 4, 2016
Related Publication 20170255729A1 · Sep 7, 2017
Cited By (1)
US 12,657,360