JPH07273638A - 複数広域入力機能のためのプログラム式専用fpga機能ブロックを備えたfpgaアーキテクチャ - Google Patents
複数広域入力機能のためのプログラム式専用fpga機能ブロックを備えたfpgaアーキテクチャInfo
- Publication number
- JPH07273638A JPH07273638A JP6287346A JP28734694A JPH07273638A JP H07273638 A JPH07273638 A JP H07273638A JP 6287346 A JP6287346 A JP 6287346A JP 28734694 A JP28734694 A JP 28734694A JP H07273638 A JPH07273638 A JP H07273638A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- functional block
- adder
- input data
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17704—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3896—Bit slicing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
Abstract
(57)【要約】
【目的】 マルチビット出力機能ブロックの機能を性能
が拡散された形で、少ない面積でもたらすFPGAを提
供する。 【構成】 各々が加算器、減算器、振幅比較器、一致比
較器、アップ/ダウン・カウンタ、レジスタ、複数ビッ
トAND、および同等な装置の機能を果たすことのでき
る複数個のプログラム式複数ビット出力機能ブロック・
モジュールが、FPGAチップ上の所定の位置に配置さ
れる。機能ブロックの数はチップ上のFPGAモジュー
ルの数よりもはるかに少ない。機能ブロックの各々は複
数個の入力および出力を有しており、これら入力および
出力の各々は隣接するプログラム式相互接続資源に接続
可能である。機能ブロック間の通信はFPGAチップ上
で利用可能な標準的なプログラム式資源によって行われ
る。
が拡散された形で、少ない面積でもたらすFPGAを提
供する。 【構成】 各々が加算器、減算器、振幅比較器、一致比
較器、アップ/ダウン・カウンタ、レジスタ、複数ビッ
トAND、および同等な装置の機能を果たすことのでき
る複数個のプログラム式複数ビット出力機能ブロック・
モジュールが、FPGAチップ上の所定の位置に配置さ
れる。機能ブロックの数はチップ上のFPGAモジュー
ルの数よりもはるかに少ない。機能ブロックの各々は複
数個の入力および出力を有しており、これら入力および
出力の各々は隣接するプログラム式相互接続資源に接続
可能である。機能ブロック間の通信はFPGAチップ上
で利用可能な標準的なプログラム式資源によって行われ
る。
Description
【0001】
【産業上の利用分野】本発明はフィールド・プログラマ
ブル・ゲート・アレイ(FPGA)の分野に関する。詳
細にいえば、本発明はFPGA内にプログラム式専用マ
ルチビット出力機能ブロックを組み込むことによりFP
GAの効率を改善するための方法および装置に関する。
ブル・ゲート・アレイ(FPGA)の分野に関する。詳
細にいえば、本発明はFPGA内にプログラム式専用マ
ルチビット出力機能ブロックを組み込むことによりFP
GAの効率を改善するための方法および装置に関する。
【0002】
【従来の技術】FPGAは多数のFPGA論理モジュー
ル(FPGAでの最小のプログラマブル機能ブロック)
を備えており、該モジュールは次いで複数個のFPGA
ゲートを備えている。FPGAは所望の機能を遂行する
ためにユーザによってプログラムされる。FPGAの例
はElgamal 他による米国特許第4,758,745 号明細書およ
びFreeman による米国特許第4,870,302 号明細書に記載
されている。これら明細書は両者とも参照することによ
って、本明細書にすべてが記載されているかのように、
本明細書の一部をなすものである。
ル(FPGAでの最小のプログラマブル機能ブロック)
を備えており、該モジュールは次いで複数個のFPGA
ゲートを備えている。FPGAは所望の機能を遂行する
ためにユーザによってプログラムされる。FPGAの例
はElgamal 他による米国特許第4,758,745 号明細書およ
びFreeman による米国特許第4,870,302 号明細書に記載
されている。これら明細書は両者とも参照することによ
って、本明細書にすべてが記載されているかのように、
本明細書の一部をなすものである。
【0003】FPGAの論理モジュールは所与の入力か
ら任意の所望の出力を生成するようにプログラム可能な
マルチビット入力、シングルビット出力装置を備えてい
る。これは従来の技術においては、マルチプレクサ構
造、ルックアップ・テーブル、および論理ゲートによっ
て達成される。論理モジュールは一般に簡単にプログラ
ムできるものではなく、通常は、実質的に恒久的な方法
でユーザによってプログラムされる。
ら任意の所望の出力を生成するようにプログラム可能な
マルチビット入力、シングルビット出力装置を備えてい
る。これは従来の技術においては、マルチプレクサ構
造、ルックアップ・テーブル、および論理ゲートによっ
て達成される。論理モジュールは一般に簡単にプログラ
ムできるものではなく、通常は、実質的に恒久的な方法
でユーザによってプログラムされる。
【0004】FPGAは各種のディジタル信号の処理を
取り扱うのに優れており、きわめて柔軟な方法をもたら
すものであるが、加算器、減算器、振幅比較器、一致比
較器、アップ/ダウン・カウンタ、レジスタ、およびマ
ルチビットANDゲートなどの典型的なマルチビット機
能ブロックを形成するには、比較的多くのFPGA論理
モジュールが通常必要である。通常、これらの機能ブロ
ックのうちのいくつかは数千個ずつのFPGAゲートを
使用する。現在の技術を使用すると、これらの周期的に
必要となる機能ブロックの機能を提供するためには、き
わめて多くのFPGAを専用のものとする必要がある。
取り扱うのに優れており、きわめて柔軟な方法をもたら
すものであるが、加算器、減算器、振幅比較器、一致比
較器、アップ/ダウン・カウンタ、レジスタ、およびマ
ルチビットANDゲートなどの典型的なマルチビット機
能ブロックを形成するには、比較的多くのFPGA論理
モジュールが通常必要である。通常、これらの機能ブロ
ックのうちのいくつかは数千個ずつのFPGAゲートを
使用する。現在の技術を使用すると、これらの周期的に
必要となる機能ブロックの機能を提供するためには、き
わめて多くのFPGAを専用のものとする必要がある。
【0005】FPGA論理モジュール外でこれらの機能
ブロックを構築するのには、2つの大きな欠点がある。
まず、絶対的に必要以上のチップの表面積すなわち「不
動産」が使用される。第2に、FPGA論理モジュール
外で構築した機能ブロックの性能は、同じことを行うよ
うに構成された対応するASIC標準セルの性能にさえ
も、はるかに及ばないものとなる。
ブロックを構築するのには、2つの大きな欠点がある。
まず、絶対的に必要以上のチップの表面積すなわち「不
動産」が使用される。第2に、FPGA論理モジュール
外で構築した機能ブロックの性能は、同じことを行うよ
うに構成された対応するASIC標準セルの性能にさえ
も、はるかに及ばないものとなる。
【0006】上述の機能ブロックの機能を提供するもう
1つの方法は、個々のFPGA論理モジュールの各々
(または、少なくともその多数)におかれる何らかの付
加的な分散能力を設けることである。これらの機能拡張
をFPGA論理モジュール自体の基本能力と組み合わ
せ、これらの機能を遂行するために標準的なFPGAモ
ジュールを単純に構成することによって許容される面積
よりも小さい面積でより高い性能をもたらす機能ブロッ
クを構成することができる。この場合の欠点は、付加さ
れた分散機能が配置および経路指定プログラムで利用で
きる柔軟性と自由度を犠牲にしたものであり、FPGA
の他の部分の機能を劣化させる可能性があることであ
る。このような手法の例はカリフォルニア州サンノゼの
Xilinx, Inc.のXC-4000 製品、およびカリフォルニア
州サンノゼのAltera CorporationのEPM-7000製品にみら
れる。
1つの方法は、個々のFPGA論理モジュールの各々
(または、少なくともその多数)におかれる何らかの付
加的な分散能力を設けることである。これらの機能拡張
をFPGA論理モジュール自体の基本能力と組み合わ
せ、これらの機能を遂行するために標準的なFPGAモ
ジュールを単純に構成することによって許容される面積
よりも小さい面積でより高い性能をもたらす機能ブロッ
クを構成することができる。この場合の欠点は、付加さ
れた分散機能が配置および経路指定プログラムで利用で
きる柔軟性と自由度を犠牲にしたものであり、FPGA
の他の部分の機能を劣化させる可能性があることであ
る。このような手法の例はカリフォルニア州サンノゼの
Xilinx, Inc.のXC-4000 製品、およびカリフォルニア
州サンノゼのAltera CorporationのEPM-7000製品にみら
れる。
【0007】
【発明が解決しようとする課題】したがって、本発明の
目的は、加算器、減算器、振幅比較器、一致比較器、ア
ップ/ダウン・カウンタ、レジスタ、およびマルチビッ
トANDゲートなどのマルチビット出力機能ブロックの
機能を性能が拡張された形で、少ない面積でもたらすこ
とのできる改善されたFPGAを提供することである。
目的は、加算器、減算器、振幅比較器、一致比較器、ア
ップ/ダウン・カウンタ、レジスタ、およびマルチビッ
トANDゲートなどのマルチビット出力機能ブロックの
機能を性能が拡張された形で、少ない面積でもたらすこ
とのできる改善されたFPGAを提供することである。
【0008】本発明の他の目的は、FPGA論理モジュ
ールを使用することを必要とせずに、マルチビット出力
機能を遂行できる複数個のマルチビット出力機能ブロッ
クをもたらす改善されたFPGAを提供することであ
る。
ールを使用することを必要とせずに、マルチビット出力
機能を遂行できる複数個のマルチビット出力機能ブロッ
クをもたらす改善されたFPGAを提供することであ
る。
【0009】本発明の更に他の目的は、性能の改善され
たFPGAを提供することである。
たFPGAを提供することである。
【0010】本発明の更にまた他の目的は、本発明の利
点が組み込まれていないFPGAと同じタスクを遂行す
るのに必要なチップ面積がより少ないFPGAを提供す
ることである。
点が組み込まれていないFPGAと同じタスクを遂行す
るのに必要なチップ面積がより少ないFPGAを提供す
ることである。
【0011】本発明のこれらおよび他の目的、ならびに
利点は図面および本発明の以下の説明の考察から、当業
者には明らかとなろう。
利点は図面および本発明の以下の説明の考察から、当業
者には明らかとなろう。
【0012】
【課題を解決するための手段】本発明によれば、各々が
一連の加算器、減算器、振幅比較器、一致比較器、アッ
プ/ダウン・カウンタ、レジスタ、マルチビットAND
ゲート、および類似の装置などのうちの1つの機能性を
帯びることができる複数個のプログラム式マルチビット
出力機能ブロック・モジュールが、FPGAチップ上の
所定の位置に配置される。機能ブロックの数はチップ上
のFPGAモジュールの数よりもはるかに少ない。機能
ブロックの各々は複数の入力および出力を有しており、
これらの各々は隣接するプログラム式相互接続資源に接
続可能である。機能ブロック間の通信はFPGAチップ
上で利用可能な標準的なプログラム式資源によって行わ
れる。
一連の加算器、減算器、振幅比較器、一致比較器、アッ
プ/ダウン・カウンタ、レジスタ、マルチビットAND
ゲート、および類似の装置などのうちの1つの機能性を
帯びることができる複数個のプログラム式マルチビット
出力機能ブロック・モジュールが、FPGAチップ上の
所定の位置に配置される。機能ブロックの数はチップ上
のFPGAモジュールの数よりもはるかに少ない。機能
ブロックの各々は複数の入力および出力を有しており、
これらの各々は隣接するプログラム式相互接続資源に接
続可能である。機能ブロック間の通信はFPGAチップ
上で利用可能な標準的なプログラム式資源によって行わ
れる。
【0013】
【実施例】当業者には、本発明の以下の説明が説明のた
めのみのものであって、いかなる点においても限定的な
ものではないことが認識されよう。開示を検討すること
によって、本発明の他の実施例を当分野の技術者に簡単
に示唆することができる。
めのみのものであって、いかなる点においても限定的な
ものではないことが認識されよう。開示を検討すること
によって、本発明の他の実施例を当分野の技術者に簡単
に示唆することができる。
【0014】本発明は同一の機能を達成するためにより
一般的なシングルビット出力FPGAを使用せずに、F
PGA上にマルチビット出力機能ブロックを提供する方
法および装置を対象とするものである。
一般的なシングルビット出力FPGAを使用せずに、F
PGA上にマルチビット出力機能ブロックを提供する方
法および装置を対象とするものである。
【0015】FPGAモジュール外に機能ブロックを構
築する柔軟性には及ばないが、本発明は性能がはるかに
高く、消費されるシリコン・レイアウト面積の点でコス
トがはるかに低い機能ブロックを提供する。各(あるい
は、ほとんどの)FPGAモジュールに何らかの分散機
能を設けることと比較して、本発明は性能が高く、面積
コストが低く、柔軟性は匹敵するものとなる。
築する柔軟性には及ばないが、本発明は性能がはるかに
高く、消費されるシリコン・レイアウト面積の点でコス
トがはるかに低い機能ブロックを提供する。各(あるい
は、ほとんどの)FPGAモジュールに何らかの分散機
能を設けることと比較して、本発明は性能が高く、面積
コストが低く、柔軟性は匹敵するものとなる。
【0016】本発明の本質は、FPGAで利用可能な一
般的な相互接続構造を使用して、広い範囲にわたる各種
のしばしば必要とされるマルチビット出力機能が可能で
あり、かつプログラム可能である機能ブロック・モジュ
ールを設計することである。
般的な相互接続構造を使用して、広い範囲にわたる各種
のしばしば必要とされるマルチビット出力機能が可能で
あり、かつプログラム可能である機能ブロック・モジュ
ールを設計することである。
【0017】以下で説明する機能ブロック・モジュール
はすべて、8ビット幅の演算を行う。原則として、演算
幅に対して任意のビット数を選択することができる。個
々のFPGAの目的用途および市場にもよるが、4ビッ
ト、6ビット、12ビット、さらには16ビットが適切
である。性能はブロックの幅を広げれば向上するが、ブ
ロックの無駄となる部分が増加する可能性があるため、
コストも上昇する。
はすべて、8ビット幅の演算を行う。原則として、演算
幅に対して任意のビット数を選択することができる。個
々のFPGAの目的用途および市場にもよるが、4ビッ
ト、6ビット、12ビット、さらには16ビットが適切
である。性能はブロックの幅を広げれば向上するが、ブ
ロックの無駄となる部分が増加する可能性があるため、
コストも上昇する。
【0018】8ビットのブロックを使用して、Nがいく
つであっても、1つまたは複数のNビット幅の機能を実
現することができる(ただし、N=1、2、... 、
8)。希望する機能が8ビットよりも広い場合には、い
くつかの機能ブロックをFPGAのプログラム式相互接
続構造によって組み合わせ、相互に接続して、希望する
サイズを達成することができる。たとえば、13ビット
幅の加算器を構築するには、2つのブロックの8ビット
加算器を使用するだけでよい。
つであっても、1つまたは複数のNビット幅の機能を実
現することができる(ただし、N=1、2、... 、
8)。希望する機能が8ビットよりも広い場合には、い
くつかの機能ブロックをFPGAのプログラム式相互接
続構造によって組み合わせ、相互に接続して、希望する
サイズを達成することができる。たとえば、13ビット
幅の加算器を構築するには、2つのブロックの8ビット
加算器を使用するだけでよい。
【0019】機能ブロックはFPDAモジュールに分散
されない。機能ブロックのサイズ、形状、回路、ならび
にかかる機能ブロックのプログラム式入力および出力の
数は、FPGA上の典型的なFPGAのものとは異なっ
ている。各機能ブロックはまとまったユニットとして、
FPGA上の選択した位置に配置される。機能ブロック
は多数の入力および出力を有しており、その各々は隣接
するプログラム式相互接続資源に接続可能である。機能
ブロック間、ならびに機能ブロックとFPGAモジュー
ルとの間の通信はFPGA上で利用可能な標準的な相互
接続資源によって行われる。2つ以上の異なるタイプの
プログラム式相互接続資源が利用できる場合には、各種
のタイプに関してこれらのうちから選択を行うことがで
きる。たとえば、2つの加算器を互いに接続して、大型
の加算機を形成する場合、加算器は最高速タイプの相互
接続資源にアクセスし、もっとも高い(最高速な)性能
レベルを維持することができる(また、すべきであ
る)。
されない。機能ブロックのサイズ、形状、回路、ならび
にかかる機能ブロックのプログラム式入力および出力の
数は、FPGA上の典型的なFPGAのものとは異なっ
ている。各機能ブロックはまとまったユニットとして、
FPGA上の選択した位置に配置される。機能ブロック
は多数の入力および出力を有しており、その各々は隣接
するプログラム式相互接続資源に接続可能である。機能
ブロック間、ならびに機能ブロックとFPGAモジュー
ルとの間の通信はFPGA上で利用可能な標準的な相互
接続資源によって行われる。2つ以上の異なるタイプの
プログラム式相互接続資源が利用できる場合には、各種
のタイプに関してこれらのうちから選択を行うことがで
きる。たとえば、2つの加算器を互いに接続して、大型
の加算機を形成する場合、加算器は最高速タイプの相互
接続資源にアクセスし、もっとも高い(最高速な)性能
レベルを維持することができる(また、すべきであ
る)。
【0020】図1において、ユーザが選択できる以下の
1ないし8ビットの機能のいずれかを実施できるを本発
明の第1の好ましい実施例による機能ブロック・モジュ
ールが示されている。
1ないし8ビットの機能のいずれかを実施できるを本発
明の第1の好ましい実施例による機能ブロック・モジュ
ールが示されている。
【0021】(a)加算器 (b)減算器 (c)振幅比較器 (d)一致比較器 (e)アップ/ダウン・カウンタ(ユーザの選択にした
がってカウント・アップまたはカウント・ダウンを行う
カウンタ、あるいは受け取る入力データに応じてカウン
ト・アップまたはカウント・ダウンを行うカウンタ) (f)レジスタ(逆転または非逆転レジスタ、あるいは
CLEAR 、PRESET、ENABLEなどのその他の機能を有するレ
ジスタ) (g)ANDゲート (h)オプション(a)、(b)、(c)および(d)
を任意所望の組合せの入力および/または出力レジスタ
によって組み合わせたもの。
がってカウント・アップまたはカウント・ダウンを行う
カウンタ、あるいは受け取る入力データに応じてカウン
ト・アップまたはカウント・ダウンを行うカウンタ) (f)レジスタ(逆転または非逆転レジスタ、あるいは
CLEAR 、PRESET、ENABLEなどのその他の機能を有するレ
ジスタ) (g)ANDゲート (h)オプション(a)、(b)、(c)および(d)
を任意所望の組合せの入力および/または出力レジスタ
によって組み合わせたもの。
【0022】(i)デコーダ 図1に示した機能ブロックは可能な多くの機能ブロック
のうちの1つにすぎない。さらに、意図している用途の
範囲によっては、このブロックの機能性を2つ以上の個
別の機能ブロックに分割し、これらをプログラム式の高
性能相互接続機構で接続するのが好ましいこともある。
たとえば、機能(f)、(g)および(h)を簡単に、
機能(a)、(b)、(c)および(d)から分離する
ことができる。この場合、機能(e)および(i)を以
前と同様に、これらのサブブロックの相互接続された組
合せを使用して行うことができる。
のうちの1つにすぎない。さらに、意図している用途の
範囲によっては、このブロックの機能性を2つ以上の個
別の機能ブロックに分割し、これらをプログラム式の高
性能相互接続機構で接続するのが好ましいこともある。
たとえば、機能(f)、(g)および(h)を簡単に、
機能(a)、(b)、(c)および(d)から分離する
ことができる。この場合、機能(e)および(i)を以
前と同様に、これらのサブブロックの相互接続された組
合せを使用して行うことができる。
【0023】上記の機能はモジュールの各種の入力を論
理0または論理1のいずれかに適宜構成することによっ
て選択可能である。重要なことに、すべての機能(機能
(e)をのぞく)を、回路の作動中に、データ入力の値
によって「簡単」に選択することができる。たとえば、
回路をデータ入力に応じて、加算器から減算器へ、ある
いはANDゲートへ切り換えることができる。機能
(e)はしかしながら、FPGAの相互接続機構を使用
して機能ブロックの出力と入力を相互接続することを含
んでおり、したがって、回路の作動中に他の機能に変換
することはできない。
理0または論理1のいずれかに適宜構成することによっ
て選択可能である。重要なことに、すべての機能(機能
(e)をのぞく)を、回路の作動中に、データ入力の値
によって「簡単」に選択することができる。たとえば、
回路をデータ入力に応じて、加算器から減算器へ、ある
いはANDゲートへ切り換えることができる。機能
(e)はしかしながら、FPGAの相互接続機構を使用
して機能ブロックの出力と入力を相互接続することを含
んでおり、したがって、回路の作動中に他の機能に変換
することはできない。
【0024】図2に示すように、図1のブロック10お
よび12(図1では「RM-1」というラベルが付けられて
いる)はレジスタ14とマルチプレクサ16を組み合わ
せたものである。この詳細を図2に示す。レジスタ14
は単純なDフリップフロップであるが、CLEAR 、PRESE
T、ENABLEなどの付加機能を有している。
よび12(図1では「RM-1」というラベルが付けられて
いる)はレジスタ14とマルチプレクサ16を組み合わ
せたものである。この詳細を図2に示す。レジスタ14
は単純なDフリップフロップであるが、CLEAR 、PRESE
T、ENABLEなどの付加機能を有している。
【0025】図1でそれぞれ「RM-8 UNIT B 」、「RM-8
UNIT A 」および「RM-8」というラベルの付いているブ
ロック18、20および22は、8ビット幅並列構成の
ブロックRM-1であり、各RM-1に対するDATA入力は異なっ
ているが、CLOCK およびREGISTER BYPASS 入力はすべて
に共通である。CLEAR 、PRESET、ENABLEなどに対する付
加的な入力がある場合、これらもRM-8ブロック内の8個
のRM-1全部に共通とされる。
UNIT A 」および「RM-8」というラベルの付いているブ
ロック18、20および22は、8ビット幅並列構成の
ブロックRM-1であり、各RM-1に対するDATA入力は異なっ
ているが、CLOCK およびREGISTER BYPASS 入力はすべて
に共通である。CLEAR 、PRESET、ENABLEなどに対する付
加的な入力がある場合、これらもRM-8ブロック内の8個
のRM-1全部に共通とされる。
【0026】図1で「AND-9 」というラベルの付いてい
るブロック24は単純な9入力ANDゲートである。
るブロック24は単純な9入力ANDゲートである。
【0027】図1で「8-INV 」というラベルの付いてい
るブロック26は8ビット幅の信号を反転するだけの8
入力並列インバータのバンクである。
るブロック26は8ビット幅の信号を反転するだけの8
入力並列インバータのバンクである。
【0028】図1で「8-MX2 」というラベルの付いてい
るブロック28は並列2入力マルチプレクサのバンクで
ある。マルチプレクサ(SUBTRACTという名称の)に対す
るSELECT入力は、これら全部に対して共通である。
るブロック28は並列2入力マルチプレクサのバンクで
ある。マルチプレクサ(SUBTRACTという名称の)に対す
るSELECT入力は、これら全部に対して共通である。
【0029】「ADDER 」というラベルの付いているブロ
ック29は2つの8ビット入力とCARRY 出力を有する8
ビット加算器である。このような加算器は当業者には周
知である。
ック29は2つの8ビット入力とCARRY 出力を有する8
ビット加算器である。このような加算器は当業者には周
知である。
【0030】この機能ブロックによって上述の機能を遂
行するために、入力で必要とされるデータ値を次の表1
に示す。
行するために、入力で必要とされるデータ値を次の表1
に示す。
【0031】
【表1】 表1において、「DATA」は値が任意の入力値になりうる
ことを意味し、「DATA」は前または次いずれか該当する
方の列のDATAと反対の値を意味し、「ADDR」はデコード
対象のアドレス値を意味し、「X 」は情報が無関係であ
ることを意味する。
ことを意味し、「DATA」は前または次いずれか該当する
方の列のDATAと反対の値を意味し、「ADDR」はデコード
対象のアドレス値を意味し、「X 」は情報が無関係であ
ることを意味する。
【0032】より大きな(8ビット幅超の)機能ブロッ
クを複数個のユニットから構築する場合には、FPGA
の意図している速度および密度に応じて、いくつかのオ
プションを用いてもかまわない。もっとも単純なオプシ
ョンは複数の機能ブロックを直列に相互接続し、大きな
ブロックを得ることである。たとえば、3つのユニット
から24(またはそれ以下の)ビット幅の加算器を構築
することができる。この手法はもっとも費用効果が高い
が、もたらされる性能はもっとも低いものとなる。この
オプションを回避したい場合には、図1に示すブロック
8-MX2 を個別な(より小さい)機能ブロックとして利用
することもできれば、あるいは図3に示す機能ブロック
の一部として含めることもできる。図3は本発明の第2
の好ましい実施例を表す。
クを複数個のユニットから構築する場合には、FPGA
の意図している速度および密度に応じて、いくつかのオ
プションを用いてもかまわない。もっとも単純なオプシ
ョンは複数の機能ブロックを直列に相互接続し、大きな
ブロックを得ることである。たとえば、3つのユニット
から24(またはそれ以下の)ビット幅の加算器を構築
することができる。この手法はもっとも費用効果が高い
が、もたらされる性能はもっとも低いものとなる。この
オプションを回避したい場合には、図1に示すブロック
8-MX2 を個別な(より小さい)機能ブロックとして利用
することもできれば、あるいは図3に示す機能ブロック
の一部として含めることもできる。図3は本発明の第2
の好ましい実施例を表す。
【0033】本発明の第2の好ましい実施例を図3に示
す。図3は図1の実施例にボックス30に示す回路を加
えたものを表している。この場合、「MX-2」というラベ
ルの付いたマルチプレクサ32を使用して、RM-1(1
2)からのCARRY OUT 信号をOTHER-CARRY 信号と多重化
する。マルチプレクサ34は2ビット・マルチプレクサ
の8ビット幅の並列アレイであり、OTHER-SELECTを使用
し、RM-8(22)からのSUM 出力をOTHER-SUM と多重化
する。
す。図3は図1の実施例にボックス30に示す回路を加
えたものを表している。この場合、「MX-2」というラベ
ルの付いたマルチプレクサ32を使用して、RM-1(1
2)からのCARRY OUT 信号をOTHER-CARRY 信号と多重化
する。マルチプレクサ34は2ビット・マルチプレクサ
の8ビット幅の並列アレイであり、OTHER-SELECTを使用
し、RM-8(22)からのSUM 出力をOTHER-SUM と多重化
する。
【0034】この付加回路の目的は並列加算などの演算
を可能とすることである。たとえば、8ビット超の数、
たとえば、2対の8ビットの数からなる数を、下位8ビ
ットを第1の加算器に加え、上位8ビットを第2および
第3両方の加算器に加えることによって加算することを
望む場合、第2の加算器は第1の加算器からの繰り上が
りがゼロであると想定し、第3の加算器は第1の加算器
からの繰り上がりが1であると想定するので、これらの
3つの演算をすべてブロック32のマルチプレクサを使
用して同時に行い、該当する高位の結果を得ることがで
きる。付加機能ブロックを使用するにはコストがかかる
が、この手順にかかる時間がほぼ半分になる。
を可能とすることである。たとえば、8ビット超の数、
たとえば、2対の8ビットの数からなる数を、下位8ビ
ットを第1の加算器に加え、上位8ビットを第2および
第3両方の加算器に加えることによって加算することを
望む場合、第2の加算器は第1の加算器からの繰り上が
りがゼロであると想定し、第3の加算器は第1の加算器
からの繰り上がりが1であると想定するので、これらの
3つの演算をすべてブロック32のマルチプレクサを使
用して同時に行い、該当する高位の結果を得ることがで
きる。付加機能ブロックを使用するにはコストがかかる
が、この手順にかかる時間がほぼ半分になる。
【0035】図4は本発明の第3の好ましい実施例を示
す。図4は図1と同様であるが、入力レジスタが省かれ
ている点が異なっている。機能のほとんどが維持されて
いる。すなわち、図4の実施例をプログラムして、ほと
んど同じ機能を実行することができるが、この場合、レ
ジスタの実施形態の種類は少なくなり、パイプライン化
された加算器/減算器の作動は行えないが、必要な不動
産の量はMUX ベース(マルチプレクサ・ベース)で、ア
ンチヒューズ接続されたFPGAに関する図1の実施例
に比べ約25%少なくなる。
す。図4は図1と同様であるが、入力レジスタが省かれ
ている点が異なっている。機能のほとんどが維持されて
いる。すなわち、図4の実施例をプログラムして、ほと
んど同じ機能を実行することができるが、この場合、レ
ジスタの実施形態の種類は少なくなり、パイプライン化
された加算器/減算器の作動は行えないが、必要な不動
産の量はMUX ベース(マルチプレクサ・ベース)で、ア
ンチヒューズ接続されたFPGAに関する図1の実施例
に比べ約25%少なくなる。
【0036】もちろん、第1、第2および第3の好まし
い実施例、あるいはこれらの任意の組合せからの1つま
たは複数の機能ブロック・モジュールを組み込んだFP
GAを構築することもできる。
い実施例、あるいはこれらの任意の組合せからの1つま
たは複数の機能ブロック・モジュールを組み込んだFP
GAを構築することもできる。
【0037】本発明の説明のための実施例および用途に
ついて図示説明したが、上述ものも以外の各種の改変形
を、本明細書記載の発明の概念から逸脱することなく構
築できることが、当業者には明らかとなろう。したがっ
て、本発明は特許請求の範囲記載の精神以外に限定され
るべきものではない。
ついて図示説明したが、上述ものも以外の各種の改変形
を、本明細書記載の発明の概念から逸脱することなく構
築できることが、当業者には明らかとなろう。したがっ
て、本発明は特許請求の範囲記載の精神以外に限定され
るべきものではない。
【図1】本発明の第1の好ましい実施例によるマルチビ
ット出力機能ブロック・モジュールの略ブロック図であ
る。
ット出力機能ブロック・モジュールの略ブロック図であ
る。
【図2】本発明によるマルチビット出力機能ブロックの
構成に使用されるマルチプレクサ・レジスタ素子の略ブ
ロック図である。
構成に使用されるマルチプレクサ・レジスタ素子の略ブ
ロック図である。
【図3】本発明の第2の好ましい実施例によるマルチビ
ット出力機能ブロック・モジュールの略ブロック図であ
る。
ット出力機能ブロック・モジュールの略ブロック図であ
る。
【図4】本発明の第3の好ましい実施例によるマルチビ
ット出力ブロック・モジュールの略ブロック図である。
ット出力ブロック・モジュールの略ブロック図である。
10,12 RM−1 14 レジスタ 16 マルチプレクサ 29 8ビット加算器
Claims (7)
- 【請求項1】 汎用相互接続構造と、 各々がI個の入力とJ個の出力を含んでいる複数個のF
PGA論理モジュールと、 各々がK個の入力とL個の出力を含んでおり、K>Iお
よびL>Jである複数個の機能ブロック・モジュールと
を備えている集積回路上に配置されたユーザ・プログラ
ム式FPGAアーキテクチャ。 - 【請求項2】 汎用相互接続機構と、 各々がI個の入力とJ個の出力を含んでいる複数個のF
PGA論理モジュールと、 各々がK個の入力とL個の出力を含んでおり、K>Iお
よびL>Jである複数個の機能ブロック・モジュールで
あって、該機能ブロック・モジュールがN≧2である場
合に対応する第1のN個のビット入力データ・バスおよ
び第2のN個のビット入力データ・バスによって与えら
れる第1のN個のビット・データ・ワードと第2のN個
のビット・データ・ワードの組合せ演算を実行するよう
になされており、該機能ブロック・モジュールの各々が
加算器、カウンタ、比較器、およびANDゲートの群か
ら選択された機能の1つを実行するように独立してプロ
グラム可能である複数個の機能ブロック・モジュールと
を備えている集積回路上に配置されたユーザ・プログラ
ム式FPGAアーキテクチャ。 - 【請求項3】 前記機能ブロック・モジュールが前記K
個の入力の状態に基づいて加算器、カウンタ、比較器、
およびANDゲートの群から選択された機能の1つを実
行するようにプログラム可能である請求項2に記載のユ
ーザ・プログラム式FPGAアーキテクチャ。 - 【請求項4】 汎用相互接続機構と、 各々がI個の入力とJ個の出力を含んでいる複数個のF
PGA論理モジュールと、 各々がK個の入力とL個の出力を含んでおり、K>Iお
よびL>Jである複数個の機能ブロック・モジュールで
あって、該機能ブロック・モジュールがN≧2である場
合に対応する第1のN個のビット入力データ・バスおよ
び第2のN個のビット入力データ・バスによって与えら
れる第1のN個のビット・データ・ワードと第2のN個
のビット・データ・ワードの組合せ演算を実行するよう
になされており、該機能ブロック・モジュールの各々が
加算器とANDゲートの群から選択された機能の1つを
実行するように独立してプログラム可能である複数個の
機能ブロック・モジュールとを備えている集積回路上に
配置されたユーザ・プログラム式FPGAアーキテクチ
ャ。 - 【請求項5】 汎用相互接続機構と、 複数個のFPGA論理モジュールと、 各々がK個の入力とL個の出力を含んでおり、K>Iお
よびL>Jである複数個の機能ブロック・モジュールで
あって、該機能ブロック・モジュールがN≧である場合
に対応する第1のN個のビット入力データ・バスおよび
第2のN個のビット入力データ・バスによって与えられ
る第1のN個のビット・データ・ワードと第2のN個の
ビット・データ・ワードの組合せ演算を実行するように
なされており、該機能ブロック・モジュールの各々が、
加算器、減算器、アップ・カウンタ、ダウン・カウン
タ、振幅比較器、一致比較器、レジスタ、反転レジス
タ、ANDゲート、およびデコーダの群から選択された
機能の1つを実行するように独立してプログラム可能で
あり、該機能ブロック・モジュールが前記の第1のNビ
ット入力データ・バスと前記の第2のNビット入力デー
タ・バスとに作動的に接続されたNビット加算器と、 N+1ビット加算器とN個の2ビット・マルチプレクサ
のアレイの両方に作動的に接続されたNビット加算器出
力バスとを含んでいる機能ブロック・モジュールとを備
えている集積回路上に配置されたユーザ・プログラム式
FPGAアーキテクチャ。 - 【請求項6】 汎用相互接続機構と、 複数個のFPGA論理モジュールと、 各々がK個の入力とL個の出力を含んでおり、K>Iお
よびL>Jである複数個の機能ブロック・モジュールで
あって、該機能ブロック・モジュールがN≧2である場
合に対応する第1のN個のビット入力データ・バスおよ
び第2のN個のビット入力データ・バスによって与えら
れる第1のN個のビット・データ・ワードと第2のN個
のビット・データ・ワードの組合せ演算を実行するよう
になされており、該機能ブロック・モジュールの各々が
加算器、減算器、アップ・カウンタ、ダウン・カウン
タ、振幅比較器、一致比較器、レジスタ、反転レジス
タ、ANDゲート、およびデコーダの群から選択された
機能の1つを実行するように独立してプログラム可能で
あり、該機能ブロック・モジュールが前記の第1のNビ
ット入力データ・バスに接続された入力と第1のNビッ
ト・マルチプレクサ出力に接続された出力とを有するN
個の2ビット・マルチプレクサの第1のアレイと、 前記の第2のNビット入力データ・バスに接続された入
力と第2のNビット・マルチプレクサ出力に接続された
出力とを有するN個の2ビット・マルチプレクサの第2
のアレイと、 前記の第1のNビット・マルチプレクサ出力と前記の第
2のNビット・マルチプレクサ出力とに作動的に接続さ
れたNビット加算器と、 N+1ビット加算器とN個の2ビット・マルチプレクサ
の第3のアレイの両方に作動的に接続されたNビット加
算器出力バスとを含んでいる機能ブロック・モジュール
とを備えている集積回路上に配置されたユーザ・プログ
ラム式FPGAアーキテクチャ。 - 【請求項7】 汎用相互接続機構と、 複数個のFPGA論理モジュールと、 各々がK個の入力とL個の出力を含んでおり、K>Iお
よびL>Jである複数個の機能ブロック・モジュールで
あって、該機能ブロック・モジュールがN≧2である場
合に対応する第1のN個のビット入力データ・バスおよ
び第2のN個のビット入力データ・バスによって与えら
れる第1のN個のビット・データ・ワードと第2のN個
のビット・データ・ワードの組合せ演算を実行するよう
になされており、該機能ブロック・モジュールの各々が
加算器、減算器、アップ・カウンタ、ダウン・カウン
タ、振幅比較器、一致比較器、レジスタ、反転レジス
タ、ANDゲート、およびデコーダの群から選択された
機能の1つを実行するように独立してプログラム可能で
あり、該機能ブロック・モジュールが前記の第1のNビ
ット入力データ・バスに接続された入力と第1のNビッ
ト・マルチプレクサ出力に接続された出力とを有するN
個の2ビット・マルチプレクサの第1のアレイと、 前記の第2のNビット入力データ・バスに接続された入
力と第2のNビット・マルチプレクサ出力に接続された
出力とを有するN個の2ビット・マルチプレクサの第2
のアレイと、 インバータ入力とインバータ出力を有しており、該イン
バータ入力が前記の第2のNビット・マルチプレクサ・
出力に作動的に接続されているNビット・インバータ
と、 前記インバータ出力に接続された第1の入力、前記の第
2のNビット・マルチプレクサ出力に接続された第2の
入力、およびNビットの出力を有しているN個の2ビッ
ト。マルチプレクサの第3のアレイと、 前記の第1のNビット・マルチプレクサ出力と前記の第
2のNビット・マルチプレクサ出力とに作動的に接続さ
れたNビット加算器と、 N+1ビット加算器とN個の2ビット・マルチプレクサ
の第4のアレイの両方に作動的に接続されたNビット加
算器出力バスとを含んでいる機能ブロック・モジュール
とを備えている集積回路上に配置されたユーザ・プログ
ラム式FPGAアーキテクチャ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/144,452 US5448185A (en) | 1993-10-27 | 1993-10-27 | Programmable dedicated FPGA functional blocks for multiple wide-input functions |
| US144452 | 1993-10-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07273638A true JPH07273638A (ja) | 1995-10-20 |
Family
ID=22508651
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6287346A Pending JPH07273638A (ja) | 1993-10-27 | 1994-10-27 | 複数広域入力機能のためのプログラム式専用fpga機能ブロックを備えたfpgaアーキテクチャ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5448185A (ja) |
| EP (1) | EP0651514A3 (ja) |
| JP (1) | JPH07273638A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005038644A1 (ja) * | 2003-10-17 | 2005-04-28 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5477165A (en) * | 1986-09-19 | 1995-12-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
| US5198705A (en) | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
| US5751162A (en) * | 1995-04-06 | 1998-05-12 | Texas Instruments Incorporated | Field programmable gate array logic module configurable as combinational or sequential circuits |
| US5614840A (en) * | 1995-05-17 | 1997-03-25 | Altera Corporation | Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors |
| US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
| US5631576A (en) * | 1995-09-01 | 1997-05-20 | Altera Corporation | Programmable logic array integrated circuit devices with flexible carry chains |
| US5936426A (en) | 1997-02-03 | 1999-08-10 | Actel Corporation | Logic function module for field programmable array |
| US5952852A (en) * | 1997-07-02 | 1999-09-14 | Actel Corporation | Fast wide decode in an FPGA using probe circuit |
| US6034542A (en) * | 1997-10-14 | 2000-03-07 | Xilinx, Inc. | Bus structure for modularized chip with FPGA modules |
| ATE557342T1 (de) | 1998-08-24 | 2012-05-15 | Microunity Systems Eng | Prozessor und verfahren zur matrixmultiplikation mit einem breiten operand |
| US7932911B2 (en) | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
| US6844756B1 (en) * | 2000-06-23 | 2005-01-18 | Cypress Semiconductor Corp. | Configurable dedicated logic in PLDs |
| SE0102199D0 (sv) * | 2001-06-20 | 2001-06-20 | Ericsson Telefon Ab L M | Upgrading field programmable gate arrays over datacommunication networks |
| JP3613396B2 (ja) * | 2001-06-25 | 2005-01-26 | 日本電気株式会社 | 機能ブロック |
| US7606347B2 (en) * | 2004-09-13 | 2009-10-20 | General Electric Company | Photon counting x-ray detector with overrange logic control |
| US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
| CN105278394B (zh) * | 2014-07-18 | 2019-01-25 | 京微雅格(北京)科技有限公司 | 基于fpga的并行配置电路及方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
| US4763020B1 (en) * | 1985-09-06 | 1997-07-08 | Ricoh Kk | Programmable logic device having plural programmable function cells |
| US4771285A (en) * | 1985-11-05 | 1988-09-13 | Advanced Micro Devices, Inc. | Programmable logic cell with flexible clocking and flexible feedback |
| US4758745B1 (en) * | 1986-09-19 | 1994-11-15 | Actel Corp | User programmable integrated circuit interconnect architecture and test method |
| US4983959A (en) * | 1986-10-01 | 1991-01-08 | Texas Instruments Incorporated | Logic output macrocell |
| US5028821A (en) * | 1990-03-01 | 1991-07-02 | Plus Logic, Inc. | Programmable logic device with programmable inverters at input/output pads |
| US5245227A (en) * | 1990-11-02 | 1993-09-14 | Atmel Corporation | Versatile programmable logic cell for use in configurable logic arrays |
| US5122685A (en) * | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
| US5220213A (en) * | 1991-03-06 | 1993-06-15 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
-
1993
- 1993-10-27 US US08/144,452 patent/US5448185A/en not_active Expired - Lifetime
-
1994
- 1994-10-20 EP EP94307703A patent/EP0651514A3/en not_active Withdrawn
- 1994-10-27 JP JP6287346A patent/JPH07273638A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005038644A1 (ja) * | 2003-10-17 | 2005-04-28 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5448185A (en) | 1995-09-05 |
| EP0651514A3 (en) | 1997-03-05 |
| EP0651514A2 (en) | 1995-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6066960A (en) | Programmable logic device having combinational logic at inputs to logic elements within logic array blocks | |
| JPH07273638A (ja) | 複数広域入力機能のためのプログラム式専用fpga機能ブロックを備えたfpgaアーキテクチャ | |
| US5338983A (en) | Application specific exclusive of based logic module architecture for FPGAs | |
| US7274211B1 (en) | Structures and methods for implementing ternary adders/subtractors in programmable logic devices | |
| US6538470B1 (en) | Devices and methods with programmable logic and digital signal processing regions | |
| US7346644B1 (en) | Devices and methods with programmable logic and digital signal processing regions | |
| JP4127880B2 (ja) | 演算セル、乗算を実施するための方法、およびプログラマブル・デバイス | |
| US7880499B2 (en) | Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics | |
| US6633181B1 (en) | Multi-scale programmable array | |
| JP4593866B2 (ja) | 乗算器をfpgaに組込むための方法および装置 | |
| EP2391010B1 (en) | A programmable logic device having complex logic blocks with improved logic cell functionality | |
| CN103366034B (zh) | 具有多级逻辑区域的集成电路 | |
| JPH0950367A (ja) | パラレル乗算器セルとしてのプログラマブル・ファンクション・ユニット | |
| WO1998032229A1 (en) | Configurable logic block with and gate for efficient multiplication in fpgas | |
| US7119576B1 (en) | Devices and methods with programmable logic and digital signal processing regions | |
| US8072238B1 (en) | Programmable logic device architecture with the ability to combine adjacent logic elements for the purpose of performing high order logic functions | |
| WO2002093745A2 (en) | Reconfigurable logic device | |
| US7565388B1 (en) | Logic cell supporting addition of three binary words | |
| US7253660B1 (en) | Multiplexing device including a hardwired multiplexer in a programmable logic device | |
| US7459932B1 (en) | Programmable logic device having logic modules with improved register capabilities | |
| US7042248B1 (en) | Dedicated crossbar and barrel shifter block on programmable logic resources | |
| US6987401B1 (en) | Compare, select, sort, and median-filter apparatus in programmable logic devices and associated methods | |
| US8482312B1 (en) | Logic structures for ternary addition in logic devices | |
| US7268584B1 (en) | Adder circuitry for a programmable logic device | |
| US6750674B1 (en) | Carry chain for use between logic modules in a field programmable gate array |