IP Library Granted Patent US 9,680,475
Granted Patent B1
US 9,680,475 · App. 15/073,583 · Granted Jun 13, 2017

Early global set/reset signal determination 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,680,475
App. No.
15/073,583
Granted
Jun 13, 2017
Kind
B1
Abstract

Techniques are provided to assign a set/reset signal of a user design to global set/reset (GSR) resources of a programmable logic device (PLD). By assigning a set/reset signal of the user design to the GSR resources during synthesis and prior to mapping, configurable resources consumed by the design may be reduced. In one example, a method includes receiving a user design for a programmable logic device (PLD) that comprises a plurality of configurable resources and global set/reset (GSR) resources. The method also includes identifying a plurality of set/reset signals of the user design. The method also includes determining, for each set/reset signal, a measurement of configurable resource savings associated with an assignment of the set/reset signal to the GSR resources. The method also includes assigning a selected one of the set/reset signals to the GSR resources based on the associated measurement. Additional methods and related systems are also provided.

Claims (47)

1. A method comprising:

receiving a user design for a programmable logic device (PLD), wherein the PLD comprises a plurality of configurable resources, global set/reset (GSR) resources, and a plurality of sequential components;

identifying a plurality of set/reset signals of the user design;

determining, for each set/reset signal, a measurement of configurable resource savings associated with an assignment of the set/reset signal to the GSR resources; and

assigning a selected one of the set/reset signals to the GSR resources based on the associated measurement, wherein

the user design identifies connections between the set/reset signals and the sequential components; and the determining a measurement comprises filtering the sequential components, and determining configurable resource savings associated with assigning the set/reset signal to the GSR resources connected to the filtered sequential components.

2. The method of claim 1 , wherein the sequential component is a flip-flop.

3. A method of claim 1 , comprising:

receiving a user design for a programmable logic device (PLD), wherein the PLD comprises a plurality of configurable resources, global set/reset (GSR) resources;

identifying a plurality of set/reset signals of the user design;

determining, for each set/reset signal, a measurement of configurable resource savings associated with an assignment of the set/reset signal to the GSR resources; and

assigning a selected one of the set/reset signals to the GSR resources based on the associated measurement,

wherein the user design identifies a non-sequential logic component implementable by the configurable resources of the PLD and further identifies a connection between the selected set/reset signal and the logic component, the assigning comprises reassigning the selected set/reset signal from the logic component to the GSR resources and the method further comprises removing the logic component from the user design.

4. The method of claim 1 , wherein:

the user design comprises a plurality of partitions; and

the identifying and determining are performed independently for each partition of the user design.

5. The method of claim 1 , wherein the filtering comprises identifying the sequential components receiving at least two of the set/reset signals.

6. The method of claim 5 , wherein the at least two set/reset signals comprise one synchronous set/reset signal and one asynchronous set/reset signal.

7. The method of claim 5 , wherein the at least two set/reset signals are both set signals or both reset signals.

8. The method of claim 1 , wherein:

the identifying, determining, and assigning are performed as part of a synthesis process to convert the user design to a synthesized design; and

the method further comprises: mapping the synthesized design to a plurality of PLD component types, and assigning the mapped PLD component types to physical components of the PLD.

9. A system comprising:

a processor; and

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

receiving a user design for a programmable logic device (PLD), wherein the PLD comprises a plurality of configurable resources, global set/reset (GSR) resources and a plurality of sequential components,

identifying a plurality of set/reset signals of the user design,

determining, for each set/reset signal, a measurement of configurable resource savings associated with an assignment of the set/reset signal to the GSR resources, and

assigning a selected one of the set/reset signals to the GSR resources based on the associated measurement, wherein the user design identifies connections between the set/reset signals and the sequential components; and the determining a measurement comprises filtering the sequential components, and determining configurable resource savings associated with assigning the set/reset signal to the GSR resources connected to the filtered sequential components.

10. The system of claim 9 , wherein:

the PLD further comprises a sequential component connected to the GSR resources;

the user design identifies a connection between the selected set/reset signal and a data input port of the sequential component; and

the assigning comprises reassigning the selected set/reset signal from the data input port to the GSR resources.

11. The system of claim 10 , wherein the sequential component is a flip-flop.

12. The system of claim 9 , wherein:

the user design identifies a non-sequential logic component implementable by the configurable resources of the PLD and further identifies a connection between the selected set/reset signal and the logic component;

the assigning comprises reassigning the selected set/reset signal from the logic component to the GSR resources; and

the method further comprises removing the logic component from the user design.

13. The system of claim 9 , wherein:

the user design comprises a plurality of partitions; and the identifying and determining are performed independently for each partition of the user design.

14. The system of claim 1 , wherein the filtering comprises identifying the sequential components receiving at least two of the set/reset signals.

15. The system of claim 14 , wherein the at least two set/reset signals comprise one synchronous set/reset signal and one asynchronous set/reset signal.

16. The system of claim 14 , wherein the at least two set/reset signals are both set signals or both reset signals.

17. The system of claim 9 , wherein the identifying, determining, and assigning are performed as part of a synthesis process to convert the user design to a synthesized design, and

the method further comprises:

mapping the synthesized design to a plurality of PLD component types, and

assigning the mapped PLD component types to physical components of the PLD.

Assignments (3)
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
SECURITY INTEREST Recorded Jun 1, 2016
From: LATTICE SEMICONDUCTOR CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 038763/0359 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2016
From: RAJAPPAN, VENKATESAN; SHARMA, SUNIL; TANDYALA, MOHAN
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 038055/0805 →