← Back to Patent Explorer
US5291079A Expired / Lapsed US ⏱️ 0.0 years remaining

Configuration control unit for programming a field programmable gate array and reading array status

Assignee: Xilinx Inc
•
Filing: 1992-07-23
•
Granted: 1994-03-01
•
Expires: 2012-07-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is used in an FPGA device having programmable logic cells and a programmable interconnect array. In a preferred embodiment in which the logic cells are programmed using transistors controlled by memory cells and the interconnect structure is programmed using antifuses, a configuration control unit (CCU) of the present invention can accomplish three functions: 1) applying programming voltages to terminals of the interconnect antifuses; 2) configuring the logic cells; and 3) reading status of signals on the interconnect structure. The CCUs are connected together into a shift register. Each CCU connects to a horizontal or vertical interconnect line. At intersections of these interconnect lines are antifuses. By loading logical 1's into the two CCUs, it is possible to address the antifuse at the intersection of the two interconnect lines. A voltage difference can then be directed to the two terminals of that antifuse for programming the antifuse. After antifuses are programmed, configuration information is shifted into the CCUs to configure the logic cells. These same CCUs can be used to capture the logical states of each of the interconnect lines, each CCU capturing one signal present on an interconnect line to which that CCU connects. The captured data can then be shifted out through the shift register.

Inventors

  • 👤 F. Erich Goetting

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 06:00
CPC Classifications
H; H03; H03K; H03K19/00; H03K19/02; H03K19/173; H03K19/177; H03K19/17748; H03K19/17704; H03K19/17764; H03K19/1778

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 89 words
In an FPGA comprising configurable logic cells and a configurable interconnect structure, a configuration control system for controlling configuration of said configurable logic cells and said interconnect structure and for reading status of signals on interconnect lines in said interconnect structure comprising: a plurality of configuration control units (CCU), each configuration control unit comprising: memory means (INV1, INV2) joined to memory means in another configuration control unit as a shift register; and means (802) for loading each of said memory means with a signal on a corresponding interconnect line.
Claim 2
Dependent Claim 89 words
In an FPGA comprising configurable logic cells and a configurable interconnect structure, a configuration control system for controlling configuration of said configurable logic cells and said interconnect structure and for reading status of signals on interconnect lines in said interconnect structure comprising: a plurality of configuration control units (CCU), each configuration control unit comprising: memory means (INV1, INV2) joined to memory means in another configuration control unit as a shift register; and means (802) for loading each of said memory means with a signal on a corresponding interconnect line.
Claim 3
Dependent Claim 30 words
A configuration control system as in claim 1 in which said configuration control unit further comprises: means (810) for controlling application of a programming voltage to said corresponding interconnect line.
Claim 4
Dependent Claim 42 words
A configuration control system as in claim 1 in which each of said memory means comprises a pair of serially connected inverters (INV1, INV2) which may be selectively connected together in a feedback loop (806, 805) to form a static memory cell.
Claim 5
Dependent Claim 27 words
A configuration control system as in claim 3 in which each inverter is powered by a supply voltage (VGLI) at least as high as said programming voltage.
Claim 6
Dependent Claim 102 words
In an FPGA comprising configurable logic cells and a configurable interconnect structure, a configuration control system for controlling configuration of said configurable logic cells comprising: a plurality of configuration control units (CCU), each configuration control unit comprising: memory means (INV1, INV2) joined to memory means in another configuration control unit as a shift register; and means (Q, 810) for performing one of two functions: controlling configuration of part of one of said configurable logic cells from content of said memory means; and controlling application of a programming voltage to an interconnect line in said interconnect structure from content of said memory means.
Claim 7
Dependent Claim 102 words
In an FPGA comprising configurable logic cells and a configurable interconnect structure, a configuration control system for controlling configuration of said configurable logic cells comprising: a plurality of configuration control units (CCU), each configuration control unit comprising: memory means (INV1, INV2) joined to memory means in another configuration control unit as a shift register; and means (Q, 810) for performing one of two functions: controlling configuration of part of one of said configurable logic cells from content of said memory means; and controlling application of a programming voltage to an interconnect line in said interconnect structure from content of said memory means.
Claim 8
Dependent Claim 117 words
In an FPGA comprising configurable logic cells and a configurable interconnect structure, a configuration control unit comprising: memory mean (INV1, INV2) which may be loaded and read, said memory means providing a stored value (Q); and means (810) for controlling application of a programming voltage to said corresponding interconnect line (I), comprising: means (813) for supplying a programming voltage (VP) to said corresponding interconnect line (I); means (EN-bar, 812, 811) for controlling said means for supplying; whereby when said stored value (Q) is a selected voltage (high), and said means for controlling (EN-bar, 811,812) selects said stored value, said means (813) for supplying a programming voltage supplies said programming voltage (VP) to said corresponding interconnect line (I).
Claim 9
Dependent Claim 117 words
In an FPGA comprising configurable logic cells and a configurable interconnect structure, a configuration control unit comprising: memory mean (INV1, INV2) which may be loaded and read, said memory means providing a stored value (Q); and means (810) for controlling application of a programming voltage to said corresponding interconnect line (I), comprising: means (813) for supplying a programming voltage (VP) to said corresponding interconnect line (I); means (EN-bar, 812, 811) for controlling said means for supplying; whereby when said stored value (Q) is a selected voltage (high), and said means for controlling (EN-bar, 811,812) selects said stored value, said means (813) for supplying a programming voltage supplies said programming voltage (VP) to said corresponding interconnect line (I).
Claim 10
Dependent Claim 66 words
A configuration control unit as in claim 6 in which said means for controlling (EN-bar, 812, 811) comprises: means (811) for supplying said stored value; means (812) for supplying a disable voltage (gnd); and means (EN-bar) for causing said means for controlling to select between applying said disable voltage (gnd) to said means for supplying and applying said stored value (Q) to said means for supplying.
Claim 11
Dependent Claim 209 words
In an FPGA comprising: configurable logic cells configured by values in configuration memory cells and a configurable interconnect structure comprising horizontal and vertical interconnect lines, said interconnect structure being configured by programming antifuses at intersections of said horizontal and vertical interconnect lines; under control of said values in said configuration memory cells and of means (810) for controlling application of a programming voltage to said corresponding interconnect line, a plurality of programming voltage lines, each connectable to one terminal of a plurality of antifuses, such that opposite terminals of any antifuse are connectable to different ones of said programming voltage lines; a method of configuring said FPGA comprising the steps of: for each antifuse to be programmed: 1) loading a pair of 1's into two CCU's which control forwarding of programming voltages to horizontal and vertical lines intersecting at terminals of said antifuse to be programmed; 2) applying two different programming voltages to programming voltage lines forwarded by said two CCU's; 3) apply a programming control signal (EN-bar) to said means (810) for controlling application of a programming voltage to said corresponding interconnect line, thereby causing a programming voltage to be applied across said antifuse to be programmed; until all antifuses have been programmed, thereby configuring said interconnect structure.
Claim 12
Dependent Claim 209 words
In an FPGA comprising: configurable logic cells configured by values in configuration memory cells and a configurable interconnect structure comprising horizontal and vertical interconnect lines, said interconnect structure being configured by programming antifuses at intersections of said horizontal and vertical interconnect lines; under control of said values in said configuration memory cells and of means (810) for controlling application of a programming voltage to said corresponding interconnect line, a plurality of programming voltage lines, each connectable to one terminal of a plurality of antifuses, such that opposite terminals of any antifuse are connectable to different ones of said programming voltage lines; a method of configuring said FPGA comprising the steps of: for each antifuse to be programmed: 1) loading a pair of 1's into two CCU's which control forwarding of programming voltages to horizontal and vertical lines intersecting at terminals of said antifuse to be programmed; 2) applying two different programming voltages to programming voltage lines forwarded by said two CCU's; 3) apply a programming control signal (EN-bar) to said means (810) for controlling application of a programming voltage to said corresponding interconnect line, thereby causing a programming voltage to be applied across said antifuse to be programmed; until all antifuses have been programmed, thereby configuring said interconnect structure.
Claim 13
Dependent Claim 22 words
A method of configuring an FPGA as in claim 8 in which said step of loading is implemented through a shift register.
Claim 14
Dependent Claim 66 words
A method of configuring an FPGA as in claim 9 in which said method of configuring said FPGA comprises the further steps performed after all antifuses have been programmed of shifting a bit stream through a shift register in which CCUs are connected, thereby to cause each CCU to store a logical value which configures part of a logic cell with which said CCU is associated.
Claim 15
Dependent Claim 67 words
A method of configuring an FPGA as in claim 10 comprising the further steps performed after said bit stream is shifted through said shift register in which CCUs are connected of: substituting for a value loaded into each CCU a value present on an interconnect line with which said CCU is associated; and shifting values substituted into each CCU out of said FPGA through said shift register.
Claim 16
Dependent Claim 196 words
In an FPGA comprising: a plurality of configuration memory cells each having an input port and an output port, each memory cell comprising first and second inverters which are programmably connectable into a loop, the memory cells programmably connectable together as a shift register by connecting the output of said second inverter of one memory cell to the input of said first inverter of another memory cell; and a configurable interconnect structure comprising interconnect lines, each of said interconnect lines being programmably connectable to an input port of one of said configuration memory cells; a method of capturing data present on said interconnect lines of said FPGA comprising the steps of: 1. disconnecting said first inverters from said second inverters; 2. programmably connecting said interconnect lines to their respective first inverters; 3. programmably connecting the outputs of said first inverters to the inputs of said second inverters; 4. programmably disconnecting said interconnect lines from their respective first inverters; 5. programmably connecting the outputs of said second inverters to the inputs of said first inverters; and 6. shifting data through said shift register; whereby data present on said interconnect lines is shifted out of said shift register.
Claim 17
Dependent Claim 196 words
In an FPGA comprising: a plurality of configuration memory cells each having an input port and an output port, each memory cell comprising first and second inverters which are programmably connectable into a loop, the memory cells programmably connectable together as a shift register by connecting the output of said second inverter of one memory cell to the input of said first inverter of another memory cell; and a configurable interconnect structure comprising interconnect lines, each of said interconnect lines being programmably connectable to an input port of one of said configuration memory cells; a method of capturing data present on said interconnect lines of said FPGA comprising the steps of: 1. disconnecting said first inverters from said second inverters; 2. programmably connecting said interconnect lines to their respective first inverters; 3. programmably connecting the outputs of said first inverters to the inputs of said second inverters; 4. programmably disconnecting said interconnect lines from their respective first inverters; 5. programmably connecting the outputs of said second inverters to the inputs of said first inverters; and 6. shifting data through said shift register; whereby data present on said interconnect lines is shifted out of said shift register.
Claim 18
Dependent Claim 23 words
A method of capturing data present on interconnect lines as in claim 12 in which said steps are performed in the order stated.
Claim 19
Dependent Claim 24 words
A method of capturing data present on interconnect lines as in claim 12 in which said step 4 is performed before said step 3.
Claim 20
Dependent Claim 84 words
A method as in claim 12 in which said FPGA further comprises: a plurality of logic cells, each of said configuration memory cells being connected to one of said logic cells, and each of said logic cells including means for providing a high impedance output; and said method further comprises the step of: causing each of said logic cells to provide a high impedance output before said step of programmably connecting the outputs of said first inverters to the inputs of said second inverters.

References Cited (Backward Citations)

US3473160A Cited
US4642487A Cited
US4758745A Cited
US4758745B1 Cited
US5155389A Cited
US4933575A Cited
US4933575B1 Cited
US5095523A Cited
US5028821A Cited
US5144166A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-02-28 1997-08-30 1998-03-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-02-28 2001-08-30 2002-03-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-02-28 2005-08-30 2006-03-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag