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

Apparatus and method to improve programming speed of field programmable gate arrays

Assignee: Lattice Semiconductor Corp
•
Filing: 1993-12-08
•
Granted: 1995-02-28
•
Expires: 2013-12-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Apparatus and method for compressing configuration bitstreams used to program Field Programmable Gate Arrays (FPGAs) and for decreasing the amount of time necessary to configure FPGAs. In a first embodiment of the present invention, a shift register is employed that enables data bits to be shifted multiple positions per clock cycle through the shift register. As a result, the amount of time required to shift the data bits through the shift register can be reduced by 1/N, where N is the number of positions per clock cycle. The shift register also permits the option of shifting bits through the shift register one bit per clock cycle. In a second embodiment of the present invention, control and address bits are employed to more efficiently manage and reduce the size of the configuration bitstream. Accordingly, one embodiment provides the option of loading data into the array of the FPGA by address column in a non-sequential fashion. In other words, to streamline loading of data into the array from the data shift register, the present invention permits non-sequential writing of frames into the array by column address. Another preferred embodiment of the present invention, permits a previous frame of data (repetitive data) to be loaded into the array without having to resupply the data shift register with the repetitive data. Simple logic control bits indicate how frames of data are to be managed.

Inventors

  • 👤 Barry K. Britton
  • 👤 Wai-Bor Leung

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 19:41
CPC Classifications
H; H03; H03K; H03K19/00; H03K19/02; H03K19/173; H03K19/177; H03K19/17704; H03K19/17748; H03K19/17758

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 146 words
In a Field Programmable Gate Array, a shift register for transferring data bits in a configuration bitstream to a programmable switching array, the shift register able to shift more than one bit per clock cycle, the shift register comprising: M flip-flops connected in series, where M is an integer greater than two; and data flow means, coupled to said flip-flops, having a first operation mode and a second operation mode, for: (A) serially receiving one bit of the configuration bitstream and for transferring said configuration bitstream one bit at a time through said M flip-flops while in said first operation mode, and (B) receiving N bits of the configuration bitstream and for transferring each bit of the configuration bitstream through said M flip-flops N bits at a time while in said second operation mode, where N is an integer greater than one and less than M.
Claim 2
Dependent Claim 146 words
In a Field Programmable Gate Array, a shift register for transferring data bits in a configuration bitstream to a programmable switching array, the shift register able to shift more than one bit per clock cycle, the shift register comprising: M flip-flops connected in series, where M is an integer greater than two; and data flow means, coupled to said flip-flops, having a first operation mode and a second operation mode, for: (A) serially receiving one bit of the configuration bitstream and for transferring said configuration bitstream one bit at a time through said M flip-flops while in said first operation mode, and (B) receiving N bits of the configuration bitstream and for transferring each bit of the configuration bitstream through said M flip-flops N bits at a time while in said second operation mode, where N is an integer greater than one and less than M.
Claim 3
Dependent Claim 16 words
The shift register of claim 1, wherein said data flow means is a plurality of multiplexers.
Claim 4
Independent Claim 159 words
An apparatus for transferring a configuration bitstream from a data source to a Field Programmable Gate Array comprising: a shift register, located on the Field Programmable Gate Array, operable to receive the configuration bitstream from the data source, means, coupled to the shift register, (a) for receiving a signal having a first or second logic state from the data source, (b) for enabling the shift register to receive N bits of the configuration bitstream in a clock cycle and for enabling each of the bits of the configuration bitstream received by the shift register to shift N bits per clock cycle when said signal is in said first logic state; and (c) for enabling the shift register to receive one bit of the configuration bitstream in a clock cycle and for enabling each bit of the configuration bitstream received by the shift register to shift one bit per clock cycle when said signal is in said second logic state.
Claim 5
Independent Claim 159 words
An apparatus for transferring a configuration bitstream from a data source to a Field Programmable Gate Array comprising: a shift register, located on the Field Programmable Gate Array, operable to receive the configuration bitstream from the data source, means, coupled to the shift register, (a) for receiving a signal having a first or second logic state from the data source, (b) for enabling the shift register to receive N bits of the configuration bitstream in a clock cycle and for enabling each of the bits of the configuration bitstream received by the shift register to shift N bits per clock cycle when said signal is in said first logic state; and (c) for enabling the shift register to receive one bit of the configuration bitstream in a clock cycle and for enabling each bit of the configuration bitstream received by the shift register to shift one bit per clock cycle when said signal is in said second logic state.
Claim 6
Independent Claim 203 words
A method for reducing the size of a configuration bitstream for a Field Programmable Gate Array, comprising the steps of: (a) receiving a configuration bitstream, wherein said configuration bitstream is comprised of frames, wherein said frames include control bits, address bits and data bits, said data bits to be written into an address location in a switching array of the Field Programmable Gate Array at a location indicated by said address bits; wherein said control bits of each frame have a compress bit, and wherein said compress bit has a first or a second logic state; (b) receiving a frame of the configuration bitstream with said compress bit in said first logic state; (c) writing data bits to an address location of said switching array specified by said address bits of said received frame; (d) receiving a frame of the configuration bitstream with said compress bit in said second logic state; (e) writing data bits, associated with the previous frame received when the compress bit was in said first logic state, to an address location in said switching array specified by said address bits of said received frame of step (d), wherein in said received frame of step (d) has no data bits.
Claim 7
Independent Claim 203 words
A method for reducing the size of a configuration bitstream for a Field Programmable Gate Array, comprising the steps of: (a) receiving a configuration bitstream, wherein said configuration bitstream is comprised of frames, wherein said frames include control bits, address bits and data bits, said data bits to be written into an address location in a switching array of the Field Programmable Gate Array at a location indicated by said address bits; wherein said control bits of each frame have a compress bit, and wherein said compress bit has a first or a second logic state; (b) receiving a frame of the configuration bitstream with said compress bit in said first logic state; (c) writing data bits to an address location of said switching array specified by said address bits of said received frame; (d) receiving a frame of the configuration bitstream with said compress bit in said second logic state; (e) writing data bits, associated with the previous frame received when the compress bit was in said first logic state, to an address location in said switching array specified by said address bits of said received frame of step (d), wherein in said received frame of step (d) has no data bits.
Claim 8
Dependent Claim 29 words
The method of claim 4, wherein said control bits of each frame have an increment bit and wherein said increment bit has a first or a second logic state.
Claim 9
Dependent Claim 102 words
The method of claim 5, further comprising the steps of: (f) receiving a frame of the configuration bitstream with said increment bit in said first logic state, (g) writing data bits of said received frame to an address of said switching array specified by said address bits; (h) receiving a second frame of the configuration bitstream with said increment bit in said second logic state, (i) incrementing said address by a predetermined number; and (j) writing data bits of said second frame to said incremented address of said switching array, wherein said second frame of the configuration bitstream includes no address bits.
Claim 10
Independent Claim 187 words
A method for reducing the size of a configuration bitstream for a Field Programmable Gate Array, comprising the steps of: (a) receiving a configuration bitstream, wherein said configuration bitstream is comprised of frames, wherein said frames include control bits, address bits and data bits, said data bits to be written to an address in a switching array of the Field Programmable Gate Array at an address indicated by said address bits; wherein said control bits of each frame have an increment bit, and wherein said increment bit has a first or a second logic state; (b) receiving a frame of the configuration bitstream with said increment bit in said first logic state, (c) writing data bits of said received frame to an address of said switching array specified by said address bits; (d) receiving a second frame of the configuration bitstream with said increment bit in said second logic state, (e) incrementing said address by a predetermined number; and (f) writing data bits of said second frame to said incremented address of said switching array, wherein said second frame of the configuration bitstream includes no address bits.
Claim 11
Independent Claim 187 words
A method for reducing the size of a configuration bitstream for a Field Programmable Gate Array, comprising the steps of: (a) receiving a configuration bitstream, wherein said configuration bitstream is comprised of frames, wherein said frames include control bits, address bits and data bits, said data bits to be written to an address in a switching array of the Field Programmable Gate Array at an address indicated by said address bits; wherein said control bits of each frame have an increment bit, and wherein said increment bit has a first or a second logic state; (b) receiving a frame of the configuration bitstream with said increment bit in said first logic state, (c) writing data bits of said received frame to an address of said switching array specified by said address bits; (d) receiving a second frame of the configuration bitstream with said increment bit in said second logic state, (e) incrementing said address by a predetermined number; and (f) writing data bits of said second frame to said incremented address of said switching array, wherein said second frame of the configuration bitstream includes no address bits.
Claim 12
Dependent Claim 29 words
The method of claim 7, wherein said control bits of each frame have a compress bit, and wherein said compress bit has a first or a second logic state.
Claim 13
Dependent Claim 118 words
The method of claim 8, further comprising the steps of: (g) receiving a frame of the configuration bitstream with said compress bit in said first logic state; (h) writing data bits to an address location of said switching array specified by said address bits of said received frame; (i) receiving a frame of the configuration bitstream with said compress bit in said second logic state; and (j) writing data bits, associated with the previous frame received when the compress bit was in said first logic state, to an address location in said switching array specified by said address bits of said received frame of step (i), wherein in said received frame of step (i) has no data bits.

References Cited (Backward Citations)

US4377757A Cited
US4670749A Cited
US4935737A Cited
US5256918A Cited
US5329179A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag