IP Library Granted Patent US 10,382,021
Granted Patent B2
US 10,382,021 · App. 15/658,349 · Granted Aug 13, 2019

Flexible ripple mode device 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 10,382,021
App. No.
15/658,349
Granted
Aug 13, 2019
Kind
B2
Abstract

Various techniques are provided to efficiently implement user designs in programmable logic devices (PLDs). In one example, a programmable logic device (PLD) includes a plurality of programmable logic blocks (PLBs) and a plurality of logic cells within at least one of the PLBs, where each logic cell includes a four input lookup table (4-LUT) configured to provide a 4-LUT output signal to associated carry logic. Each logic cell is configurable according to at least two selectable operational modes including a logic function output mode and a ripple arithmetic output mode, and at least three of the 4-LUT inputs are interchangeable when a selected operational mode comprises the ripple arithmetic output mode.

Claims (92)

1. A programmable logic device (PLD), comprising:

a plurality of programmable logic blocks (PLBs); and

a plurality of logic cells within at least one of the PLBs, each logic cell comprising a four input lookup table (4-LUT) configured to provide a 4-LUT output signal to associated carry logic, wherein:

each logic cell comprises a ripple register coupled to the associated carry logic and a generate register coupled to a generate circuitry of the logic cell;

each logic cell is configurable according to at least two selectable operational modes comprising a logic function output mode and a ripple arithmetic output mode, as determined by values of the ripple register and/or the generate register;

at least three of the 4-LUT inputs for each logic cell are interchangeable while a design is one or more of synthesized, mapped, placed, and/or routed into the plurality of logic cells when a selected operational mode for each logic cell comprises the ripple arithmetic output mode;

the 4-LUT comprises:

four two input lookup tables (2-LUTs) each configured to receive first and second input signals of the 4-LUT inputs; and

two midlevel multiplexers each configured to receive a third input signal of the 4-LUT inputs and two 2-LUT output signals from the four 2-LUTs and provide a multiplexed signal, wherein the 4-LUT output signal is based at least on the two multiplexed signals; and

the associated carry logic is configured to generate a carry output signal based on a carry input signal and the 4-LUT output signal.

2. The PLD of claim 1 , wherein:

the generate circuitry is configured to provide a generate signal to the associated carry logic;

the 4-LUT is configured to provide a tap signal to the generate circuitry; and

the associated carry logic is configured to receive the generate signal and the 4-LUT output signal and provide an output signal corresponding to the selected operational mode.

3. The PLD of claim 1 , wherein:

the selected operational mode comprises the ripple arithmetic output mode; and

the associated carry logic is configured to: receive the carry input signal, a generate signal, and the 4-LUT output signal; and provide a function output signal in the logic function output mode or a sum output signal and the carry output signal in the ripple arithmetic output mode.

4. The PLD of claim 1 , wherein the 4-LUT further comprises:

an output multiplexer configured to receive a fourth input signal of the 4-LUT inputs and the two multiplexed signals from the two midlevel multiplexers.

5. The PLD of claim 4 , further comprising a level restoring stage disposed between the midlevel multiplexers and the output multiplexer, wherein:

the level restoring stage is configured to receive the two multiplexed signals from the midlevel multiplexers and provide respective restored multiplexed signals to the output multiplexer; and

the 4-LUT is configured to provide a tap signal comprising one of the restored multiplexed signals to the generate circuitry of the logic cell.

6. The PLD of claim 4 , wherein:

the at least one of the PLBs comprises between two and sixteen of the plurality of logic cells, and

wherein the output multiplexer is configured to provide the 4-LUT output signal to the associated carry logic in response to the fourth input signal and the two multiplexed signals.

7. The PLD of claim 1 , wherein:

the 4-LUT comprises a level restoring stage configured to provide a tap signal to the generate circuitry of the logic cell;

the level restoring stage comprises an inverter configured to provide the tap signal; and

the inverter comprises one or more low and/or ultra-low threshold voltage transistor structures as compared to a system voltage for the PLD.

8. The PLD of claim 7 , wherein:

the level restoring stage comprises a feedback loop comprising the inverter and a P-type metal oxide semiconductor (PMOS) transistor structure;

an output of the inverter is coupled to a gate of the PMOS transistor structure; and

a source and a drain of the PMOS transistor structure are coupled between the system voltage and an input of the inverter.

9. The PLD of claim 1 , wherein:

the 4-LUT further comprises a decode block configured to receive the first and second input signals of the 4-LUT inputs;

the four 2-LUTs are N-type metal oxide semiconductor (NMOS) 2-LUTs;

the decode block is configured to provide a quaternary decode signal to the NMOS 2-LUTs; and

each NMOS 2-LUT is configured to provide differential 2-LUT output signals to one of the two midlevel multiplexers of the 4-LUT.

10. The PLD of claim 9 , further comprising a level restoring stage disposed between an output multiplexer and one of the two midlevel multiplexers of the 4-LUT, wherein:

the level restoring stage comprises a cross coupled PMOS transistor arrangement and a feedback loop that are configured to convert differential multiplexed signals provided by one of the midlevel multiplexers to a single ended restored signal;

the cross coupled PMOS transistor arrangement comprises at least two PMOS transistor structures coupled across the differential multiplexed signals and a system voltage; and

the feedback loop comprises an inverter and one or more P-type metal oxide semiconductor (PMOS) transistor structures coupled between the system voltage and an input of the inverter.

11. A method for programming the PLD of claim 1 , comprising:

generating configuration data to configure physical components of the PLD in accordance with a synthesized design comprising at least one ripple arithmetic operation that is implemented by at least one of the plurality of logic cells; and

programming the PLD with the configuration data.

12. A computer-implemented method comprising:

receiving a design identifying operations to be performed by a programmable logic device (PLD); and

synthesizing the design into a plurality of PLD components, wherein the synthesizing comprises:

detecting a ripple arithmetic operation in the design; and

implementing the ripple arithmetic operation using at least one logic cell within a programmable logic block (PLB) of the PLD, each logic cell comprising a four input lookup table (4-LUT) configured to provide a 4-LUT output signal to associated carry logic, wherein:

each logic cell comprises a ripple register coupled to the associated carry logic and/or a generate register coupled to a generate circuitry of the logic cell;

each logic cell is configurable according to at least two selectable operational modes comprising a logic function output mode and a ripple arithmetic output mode, as determined by values of the ripple register and/or the generate register;

at least three of the 4-LUT inputs for each logic cell are interchangeable while a design is one or more of synthesized, mapped, placed, and/or routed into the at least one logic cell when a selected operational mode for each logic cell comprises the ripple arithmetic output mode;

the 4-LUT of each logic cell comprises a level restoring stage configured to provide a tap signal to the generate circuitry of the logic cell;

the level restoring stage comprises an inverter configured to provide the tap signal;

the 4-LUT further comprises a decode block configured to receive first and second input signals of the 4-LUT inputs and four two input lookup tables (2-LUTs); and

the decode block is configured to provide a quaternary decode signal to the four 2-LUTs.

13. The method of claim 12 , further comprising:

placing the at least one logic cell in the PLD;

routing connections to the four inputs of the at least one logic cell, wherein the routing comprises:

interchanging two or more of the at least three interchangeable 4-LUT inputs of the at least one logic cell to reduce propagation delays, consumption of PLD resources, and/or consumption of routing resources, and

reprogramming the 4-LUT to transform the ripple arithmetic operation to account for the interchanged inputs.

14. The method of claim 12 , wherein:

the generate circuitry is configured to provide a generate signal to the associated carry logic;

the 4-LUT is configured to provide the tap signal to the generate circuitry; and

the associated carry logic is configured to receive the generate signal and the 4-LUT output signal and provide an output signal corresponding to the selected operational mode.

15. The method of claim 12 , wherein:

the selected operational mode comprises the ripple arithmetic output mode; and

the associated carry logic is configured to: receive a carry input signal, a generate signal, and the 4-LUT output signal; and provide a function output signal in the logic function output mode or a sum output signal and a carry output signal in the ripple arithmetic output mode.

16. The method of claim 12 , wherein the 4-LUT further comprises:

two midlevel multiplexers each configured to receive a third input signal of the 4-LUT inputs and two 2-LUT output signals from the four 2-LUTs; and

an output multiplexer configured to receive a fourth input signal of the 4-LUT inputs and two multiplexed signals from the two midlevel multiplexers.

17. The method of claim 16 , wherein:

the level restoring stage is disposed between the midlevel multiplexers and the output multiplexer;

the level restoring stage is configured to receive the multiplexed signals from the midlevel multiplexers and provide respective restored multiplexed signals to the output multiplexer;

the 4-LUT is configured to provide the tap signal comprising one of the restored multiplexed signals to the generate circuitry of the logic cell; and

the inverter comprises one or more low and/or ultra-low threshold voltage transistor structures as compared to a system voltage for the PLD.

18. The method of claim 12 , wherein:

the four 2-LUTs comprise four N-type metal oxide semiconductor (NMOS) 2-LUTs; and

each NMOS 2-LUT is configured to provide differential 2-LUT output signals to a midlevel multiplexer of the 4-LUT.

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:

routing connections to at least one logic cell of a programmable logic device (PLD), each logic cell comprising a four input lookup table (4-LUT) configured to provide a 4-LUT output signal to associated carry logic, wherein:

each logic cell comprises a ripple register coupled to the associated carry logic and/or a generate register coupled to a generate circuitry of the logic cell;

each logic cell is configurable according to at least two selectable operational modes comprising a logic function output mode and a ripple arithmetic output mode, as determined by values of the ripple register and/or the generate register;

at least three of the 4-LUT inputs for each logic cell are interchangeable while a design is one or more of synthesized, mapped, placed, and/or routed into the at least one logic cell when a selected operational mode for each logic cell comprises the ripple arithmetic output mode;

the 4-LUT of each logic cell comprises a level restoring stage configured to provide a tap signal to the generate circuitry of the logic cell;

the level restoring stage comprises an inverter configured to provide the tap signal;

the 4-LUT further comprises a decode block configured to receive first and second input signals of the 4-LUT inputs and four two input lookup tables (2-LUTs); and

the decode block is configured to provide a quaternary decode signal to the four 2-LUTs.

20. The PLD of claim 1 , wherein the generate circuitry is configured to:

provide a value of the generate register to the associated carry logic; and

provide a generate signal to the associated carry logic, wherein the generate signal is based on the value of the generate register.

Assignments (3)
SECURITY INTEREST Recorded Sep 1, 2022
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 061365/0560 →
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2017
From: SHARPE-GEISLER, BRAD; GUNARATNA, SENANI; YEW, TING
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 043094/0960 →