IP Library Granted Patent US 12,580,682
Granted Patent B2
US 12,580,682 · App. 17/754,320 · Granted Mar 17, 2026

Rollback for communication link error recovery in emulation

Inventors: Charles W. Selvidge (Oakland, CA); Jean-Paul Clavequin (Sevres, FR); Jean-Marc Brault (Guyancourt, FR); Laurent Vuillemin (Montigny le Bretonneux, FR)
Assignee: Siemens Industry Software Inc.
H04L1/0072G06F11/1405G06F30/33G06F2117/02
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,580,682
App. No.
17/754,320
Granted
Mar 17, 2026
Kind
B2
Abstract

Each of a plurality of reconfigurable hardware modeling circuits in a reconfigurable hardware modeling device comprises: a plurality of communication ports; error monitoring circuitry configured to monitor, while the reconfigurable hardware modeling device is performing an operation for verifying a circuit design, whether data received from the plurality of communication ports contain an error or not, and send out an error signal indicating the monitoring result; and rollback circuitry configured to, if data received by any of the plurality of reconfigurable hardware modeling circuits contain an error, enable the reconfigurable hardware modeling circuit to repeat the operation from a state before the error is received, and if data received by the plurality of reconfigurable hardware modeling circuits contain no error, allow the reconfigurable hardware modeling circuit to continue the operation.

Claims (43)

1 . A reconfigurable hardware modeling device comprising:

a plurality of reconfigurable hardware modeling circuits, each of the plurality of reconfigurable hardware modeling circuits comprising:

a plurality of communication ports,

error monitoring circuitry configured to monitor, while the reconfigurable hardware modeling device is performing an operation for verifying a circuit design, whether data received from the plurality of communication ports contain an error or not, and send out an error signal indicating the monitoring result, wherein the monitoring operation performed by the error monitoring circuitry comprises:

determining, within one design clock cycle, whether data received from the plurality of communication ports at a rising edge, a falling edge, or both of the rising and falling edges of a design clock cycle immediately preceding the one design clock cycle contain an error or not, and

generating the error signal within the one design clock cycle, and

rollback circuitry configured to,

if data received by any of the plurality of reconfigurable hardware modeling circuits contain an error, enable the each of the plurality of reconfigurable hardware modeling circuits to repeat the operation from a state before the error is received, wherein the enabling operation performed by the rollback circuitry includes suppressing state update of a state element, wherein the repeating operation rolls the operation for verifying the circuit design back to the rising edge of the design clock cycle immediately preceding the one design clock cycle, and

if data received by the plurality of reconfigurable hardware modeling circuits contain no error, allow the each of the plurality of reconfigurable hardware modeling circuits to continue the operation.

2 . The reconfigurable hardware modeling device recited in claim 1 , wherein the reconfigurable hardware modeling device is configured to generate, based on the error signal, a global error signal indicating whether data received by any of the plurality of reconfigurable hardware modeling circuits contain an error or not, and to broadcast the global error signal to each of the plurality of reconfigurable hardware modeling circuits for the error recovery circuitry.

3 . The reconfigurable hardware modeling device recited in claim 1 , wherein the reconfigurable hardware modeling device is a processor-based emulator, and the plurality of reconfigurable hardware modeling circuits are Boolean processor circuits.

4 . The reconfigurable hardware modeling device recited in claim 1 , wherein the reconfigurable hardware modeling device is an FPGA-based emulator, and the plurality of reconfigurable hardware modeling circuits are commercial FPGA chips or custom-designed FPGA chips.

5 . The reconfigurable hardware modeling device recited in claim 1 , wherein a memory in each of the plurality of reconfigurable hardware modeling circuits has a write buffer configured to store data to be written in the memory along with an intended address of the memory.

6 . The reconfigurable hardware modeling device recited in claim 5 , wherein the write buffer is further configured to discard the data to be written in the memory along with the intended address of the memory if the data received by any of the plurality of reconfigurable hardware modeling circuits contain an error.

7 . A reconfigurable hardware modeling device comprising:

a plurality of reconfigurable hardware modeling circuits, each of the plurality of reconfigurable hardware modeling circuits comprising:

a plurality of communication ports,

error monitoring circuitry configured to monitor, while the reconfigurable hardware modeling device is performing an operation for verifying a circuit design, whether data received from the plurality of communication ports contain an error or not, and send out an error signal indicating the monitoring result, wherein the monitoring operation performed by the error monitoring circuitry comprises:

determining, within one design clock cycle, whether data received from the plurality of communication ports at a rising edge, a falling edge, or both of the rising and falling edges of a design clock cycle immediately preceding the one design clock cycle contain an error or not, and

generating the error signal within the one design clock cycle, and

rollback circuitry, the rollback circuitry comprising storage elements for state elements in the each of the plurality of reconfigurable hardware modeling circuits configured to capture and store values currently stored in the state elements before the state elements perform state updating

wherein the rollback circuitry is configured to,

if data received by any of the plurality of reconfigurable hardware modeling circuits contain an error, enable the each of the plurality of reconfigurable hardware modeling circuits to repeat the operation from a state before the error is received, wherein the enabling operation performed by the rollback circuitry includes transferring the value in the storage elements back to the state elements, wherein the repeating operation rolls the operation for verifying the circuit design back to the rising edge of the design clock cycle immediately preceding the one design clock cycle, and

if data received by the plurality of reconfigurable hardware modeling circuits contain no error, allow the each of the plurality of reconfigurable hardware modeling circuits to continue the operation.

8 . A method comprising:

monitoring, by error monitoring circuitry in each of a plurality of reconfigurable hardware modeling circuits in a reconfigurable hardware modeling device, whether data received from a plurality of communication ports in the each of the plurality of reconfigurable hardware modeling circuits contain an error or not while the reconfigurable hardware modeling device is performing an operation for verifying a circuit design, wherein the monitoring operation performed by the error monitoring circuitry comprises:

determining, within one design clock cycle, whether data received from the plurality of communication ports at a rising edge, a falling edge, or both of the rising and falling edges of a design clock cycle immediately preceding the one design clock cycle contain an error or not, and

generating the error signal within the one design clock cycle;

sending out, by the error monitoring circuitry, an error signal indicating the monitoring result;

if data received by any of the plurality of reconfigurable hardware modeling circuits contain an error, enabling the each of the plurality of reconfigurable hardware modeling circuits by rollback circuitry in the each of the plurality of reconfigurable hardware modeling circuits to repeat the operation from a state before the error is received, including suppressing state update of a state element, wherein the repeating operation rolls the operation for verifying the circuit design back to the rising edge of the design clock cycle immediately preceding the one design clock cycle; and

if data received by the plurality of reconfigurable hardware modeling circuits contain no error, continuing the operation by the reconfigurable hardware modeling device.

9 . The method recited in claim 8 , wherein the reconfigurable hardware modeling device is configured to generate, based on the error signal, a global error signal indicating whether data received by any of the plurality of reconfigurable hardware modeling circuits contain an error or not, and to broadcast the global error signal to each of the plurality of reconfigurable hardware modeling circuits for the error recovery circuitry.

10 . The method recited in claim 8 , wherein the reconfigurable hardware modeling device is a processor-based emulator, and the plurality of reconfigurable hardware modeling circuits are Boolean processors.

11 . The method recited in claim 8 , wherein the reconfigurable hardware modeling device is a FPGA-based emulator, and the plurality of reconfigurable hardware modeling circuits are commercial FPGA chips or custom-designed FPGA chips.

12 . The method recited in claim 8 , wherein a memory in each of the plurality of reconfigurable hardware modeling circuits has a write buffer configured to store data to be written in the memory along with an intended address of the memory.

13 . The method recited in claim 12 , wherein the write buffer is further configured to discard the data to be written in the memory along with the intended address of the memory if the data received by any of the plurality of reconfigurable hardware modeling circuits contain an error.

14 . A method comprising:

monitoring, by error monitoring circuitry in each of a plurality of reconfigurable hardware modeling circuits in a reconfigurable hardware modeling device, whether data received from a plurality of communication ports in the each of the plurality of reconfigurable hardware modeling circuits contain an error or not while the reconfigurable hardware modeling device is performing an operation for verifying a circuit design, wherein the monitoring operation performed by the error monitoring circuitry comprises:

determining, within one design clock cycle, whether data received from the plurality of communication ports at a rising edge, a falling edge, or both of the rising and falling edges of a design clock cycle immediately preceding the one design clock cycle contain an error or not, and

generating the error signal within the one design clock cycle;

sending out, by the error monitoring circuitry, an error signal indicating the monitoring result;

if data received by any of the plurality of reconfigurable hardware modeling circuits contain an error, enabling the each of the plurality of reconfigurable hardware modeling circuits by rollback circuitry in the each of the plurality of reconfigurable hardware modeling circuits to repeat the operation from a state before the error is received, wherein the rollback circuit comprises storage elements for state elements in the each of the plurality of reconfigurable hardware modeling circuits configured to capture and store values currently stored in the state elements before the state elements perform state updating, and wherein the enabling includes transferring the value in the storage elements back to the state elements, wherein the repeating operation rolls the operation for verifying the circuit design back to the rising edge of the design clock cycle immediately preceding the one design clock cycle; and

if data received by the plurality of reconfigurable hardware modeling circuits contain no error, continuing the operation by the reconfigurable hardware modeling device.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2022
From: META SYSTEMS SARL
To: MENTOR GRAPHICS (IRELAND) LIMITED
Reel/Frame 059468/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2022
From: MENTOR GRAPHICS (IRELAND) LIMITED
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 059468/0820 →
MERGER AND CHANGE OF NAME Recorded Apr 1, 2022
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 059468/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: CLAVEQUIN, JEAN-PAUL; BRAULT, JEAN-MARC; VUILLEMIN, LAURENT
To: META SYSTEMS SARL
Reel/Frame 059461/0079 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: SELVIDGE, CHARLES W.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 059461/0298 →
Continuity (1)
Related Publication 20220329351A1 · Oct 13, 2022
References Cited (16)
US 10410713B1 · Selvidge · 2019 [cited by examiner]
US 10579776B1 · Selvidge · 2020 [cited by examiner]
US 20030182641A1 · Yang · 2003 [cited by applicant]
US 20090150136A1 · Yang · 2009 [cited by examiner]
US 20110184713A1 · Yang · 2011 [cited by examiner]
US 20140095841A1 · Doi · 2014 [cited by examiner]
US 20180113976A1 · Suresh · 2018 [cited by examiner]
US 20180115395A1 · Jung · 2018 [cited by examiner]
US 20180205495A1 · Maeda · 2018 [cited by examiner]
US 20180285484A1 · Bhattacharya · 2018 [cited by examiner]
US 20180300440A1 · Ali · 2018 [cited by examiner]
US 20190087522A1 · Mohamed · 2019 [cited by examiner]
US 20190254029A1 · Li · 2019 [cited by examiner]
CN 109215728A · 2019 [cited by applicant]
PCT International Search Report and Written Opinion of International Searching Authority mailed Jul. 3, 2020 corresponding to PCT International Application No. PCT/US2019/055612 filed Oct. 10, 2019. [cited by applicant]
David Donofrio et al: “Energy-Efficient Computing for Extreme-Scale Science”, Computer, IEEE Computer Society, Nov. 1, 2009, vol. 42, No. 11, pp. 62-71, DOI: 10.1109/MC.2009.353 the whole document p. 68, col. 2, paragra… [cited by applicant]