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

Programmable logic device which stores more than one configuration and means for switching configurations

Assignee: Xilinx Inc
•
Filing: 1994-04-20
•
Granted: 1995-06-20
•
Expires: 2014-04-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A programmable logic device includes a configuration memory expanded to store two or more complete sets of configuration data. A switch on the output of the configuration memory controls the selection of the configuration data applied to the configurable logic block. Each configurable logic block has one data storage device per set of configuration data. The configurable logic blocks may be re-configured within a user's clock cycle. During a first period, the switch on the output of the configuration memory selects and passes configuration data from the first set of configuration data. The configurable routing matrix and configurable logic block are configured according to this first set of configuration data and store results in a first storage device. During a second period, the switch selects and passes the second set of configuration data. Then the configurable routing matrix and configurable logic block are configured according to the second set of configuration data, the function generator performs the second logic function, and the outputs are passed or stored by the second output device. At the end of the last period the function is available to the user.

Inventors

  • 👤 Randy T. Ong

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 14:06
CPC Classifications
H; H03; H03K; H03K19/00; H03K19/02; H03K19/173; H03K19/177; H03K19/17748; H03K19/17758; H03K19/1733; H03K19/1737; H03K19/17704; H03K19/17756; H03K19/1776

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 77 words
A programable array comprising: a configuration memory having a first storage means for storing a first set of configuration data, a second storage means for storing a second set of configuration data and a switching means coupled for outputting one of the first set and second set of configuration data; and a configurable routing matrix for selectively coupling conductive lines in response to configuration data, the configurable routing matrix having configuration inputs coupled to the switching means.
Claim 2
Dependent Claim 77 words
A programable array comprising: a configuration memory having a first storage means for storing a first set of configuration data, a second storage means for storing a second set of configuration data and a switching means coupled for outputting one of the first set and second set of configuration data; and a configurable routing matrix for selectively coupling conductive lines in response to configuration data, the configurable routing matrix having configuration inputs coupled to the switching means.
Claim 3
Dependent Claim 64 words
The programable array of claim 1 further comprising a configurable logic block having at least one configuration input at least one data input and at least one data output for implementing logic functions on input data in response to the first set and second set of configuration data, the configuration input of the configurable logic block coupled to an output of the switching means.
Claim 4
Dependent Claim 24 words
The programable array of claim 2, wherein the configuration memory further comprises a third storage means for storing a third set of configuration data.
Claim 5
Dependent Claim 62 words
The programable array of claim 2, wherein the switching means couples the first storage means to the configurable logic block and the configurable routing matrix during a first portion of a user clock cycle and the switching means couples the second storage means to the configurable logic block and the configurable routing matrix during a second portion of the user clock cycle.
Claim 6
Dependent Claim 44 words
The programable array of claim 2, wherein the configuration memory comprises more than two storage means and the switching means selectively couples each storage means to the configurable logic block and the configurable routing matrix during a respective portion of a user clock cycle.
Claim 7
Dependent Claim 60 words
The programmable array of claim 2, wherein the switching means selectively couples the first storage means to the configurable logic block and the configurable routing matrix during a first time period and couples the second storage means to the configurable logic block and the configurable routing matrix during a second time period, the first and second time periods being successive.
Claim 8
Dependent Claim 24 words
The programmable array of claim 6 in which each of the successive time periods is at least as long as a user clock cycle.
Claim 9
Dependent Claim 68 words
The programmable array of claim 1, wherein: the first storage means comprises a plurality of memory cells, each having an input and an output, each memory cell storing a bit of the first set of configuration data; and the second storage means comprises a plurality of memory cells, each having an input and an output, each memory cell storing a bit of the second set of configuration data.
Claim 10
Dependent Claim 16 words
The programmable array of claim 8, wherein the memory cells are static random access memory cells.
Claim 11
Dependent Claim 12 words
The programmable array of claim 8 wherein the memory cells are fuses.
Claim 12
Dependent Claim 12 words
The programmable array of claim 8 wherein the memory cells are antifuses.
Claim 13
Dependent Claim 13 words
The programmable array of claim 8 wherein the memory cells are EPROM cells.
Claim 14
Dependent Claim 13 words
The programmable array of claim 8 wherein the memory cells are EEPROM cells.
Claim 15
Dependent Claim 25 words
The programmable array of claim 8, wherein each memory cell in the first storage means has a corresponding memory cell in the second storage means.
Claim 16
Dependent Claim 39 words
The programmable array of claim 8, wherein the configuration memory further comprises a plurality of memory cells in addition to the first storage means and the second storage means, the plurality of memory cells further configuring the routing matrix.
Claim 17
Dependent Claim 13 words
The programmable array of claim 1, wherein the switching means is a multiplexer.
Claim 18
Dependent Claim 20 words
The programmable array of claim 1 wherein the switching means comprises a sense amplifier and a plurality of address lines.
Claim 19
Dependent Claim 59 words
The programmable array of claim 1, wherein the switching means comprises a plurality of switches, each switch having a first data input coupled to a configuration memory cell in the first storage means, a second data input coupled to the corresponding configuration memory cell in the second storage means, and an output forming an output of the configuration memory.
Claim 20
Dependent Claim 17 words
The programmable array of claim 18 wherein the plurality of switches are a plurality of two-to-one multiplexers.
Claim 21
Dependent Claim 139 words
The programmable array of claim 2, wherein the configurable logic block comprises: a function generator for implementing a logic function specified by configuration data, the function generator having at least one configuration input, at least one data input, at least one data output, the at least one configuration input coupled to the switching means, the at least one data input coupled to the configurable routing matrix; a first output device for storing the output of the function generator from a first period, the first output device having a data input coupled to the output of the function generator and a data output; and a second output device for storing the output of the function generator from a second period, the second output device having a data input coupled to the output of the function generator and a data output.
Claim 22
Dependent Claim 37 words
The programmable array of claim 20 in which the first output device further includes a configuration input coupled to the configuration memory, and the second output device further includes a configuration input coupled to the configuration memory.
Claim 23
Dependent Claim 25 words
The programmable array of claim 20 in which the data outputs of the first and second output devices are coupled to the configurable routing matrix.
Claim 24
Dependent Claim 70 words
The programmable array of claim 20, wherein the first output device selectively stores and outputs the output of the function generator configured with the first set of data stored in the first storage means of the configuration memory and the second output device selectively stores and outputs the output of the function generator configured with the second set of data stored in the second storage means of the configuration memory.
Claim 25
Dependent Claim 135 words
The programmable array of claim 20, wherein the first output device comprises: a latch for storing and passing data in response to a signal at a latch enable input, the latch having a data input, a latch enable input, and a data output, the data input of the latch coupled to the output of the function generator; a register having a data input, a clock input and a data output for storing data in response to a clock signal at the clock input, the data input of the register coupled to the data output of the latch, and the clock input of the register coupled to receive a clock signal; and an output switch having a plurality of data inputs, a configuration input, and a data output, for outputting one of a plurality of signals.
Claim 26
Dependent Claim 68 words
The programmable array of claim 24 in which a first data input of the output switch is coupled to the output of the latch, and a second data input of the output switch is coupled to the output of the register, the configuration input of the output switch is coupled to the configuration memory, and the output of the output switch is coupled to the configurable routing matrix.
Claim 27
Dependent Claim 25 words
The programmable array of claim 25 in which a third data input of the output switch is coupled to the output of the function generator.
Claim 28
Dependent Claim 206 words
The programmable array of claim 24, wherein the second output device comprises: a latch for storing and passing data in response to a signal at a latch enable input, the latch having a data input, a latch enable input, and a data output, the data input of the latch coupled to the output of the function generator; a register having a data input, a clock input and a data output for storing data in response to a clock signal at the clock input, the data input of the register coupled to the data output of the latch, and the clock input of the register coupled to receive a clock signal; and an output switch having a plurality of data inputs, a configuration input and a data output, for outputting one of a plurality of signals, a first data input of the output switch coupled to the output of the function generator, a second data input of the output switch coupled to the output of the latch, and a third input of the output switch coupled to the output of the register, the configuration input of the output switch coupled to the configuration memory and the output of the output switch coupled to the configurable routing matrix.
Claim 29
Dependent Claim 13 words
The programmable array of claim 24, wherein the output switch is a multiplexer.
Claim 30
Dependent Claim 97 words
A programmable array comprising: a configuration memory having a first storage means for storing a first set of configuration data, a second storage means for storing a second set of configuration data and a switching means coupled for outputting one of the first set and second set of configuration data; and a configurable logic block having configuration inputs, data inputs and data outputs for implementing logic functions on input data in response to the first set and second set of configuration data, the configuration inputs of the configurable logic block coupled to outputs of the switching means.
Claim 31
Dependent Claim 97 words
A programmable array comprising: a configuration memory having a first storage means for storing a first set of configuration data, a second storage means for storing a second set of configuration data and a switching means coupled for outputting one of the first set and second set of configuration data; and a configurable logic block having configuration inputs, data inputs and data outputs for implementing logic functions on input data in response to the first set and second set of configuration data, the configuration inputs of the configurable logic block coupled to outputs of the switching means.
Claim 32
Dependent Claim 83 words
A programmable array comprising: means for providing a logic signal; a first storage means which receives the logic signal; a second storage means which receives the logic signal; means for passing the logic signal through the first storage means during a first time period and passing the logic signal through the second storage means during a second time period; means for coupling outputs of the first and second storage means to different lines during a first time period and a second time period.
Claim 33
Dependent Claim 83 words
A programmable array comprising: means for providing a logic signal; a first storage means which receives the logic signal; a second storage means which receives the logic signal; means for passing the logic signal through the first storage means during a first time period and passing the logic signal through the second storage means during a second time period; means for coupling outputs of the first and second storage means to different lines during a first time period and a second time period.
Claim 34
Dependent Claim 89 words
The programmable array of claim 30, wherein the different lines comprise a first line, a second line, a third line and a fourth line, wherein the means for coupling couples the output of the first storage means to the first line during the first time period and to the third line during the second time period, and wherein the means for coupling couples the output of the second storage means to the second line during the first time period and to the fourth line during the second time period,
Claim 35
Dependent Claim 24 words
The programmable array of claim 30 wherein the first storage means is a first latch and the second storage means is a second latch.
Claim 36
Dependent Claim 40 words
The programmable array of claim 32 wherein the first latch is connected to a line in a routing matrix during a first period and the second latch is connected to the line in the routing matrix during a second period.
Claim 37
Dependent Claim 97 words
A programmable array comprising: means for providing a logic signal; a first storage means which receives the logic signal; a second storage means which receives the logic signal; means for passing the logic signal through the first storage means during a first time period and passing the logic signal through the second storage means during a second time period; means for coupling outputs of the first storage means to at least one routing line during a first time period and the second storage means to the same at least one routing line during a second time period.
Claim 38
Dependent Claim 97 words
A programmable array comprising: means for providing a logic signal; a first storage means which receives the logic signal; a second storage means which receives the logic signal; means for passing the logic signal through the first storage means during a first time period and passing the logic signal through the second storage means during a second time period; means for coupling outputs of the first storage means to at least one routing line during a first time period and the second storage means to the same at least one routing line during a second time period.
Claim 39
Dependent Claim 24 words
The programmable array of claim 34 wherein the first storage means is a first latch and the second storage means is a second latch.

References Cited (Backward Citations)

US4670749A Cited
US4879688A Cited
US4876466A Cited
US4972105A Cited
US5336950A Cited
US5329179A Cited
US5341044A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-06-19 1998-12-19 1999-06-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-06-19 2002-12-19 2003-06-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-06-19 2006-12-19 2007-06-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag