IP Library Granted Patent US 9,449,133
Granted Patent B2
US 9,449,133 · App. 14/271,955 · Granted Sep 20, 2016

Partition based design implementation for programmable logic devices

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,449,133
App. No.
14/271,955
Granted
Sep 20, 2016
Kind
B2
Abstract

Various techniques are provided to generate designs for programmable logic devices (PLDs). In one example, a computer-implemented method includes selectively grouping a first plurality of logic components for a first design into a plurality of partitions. The method also includes selectively merging at least a subset of the partitions of the first design. The method also includes converting each partition into a corresponding first physical implementation for a PLD. The method also includes comparing the first plurality of logic components to a second plurality of logic components for a second design to identify changed and unchanged partitions. The method also includes converting each changed partition into a corresponding second physical implementation for the PLD. The method also includes combining the first physical implementations for the unchanged partitions, with the second physical implementations for the changed partitions.

Claims (42)

1. A computer-implemented method comprising:

obtaining a first design comprising a first plurality of logic components, the first design comprising an RTL description;

selectively grouping the first plurality of logic components for the first design into a plurality of partitions;

selectively merging at least a subset of the partitions of the first design;

converting each partition into a corresponding first physical implementation for a programmable logic device (PLD);

obtaining a second design comprising a second plurality of logic components, the second design comprising an RTL description;

comparing the first plurality of logic components to the second plurality of logic components for the second design, the comparing comprising comparing the RTL descriptions of the first design and the second design, to identify changed and unchanged partitions between the first design and the second design;

converting each changed partition into a corresponding second physical implementation for the PLD; and

combining the first physical implementations for the unchanged partitions with the second physical implementations for the changed partitions, wherein the method is implemented by a processing unit configured with configuration data stored on a non-transitory computer readable medium.

2. The method of claim 1 , wherein the first and second RTL descriptions are first and second netlists.

3. The method of claim 1 , wherein each logic component is associated with a corresponding one of the partitions before the merging.

4. The method of claim 1 , further comprising: storing intermediate associations between the first logic components and the merged partitions; and wherein the comparing further comprises using the intermediate associations to identify the changed and unchanged partitions.

5. The method of claim 1 , further comprising repeating the merging until a maximum partition size is reached and/or partition boundaries have not changed.

6. The method of claim 1 , wherein the merging further comprises synthesizing the partitions to reduce a signal path between the first logic components.

7. The method of claim 1 , wherein the merging further comprises synthesizing the partitions to reduce the area of the PLD used to implement the first design.

8. The method of claim 1 , further comprising selectively merging at least a subset of the changed partitions of the second design before converting the changed partitions into the second physical implementations.

9. The method of claim 1 , wherein the converting each partition comprises:

mapping the first logic components to PLD components; assigning the PLD components to physical locations of the PLD; and routing connections among the PLD components.

10. A system comprising:

a processor; and

a memory adapted to store a plurality of computer readable instructions which when executed by the processor are adapted to cause the system to perform a computer-implemented method comprising:

obtaining a first design comprising a first plurality of logic components, the first design comprising an RTL description;

selectively grouping the first plurality of logic components for the first design into a plurality of partitions;

selectively merging at least a subset of the partitions of the first design;

converting each partition into a corresponding first physical implementation for a programmable logic device (PLD);

obtaining a second design comprising a second plurality of logic components, the second design comprising an RTL description;

comparing the first plurality of logic components to the second plurality of logic components for the second design, the comparing comprising comparing the RTL descriptions of the first design and the second design, to identify changed and unchanged partitions between the first design and the second design.

11. The system of claim 10 , wherein the method further comprises: receiving a first register transfer level (RTL) description identifying the first plurality of logic components for the first design; receiving a second RTL description identifying the second plurality of logic components for the second design; and wherein the comparing comprises comparing the first and second RTL descriptions.

12. The system of claim 11 , wherein the first and second RTL descriptions are first and second netlists.

13. The system of claim 10 , wherein each logic component is associated with a corresponding one of the partitions before the merging.

14. The system of claim 10 , wherein the method further comprises: storing intermediate associations between the first logic components and the merged partitions; and wherein the comparing comprises using the intermediate associations to identify the changed and unchanged partitions.

15. The system of claim 10 , wherein the method further comprises repeating the merging until a maximum partition size is reached and/or partition boundaries have not changed.

16. The system of claim 10 , wherein the merging further comprises synthesizing the partitions to reduce a signal path between the first logic components.

17. The system of claim 10 , wherein the merging further comprises synthesizing the partitions to reduce the area of the PLD used to implement the first design.

18. The system of claim 10 , wherein the method further comprises selectively merging at least a subset of the changed partitions of the second design before converting the changed partitions into the second physical implementations.

19. A non-transitory machine-readable medium storing a plurality of machine-readable instructions which when executed by one or more processors of a computer system are adapted to cause the computer system to perform a computer-implemented method comprising:

obtaining a first design comprising a first plurality of logic components, the first design comprising an RTL description;

selectively grouping the first plurality of logic components for the first design into a plurality of partitions;

selectively merging at least a subset of the partitions of the first design;

converting each partition into a corresponding first physical implementation for a programmable logic device (PLD);

obtaining a second design comprising a second plurality of logic components, the second design comprising an RTL description;

comparing the first plurality of logic components to ffallthe second plurality of logic components for the second design, the comparing comprising comparing the RTL descriptions of the first design and the second design, to identify changed and unchanged partitions between the first design and the second design.

Assignments (4)
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: JEFFERIES FINANCE LLC
To: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.; SIBEAM, INC.; DVDO, INC.
Reel/Frame 049827/0326 →
SECURITY INTEREST Recorded Mar 24, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC.; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035309/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2014
From: XUE, HUA; TANDYALA, MOHAN; CHATTERJEE, NILANJAN; RAJAPPAN, VENKATESAN
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 032877/0359 →