IP Library Granted Patent US 10,102,172
Granted Patent B1
US 10,102,172 · App. 14/979,454 · Granted Oct 16, 2018

Method and apparatus for performing a single pass compilation for systems with dynamically reconfigurable logic blocks

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,102,172
App. No.
14/979,454
Granted
Oct 16, 2018
Kind
B1
Abstract

A method for designing a system on a target device includes generating a timing netlist that reflects timing delays and timing relationships of a base configuration of a block in the system and a target configuration of the block in the system, wherein the base configuration of the block and the target configuration of the block implement different functionalities, and performing synthesis, placement, and routing on the system in response to the timing netlist.

Claims (36)

1. A method for designing a system on a target device, comprising:

generating a timing netlist that reflects timing delays and timing relationships of a base configuration of a block in the system and a target configuration of the block in the system, wherein the base configuration of the block and the target configuration of the block implement different functionalities; and

performing synthesis, placement, and routing on the system implemented on the target device in response to the timing netlist, wherein the block is reconfigurable from the base configuration to the target configuration during runtime of the system.

2. The method of claim 1 , wherein the timing netlist identifies timing delays and timing relationships associated with components and interconnects on a first path through the block in the base configuration, and delays and timing relationships associated with components and interconnects on a second path through the block in the target configuration.

3. The method of claim 2 , wherein the first path is unique to the base configuration, and the second path is unique to the target configuration.

4. The method of claim 1 , further comprising generating timing constraints for the base configuration of the block and the target configuration of the block.

5. The method of claim 4 , wherein the timing constraints account for all target phases, duty-cycle, and frequency combinations of each clock in the base configuration of the block and the target configuration of the block.

6. The method of claim 4 , wherein the synthesis, placement, and routing on the system is also performed in response to the timing constraints.

7. The method of claim 1 , wherein a single iteration of the synthesis, placement, and routing is performed without subsequent iterations.

8. The method of claim 1 , wherein all the timing delays and timing relationships in the timing netlist for the base configuration and the target configuration are considered when performing the synthesis, placement, and routing.

9. The method of claim 1 , wherein generating the timing netlist comprises:

adding new paths from each configuration of the block to the timing netlist;

identifying different paths from each configuration of the block; and

performing one of treating a different path as a new path, and treating the different path as a pre-existing path and associating a worst case timing for the pre-existing path.

10. The method of claim 9 , wherein adding new paths to the timing netlist comprises:

identifying components and interconnects on each of the new paths;

identifying delays associated with the components and the interconnects; and

storing information about the components, interconnects, and delays in the timing netlist.

11. The method of claim 1 further comprising identifying all configurations of the block.

12. The method of claim 11 , wherein identifying all the configurations of the block comprises retrieving information provided by a designer.

13. The method of claim 11 , wherein identifying all the configurations of the block comprises retrieving information in a hardware description language (HDL) file.

14. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method for designing a system on a target device, comprising:

adding new paths from each configuration of a block to a timing netlist;

identifying different paths from each configuration of the block;

performing one of treating a different path as a new path, and treating the different path as a pre-existing path and associating a worst case timing for the pre-existing path; and

performing synthesis, placement, and routing on the system implemented on the target device in response to the timing netlist.

15. The non-transitory computer readable medium of claim 14 , wherein adding the new paths to the timing netlist comprises:

identifying components and interconnects on each of the new paths;

identifying delays associated with the components and the interconnects; and

storing information about the components, interconnects, and delays in the timing netlist.

16. A system designer, comprising:

a configuration identification unit that identifies a base configuration of a block in a system that implements a first functionality, and a target configuration of the block that implements a second functionality, wherein the block is reconfigurable during runtime of the system to implement one of the base configuration and the target configuration;

a timing netlist unit that generates a timing netlist that reflects timing delays and timing relationships of the base configuration of the block and the target configuration of the block; and

a hardware description language (HDL) compilation unit that performs synthesis, placement, and routing on the system in response to the timing netlist, wherein at least one of the configuration identification unit, timing netlist unit, and HDL compilation unit is implemented by a processor.

17. The system designer of claim 16 , wherein the timing netlist identifies delays and timing relationships associated with components and interconnects on a first path through the block in the base configuration, and delays associated with components and interconnects on a second path through the block in the target configuration.

18. The system designer of claim 16 , wherein the timing netlist unit adds new paths from each configuration of a block to the timing netlist, identifies different paths from each configuration of the block, and performs one of treating a different path as a new path, and treating the different path as a pre-existing path and associating a worst case timing for the pre-existing path.

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 Dec 27, 2015
From: MAI, KEVIN W.; VIJAYENDRA, VISHWAS TUMKUR; JONES, JAKOB RAYMOND
To: ALTERA CORPORATION
Reel/Frame 037361/0604 →