(57)【特許請求の範囲】
【請求項１】
回路構成の異なる２種類以上の論理セルを有し、各種類ごとに論理セルが格子状に配置され、その配置における複数の格子状配置は、少なくとも１つの種類の論理セルの格子状配置の配置間隔を、他の種類の論理セルの格子状配置の配置間隔の２以上の倍数となる間隔に決定し、格子状に配置された論理セルが互いに重ならないように、各種類ごとの格子状配置の原点を選び、また、同一種類の論理セル間を接続する内部配線と、隣接する異なる種類の論理セル間を配線する内部配線を持つことを特徴とするフィールドプログラマブルゲートアレイ。
【請求項２】
第１の論理セルを第１の配置間隔で格子状に配置し、第１の論理セルとは回路構成の異なる第２の論理セルを前記第１の配置間隔の２倍の配置間隔を持つ第２の配置間隔で格子状に配置し、格子状に配置された第１及び第２の論理セルが互いに重ならないように、各格子状配置の原点を選ぶことにより、各第２の論理セルの周りに４個の第１の論理セルが隣接し、大きな間隔の第２の論理セルと小さな間隔の４個の第１の論理セルとからなるブロック単位が規則的に並んだ配置とし、第１の論理セル間を接続する内部配線と、第２の論理セル間を接続する内部配線と、前記各第２の論理セルとそれに隣接する４個の第２の論理セルとを接続する内部配線とを持つことを特徴とするフィールドプログラマブルゲートアレイ。
【請求項３】
格子状に配置して論理セルが重なるときには、その重なる部分については、配置間隔がより大きい論理セルを配置し、残りの論理セルを配置しないことを特徴とする請求項１または２記載のフィールドプログラマブルゲートアレイ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプログラマブル論理回路装置に関する。特に、フィールドプログラマブルゲートアレイの論理セルの配置と内部配線に関する。
【０００２】
【従来の技術】
ユーザが回路構成を設定できるプログラマブル論理回路装置は、ゲートアレイやＡＳｌＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  ＩｎｔｅｇｒａｔｅｄＣｉｒｃｕｉｔ）などに比べて、開発の期間と費用を低減することができ、回路構成の修正や変更が簡単にできるため、半導体装置の試作や製品として広く用いられるようになってきた。特に、プログラマブル論理回路装置のうちでも回路構成の柔軟性が高いフィールドプログラマブルゲートアレイがよく用いられている。
【０００３】
図７に示すように、フィールドプログラマブルゲートアレイ７１は、格子状に規則正しく配置されたプログラマブルな論理セル７２、論理セル間を配線するプログラマブルな配線領域７３、および入出力端子７４から構成される。論理セル７２および配線領域７３のプログラムデバイスは、一度書き込むと書換えのできないアンチヒューズ、または複数回の書換えが可能なＥＰＲＯＭとＥＥＰＲＯＭ、もしくは外部の制御回路から自由に書換えが可能なＳＲＡＭのいずれかを用いたスイッチによって実現される。
【０００４】
フィールドプログラマブルゲートアレイの配線は、先に示したプログラムデバイスのスイッチによって実現されるため、スイッチの電気抵抗と付加容量を原因とする信号の伝搬遅延を発生するという問題を持つ。この信号の伝搬遅延により、フィールドプログラマブルゲートアレイを使って高速処理回路を実現することが困難であった。
【０００５】
この第１の問題を解決する発明として、特開平２−１７７３６４号公報や特開平６−２７５７１８号公報で示されるように、回路構成を変更する必要がなく高速処理が必要な回路を実現するゲートアレイ部と、回路構成を変更できるフィールドプログラマブルゲートアレイ部を同一半導体装置内に持つという発明がある。これらの装置は、配線にスイッチを使わないため高速処理が可能なゲートアレイと、配線にプログラムデバイスを用いて回路構成を変更することができるフィールドプログラマブルゲートアレイの特徴を併せ持つ。
【０００６】
実際の回路は、回路構成を変更する必要がなく高速処理が必要な回路部分と回路構成を変更する必要がある部分の二つの領域に必ずしも分離されてはいない。多くの場合は、両者の回路部分が互いに入り組んだ回路構成となる。そのため、前記各公報記載のような従来の装置を用いるためには、長い配線を引き回して両者の回路部分が二つの領域に分離された回路に再構成する必要がある。このとき用いた長い配線が信号の伝搬遅延を引起し高速処理を阻むという第２の問題が発生する。
【０００７】
この第２の問題を解決する発明として、特開平５−２６７４５７号公報で示されるように、事前にフィールドプログラマブルゲートアレイのうち、回路構成を変更する必要がなく高速処理が必要な回路部分にスイッチを用いない通常の配線を施しておく、という発明がある。この発明では、回路構成を変更する必要がなく高速処理が必要な回路部分と回路構成を変更する必要がある部分を自由に配置できるため、前述の第１の従来技術が引き起こした長い配線による信号の伝搬遅延が発生しない。
【０００８】
ゲートアレイやフィールドプログラマブルゲートアレイで用いられる論理セルは、いろいろな回路に対応できる汎用性のある回路構成である。必ずしも最適化された高速な回路が用意されているとは限らず、限られた回路を組み合せて必要な回路を作らねばならない。例えば、加算器に必要なＸＯＲゲートは、３ステートバッファとトランスミッションゲートを組み合せれば１段のゲートで実現できる。もし汎用の論理セルに３ステートバッファが用意されていなければ、必要なＸＯＲゲートは２段のＮＡＮＤゲートで実現しなければならず、遅延時間は２倍になる。一般的に言って、ある特定の処理を行うために設計されたＡＳ１Ｃで実現される回路に比べると、汎用な回路で構成されたゲートアレイやフィールドプログラマブルゲートアレイで実現される回路は処理速度が遅い。高速処理が必要な回路部分を、第１の問題を解決する発明ではゲートアレイを用いて、第２の問題を解決する発明はフィールドプログラマブルゲートアレイを用いて実現しているため、スイッチを用いた配線の信号遅延を取り除いたとしても、第１と第２の問題を解決する発明の処理速度はＡＳｌＣに比べて遅いという第３の問題が発生する。
【０００９】
この第３の問題を解決する発明として、ある特定の処理を行う専用回路をフィードプログラマブルゲートアレイの論理セル内に設けるという発明がある。特開平４−２４２８２５号公報記載の発明では、数値演算処理における桁上げを実行する専用回路を論理セル内に設けた。これにより、加算処理および加算を基礎にしたさまざまな関数処理の高速化を実現した。また、特開平７−８６９２１号公報記載の発明では、算術論理回路を論理セル内に設けた。算術論理回路で、アンプなどのアナログデバイスの動作を数値演算で実現することにより、アナログ−デジタル混合処理の高速化を実現した。
【００１０】
必要な高速処理は必ずしも一つとは限らないので、回路全体の処理速度を上げるためには、複数の専用回路を論理セル内に設ける必要がある。これにより論理セルの大きさが大きくなり、また、必ずしもすべての論理セルの専用回路が使われるわけではなく、使われない回路は無駄に論理セルの面積を消費するので、一つのフィールドプログラマブルゲートアレイで実現できる回路規模が小さくなるという第４の問題が発生する。
【００１１】
この第４の問題を解決する発明として、回路構成の異なる２種類以上の論理セルを配置するという発明がある。特開平２−２０２７１７号公報では、２種類の論理セルが交互に配置された例が示され、特開平７−５８６３１号公報では４種類の論理セルを一組にして配置された例が示されている。いずれの場合も、異なる種類の論理セルを用いることにより、フィードプログラマブルゲートアレイの使用効率を高めて、より小さな面積でより大きな回路を実現している。
【００１２】
特開平２−２０２７１７号公報と特開平７−５８６３１号公報では、従来のフィールドプログラマブルゲートアレイのアーキテクチャを踏襲しているので、種類は異なっても同じ大きさの論理セルを格子状に配置した構成である。しかしながら、異なる論理セルは異なる回路構成を内蔵するので、論理セルの大きさは必ずしも同一であるとは限らない。異なる大きさの論理セルを配置すると、規則的な論理セルと配線領域の配置が乱れるので、新たなフィールドプログラマブルゲートアレイの設計手法が必要になるという新たな問題が発生する。
【００１３】
【発明が解決しようとする課題】
本発明は、上記の第１から第４の問題を、前記各従来技術とは異なる新規な手法により解決することにある。
すなわち、本発明は、高速処理が可能なプログラマブルゲートアレイを実現することを課題とする。
具体的には、本発明は、プログラマブルデバイスのスイッチによる信号の伝搬遅延や、長い配線による信号の伝搬遅延等による処理の低速化を阻止し、高速処理を可能とすることを課題とする。
また、本発明は、無駄にフィールドプログラマブルゲートアレイの面積を消費することなく、高速処理を行う大きな規模の回路を実現することを課題とする。
また、本発明は、異なる回路構成を持った異なる大きさの論理セルから構成されるフィールドプログラマブルゲートアレイにおいて、同じ大きさの論理セルが格子状に規則的に配置された従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いることができるようにすることを課題とする。
【００１４】
【課題を解決するための手段および作用】
本発明は、回路構成の異なる２種類以上の論理セルを有し、各種類ごとに論理セルが格子状に配置され、その配置における複数の格子状配置は、少なくとも１つの種類の論理セルの格子状配置の配置間隔を、他の種類の論理セルの格子状配置の配置間隔の２以上の倍数となる間隔に決定し、さらに、同一種類の論理セル間を接続する内部配線と、隣接する異なる種類の論理セル間を配線する内部配線を持つフィールドプログラマブルゲートアレイである。
そして、格子状に配置された論理セルが互いに重ならないように、各種類ごとの格子状配置の原点を選ぶ。格子状に配置して論理セルが重なるときには、その重なる部分については、配置間隔がより大きい論理セルを配置し、残りの論理セルを配置しない。
上記構成において、異なる種類ごとの論理セルに注目すれば、従来のフィールドプログラマブルゲートアレイと同じく格子状に規則的に配置されているので、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いて論理回路装置を実現することができる。また、上記構成によれば、異なる種類の格子状配置の論理セルは、配置間隔が２以上の倍数の異なる間隔でそれぞれ配置されており、大きな間隔の論理セルと小さな間隔の複数の論理セルとからなるブロック単位が規則的に並んだ配置となるので、各ブロック単位を論理回路ブロックの単位として構成することにより、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いることができる。
これにより前記第１ないし第４の問題を解決することができる。
【００１５】
【発明の実施の形態】
第１の実施例を図１に示す。図１はＡとＢの２種類の論理セルから構成されるフィールドプログラマブルゲートアレイの回路構成の一部分を表すブロック図である。論理セルＢは、水平方向と垂直方向ともに論理セルＡの配置間隔の２倍の配置間隔で配置される。また、水平方向と垂直方向に論理セルＡと論理セルＢの配置の原点をずらしてあるので、論理セルは互いに重ならないように配置されている。
【００１６】
論理セルＡは、論理セルＡの水平配線１１と垂直配線１２で互いに接続されている。論理セルＢは、論理セルＢの水平配線１３と垂直配線１４で互いに接続されている。さらに、隣接する論理セルＡと論理セルＢは、論理セル間配線１５で接続される。図１で１本の実線で示した配線は、論理セルの入出力数と論理セル間のバス配線構造に対応した複数の配線に対応する。
【００１７】
図２に示すように、実線（太線）で示した論理セルＢのみに注目すると、論理セルＢは格子状に配置された従来のフィールドプログラマブルゲートアレイと同じ構造を持つことが分かる。また、破線（細線）で一部示すように、論理セルＡのみに注目すると、同様に、論理セルＡは格子状に配置された従来のフィールドプログラマブルゲートアレイと同じ構造を持つことが分かる。すなわち、異なる種類ごとの論理セルに注目すれば、従来のフィールドプログラマブルゲートアレイと同じく格子状に規則的に配置されているので、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いることができる。
【００１８】
図３に論理セルＡの回路プロック図の一例を示す。論理セルＡは、ａ，ｂ，ｃ，ｄ，ｅの５入力、Ｘ，Ｙの２出力の論理回路であり、任意の組合せ回路を実現するルックアップテーブル方式の関数発生器３１、データの流れを制御するマルチプレクサ３２，３３，３４，３５、データを記憶して順序回路を実現するためのＤフリップフロップ３６，３７、および出力データを選択する出力マルチプレクサ３８，３９で構成される。さらに、動作を制御するための複数の信号ＤＡＴＡ，ＥＮＡＢＬＥ，ＣＬＯＣＫ，ＲＥＳＥＴが入力される。
【００１９】
図４に論理セルＢの回路ブロック図の一例を示す。論理セルＢは、論理セルＡに加えて専用回路で実現される高速の桁上げ回路４１を持つ。論理セルＢのａおよびｅ入力が、加算されるＡｉおよびＢｉビットに対応している。全加算器は周知のアルゴリズムを用いて関数発生器３１で実現され、和ＳｉはＸまたはＹ出力より出力される。高速の桁上げを達成するための専用回路が、たとえば先見桁上げ論理などの周知のアルゴりズムを用いて桁上げ回路４１で実現され、下位のビットからのキャリー信号をＣａｒｒｙＩＮ端子で受けて、桁上げ回路４１からのキャりー信号をＣａｒｒｙＯＵＴ端子から上位のビットに出力する。
【００２０】
図５は８ビットの加算器を含んだ回路の一部を示す回路ブロック図である。実線で示した８つの論理セルＢで高速の８ビット加算器が構成される。また、実線で示した論理セルＡで周辺回路が構成される。図２を使って先に示したように、論理セルＢのみに注目すれば、論理セルＢが従来のフィールドプログラマブルゲートアレイと同じく格子状に規則的に配置されているので、従来のフィールドプログラマプルゲートアレイと同じ設計手法を用いて８ビットの加算器を設計することができる。次に、論理セルＡのみに注目すれば、論理セルＡが従来のフィールドプログラマブルゲートアレイと同じく格子状に規則的に配置されているので、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いて周辺回路を設計することができる。論理セルＢは論理セルＡの２倍の配置間隔で配置されているので、８個の論理セルＢで構成される８ピット加算器を、３２個の論理セルＡで構成される回路ブロックと見なして、論理セル間配線を使って両者を接続して回路が完成する。本実施例では、加算される二つの８ビットの値、Ａ０，Ａ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６，Ａ７、と、Ｂ０，Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６，Ｂ７、が図５に示した論理セルＡより論理セル間配線を介して論理セルＢによる８ビット加算器に入力され、和Ｓ０，Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６，Ｓ７、と最上位のビットからのキャリー信号Ｃ７が、論理セル間配線を介して論理セルＡに入力される。
【００２１】
このようにして、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いて、高速処理のための専用回路を含んだ２種類の異なった論理セルで構成されるフィールドプログラマブルゲートアレイにより、ＡＳＩＣなどの専用回路と同等の高速処理性能と、フィールドプログラマブルアレイの回路をユーザが変更できるという柔軟性を兼ね備えたプログラマブル論理回路装置を実現することができた。
【００２２】
第２の実施例を図６に示す。図６はＣ，Ｄ，Ｅ，Ｆ、とＧの５種類の論理セルから構成されるフィールドプログラマブルゲートアレイの回路構成の一部分を表すブロック図である。論理セルＣ，Ｄ，Ｅ，Ｆは同じ配置間隔で互いに重ならないように配置される。論理セルＧは、水平方向と垂直方向ともに論理セルＣ，Ｄ，Ｅ，Ｆの配置間隔の２倍の配置間隔で配置される。論理セルＧと論理セルＣ，Ｄ，Ｅ，Ｆが重なるところでは、配置間隔の大きい論理セルＧを配置し、論理セルＣ，Ｄ，Ｅ，Ｆが取り除かれている。
【００２３】
論理セルＣは、論理セルＣの水平配線６４と垂直配線６７で互いに接続されている。論理セルＤは、論理セルＤの水平配線６１と垂直配線６６で互いに接続されている。論理セルＥは、論理セルＥの水平配線６５と垂直配線７０で互いに接続されている。論理セルＦは、論理セルＦの水平配線６２と垂直配線６９で互いに接続されている。論理セルＧは、論理セルＧの水平配線６３と垂直配線６８で互いに接続されている。さらに、隣接する論理セルＣ，Ｄ，Ｅ，Ｆと論理セルＧは、論理セル間配線７９で接続される。図６で１本の実線で示した配線は、論理セルの入出力数と論理セル間のバス配線構造に対応した複数の配線に対応する。
【００２４】
それぞれの論理セルのみに注目すると、論理セルは格子状に配置された従来のフィールドプログラマブルゲートアレイと同じ構造を持つことが分かる。すなわち、異なる種類ごとの論理セルに注目すれば、従来のフィールドプログラマブルゲートアレイと同じく格子状に規則的に配置されているので、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いることができる。
【００２５】
論理セルＣは加算を高速に行うための高速の桁上げ回路を持ち、論理セルＤはＤＳＰと同等の高速デジタルデータ処理を行うための積和回路を持ち、論理セルＥはデータ圧縮のためのＤＣＴ回路をもち、論理セルＦはデータを一時保管するためのＳＲＡＭを持ち、論理セルＧはアンプなどのアナログデバイスの動作を数値演算で実現する算術論理回路を持つ。
高速処理のための専用回路を含んだ５種類の異なった論理セルで構成されるこのようなフィールドプログラマブルーゲートアレイを用いることで、従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いて、ＤＳＰやＡＳｌＣなどの専用回路と同等の高速処理性能と、フィールドプログラマブルゲートアレイの回路をユーザが変更できるという柔軟性を兼ね備えたアナログーデジタル混合処理デバイスを実現することができる。
【００２６】
第１と第２の実施例では、本発明の特徴的な論理セル配置と内部配線を示した。これに加えて、周知の技術である階層的な内部配線や、内部配線間を接続するマトリックススイッチブロックを加えることで、さらに柔軟性のあるフィールドプログラマブルゲートアレイを実現することができる。
【００２７】
【発明の効果】
本発明によれば、異なる回路構成の論理セルを種類ごとに格子状に配置し、少なくとも１つの種類の論理セルの格子状配置の配置間隔を、他の種類の論理セルの格子状配置の配置間隔の２以上の倍数となるように決定することにより、各格子状配置を規則的なものとすることが可能となる。そのため、同じ大きさの論理セルが格子状に規則的に配置された従来のフィールドプログラマブルゲートアレイと同じ設計手法を用いて、異なる回路構成を持った異なる大きさの論理セルから構成されるフィールドプログラマブルゲートアレイを実現することが可能である。
【００２８】
その結果、本発明は、高速処理を実現するために、特定の処理を行う複数の種類の専用回路をそれぞれ異なった論理セル内に設けることができ、必要以上にひとつの論理セルを大きくすることなく、また、必要な頻度でこれらの論理セルを配置することが可能となり、無駄にフィールドプログラマブルゲートアレイの面積を消費することなく、高速処理を行う大きな規模の回路を実現することができる。
【００２９】
また、本発明によれば、ＡＳＩＣと同程度の専用回路を論理セル内に設けることができるので、ＡＳｌＣと同等以上の処理速度を実現することが可能である。
【００３０】
また、本発明によれば、専用回路を持った高速処理の論理セルをフィールドプログラマブルゲートアレイ内に規則的に配置することが可能であり、高速処理回路を離れた領域に配置する従来技術のように高速処理回路までの長い配線を必要とすることはないので、長い配線に起因する信号の伝搬遅延に影響されない高速処理を実現できる。
【００３１】
また、本発明によれば、高速処理のための専用回路は、プログラムのためのスイッチ回路を持たないので、スイッチの電気抵抗と付加容量に起因する信号の伝搬遅延に影響されない高速処理を実現できる。
【００３２】
また、本発明において、格子状に配置された論理セルが互いに重ならないように、各種類ごとの格子状配置の配置の原点を選ぶことができ、効率的な配置が可能となる。また、格子状に配置して論理セルが重なるときには、その重なる部分については、配置間隔がより大きい論理セルを配置し、残りの論理セルを配置しないようにすることにより、より大きな論理セルを中核とした論理ブロックを構成できる。
【図面の簡単な説明】
【図１】本発明の第１の実施例を示す２種類の論理セルＡとＢで構成されるフィールドプログラマブルゲートァレイの回路構成の一部分を表す回路プロック図、
【図２】論理セルＢに注目して本発明の第１の実施例を示す回路プロック図、
【図３】本発明の第１の実施例による論理セルＡの一例を示す回路ブロック図、
【図４】本発明の第１の実施例による論理セルＢの一例を示す回路プロック図、
【図５】本発明の第１の実施例による８ビットの加算器を含んだ回路の一部を示す回路ブロツク図、
【図６】本発明の第２の実施例を示す５種類の論理セルＣ，Ｄ，Ｅ，Ｆ、とＧから構成されるフイールドプログラマブルゲートアレイの回路構成の一部分を表す回路ブロツク図、
【図７】従来のフィールドプログラマプルゲートアレイの構成図。
【符号の説明】
Ａ…論理セルＡ、    Ｂ…論理セルＢ、    Ｃ…論理セルＣ、    Ｄ…論理セルＤ、    Ｅ…論理セルＥ、Ｆ…論理セルＦ、    Ｇ…論理セルＧ、    １１…論理セルＡの水平配線、    １２…論理セルＡの垂直配線、    １３…論理セルＢの水平配線、    １４…論理セルＢの垂直配線、    １５…論理セルＡと論理セルＢ間配線、    ３１…ルックアップテーブル方式の関数発生器、    ３２〜３５…マルチプレクサ、    ３６〜３７…Ｄフリップフロップ、    ３８〜３９…出力マルチプレクサ、    ４１…高速の桁上げ回路、    ６１…論理セルＤの水平配線、    ６２…論理セルＦの水平配線、    ６３…論理セルＧの水平配線、６４…論理セルＣの水平配線、    ６５…論理セルＥの水平配線、    ６６…論理セルＤの垂直配線、    ６７…論理セルＣの垂直配線、    ６８…論理セルＧの垂直配線、    ６９…論理セルＦの垂直配線、    ７０…論理セルＥの垂直配線、    ７１…フィールドプログラマブルゲートアレイ、    ７２…論理セル、    ７３…配線領域、    ７４…入出力端子、    ７９…論理セルＣ，Ｄ，Ｅ，Ｆと論理セルＧ間配線
【図１】
0003567689.tif 000002
【図２】
0003567689.tif 000003
【図３】
0003567689.tif 000004
【図４】
0003567689.tif 000005
【図５】
0003567689.tif 000006
【図６】
0003567689.tif 000007
【図７】
0003567689.tif 000008