IP Library Granted Patent US 6,958,625
Granted Patent B1
US 6,958,625 · App. 10/617,980 · Granted Oct 25, 2005

Programmable logic device with hardwired microsequencer

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 6,958,625
App. No.
10/617,980
Granted
Oct 25, 2005
Kind
B1
Abstract

A programmable logic device configurable to implement a finite state machine includes a hardwired microsequencer for executing microinstructions to sequence the finite state machine. The hardwired microsequencer includes a sequence memory for storing the microinstructions and a program counter.

Claims (36)

1. A programmable logic device comprising;

a programmable logic block including a plurality of macrocells, the macrocells operable to provide logical outputs at the block's output terminals from logical inputs received at the block's input terminals; and

a hardwired microsequencer coupled to the input and output terminals of the programmable logic block, the microsequencer operable to provide a sequence of logical inputs to the programmable logic block, at least part of the sequence determined by logical outputs provided by the macrocells of the programmable logic block.

2. The programmable logic device of claim 1 , wherein the programmable logic block comprises a programmable AND array configured to provide a plurality of product terms based upon a set of logical inputs, and wherein the plurality of macrocells are operable to generate the logical outputs from the product terms.

3. The programmable logic device of claim 1 , wherein the part of the set of logical inputs provided to the programmable logic block by the microsequencer are derived from microinstructions executed by the microsequencer.

4. The programmable logic device of claim 2 , wherein the microinstructions include an input, a jump destination, and a select command.

5. The programmable logic device of claim 1 , wherein the microsequencer includes:

a memory configured to store a set of microinstructions that include at least some of the logical inputs provided to the programmable logic block; and

a program counter coupled to the memory and configured to provide addresses to the memory to select the microinstructions for execution, the program counter responsive to logical outputs received from the macrocells.

6. The programmable logic device of claim 5 , wherein the program counter is responsive to a jump destination derived from a previously executed microinstruction.

7. The programmable logic device of claim 5 , wherein the memory is non-volatile.

8. The programmable logic device of claim 5 , wherein the microsequencer includes: a multiplexer having input terminals for receiving the logical outputs from the macrocells; an output terminal coupled to the program counter; and a select terminal coupled to an output terminal of the memory, the multiplexer responsive to a select command derived from a previously executed microinstruction.

9. A method of sequencing a finite state machine, comprising:

generating input conditions for a finite state machine in a programmable logic block based upon a set of inputs;

selecting an input condition from the generated input conditions based upon a previously-executed microinstruction selected from a hardwired read-only memory;

selecting a microinstruction from a set of stored microinstructions in the read-only memory based upon the selected input condition and the previously-executed microinstruction; and

executing the selected microinstruction to provide inputs for the set of inputs.

10. The method of claim 9 , wherein the selecting a microinstruction act comprises:

if the selected input condition is in a first binary state, selecting the microinstruction at a jump destination derived from the previously-executed microinstruction; and

if the selected input condition is complementary to the first binary state, selecting the microinstruction according to a predetermined microinstruction sequence.

11. The method of claim 10 , wherein the executing co the microinstruction act includes determining the first binary state.

12. The method of claim 9 , wherein the programmable logic block comprise a programmable AND array, and the generating input conditions act comprises processing product terms through the programmable AND array.

13. A programmable logic device, comprising;

a logic block including a plurality of macrocells, the macrocells operable to provide input conditions for a finite state machine based upon a set of inputs; and

a hardwired microsequencer configured to determine a next state of the finite state machine by cyclically executing a microinstruction selected from a set of microinstructions responsive to cycles of a system clock, wherein at a given cycle of the system clock, the executed microinstruction depends upon the previously-executed microinstruction and an input condition selected from the input conditions provided by the macrocells of the logic block, and wherein the set of inputs for the logic block includes inputs derived from the executed microinstruction.

14. The programmable logic device of claim 13 , wherein the hardwired microsequencer includes:

a sequence memory configured to store the set of microinstructions; and

a program counter configured to determine the microinstruction to be executed at each internal clock cycle, wherein depending upon the selected input condition, the program counter determines the microinstruction either according to a predetermined sequence of the microinstructions or to a jump destination derived from the previously-executed microinstruction.

15. The programmable logic device of claim 14 , wherein the sequence memory is a read-only memory.

16. The programmable logic device of claim 14 , wherein the sequence memory is a non-volatile electrically-alterable read-only memory.

17. The programmable logic device of claim 14 , wherein the hardwired microsequencer further includes a multiplexer configured to select from the input conditions provided by the logic block and determine the selected input signal according to a condition selection command derived from the previously-executed microinstruction.

18. The programmable logic device of claim 14 , wherein the program counter is configured to determine the microinstruction according to the jump destination if the selected input condition is in a first binary state and wherein the program counter is configured to determine the microinstruction according to the predetermined sequence if the selected input condition is in the complementary binary state to the first binary state.

19. The programmable logic device of claim 18 , wherein the first binary state is determined by the previously-executed microinstruction.

20. The programmable logic device of claim 18 , wherein the hardwired microsequencer further includes;

a multiplexer configured to select from the input conditions provided by the logic block and determine the selected input signal according to a condition selection command derived from the previously-executed microinstruction; and

an exclusive OR gate configured to receive the selected input signal from the multiplexer and a binary state selection command derived from the previously-executed microinstruction to determine the first binary state.

Assignments (5)
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 18, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC.; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035222/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2004
From: RAMSDEN, EDWARD A.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 015217/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2003
From: RAMSDEN, EDWARD A.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 014297/0229 →