(57)【特許請求の範囲】
【請求項１】
プログラマブル・デバイス用の演算セルであって、
加算器と、
第１のマルチプレクサと、
第２のマルチプレクサと、
乗算を実施するように構成可能なステアリング論理回路
とを備え、
前記第１と第２のマルチプレクサが協同して、前記加算器へ入力される乗数のアクティブ・ビットについてテストを実施し、該乗数のアクティブ・ビットが「１」の場合には、前記加算器に入力される被乗数が部分積に加算され、その結果生じる部分積が次いでシフトされ、該乗数のアクティブ・ビットが「０」の場合には、結果として生じる部分積は加算なしでシフトされることからなる、演算セル。
【請求項２】
前記加算器が、加算器として構成されたルック・アップ・テーブルである、請求項１に記載の演算セル。
【請求項３】
前記加算器からの結果出力をラッチし、それによって乗算・累算演算を実施するフリップ・フロップを更に含むことからなる、請求項１又は２に記載の演算セル。
【請求項４】
前記ステアリング論理回路が、乗算を行わずにフリップ・フロップにおいて累算を実施する、請求項３に記載の演算セル。
【請求項５】
前記ステアリング論理回路及び前記加算器が、乗算または累算を行わずに、フリップ・フロップにおいてラッチをする、請求項３に記載の演算セル。
【請求項６】
前記ステアリング論理回路及び前記加算器が、加算を実施する、請求項１乃至３のいずれか一項に記載の演算セル。
【請求項７】
前記ステアリング論理回路及び前記加算器が、比較を実施する、請求項１乃至３のいずれか一項に記載の演算セル。
【請求項８】
前記ステアリング論理回路が減算を実施する、請求項１乃至３のいずれか一項に記載の演算セル。
【請求項９】
プログラマブル・デバイス用の演算セル内において乗算を実施する方法であって、該演算セルが、加算器と、第１及び第２のマルチプレクサと、構成可能なステアリング論理回路とを含み、該方法が、
乗算を実施するように、前記ステアリング論理回路を構成し、及び、
前記第１と第２のマルチプレクサを利用し、協同して前記加算器に対する乗数入力のアクティブ・ビットについてテストを実施する
ことを含み、
乗数の前記アクティブ・ビットが「１」の場合には、前記加算器へ入力される被乗数が部分積に加算されて、その結果生じる部分積が次いでシフトされ、
乗数の前記アクティブ・ビットが「０」の場合には、その結果生じる部分積は加算なしでシフトされることからなる、方法。
【請求項１０】
前記加算器が、加算器として構成されたルック・アップ・テーブルであることからなる、請求項９に記載の方法。
【請求項１１】
前記演算セルは、フリップ・フロップを更に含み、
前記方法が、
前記ステアリング論理回路が、乗算と共に累算を実施し、及び、
前記フリップ・フロップを利用して、前記加算器からの結果をラッチし、それにより累算を実施する
ことを更に含むことからなる、請求項９に記載の方法。
【請求項１２】
セル・アレイを含むプログラマブル・デバイスであって、前記セル・アレイ中のセルのうちの少なくとも１つは演算セルであり、該演算セルが、
加算器と、
第１のマルチプレクサと、
第２のマルチプレクサと、
積算を実施するように構成可能なステアリング論理回路
とを備えており、
前記第１と第２のマルチプレクサが協同して、前記加算器へ入力される乗数のアクティブ・ビットについてテストを実施し、乗数の前記アクティブ・ビットが「１」の場合には、前記加算器に入力される被乗数が部分積に加算され、その結果生じる部分積が次いでシフトされ、乗数の前記アクティブ・ビットが「０」の場合には、その結果生じる部分積は加算なしでシフトされることからなる、プログラマブル・デバイス。
【請求項１３】
前記加算器が、加算器として構成されたルック・アップ・テーブルである、請求項１２に記載のプログラマブル・デバイス。
【請求項１４】
前記加算器からの結果出力をラッチし、それによって乗算・累算演算を実施するフリップ・フロップを、前記演算セルが更に含む、請求項１２又は請求項１３に記載のプログラマブル・デバイス。
【請求項１５】
前記ステアリング論理回路が、乗算を行わずにフリップ・フロップにおいて累算を実施する、請求項１４に記載のプログラマブル・デバイス。
【請求項１６】
前記ステアリング論理回路及び前記加算器が、乗算または累算を行わずに、フリップ・フロップにおいてラッチをする、請求項１４に記載のプログラマブル・デバイス。
【請求項１７】
前記ステアリング論理回路及び前記加算器が、加算を実施する、請求項１２乃至１４のいずれか一項に記載のプログラマブル・デバイス。
【請求項１８】
前記ステアリング論理回路及び前記加算器が、比較を実施する、請求項１２乃至１４のいずれか一項に記載のプログラマブル・デバイス。
【請求項１９】
前記ステアリング論理回路が減算を実施する、請求項１２乃至１４のいずれか一項に記載のプログラマブル・デバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＡＳＩＣ（特定用途向けＩＣ）に関するものであり、とりわけ、フィールド・プログラマブル・デバイス内におけるプログラマブル素子に関するものである。
【０００２】
【従来の技術】
ＡＳＩＣによって、デバイス・レベルにおいて設計を開始することを必要とせずに、独自の設計が施された製品を製造する能力がそのユーザに提供される。ゲート・アレイ、標準セル、フル・カスタム設計、及び、プログラマブル・ロジック・デバイスを含む、多種多様なＡＳＩＣテクノロジが利用可能である。ゲート・アレイ、標準セル、及び、フル・カスタム・テクノロジは、高性能及び柔軟性をもたらすが、開発サイクルが長期化すると、高いコストを使って開発したものが他のものに再利用できないといった犠牲を払うことになる。プログラマブル・ロジック・アレイ・デバイス（「ＰＬＤ」）、フィールド・プログラマブル・ロジック・アレイ・デバイス（「ＦＰＬＡ」）、及び、プログラマブル・ゲート・アレイ・デバイス（「ＦＰＧＡ」）を含むプログラマブル・ロジック・デバイスは、グルー論理（glue logic）回路設計及び単純な集積回路設計といった、さまざまな用途において有効である。その効用は、利用可能な有効ゲート数が比較的少なく、必要な論理機能を実施する柔軟性が不十分で、動作速度が遅く、電力消費が大きいために制限を受けてきた。
【０００３】
フィールド・プログラマブル・デバイスの効用が制限される理由は、一般に、ロジック・デバイスの数が増すにつれて、アレイ・サイズが指数関数的に増大することによる。プログラマブル・アレイ内のプログラマブル素子は、ヒューズなどの溶断可能なリンクによって相互接続されたダイオードまたはトランジスタのような能動素子、紫外線で消去可能な、または、電気的に消去可能な浮遊ゲート素子、または、ローカル・メモリ回路によって制御される能動素子から構成される。一般に、こうしたデバイスは、抵抗性で、寄生容量が大きく、比較的大きいシリコン領域を消費する。各プログラマブル素子は、一般に、一定量の電力を消費するので、アレイ・サイズが増すにつれて、電力消費が増大する。さらに、アレイ・サイズが大きくなるにつれて、アレイの寄生容量が漸増するので、速度が低下する。従って、従来技術でのアレイのサイズは、実用上の限界によって制限される。
【０００４】
フィールド・プログラマブル・デバイスの効用は、小さいプログラマブル論理機能ユニットから構成されるデバイスのためのプログラマブル相互接続ネットワーク技法によってさらに拡大された。典型的なフィールド・プログラマブル・デバイスは、プログラマブル論理機能ユニットのアレイを備えている。各機能ユニットは、１つまたは複数の論理機能を実施する。垂直ラインと水平ラインが、各機能ユニットの入力に対して、また同様に出力に対しても永久的に接続されている。水平及び垂直ラインは、デバイスの様々な領域で交差し、プログラマブル相互接続マトリックスを形成している。プログラミングは、マスク、導電性ヒューズ、ＥＰＲＯＭ／ＥＥＰＲＯＭスイッチング・トランジスタ、または、プログラマブル・メモリ素子に接続された通常の論理トランジスタによって実施可能である。ランダム・アクセス・メモリ及び論理演算装置のような、他のタイプの機能ユニットが存在する可能性もある。
【０００５】
さらに、既存のフィールド・プログラマブル・デバイスは、そのフィールド・プログラマブル・セルに加算の算術演算を強化する機能を取り入れようと試みてきた。これらのデバイスには、４入力論理テーブル、フリップ・フロップ、桁上げ論理装置、及びコンフィギュレーション・スイッチ、並びに、最も近いセルへの桁上げ信号を含むことが可能な加算論理を実施するための回路要素が含まれている。従って、基本演算機能は、これらフィールド・プログラマブル・デバイスにおける汎用論理として実施することが可能である。しかし、演算機能は多くのアプリケーションにおいて見られるが、これらの機能は現在のフィールド・プログラマブル・デバイスに対する適合が不十分であり、このため、集積密度及び性能がさらに低下している。
【０００６】
その上、現在のところＦＰＬＡに用いられて乗算を効率よく実施することが可能な機構は存在しない。
【０００７】
従って、従来技術のフィールド・プログラマブル・デバイスの回路の集積密度及び性能限界が不十分であるため、これらのデバイスの利用が多くのアプリケーションにおいて制限されることになるのは明らかである。
【０００８】
【発明が解決しようとする課題】
従って本発明の目的は、一般的な演算機能を利用するアプリケーションにおいて、集積密度及び性能を大幅に改良したフィールド・プログラマブル・デバイスを提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、一般的な演算機能を利用するアプリケーションにおける集積密度及び性能を大幅に改良できる演算セルを備えたフィールド・プログラマブル・デバイスを提供するための方法及び装置である。セル内には、フィールド・プログラマブル・デバイスにおけるプログラマブル素子として用いられる効率的な基本演算セルを形成するために、コンフィギュレーション・スイッチ及びビット・シフト回路が追加される。さらに、乗算は、２つのマルチプレクサの追加と、データ・シフトを可能にするセルの経路選択（cell routing）によって強化される。
【００１０】
従って、本発明は、フィールド・プログラマブル・デバイスに用いられる演算セルを特徴づけるものである。この演算セルは、乗算器、乗算器／累算器、及び、加算器（加算、比較、及び、減算）を一つの密集したセルの中に効率的に実現させるものである。この演算セルは、任意の大きさの全乗算器（ｎ×ｍの積）、任意の長さの加算器（ｎ＋ｍの和、比較、差）、累算器、及び、レジスタ（最終演算結果または部分積を保持するための）の実施を可能にする柔軟性のあるやり方で利用される。本発明の重要な要素は、アプリケーションに従って制御できるマルチプレクサ、乗算のためのシフト機能をもたらす信号経路選択、及び基本演算機能を実施するための回路要素およびそのコンフィギュレーション・ビットの最小限の集合体である。
【００１１】
【実施例】
以下では、図１〜図５に関連して、本発明の実施例について述べることにする。ただし、本発明はこれらの実施例に限定されるものではないので、これらの図に関してなされる詳細な説明は、例示を目的としたものであることは、当業者には明らかなことであろう。
【００１２】
図１は、フィールド・プログラマブル・デバイス用の構成可能な演算セル１００の概略回路図であり、セル１００は、本発明に従って構成されたセルを例証する実施例である。演算セル１００には、ステアリング論理回路１０１〜１０７、フリップ・フロップ（ＦＦ）回路１０８、加算器（ＡＤＤＲ）回路として構成された16ビット・ルック・アップ・テーブル（ＬＵＴ）１０９、スイッチ１１０、及び、マルチプレクサ回路１１１〜１１２（Ｍ１〜Ｍ２）が含まれている。セル１００の各素子１０１〜１１２は、既知の部品の分類における代表例であり、従って、これらの素子に関する今後の論述は、本発明の演算セルに関連する範囲内においていかに機能するかの説明に限ることにする。
【００１３】
セル１００のある実施例の場合、ＡＤＤＲ１０９は、入力信号と出力信号を有する全加算器回路である。信号Ａ、Ｂ、Ｃ＿ＩＮ、及び、ＣＦ＿ＡＤＤＲは、入力信号であり、ここで、信号Ａ、Ｂ、及び、Ｃ＿ＩＮは、それぞれ、第１、第２、及び、第３の加数信号であり、信号ＣＦ＿ＡＤＤＲは、８×２ルック・アップ・テーブル（ＬＵＴ）が加算器回路を実施するための１６ビット・コンフィギュレーション信号である。信号Ｒ及びＣ＿ＯＵＴは、出力信号であり、ここで、信号Ｒは、演算の結果を表す結果信号（すなわち、加数信号Ａ、Ｂと、桁上げを表す桁上げ入力信号Ｃ＿ＩＮの和）であり、信号Ｃ＿ＯＵＴは、もしあれば結果信号Ｒの計算時に形成される桁上げを表す桁上げ出力信号である。
【００１４】
同様に、セル１００についての実施例の場合、フリップ・フロップ（ＦＦ）１０８は、入力及び出力信号を有するＤタイプのフリップ・フロップ回路である。信号ＩＮ、ＣＬＫ、ＲＥＳＥＴ、及び、ＣＦ＿ＦＦは、入力信号であり、ここで、信号ＩＮは、ＦＦ１０８にラッチされるべきデータを表した入力信号であり、信号ＣＬＫ及びＲＥＳＥＴは、ＦＦ１０８のクロック及びリセット信号であり、ＣＦ＿ＦＦは、フリップ・フロップ回路のためのコンフィギュレーション信号である。信号ＯＵＴは、フリップ・フロップにラッチされたデータ値を示す出力信号である。
【００１５】
演算セル１００において、ステアリング１０１〜１０７は、それぞれのコンフィギュレーション信号ＣＦ＿１〜ＣＦ＿７を有している。同様に、さらに詳細に後述するように、Ｍ１及びＭ２（すなわち、それぞれのマルチプレクサ１１１及び１１２）も制御信号によって制御される。コンフィギュレーション信号ＣＦ＿１〜ＣＦ＿７、ＣＦ＿ＡＤＤＲ、及び、ＣＦ＿ＦＦによって演算セル１００の構成が制御され、セル・アレイは柔軟性のあるフィールド・プログラマブル・デバイスをもたらすことが可能になる。従って、セル１００は、あらゆるフィールド・プログラマブル・デバイスに共通の回路の集合である１つの密集したセルの中で、乗算器、乗算器／累算器、及び加算器（加算、比較、及び、減算）の効率的な実施が可能になる。このセルは、任意の大きさの全乗算器（ｎ×ｍの積）、任意の長さの加算器（ｎ＋ｍの和、比較、差）、累算器、及び、レジスタ（最終的な演算結果または部分積を保持するための）を可能にする柔軟性のあるやり方で利用することができる。本発明の重要な要素は、アプリケーションに従って制御できるマルチプレクサ、乗算のためのシフト機能をもたらす信号経路選択、及び、基本演算機能を実施するための回路要素とそのコンフィギュレーション・ビットの最小限の集合体である。
【００１６】
図１は、本発明の典型的な基本演算セルの概略回路図である。素子ＡＤＤＲ１０９、ＦＦ１０８、及び、ステアリング論理回路１０１〜１０７は、一般的なフィールド・プログラマブル・セルの構成部品である。マルチプレクサ１１１及び１１２（Ｍ１及びＭ２）及びスイッチ１１０は、この加算器セルが効率的な乗算器として機能できるようにするために、本発明の重要な部分として導入されている。さらに、乗算機能並びに加算または累算機能を実施する標準的なアレイ回路のどの部分としてでも機能する柔軟性をこのセルに与えるように、他の部品による構成がセットされる。この場合、「累算」は、レジスタ内にある数を加算する回路機能と定義する。
【００１７】
乗算演算は一般に、乗数のアクティブ・ビットをテストし、そのアクティブ・ビットの値に基づいて異なった演算を実施することによって実施される。乗数のアクティブ・ビットが「１」の場合、被乗数が部分積に加算され、その結果生じた部分積がさらに乗数アレイにおいて１ビットだけシフトされる。しかし、乗数のアクティブ・ビットが「０」の場合、部分積はただ単に１ビットシフトされるだけである。セル１００においては、マルチプレクサ１１１及び１１１２（Ｍ１及びＭ２）が乗数のアクティブ・ビットに対するテストを実施し、演算セル内における経路選択によって、部分積のシフトが実施される。
【００１８】
演算セル１００の応用例の１つが、３×３乗算器である。図２は、図１に示す演算セル１００を３×３マトリックスにして構成される、３×３乗算器の概略回路図である。３ビット乗数信号（Ｂ０〜Ｂ２）がアレイの「右」エッジ（セル２００〜２０２）に入力され、３ビット被乗数信号（Ａ０〜Ａ２）がアレイの「上部」（セル２００、２１０、２２０）に入力され、積信号（Ｒ０〜Ｒ５）がアレイの「右」エッジ及び「下部」（セル２００〜２０２、２１２、及び、２２２）から出力される。セル「上部」行（セル２２０、２１０、及び、２００）は、コンフィギュレーション・ビット（図１のＣＦ＿４、ＣＦ＿５、及び、ＣＦ＿６）を備えたアレイに「０」の初期部分積を導入する。セル２２１は、コンフィギュレーション・ビットＣＦ＿Ｓをセットして、トランジスタ１１０にバイアスをかけ、低インピーダンス状態にすることによって、その加算器「ＡＤ」からセルの次の行の部分積の最上位ビットに桁上げをシフト・アウトする。セル２２２は、コンフィギュレーション・ビットＣＦ＿Ｓをセットして、トランジスタ１１０にバイアスをかけ、低インピーダンス状態にすることによって、その加算器「ＡＤ」から積の最上位ビット（ビットＲ５）に桁上げをシフト・アウトする。この乗算器は、非同期モードで動作することもできるし、あるいは、各セル毎のレジスタ（図１のＦＦ１０８）を利用して部分積を記憶することによって、パイプライン・ステージに分割することも可能である。図２に描かれた乗算器は、非同期乗算器として示されている。
【００１９】
従って、演算セル１００（図１）の構成の直接的結果は、長方形の「ｎ×ｍ」乗算器構成である。被乗数の「ｎ」ビットと積の「ｎ」最上位ビットの垂直方向におけるアライメントがとれ、「ｍ」乗数ビットは、乗算器アレイの行を形成し、積の「ｍ」再下位ビットとのアライメントがとれている。この回路構造は、効率的で柔軟性のある乗算器及び加算器アレイを形成することを目的としたフィールド・プログラマブル・デバイスとの適合性が高い。
【００２０】
演算セルの第２の応用例が、４ビット累算器（図３）である。コンフィギュレーション・ビットＣＦ＿４、ＣＦ＿５、及び、ＣＦ＿６を利用して、それぞれのマルチプレクサ・ステアリング論理回路１０４、１０５、及び、１０６をセットし、フリップ・フロップ（ＦＦ）１０８の出力が１ビット加算器（ＡＤＤＲ）１０４の入力Ｂに戻るように経路選択することによって、基本加算器回路に累算器の機能が追加されている。
【００２１】
演算セル１００の第３の応用例は、２ビットＭＡＣ（図４の２ビット乗算器・累算器）である。図４において、セル４１０、４２０、４１１、及び、４２１は、図２の３ビットの事例において示したのと同様のやり方で２ビット乗算器を形成するように構成されている。セル４１２及び４２２は、図３の４ビットの事例において示したのと同様のやり方で２ビット累算器を形成するように構成されている。２つの上位の結果ビットの「水平」累算器セルと同様のやり方で、セル４００及び４０１は、２つの下位の結果ビット（Ｒ０〜Ｒ１）に関する２ビットの「垂直」累算器を形成するように構成されている。
【００２２】
図５は、セルが４ビットの乗算器回路を形成するように構成された、図１に表したタイプの５×５マトリックスをなす演算セルの概略回路図である。従って、図５には、図４の２ビットＭＡＣを拡張した、４ビットＭＡＣを形成する方法が示されている。図５の場合、セル５１０、５２０、５３０、５４０、５１１、５２１、５３１、５４１、５１２、５２２、５３２、５４２、５１３、５２３、５３３、及び、５４３は、図２の３ビットの事例において示したのと同様のやり方で４ビット乗算器を形成するように構成されている。セル５１４、５２４、５３４、及び、５４４は、図３において示したのと同様のやり方で４ビット累算器を形成するように構成されている。４つの上位結果ビットの「水平」累算器セルと同様のやり方で、セル５００、５０１、５０２、及び、５０３は、４つの下位結果ビット（Ｒ０〜Ｒ３）に関する４ビット「垂直」累算器を形成するように構成されている。
【００２３】
従って、本発明の利点は、明らかに、乗算器及び他の基本演算機能の効率の良い実施を可能にする、フィールド・プログラマブル・デバイスのためのアレイ・ビルディング・ブロックを提供することにある。図１にＭ１及びＭ２として示された２つのマルチプレクサは、演算セルに効率よく組み込まれており、このため、既存のフィールド・プログラマブル・デバイスにおいて汎用論理セルを費やす必要がなくなる。演算セルにおけるプログラマブル・デバイスの集合は、下記機能を効率良く実施するため、最小限に抑えられる。
加算  Ａ＋Ｂ＝Ｒ
比較  Ａ＝？Ｂ
減算  Ａ−Ｂ＝ＲまたはＢ−Ａ＝Ｒ
累算  Ａ＋Ｒ（ｎ−１）＝Ｒ（ｎ）
乗算  Ａ×Ｂ＝Ｒ
乗算・累算  Ａ（ｎ）×Ｂ（ｎ）＋Ｒ（ｎ−１）＝Ｒ（ｎ）
【００２４】
演算セルの物理的レイアウトは、一般の論理セルの約１／４を費やすものと推定される。セルのコンパクト化及び機能の増大によって、有効セル密度は１０倍、２０倍と増していく。性能は、汎用論理セルに生じるセル間ワイヤ容量を低減させることによって、また、汎用論理セルから演算機能を実施するために利用しなければならない直列コンフィギュレーション・スイッチの数を減らすことによって向上する。
【００２５】
演算セルのもう１つの利点は、演算セルの同種アレイ内においてｎ×ｍ乗算器、加算器、レジスタ、及び、累算器の組み合わせの構築を可能にするセルの一般的性質である。このワイヤ、構成素子、及びコンフィギュレーション・ビットの集合体は、完全な演算回路を組み立てるのに十分なものであり、汎用論理セルを利用する必要がない。
【００２６】
本発明の多くの特徴及び利点については、記載の説明から明らかであり、従って、特許請求の範囲は、本発明のこうした特徴及び利点の全てを包含することを意図したものである。さらに、当業者には、多くの修正及び変更が考えられることは明らかであるので、本発明を、例示及び解説した構成及び動作にそのまま限定することを所望するものではない。従って、適合する修正及び同等物は全て、本発明の範囲内に含まれるものとする。
【００２７】
〔実施態様〕
なお、本発明の実施態様の例を以下に示す。
【００２８】
〔実施態様１〕
加算器［１０９］と、
第１のマルチプレクサ［１１１］と、
第２のマルチプレクサ［１１２］と、
乗算演算を実施するように構成可能なステアリング論理回路［１０１〜１０７］とを備えており、
第１と第２のマルチプレクサ［１１１、１１２］が協同して、加算器へ入力される乗数のアクティブ・ビットについてテストを実施し、
乗数のアクティブ・ビットが「１」の場合、加算器に入力される被乗数が部分積に加算され、その結果生じる部分積がシフトされることと、
乗数のアクティブ・ビットが「０」の場合、生じる部分積は加算なしでシフトされる
ことを特徴とする、プログラマブル・デバイス用の演算セル［１００］。
【００２９】
〔実施態様２〕
加算器［１０９］が、加算器として構成されたルック・アップ・テーブルであることを特徴とする、実施態様１に記載の演算セル［１００］。
【００３０】
〔実施態様３〕
加算器からの結果出力をラッチし、それによって乗算・累算演算を実施するように構成可能なフリップ・フロップ［１０８］がさらに含まれることを特徴とする、実施態様１または実施態様２に記載の演算セル［１００］。
【００３１】
〔実施態様４〕
ステアリング論理回路［１０１〜１０７］が、乗算を行わずにフリップ・フロップ［１０８］において累算を実施するように構成可能であることを特徴とする、実施態様３に記載の演算セル［１００］。
【００３２】
〔実施態様５〕
ステアリング論理回路［１０１〜１０７］及び加算器［１０９］が、乗算または累算を行わずに、フリップ・フロップ［１０８］においてラッチングを実施するように構成可能であることを特徴とする、実施態様３に記載の演算セル［１００］。
【００３３】
〔実施態様６〕
ステアリング論理回路［１０１〜１０７］及び加算器［１０９］が、加算を実施するように構成可能であることを特徴とする、実施態様１、実施態様２、または実施態様３に記載の演算セル［１００］。
【００３４】
〔実施態様７〕
ステアリング論理回路［１０１〜１０７］及び加算器［１０９］が、比較を実施するように構成可能であることを特徴とする、実施態様１、実施態様２、または実施態様３に記載の演算セル［１００］。
【００３５】
〔実施態様８〕
ステアリング論理回路［１０１〜１０７］が減算を実施するように構成可能であることを特徴とする、実施態様１、実施態様２、または実施態様３に記載の演算セル［１００］。
【００３６】
〔実施態様９〕
少なくともセルの１つが、実施態様１ないし実施態様８のいずれか一項に記載の演算セル［１００］であることを特徴とするセル・アレイが含まれているプログラマブル・デバイス。
【００３７】
〔実施態様１０〕
加算器［１０９］と、第１及び第２のマルチプレクサ［１１１、１１２］と、構成可能なステアリング論理回路［１０１〜１０７］が含まれているプログラマブル・デバイス用の演算セル［１００］内において乗算を実施するための方法であって、
乗算を実施するように、ステアリング論理回路［１０１〜１０７］の構成を行うステップと、
第１と第２のマルチプレクサ［１１１、１１２］を利用し、協同して加算器［１０９］に対する乗数入力のアクティブ・ビットについてテストを実施するようにさせるステップと
を設けており、
乗数のアクティブ・ビットが「１」の場合、加算器へ入力される被乗数が部分積に加算され、その結果生じる部分積がシフトされることと、
乗数のアクティブ・ビットが「０」の場合、生じた部分積は加算なしでシフトされること
を特徴とする方法。
【００３８】
【発明の効果】
以上詳細に説明したように、本発明によれば、セル内に、フィールド・プログラマブル・デバイスにおけるプログラマブル素子として使用することができる基本演算セルを効率的に形成することができるので、一般的な演算機能を利用するアプリケーションにおいてその集積密度及び性能を大幅に向上させることができるようになる。
【図面の簡単な説明】
【図１】本発明に従って構成された、フィールド・プログラマブル・デバイス用の構成可能演算セルの概略回路図である。
【図２】乗算器回路を形成するように構成されている、図１に表されたタイプを３×３マトリックスに配列した演算セルの概略回路図である。
【図３】累算器回路を形成するように構成されている、図１に表されたタイプを４×１マトリックスに配列した演算セルの概略回路図である。
【図４】２ビットの乗算器・累算器回路を形成するように構成されている、図１に表されたタイプを３×３マトリックスに配列した演算セルの概略回路図である。
【図５】４ビットの乗算器・累算器回路を形成するように構成されている、図１に表されたタイプを５×５マトリックスに配列した演算セルの概略回路図である。
【符号の説明】
１００：演算セル
１０１：ステアリング論理回路
１０２：ステアリング論理回路
１０３：ステアリング論理回路
１０４：ステアリング論理回路
１０５：ステアリング論理回路
１０６：ステアリング論理回路
１０７：ステアリング論理回路
１１０：スイッチ
１１１：マルチプレクサ回路
１１２：マルチプレクサ回路
【図１】
0004127880.tif 000002
【図２】
0004127880.tif 000003
【図３】
0004127880.tif 000004
【図４】
0004127880.tif 000005
【図５】
0004127880.tif 000006