IP Library Granted Patent US 7,440,885
Granted Patent B2
US 7,440,885 · App. 10/385,653 · Granted Oct 21, 2008

Method and system for deterministic control of an emulation

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 7,440,885
App. No.
10/385,653
Granted
Oct 21, 2008
Kind
B2
Abstract

An emulation-based event-wait simulator including an application module to configure and command verification processes on a design under test (DUT). An event dispatcher is in communication with the application module to deliver commands to the DUT. A plurality of transactors are in communication with the event dispatcher to forward the commands to the DUT. A channel controller is in communication with the transactors to process and forward the commands to the DUT, wherein the channel controller also receives messages from the DUT, processes the messages, and forwards the messages to the transactors for delivery to the event dispatcher and the application module.

Claims (30)

1. A system that deterministically evaluates operations of a circuit design comprising:

an application module that determines a transaction for execution by a design under test (DUT);

a hardware transactor that translates the transaction into a set of commands representing the transaction;

a hardware channel controller that delivers the set of commands representing the transaction to the DUT;

an event dispatcher that receives a set of events from the DUT that includes results of the execution of the set of commands;

a clock that can be started by the application module and that can be stopped by the hardware transactor to implement deterministic clock control such that the clock control is accurate to one clock cycle and allows the set of events to occur synchronously without latency effects, and wherein the hardware transactor gathers data while the clock is stopped and forwards data to multiple output channels simultaneously when the clock is restarted to allow for execution of multiple independent parallel transactions; and

a source level debugger that monitors the DUT during the execution of the set of commands, wherein the source level debugger determines the occurrence of an event-wait condition, halts the operation of the DUT, services the event-wait condition, and resumes the operation of the DUT, thereby preventing the application module and the DUT from executing concurrently based on the event-wait condition;

wherein the set of events can be viewed in real-time or recorded for later review and comparison with a set of expected or predicted events to evaluate performance the DUT.

2. A method for deterministically evaluating operations of a circuit design comprising:

determining a first set of transactions for execution by a design under test (DUT) having one or more input and output channels with different speeds;

executing the first set of transactions on the DUT;

monitoring the DUT during the execution of the first set of transactions wherein the monitoring step further comprises determining an occurrence of an event-wait condition, halting an operation of the DUT, servicing the event-wait condition, and resuming the operation of the DUT;

receiving a first set of events from the DUT wherein the first set of events includes results in the execution of the first set of transactions;

determining a second set of transactions for execution by the DUT, wherein the second set of transactions is based on the first set of events; and

executing the second set of transactions on the DUT, wherein the monitoring step prevents concurrent operation of the determining and executing steps based on the event-wait condition;

receiving a second set of events from the DUT wherein the second set of events includes results of the execution of the second set of transactions;

controlling a clock that can be started by an application module and that can be stopped by a transactor to allow the first set of events and the second set of events to occur synchronously without latency effects, wherein the starting and stopping of the clock is accurate to one clock cycle; and

gathering data from the first and second set of events while the clock is stopped and forwarding the data to multiple output channels simultaneously when the clock is restarted to allow for execution of multiple, independent, parallel transactions;

wherein the data from the first set of events and the second set of events can be viewed in real-time or recorded for later review and comparison with the data from a set of expected or predicted events to evaluate performance of the DUT.

3. A method for deterministically evaluating operations of a circuit design comprising:

determining a first set of transactions for execution by circuit design under test (DUT);

executing the first set of transactions on the DUT;

monitoring the DUT during the execution of the first set of transactions wherein the monitoring step further comprises determining an occurrence of an event-wait condition, halting an operation of a DUT having one or more input and output channels with different speeds, servicing the event-wait condition, and resuming the operation of the DUT;

receiving a first set of events from the DUT wherein the first set of events includes results of the execution of the first set of transactions;

determining, from the first set of events, a second set of transactions that tests one or more operations performed by the circuit design;

executing the second set of transactions on the DUT, wherein the monitoring step prevents concurrent operation of the determining and executing steps based on the event-wait condition;

receiving a second set of events from the DUT wherein the second set of events includes results of the execution of the second set of transactions;

controlling a clock that can be started by an application module and that can be accurately stopped by a transactor to allow the first set of events and the second set of events to occur synchronously without latency effects, wherein the starting and stopping of the clock is accurate to one clock cycle; and

gathering data from the first and second set of events while the clock is stopped and forwarding the data to multiple output channels simultaneously when the clock is restarted to allow for execution of multiple, independent, parallel transactions;

wherein the data from the first set of events and the second set of events can be viewed in real-time or recorded for later review and comparison with the data from a set of expected or predicted events to evaluate performance of the DUT.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2003
From: GARCIA, LUIS A.; VREELAND, RUSSELL E.; NOVAK, CHRISTOPHER B.; MARASIGAN, GABRIEL G.; ROUSSEL, CHRISTOPHER A.
To: BROADCOM CORPORATION
Reel/Frame 013861/0859 →