IP Library Granted Patent US 9,298,865
Granted Patent B1
US 9,298,865 · App. 14/220,926 · Granted Mar 29, 2016

Debugging an optimized design implemented in a device with a pre-optimized design simulation

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 9,298,865
App. No.
14/220,926
Granted
Mar 29, 2016
Kind
B1
Abstract

Techniques and mechanisms debug a device implementing an optimized design using a pre-optimized design simulation. For example, data indicating interconnect in a pre-optimized design to simulate may be received. A node in common between the pre-optimized design and an optimized design may be identified. A tap at the output of the node in the optimized design may be inserted for providing data for the simulation.

Claims (44)

1. A method for simulating a design implemented in a semiconductor device, the method comprising:

receiving first interconnect data, the first interconnect data indicating a first interconnect of a first logic design implemented within a circuit schematic, wherein the first interconnect is associated with a first combinational logic block;

identifying, by a processor, a first node for the first combinational logic block, the first node having an output providing an input to the first combinational logic block;

identifying, by the processor, a second node in a second logic design physically implemented in the semiconductor device, the second node having an output providing an input to a second combinational logic block, wherein the second combinational logic block physically implemented in the semiconductor device is a modified version of the first combinational logic block implemented within the circuit schematic, and the second node providing an input to the second combinational logic block corresponds to the first node providing an input to the first combinational logic block;

configuring the semiconductor device such that the second logic design is modified to include a tap associated with the output of the second node; and

simulating a signal associated with the first interconnect of the first logic design implemented within the circuit schematic based on data provided by the tap in the second logic design physically implemented in the semiconductor device.

2. The method of claim 1 , wherein the first node and the second node are registers.

3. The method of claim 1 , further comprising:

receiving second interconnect data, the second interconnect data indicating a second interconnect of the first logic design;

determining, by the processor, that the second interconnect is associated with the first node; and

simulating a signal associated with the second interconnect in the first logic design based on data provided by the tap in the second logic design.

4. The method of claim 1 , wherein the simulation is further based on the first combinational logic block.

5. The method of claim 4 , wherein the first interconnect is an output of the first combinational logic block.

6. The method of claim 1 , wherein the data provided by the tap is provided by debug logic coupled with the tap.

7. The method of claim 1 , wherein the second logic design is a modified version of the first logic design, and the second node in the second logic design corresponds to the first node in the first logic design.

8. The method of claim 7 , wherein the second logic design is further mapped to resources of a device, the second node mapped to a first resource, and at least a portion of the second combinational logic block mapped to a second resource, the output of the second node associated with an interconnect between the first resource and the second resource.

9. The method of claim 1 , wherein the outputs of the first node and the second node provide the same data to the combinational logic blocks.

10. The method of claim 1 , wherein the second combinational logic block is an optimized version of the first combinational logic block.

11. The method of claim 1 , wherein the second logic design and the first logic design implement a same functionality, and wherein the second logic design implements the same functionality in the semiconductor device with fewer logical resources than the first logic design implemented in the circuit schematic.

12. A non-transitory computer readable medium having instructions stored thereon for simulating a design implemented in a semiconductor device, the instructions executable by a processor to:

receive first interconnect data, the first interconnect data indicating a first interconnect of a first logic design implemented within a circuit schematic, wherein the first interconnect is associated with a first combinational logic block;

identify a first node for the first combinational logic block, the first node having an output providing an input to the first combinational logic block;

identify a second node in a second logic design physically implemented in the semiconductor device, the second node having an output providing an input to a second combinational logic block, wherein the second combinational logic block physically implemented in the semiconductor device is a modified version of the first combinational logic block implemented within the circuit schematic, and the second node providing an input to the second combinational logic block corresponds to the first node providing an input to the first combinational logic block;

configure the semiconductor device such that the second logic design is modified to include a tap associated with the output of the second node; and

simulate a signal associated with the first interconnect of the first logic design implemented within the circuit schematic based on data provided by the tap in the second logic design physically implemented in the semiconductor device.

13. The non-transitory computer readable medium of claim 12 , wherein the first node and the second node are registers.

14. The non-transitory computer readable medium of claim 12 , the instructions executable by a processor to:

receive second interconnect data, the second interconnect data indicating a second interconnect of the first logic design;

determine that the second interconnect is associated with the first node; and

simulate a signal associated with the second interconnect in the first logic design based on data provided by the tap in the second logic design.

15. The non-transitory computer readable medium of claim 12 , wherein the simulation is further based on the first combinational logic block.

16. The non-transitory computer readable medium of claim 15 , wherein the first interconnect is an output of the first combinational logic block.

17. The non-transitory computer readable medium of claim 12 , wherein the data provided by the tap is provided by debug logic coupled with the tap.

18. The non-transitory computer readable medium of claim 12 , wherein the second logic design is a modified version of the first logic design, and the second node in the second logic design corresponds to the first node in the first logic design.

19. The non-transitory computer readable medium of claim 12 , wherein the second logic design is further mapped to resources of a device, the second node mapped to a first resource, and at least a portion of the second combinational logic block mapped to a second resource, the output of the second node associated with an interconnect between the first resource and the second resource.

20. The non-transitory computer readable medium of claim 12 , wherein the outputs of the first node and the second node provide the same data to the combinational logic blocks.

21. The non-transitory computer readable medium of claim 12 , wherein the second combinational logic block is an optimized version of the first combinational logic block.

22. One or more computing devices for simulating a design implemented in a semiconductor device, the one or more computing devices comprising:

one or more processors operable to execute one or more instructions to:

receive first interconnect data, the first interconnect data indicating a first interconnect of a first logic design implemented within a circuit schematic, wherein the first interconnect is associated with a first combinational logic block;

identify, by the processor, a first node for the first combinational logic block, the first node having an output providing an input to the first combinational logic block;

identify, by the processor, a second node in a second logic design physically implemented in the semiconductor device, the second node having an output providing an input to a second combinational logic block, wherein the second combinational logic block physically implemented in the semiconductor device is a modified version of the first combinational logic block implemented within the circuit schematic, and the second node providing an input to the second combinational logic block corresponds to the first node providing an input to the first combinational logic block;

configure semiconductor device such that the second logic design is modified to include a tap associated with the output of the second node; and

simulate a signal associated with the first interconnect of the first logic design implemented within the circuit schematic based on data provided by the tap in the second logic design physically implemented in the semiconductor device.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2014
From: PENG, YI
To: ALTERA CORPORATION
Reel/Frame 032506/0662 →