Synchronization of hardware simulation processes

   
   

A system, method, and computer program product is presented for simulating a system of hardware components. Each component is simulated in a hardware definition language such as VERILOG. Each component is represented as a simulated device under test (DUT) that is incorporated into a simulation module. The invention synchronizes the simulation modules by issuing clock credit to each simulation module. Each simulation module can only operate when clock credit is available, and can only operate for some number of clock cycles corresponding to the value of the clock credit. Operation is said to consume the clock credit. After a simulation module has consumed its clock credit, its DUT halts. Once every simulation module has consumed its clock credit and halted, another clock credit can be issued. This allows checkpointing of the operation of each DUT and simulates parallelism of the DUTs using executable images of manageable size. A given DUT can include two or more subsets of logic that each require a clock signal having a different rate. Such subsets of the logic of a DUT are referred to as clock domains. The appropriate clock signals are created by a test bench component of the simulation module. The test bench creates a master clock signal for the DUT. The test bench then divides this clock signal to produce clock signals applied to the clock domains of the DUT. The test bench can be created through automated means by providing a system specification that defines the inputs (including clocks) and outputs of a DUT. This allows a test bench specific to the DUT to be created.

Een systeem, een methode, en een computerprogrammaproduct worden voorgesteld voor het simuleren van een systeem van hardwarecomponenten. Elke component wordt gesimuleerd in een taal van de hardwaredefinitie zoals VERILOG. Elke component wordt vertegenwoordigd als gesimuleerd apparaat in onderzoek (DUT) dat in een simulatiemodule wordt opgenomen. De uitvinding synchroniseert de simulatiemodules door klokkrediet aan elke simulatiemodule uit te geven. Elke simulatiemodule kan slechts werken wanneer het klokkrediet beschikbaar is, en kan slechts voor één of ander aantal klokcycli werken die aan de waarde van het klokkrediet beantwoorden. De verrichting wordt gezegd om het klokkrediet te verbruiken. Nadat een simulatiemodule zijn klokkrediet heeft verbruikt, stopt zijn DUT. Zodra elke simulatiemodule zijn klokkrediet heeft verbruikt en gestopt, kan een ander klokkrediet worden uitgegeven. Dit staat checkpointing van de verrichting van elke DUT toe en simuleert parallellisme van DUTs gebruikend uitvoerbare beelden van handelbare grootte. Een bepaalde DUT kan twee of meer ondergroepen van logica omvatten dat elk een kloksignaal vereist dat een verschillend tarief heeft. Dergelijke ondergroepen van de logica van een DUT worden bedoeld als klokdomeinen. De aangewezen kloksignalen worden gecreeerd door een proefbankcomponent van de simulatiemodule. De proefbank leidt tot een hoofdkloksignaal voor DUT. De proefbank verdeelt dan dit kloksignaal om kloksignalen te veroorzaken die op de klokdomeinen worden toegepast van DUT. De proefbank kan door geautomatiseerde middelen worden gecreeerd door een systeemspecificatie te verstrekken die de input (met inbegrip van klokken) en output van een DUT bepaalt. Dit laat een proefbank specifiek voor DUT toe om worden gecreeerd.

 
Web www.patentalert.com

< Method and system for assisting a user taking measurements using a coordinate measurement machine

< Worksurface power module with fiber optic capability

> Enhancement of fiber based images

> Retiring instructions that meet the early-retirement criteria to improve computer operation throughput

~ 00173