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

Computational field programmable architecture

Assignee: Individual
•
Filing: 1998-05-13
•
Granted: 2000-10-31
•
Expires: 2018-05-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computational field programable architecture targeted for compute intensive applications. The architecture is hierarchical and includes, for implementation of data path circuits, clusters of programable logic blocks that are designed to provide area-efficient realization of common arithmetic structures such as adders, subtracters and multipliers. The architecture includes a LUTb cluster for implementing the control part of a circuit. The programable logic blocks each include a stack of programable bit-slice logic elements each having 2 data inputs and a single data output, and a 1-bit full adder circuit. The bit slice logic elements allow bit-wise logic operations to be carried out and the programable logic blocks also include comparator logic to enable comparison operations to be performed. The bit slice logic elements each include a DFF at their output, and the DFFs in a programable logic blocks can be combined to form a register. The inputs of each of the programable logic blocks are connected to cluster level tracks through a partially populated crossbar.

Inventors

  • 👤 Alireza S. Kaviani
  • 👤 Steven D. Brown

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 05:28
CPC Classifications
H; H03; H03K; H03K19/00; H03K19/02; H03K19/173; H03K19/177; H03K19/17736; H03K19/17724; H03K19/17728; H03K19/17732

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 283 words
A field programmable architecture for compute-intensive applications, comprising: a section level interconnect channel; a first logic cluster for implementing control logic, comprising a plurality of logic blocks interconnected by a local interconnect channel that is in communication with said section level interconnect channel; and a second logic cluster for implementing data path operations, comprising a plurality of programable logic blocks interconnected by a cluster level interconnect channel that is in communication with said section level interconnect channel, said programable logic blocks each configured to perform operations on two N-bit operands and comprising: (a) a stack of N bit-slice logic elements each having two data bit inputs, a data bit output a multiply bit input, a carry-in bit input a carry-out bit output a programable operation select circuit for processing inputs received by said two data bit inputs and said multiply bit input, and a 1-bit full adder circuit for generating a sum-bit output and said carry-bit output in response to information received from said operation select circuit and said carry-in bit input the carry-in bit input of each successive bit slice logic element being connected to the carry-out bit output of the preceding bit-slice logic element; and (b) control means for programming the operation select circuits of each of said bit slice logic elements in order to selectively configure said programmable logic block to implement one of a ripple carry adder subtracter and partial multiplier, said programable logic blocks of said second logic cluster having a different configuration than the logic blocks of said first logic cluster such that said programable logic blocks provide a more area-efficient realization of adders, subtracters and partial multipliers than the logic blocks of said first logic cluster.
Claim 2
Dependent Claim 283 words
A field programmable architecture for compute-intensive applications, comprising: a section level interconnect channel; a first logic cluster for implementing control logic, comprising a plurality of logic blocks interconnected by a local interconnect channel that is in communication with said section level interconnect channel; and a second logic cluster for implementing data path operations, comprising a plurality of programable logic blocks interconnected by a cluster level interconnect channel that is in communication with said section level interconnect channel, said programable logic blocks each configured to perform operations on two N-bit operands and comprising: (a) a stack of N bit-slice logic elements each having two data bit inputs, a data bit output a multiply bit input, a carry-in bit input a carry-out bit output a programable operation select circuit for processing inputs received by said two data bit inputs and said multiply bit input, and a 1-bit full adder circuit for generating a sum-bit output and said carry-bit output in response to information received from said operation select circuit and said carry-in bit input the carry-in bit input of each successive bit slice logic element being connected to the carry-out bit output of the preceding bit-slice logic element; and (b) control means for programming the operation select circuits of each of said bit slice logic elements in order to selectively configure said programmable logic block to implement one of a ripple carry adder subtracter and partial multiplier, said programable logic blocks of said second logic cluster having a different configuration than the logic blocks of said first logic cluster such that said programable logic blocks provide a more area-efficient realization of adders, subtracters and partial multipliers than the logic blocks of said first logic cluster.
Claim 3
Dependent Claim 42 words
The field programable architecture according to claim 1 wherein the programable operation select circuit of each of said bit-slice logic elements includes a plurality of multiplexers, and said control means includes a plurality of programable SRAM cells operatively connected to said multiplexers.
Claim 4
Dependent Claim 68 words
The field programmable architecture according to claim 2 wherein each of said bit-slice logic elements includes an output logic circuit having an output multiplexer with a plurality of inputs, one of said inputs being connected to a sum-bit output of said adder circuit, said control means including means for selecting the output provided by the output multiplexer of the output logic circuit of each of said bit-slice elements.
Claim 5
Dependent Claim 69 words
The field programmable architecture according to claim 3 wherein said programable logic block includes comparator logic connected to said bit slice logic elements for generating logic outputs based on the relative values of said two N-bit operands, said comparator logic having different output lines for different logic comparisons, said output lines each being connected as an input to the output multiplexer of a different one of said bit-slice elements.
Claim 6
Dependent Claim 21 words
The field programmable architecture according to claim 1 wherein the value of N is within the range of 2 to 6.
Claim 7
Dependent Claim 31 words
The field programmable architecture according to claim 1 including a plurality of said second logic clusters, wherein the logic blocks of said first logic cluster are Look Up Table logic blocks.
Claim 8
Dependent Claim 203 words
A programmable logic block that can be configured to perform addition, subtraction and partial multiplication on two N-bit operands, comprising: (a) a stack of N bit-slice logic elements, each having two data bit inputs, a data bit output, a multiplier bit input, a carry-in bit input, and a carry-out bit output, the carry-in bit input of each successive bit-slice logic element being connected to the carry-out bit output of the preceding bit-slice logic element, each of said bit-slice elements including (i) a 1-bit full adder circuit for generating a sum-bit output on said data bit output and having carry logic connected to receive said carry-in bit input and generate an output on said carry-out bit output; and (ii) a programable operation select circuit connected to said 1-bit full adder circuit for selectively processing data received on said two data bit inputs and said multiplier control bit input, and providing said selectively processed data to said adder circuit, said operation select circuit of each of said bit-slice logic elements being programable such that said stack of bit-slice logic elements can selectively implement adders, subtracters and partial multipliers; and (b) control means for programming the operation select circuit of each of said bit-slice logic elements.
Claim 9
Dependent Claim 203 words
A programmable logic block that can be configured to perform addition, subtraction and partial multiplication on two N-bit operands, comprising: (a) a stack of N bit-slice logic elements, each having two data bit inputs, a data bit output, a multiplier bit input, a carry-in bit input, and a carry-out bit output, the carry-in bit input of each successive bit-slice logic element being connected to the carry-out bit output of the preceding bit-slice logic element, each of said bit-slice elements including (i) a 1-bit full adder circuit for generating a sum-bit output on said data bit output and having carry logic connected to receive said carry-in bit input and generate an output on said carry-out bit output; and (ii) a programable operation select circuit connected to said 1-bit full adder circuit for selectively processing data received on said two data bit inputs and said multiplier control bit input, and providing said selectively processed data to said adder circuit, said operation select circuit of each of said bit-slice logic elements being programable such that said stack of bit-slice logic elements can selectively implement adders, subtracters and partial multipliers; and (b) control means for programming the operation select circuit of each of said bit-slice logic elements.
Claim 10
Dependent Claim 53 words
The programable logic block according to claim 7 wherein said operation select circuit includes a by-passable AND gate which allows an input signal on said multiply-bit input to be ANDed with an input signal on one of said two data bit inputs when said programable logic block is configured to perform partial multiplication.
Claim 11
Dependent Claim 80 words
The programmable logic block according to claim 8 wherein said full adder circuit of each of said bit slice elements comprises a first XOR gate and a second XOR gate, the output of said first XOR gate and said carry-in input being the inputs of said second XOR gate, the output of said second XOR gate generating the sum-bit output of said adder, the output of said by-passable AND gate being connected to an input of said first XOR gate.
Claim 12
Dependent Claim 49 words
The programable logic block according to claim 9 wherein said programable operation select circuit includes a plurality of control multiplexers, and said control means including a plurality of SRAM cells, wherein each of said SRAM cells is operatively connected to said control multiplexers in each of said N-bit slices.
Claim 13
Dependent Claim 83 words
The programmable logic block according to claim 9 wherein each of said bit-slice logic elements includes an output logic circuit having an output select multiplexer with a plurality of inputs, one of said inputs being connected to receive the sum-bit output of said adder circuit and the output of said output select multiplexer being in communication with said data bit output, said control means including means for selecting the output provided by the output select multiplexer of each of said bit-slice logic elements.
Claim 14
Dependent Claim 69 words
The programable logic block according to claim 11 including a comparator logic circuit connected to each of said bit-slice logic elements for generating logic outputs based on the relative values of said two N-bit operands, said comparator logic circuit having different output lines for different logic comparisons, said output lines each being connected as an input to the output select multiplexer of a different one of said bit-slice elements.
Claim 15
Dependent Claim 71 words
The programable logic block according to claim 12 wherein the output circuit of each of said bit-slice elements includes a D flip-flop connected to the output of said output select multiplexer, and a switch for connecting the output of said D flip flop or the direct output of said output multiplexer to said data bit output, thereby enabling the stack of N bit-slice logic elements to function as a shift register.
Claim 16
Dependent Claim 22 words
The programmable logic block according to claim 11 wherein said logic block is nibble controlled and includes four of said bit-slice elements.
Claim 17
Dependent Claim 148 words
A programmable logic cluster for implementing data path operations comprising: a plurality of programable logic blocks for performing operations on 2 N-bit operands, said programable logic blocks each having 2 sets of N data bit inputs, a carry-in bit input, a multiply bit input, a carry-out bit output and a set of N data bit outputs, and including N bit-slice logic elements for performing bit-wise operations on said operands, and a comparator logic circuit connected to each of said bit-slice logic elements for generating logic outputs based on the relative values of the 2 N-bit operands, said programable logic blocks being programmable to realize adders, subtracters, and partial multipliers; and a cluster level interconnect channel interconnecting said plurality of programable logic blocks, having a plurality of cluster level tracks connected to the inputs of each of said programable logic blocks through switches located on a partially populated crossbar.
Claim 18
Dependent Claim 148 words
A programmable logic cluster for implementing data path operations comprising: a plurality of programable logic blocks for performing operations on 2 N-bit operands, said programable logic blocks each having 2 sets of N data bit inputs, a carry-in bit input, a multiply bit input, a carry-out bit output and a set of N data bit outputs, and including N bit-slice logic elements for performing bit-wise operations on said operands, and a comparator logic circuit connected to each of said bit-slice logic elements for generating logic outputs based on the relative values of the 2 N-bit operands, said programable logic blocks being programmable to realize adders, subtracters, and partial multipliers; and a cluster level interconnect channel interconnecting said plurality of programable logic blocks, having a plurality of cluster level tracks connected to the inputs of each of said programable logic blocks through switches located on a partially populated crossbar.
Claim 19
Dependent Claim 147 words
A programable logic cluster for implementing data path operations comprising: a plurality of programable logic blocks for performing operations on 2 N-bit operands, said programable logic blocks each having 2 sets of N data bit inputs, a carry-in bit input, a multiply bit input, a carry-out bit output and a set of N data bit outputs, and including N bit-slice logic elements for performing bit-wise operations on said operands, said programable logic blocks being programable to realize adders, subtracters, and partial multipliers; a cluster level interconnect channel interconnecting said plurality of programable logic blocks, having a plurality of cluster level tracks connected to the inputs of each of said programable logic blocks through switches located on a partially populated crossbar, said cluster level tracks being connected to said inputs by routing multiplexers; and dedicated routing lines between adjacent programable logic blocks for implementing multipliers and fast adders.
Claim 20
Dependent Claim 147 words
A programable logic cluster for implementing data path operations comprising: a plurality of programable logic blocks for performing operations on 2 N-bit operands, said programable logic blocks each having 2 sets of N data bit inputs, a carry-in bit input, a multiply bit input, a carry-out bit output and a set of N data bit outputs, and including N bit-slice logic elements for performing bit-wise operations on said operands, said programable logic blocks being programable to realize adders, subtracters, and partial multipliers; a cluster level interconnect channel interconnecting said plurality of programable logic blocks, having a plurality of cluster level tracks connected to the inputs of each of said programable logic blocks through switches located on a partially populated crossbar, said cluster level tracks being connected to said inputs by routing multiplexers; and dedicated routing lines between adjacent programable logic blocks for implementing multipliers and fast adders.
Claim 21
Dependent Claim 12 words
The programable logic cluster according to claim 1 wherein N is 4.

References Cited (Backward Citations)

US5926036A Cited
US5338983A Cited
US5818254A Cited
US5570039A Cited
US5966027A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-10-31 2004-05-01 2004-10-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-10-31 2008-05-01 2008-10-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-10-31 2012-05-01 2012-10-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag