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

Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor

Assignee: SeaSound LLC
•
Filing: 1994-07-27
•
Granted: 1997-02-04
•
Expires: 2014-07-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An integrated circuit computing device is comprised of a dynamically configurable Field Programmable Gate Array (FPGA). This gate array is configured to implement a RISC processor and a Reconfigurable Instruction Execution Unit. Since the FPGA can be dynamically reconfigured, the Reconfigurable Instruction Execution Unit can be dynamically changed to implement complex operations in hardware rather than in time-consuming software routines. This feature allows the computing device to operate at speeds that are orders of magnitude greater than traditional RISC or CISC counterparts. In addition, the programmability of the computing device makes it very flexible and hence, ideally suited to handle a large number of very complex and different applications.

Inventors

  • 👤 Kent L. Gilson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 10:30
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30181; G06F15/00; G06F15/76; G06F15/78; G06F15/7867

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 171 words
An integrated circuit computing device comprising, in combination: a dynamically reconfigurable gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and programming means for programming said I/O blocks, said logic blocks, and said routing resources, said programming means defining an appropriate mode of operation for said gate array; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within said gate array by programming said programming means for processing instructions received from said external source; and reconfigurable instruction execution means implemented within said gate array by programming said programming means and coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received.
Claim 2
Dependent Claim 171 words
An integrated circuit computing device comprising, in combination: a dynamically reconfigurable gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and programming means for programming said I/O blocks, said logic blocks, and said routing resources, said programming means defining an appropriate mode of operation for said gate array; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within said gate array by programming said programming means for processing instructions received from said external source; and reconfigurable instruction execution means implemented within said gate array by programming said programming means and coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received.
Claim 3
Dependent Claim 50 words
The computing device of claim 1 wherein said I/O blocks comprise input means for providing a plurality of input signals to said logic blocks and said routing resources, and output means for providing a plurality of output signals from said logic blocks and said routing resources to said I/O blocks.
Claim 4
Dependent Claim 25 words
The computing device of claim 2 wherein said input means and said output means being implemented within said gate array by programming said programming means.
Claim 5
Dependent Claim 28 words
The computing device of claim 1 wherein said programming means comprises Random Access Memory (RAM) and wherein said programming means is programmed by writing data into said RAM.
Claim 6
Dependent Claim 31 words
The computing device of claim 4 wherein said RAM for said programming means comprises a shift register and wherein said programming means is programmed by shifting data into said shift register.
Claim 7
Dependent Claim 28 words
The computing device of claim 1 wherein said programming means comprises Random Access Memory (RAM) and wherein said programming means is programmed by writing data into said RAM.
Claim 8
Dependent Claim 31 words
The computing device of claim 6 wherein said RAM for said programming means comprises a shift register and wherein said programming means is programmed by shifting data into said shift register.
Claim 9
Dependent Claim 178 words
An integrated circuit computing device comprising, in combination: a dynamically configurable gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within said gate array by programming said RAM programming means for processing instructions received from said external source; and reconfigurable instruction execution means implemented within said gate array by programming said RAM programming means and coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received.
Claim 10
Dependent Claim 178 words
An integrated circuit computing device comprising, in combination: a dynamically configurable gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within said gate array by programming said RAM programming means for processing instructions received from said external source; and reconfigurable instruction execution means implemented within said gate array by programming said RAM programming means and coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received.
Claim 11
Dependent Claim 191 words
A computing system comprising, in combination: a plurality of dynamically configurable gate arrays each having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within each of said gate arrays by programming said RAM programming means within said gate arrays for processing instructions received from said external source; and reconfigurable instruction execution means coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received and implemented within each of said gate arrays by programming said RAM programming means within said gate arrays.
Claim 12
Dependent Claim 191 words
A computing system comprising, in combination: a plurality of dynamically configurable gate arrays each having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within each of said gate arrays by programming said RAM programming means within said gate arrays for processing instructions received from said external source; and reconfigurable instruction execution means coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received and implemented within each of said gate arrays by programming said RAM programming means within said gate arrays.
Claim 13
Dependent Claim 210 words
An integrated circuit computing device comprising, in combination: a dynamically configurable gate array based on Random Access Memory (RAM), said gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; interface means implemented within said gate array for allowing communication between said gate array and an external device coupled to said interface means; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to said interface means, and located within said gate array by programming said RAM programming means for processing instructions received from said external device; and reconfigurable instruction execution means implemented within said gate array by programming said RAM programming means and coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external device and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received.
Claim 14
Dependent Claim 210 words
An integrated circuit computing device comprising, in combination: a dynamically configurable gate array based on Random Access Memory (RAM), said gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; interface means implemented within said gate array for allowing communication between said gate array and an external device coupled to said interface means; microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to said interface means, and located within said gate array by programming said RAM programming means for processing instructions received from said external device; and reconfigurable instruction execution means implemented within said gate array by programming said RAM programming means and coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external device and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received.
Claim 15
Independent Claim 222 words
A method of high-speed computing comprising the steps of: providing a dynamically configurable gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and programming means for programming said I/O blocks, said logic blocks, and said routing resources, said programming means defining an appropriate mode of operation for said gate array; providing microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within said gate array by programming said programming means for processing instructions received from said external source; implementing reconfigurable instruction execution means within said gate array by programming said programming means, said reconfigurable instruction execution means being coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received; and reconfiguring said reconfigurable instruction execution means by programming said programming means to change said reconfigurable instruction execution means so an operation on data within said reconfigurable instruction execution means is carried out by circuits within said gate array after said reconfiguring is complete.
Claim 16
Independent Claim 222 words
A method of high-speed computing comprising the steps of: providing a dynamically configurable gate array having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and programming means for programming said I/O blocks, said logic blocks, and said routing resources, said programming means defining an appropriate mode of operation for said gate array; providing microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within said gate array by programming said programming means for processing instructions received from said external source; implementing reconfigurable instruction execution means within said gate array by programming said programming means, said reconfigurable instruction execution means being coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate array according to said information received; and reconfiguring said reconfigurable instruction execution means by programming said programming means to change said reconfigurable instruction execution means so an operation on data within said reconfigurable instruction execution means is carried out by circuits within said gate array after said reconfiguring is complete.
Claim 17
Dependent Claim 24 words
The method of claim 11 wherein said microprocessor means remains unchanged when said reconfigurable instruction execution means is reconfigured by programming said programming means.
Claim 18
Dependent Claim 228 words
A computing system comprising, in combination: a plurality of dynamically configurable gate arrays each having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; microprocessor means coupled to an external source comprising a Reduced Instruction Set Computer (RISC) located within each of said gate arrays by programming said RAM programming means within said gate arrays for processing instructions received from said external source; reconfigurable instruction execution means coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks and implemented within each of said gate arrays by programming said RAM programming means within said gate arrays according to said information received; and host means coupled to said plurality of dynamically configurable gate arrays for programming a first of said plurality of dynamically configurable gate arrays to perform computations while said host means dynamically reconfigures a second of said plurality of dynamically configurable gate arrays.
Claim 19
Dependent Claim 228 words
A computing system comprising, in combination: a plurality of dynamically configurable gate arrays each having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and Random Access Memory (RAM) programming means for programming said I/O blocks, said logic blocks and said routing resources, said RAM programming means defining an appropriate mode of operation for said gate array; microprocessor means coupled to an external source comprising a Reduced Instruction Set Computer (RISC) located within each of said gate arrays by programming said RAM programming means within said gate arrays for processing instructions received from said external source; reconfigurable instruction execution means coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks and implemented within each of said gate arrays by programming said RAM programming means within said gate arrays according to said information received; and host means coupled to said plurality of dynamically configurable gate arrays for programming a first of said plurality of dynamically configurable gate arrays to perform computations while said host means dynamically reconfigures a second of said plurality of dynamically configurable gate arrays.
Claim 20
Independent Claim 258 words
A method of high-speed computing comprising the steps of: providing a plurality of dynamically configurable gate arrays each having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and programming means for programming said I/O blocks, said logic blocks, and said routing resources, said programming means defining an appropriate mode of operation for said gate array; providing microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within each of said gate arrays by programming said programming means for processing instructions received from said external source; implementing reconfigurable instruction execution means within each of said gate arrays by programming said programming means, said reconfigurable instruction execution means being coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate arrays according to said information received; reconfiguring said reconfigurable instruction execution means by programming said programming means to change said reconfigurable instruction execution means so an operation on data within said reconfigurable instruction execution means is carried out by circuits within said gate arrays after said reconfiguring is complete; and programming a first of said plurality of dynamically configurable gate arrays performing computations while said external source dynamically reconfigures a second of said plurality of dynamically configurable gate arrays.
Claim 21
Independent Claim 258 words
A method of high-speed computing comprising the steps of: providing a plurality of dynamically configurable gate arrays each having a plurality of input/output (I/O) pads, a plurality of I/O blocks, a plurality of programmable logic blocks, a plurality of programmable routing resources for interconnecting said I/O pads, said I/O blocks and said logic blocks, and programming means for programming said I/O blocks, said logic blocks, and said routing resources, said programming means defining an appropriate mode of operation for said gate array; providing microprocessor means comprising a Reduced Instruction Set Computer (RISC) coupled to an external source and located within each of said gate arrays by programming said programming means for processing instructions received from said external source; implementing reconfigurable instruction execution means within each of said gate arrays by programming said programming means, said reconfigurable instruction execution means being coupled to said microprocessor means for receiving and processing information received from at least one of said microprocessor means and said external source and for performing manipulation and computation of data contained within said logic blocks of said gate arrays according to said information received; reconfiguring said reconfigurable instruction execution means by programming said programming means to change said reconfigurable instruction execution means so an operation on data within said reconfigurable instruction execution means is carried out by circuits within said gate arrays after said reconfiguring is complete; and programming a first of said plurality of dynamically configurable gate arrays performing computations while said external source dynamically reconfigures a second of said plurality of dynamically configurable gate arrays.
Claim 22
Dependent Claim 49 words
The method of claim 14 wherein said I/O blocks comprise input means for providing a plurality of input signals to said logic blocks and said routing resources, and output means for providing a plurality of output signals from said logic blocks and said routing resources to said I/O blocks.
Claim 23
Dependent Claim 24 words
The method of claim 15 wherein said input means and said output means being implemented within said gate array by programming said programming means.
Claim 24
Dependent Claim 27 words
The method of claim 14 wherein said programming means comprises Random Access Memory (RAM) and wherein said programming means is programmed by writing data into said RAM.
Claim 25
Dependent Claim 30 words
The method of claim 17 wherein said RAM for said programming means comprises a shift register and wherein said programming means is programmed by shifting data into said shift register.

References Cited (Backward Citations)

US4791603A Cited
US4831573A Cited
US4876466A Cited
US5233539A Cited
US5379382A Cited
US5280288A Cited
US5500609A Cited
US5361373A Cited
US5434629A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-04 2000-08-05 2001-02-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-04 2004-08-05 2005-02-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-04 2008-08-05 2009-02-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag