(57)【要約】【課題】外部配線と複数の論理セルを含む論理セル群とを相互に接続する相互接続構造、および相互接続構造を有する論理回路装置に関し、論理のファンクション表現の柔軟性を低下させることなく配線リソースのオーバヘッドを低減させることを目的とする。【解決手段】論理回路装置における相互接続部１が、外部配線と論理セル群２の入力線と相互接続関係を規定する接続規定手段を有し、論理セル群の複数の論理セルの中で対象となるファンクションを考慮して、論理のファンクション表現に関する柔軟性を保ちつつ、相互接続部の入力線の数が相互接続部の出力線の数より少ない構成、および、接続規定手段により規定される組み合わせ数が相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成される。複数の論理回路装置のクラスタ化により形成されるクラスタ構造を有する論理回路装置も提供される。【選択図】図１
2010119068.tif 000002
【特許請求の範囲】
【請求項１】
外部配線と複数の論理セルを含む論理セル群の入力線とを相互に接続するための相互接続部を有する相互接続構造において、
前記相互接続構造部は、前記外部配線と前記論理セル群の入力線との相互接続関係を規定する接続規定手段を有しており、
前記複数の論理セルの中で対象となる論理のファンクションを考慮して、ファンクション表現に関する柔軟性を保ちつつ、前記相互接続部の入力線の数が前記相互接続部の出力線の数より少ない構成、および、前記接続規定手段により規定される組み合わせ数が前記相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成されることを特徴とする相互接続構造。
【請求項２】
前記相互接続部の入力線の数および出力線の数は、任意に設定されることを特徴とする請求項１に記載の相互接続構造。
【請求項３】
前記論理セル群は、再構成論理セルにより構成されることを特徴とする請求項１に記載の相互接続構造。
【請求項４】
前記論理セル群の出力線の一部を前記相互接続部の入力線にフィードバックするためのフィードバック部を設け、前記フィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、前記相互接続部の入力線の数が削減されるように構成されることを特徴とする請求項２または３に記載の相互接続構造。
【請求項５】
前記相互接続部の特定の入力線を所定のレベルにクランプすることによって、前記相互接続部の入力線の数を削減することが可能であることを特徴とする請求項１から４のいずれか一項に記載の相互接続構造。
【請求項６】
前記複数の論理セルの論理のファンクションの中で特定のファンクションを選択することによって、前記接続規定手段により規定される組み合わせ数を削減することが可能であることを特徴とする請求項１から４のいずれか一項に記載の相互接続構造。
【請求項７】
前記複数の論理セルの論理関数を、異なる入力信号の順列を取る論理関数の集団に属する特定の論理関数に集約することによって、前記接続規定手段により規定される組み合わせ数を削減することが可能であることを特徴とする請求項１から４のいずれか一項に記載の相互接続構造。
【請求項８】
デコーダ回路により前記複数のスイッチのオン・オフ動作を制御することによって、前記相互接続部のコンフィギュレーションメモリのメモリ数を削減することが可能であることを特徴とする請求項１から４のいずれか一項に記載の相互接続構造。
【請求項９】
前記相互接続部または前記論理セル群の後段に遅延回路を設けることを特徴とする請求項１から８のいずれか一項に記載の相互接続構造。
【請求項１０】
前記遅延回路は、固定遅延素子により構成されることを特徴とする請求項９に記載の相互接続構造。
【請求項１１】
前記遅延回路は、可変遅延素子により構成されることを特徴とする請求項９に記載の相互接続構造。
【請求項１２】
複数の論理セルを含む論理セル群と、外部配線と前記論理セル群の入力線とを相互に接続するための相互接続部とを有する論理回路装置において、
前記相互接続構造部は、前記外部配線と前記論理セル群の入力線との相互接続関係を規定する接続規定手段を有しており、
前記複数の論理セルの中で対象となる論理のファンクションを考慮して、ファンクション表現に関する柔軟性を保ちつつ、前記相互接続部の入力線の数が前記相互接続部の出力線の数より少ない構成、および、前記接続規定手段により規定される組み合わせ数が前記相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成されることを特徴とする論理回路装置。
【請求項１３】
前記相互接続部の入力線の数および出力線の数は、任意に設定されることを特徴とする請求項１２に記載の論理回路装置。
【請求項１４】
前記論理セル群は、再構成論理セルにより構成されることを特徴とする請求項１２に記載の論理回路装置。
【請求項１５】
前記論理セル群の出力線の一部を前記相互接続部の入力線にフィードバックするためのフィードバック部を設け、前記フィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、前記相互接続部の入力線の数が削減されるように構成されることを特徴とする請求項１３または１４に記載の論理回路装置。
【請求項１６】
前記相互接続部の特定の入力線を所定のレベルにクランプすることによって、前記相互接続部の入力線の数を削減することが可能であることを特徴とする請求項１から４のいずれか一項に記載の論理回路装置。
【請求項１７】
前記複数の論理セルの論理のファンクションの中で特定のファンクションを選択することによって、前記接続規定手段により規定される組み合わせ数を削減することが可能であることを特徴とする請求項１２から１５のいずれか一項に記載の論理回路装置。
【請求項１８】
前記複数の論理セルの論理関数を、異なる入力信号の順列を取る論理関数の集団に属する特定の論理関数に集約することによって、前記接続規定手段により規定される組み合わせ数を削減することが可能であることを特徴とする請求項１２から１５のいずれか一項に記載の論理回路装置。
【請求項１９】
デコーダ回路により前記複数のスイッチのオン・オフ動作を制御することによって、前記相互接続部のコンフィギュレーションメモリのメモリ数を削減することが可能であることを特徴とする請求項１２から１５のいずれか一項に記載の論理回路装置。
【請求項２０】
前記相互接続部または前記論理セル群の後段に遅延回路を設けることを特徴とする請求項１２から１９のいずれか一項に記載の論理回路装置。
【請求項２１】
前記遅延回路は、固定遅延素子により構成されることを特徴とする請求項２０に記載の論理回路装置。
【請求項２２】
前記遅延回路は、可変遅延素子により構成されることを特徴とする請求項２０に記載の論理回路装置。
【請求項２３】
複数の論理セルを含む論理セル群と、外部配線と前記論理セル群の入力線とを相互に接続するための相互接続部を有する論理回路装置を１つのクラスタとし、複数のクラスタを相互に接続することによってクラスタ構造が形成される論理回路装置において、
各々の前記クラスタ内の前記相互接続部は、前記外部配線と前記論理セル群の入力線との相互接続関係を規定する接続規定手段を有しており、
各々の前記クラスタ内における前記論理セル群の前記複数の論理セルの中で対象となる論理のファンクションを考慮して、ファンクション表現に関する柔軟性を保ちつつ、前記相互接続部の入力線の数が前記相互接続部の出力線の数より少ない構成、および、前記接続規定手段により規定される組み合わせ数が前記相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成されることを特徴とする論理回路装置。
【請求項２４】
各々の前記クラスタ内の前記相互接続部の入力線の数および出力線の数は、任意に設定されることを特徴とする請求項２３に記載の論理回路装置。
【請求項２５】
各々の前記クラスタ内の前記論理セル群は、再構成論理セルにより構成されることを特徴とする請求項２３に記載の論理回路装置。
【請求項２６】
各々の前記クラスタ内の前記論理セル群の出力線の一部を前記相互接続部の入力線にフィードバックするためのフィードバック部を設け、前記フィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、前記相互接続部の入力線の数が削減されるように構成されることを特徴とする請求項２４または２５に記載の論理回路装置。
【請求項２７】
各々の前記クラスタ内の前記相互接続部の特定の入力線を所定のレベルにクランプすることによって、前記相互接続部の入力線の数を削減することが可能であることを特徴とする請求項２３から２６のいずれか一項に記載の論理回路装置。
【請求項２８】
各々の前記クラスタ内における前記論理セル群の前記複数の論理セルの論理のファンクションの中で特定のファンクションを選択することによって、前記接続規定手段により規定される組み合わせ数を削減することが可能であることを特徴とする請求項２３から２６のいずれか一項に記載の論理回路装置。
【請求項２９】
各々の前記クラスタ内における前記複数の論理セルの論理関数を、異なる入力信号の順列を取る論理関数の集団に属する特定の論理関数に集約することによって、前記接続規定手段により規定される組み合わせ数を削減することが可能であることを特徴とする請求項２３から２６のいずれか一項に記載の論理回路装置。
【請求項３０】
各々の前記クラスタ内に設けられたデコーダ回路により前記複数のスイッチのオン・オフ動作を制御することによって、前記相互接続部のコンフィギュレーションメモリのメモリ数を削減することが可能であることを特徴とする請求項２３から２６のいずれか一項に記載の論理回路装置。
【請求項３１】
各々の前記クラスタ内の前記相互接続部または前記論理セル群の後段に遅延回路を設けることを特徴とする請求項２３から３０のいずれか一項に記載の論理回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部配線と複数の論理セルを含む論理セル群（例えば、粒度可変論理セル（Variable Grain Logic Cell：通常、ＶＧＬＣと略記される））とを相互に接続するための相互接続構造、外部配線と当該論理セル群とを相互に接続するための相互接続部を有する論理回路装置、ならびに、複数の論理回路装置をクラスタ化して相互に接続することによってクラスタ構造が形成される論理回路装置に関する。
【０００２】
さらに詳しくいえば、本発明は、複数の論理セルにより論理のファンクションを表現する際の柔軟性を大幅に低下させることなく、論理セル群の配線リソースのオーバヘッドを低減させて論理回路の面積、消費電力、およびメモリ量等の節減を実現するための一手法について言及する。
【背景技術】
【０００３】
近年、プログラマブル論理回路装置は、内部回路を電気的にプログラムすることでユーザの様々な要求に応じた論理回路を実現することができるデバイスとして注目されている。このプログラマブル論理回路装置は、ＰＬＤ（Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）、ＤＲＰ（Dynamically Reconfigurable Processor）、或いは、ＤＡＰ／ＤＮＡ（Digital Application Processor/Distributed Network Architecture）として知られており、ハードウェアの試作に対する利用を越えて、それ自体で様々な機能を有する大規模な回路を構成するためにも使用されている。
【０００４】
そして、プログラマブル論理回路装置は、一般に、リコンフィギャラブルロジックデバイス（Reconfigurable Logic Device：、通常、ＲＬＤと略記される）と呼ばれる。
【０００５】
ＲＬＤ（リコンフィギャラブルロジックデバイス）は、回路構成を書き換えることができるという特徴を有しており、この特徴を活かし、幅広い分野の産業機器、電子デバイス等で使用されてきた。従来のプログラマブル論理回路装置を構成するＲＬＤは、細粒度（Fine-grain）方式および粗粒度（Coarse-grain）方式の２種類に大別される。細粒度方式はビット単位の入力に対して非常に高い柔軟性をもち、ランダムロジックを効率良く実装可能である。また一方で、粗粒度方式はバイト単位の演算を高速に実行するのに適している。しかしながら、通常、ＲＬＤは粒度方式が固定されており、実装に適するアプリケーションが制限されるという不都合が生ずる。このような不都合な事態を解消するために、従来のＦＰＧＡ等のプログラマブル論理回路装置に代わる、新たなリコンフィギャラブルロジックとしてＶＧＬＣ（粒度可変論理セル）が提案されている。ＶＧＬＣでは、アプリケーションに合わせた粒度で実装するため、性能向上が期待できる。
【０００６】
しかしながら、ＶＧＬＣは、論理セルの論理のファンクション表現の柔軟性に起因して論理セル群の入力線および出力線の数が増大し、配線リソースのオーバヘッドという問題が生じてくる。特に、最近は、製造プロセスの微細化により配線遅延の影響が増大しており、この配線遅延の影響を無視することができない。このため、論理セルの論理のファンクション表現の柔軟性を保ちつつ、論理セル群の配線リソースのオーバヘッドを低減させて論理回路の面積、消費電力、およびメモリ量等を節減することが要求される。
【０００７】
ここで、前述のような従来のプログラマブル論理回路装置に関連した下記の特許文献１〜特許文献５を先行技術文献として呈示する。
【０００８】
特許文献１では、論理セルブロックにおいて隣接論理素子への直接接続または間接接続を有するフィールドプログラマブルゲートアレーのタイル型構造が開示されている。しかしながら、この構造では、論理セルブロックが細粒度方式に固定されている。
【０００９】
特許文献２では、複数のＬＵＴ（Look-up Table）を１つの論理セルブロックとしてクラスタ化し、クロスバーやマルチプレクサで構成される相互接続ブロックを論理セルブロックの内部に有するプログラマブルロジック集積回路デバイスの相互接続構造が開示されている。これによって、複数のＬＵＴで入力共有が可能となり、論理セルブロックの入力線の数がある程度削減される。しかしながら、この構造では、論理セルにおける高い柔軟性を保持したままでは配線リソースのオーバヘッドが大きくなる。
【００１０】
特許文献３では、マクロセルを用いたアンチフューズ型ＦＰＧＡを有するＦＰＧＡのアーキテクチャが開示されている。しかしながら、このアーキテクチャでは、クロスバー内の全ての交点にスイッチを配置しているので、スイッチ数が増大する。
【００１１】
特許文献４では、リコンフィギャラブルロジックデバイス（ＲＬＤ）内で信号の設定を変化させることにより、異なる回路を構成するようにしたリコンフィギャラブルロジックが開示されている。しかしながら、このリコンフィギャラブルロジックでは、外部配線と論理セル群とを相互に接続するための相互接続構造に関する問題点に対して、何の対策も講じていない。
【００１２】
特許文献５では、プログラマブル論理素子を階層的構造にし、各階層での相互接続構造を形成するようにしたプログラマブル論理素子が開示されている。このプログラマブル論理素子では、各階層での相互接続構造のスイッチ配置を疑似ランダム方式で行っている。
【００１３】
したがって、特許文献１〜特許文献４のいずれにおいても、前述のような従来のプログラマブル論理回路装置と同様の問題が発生する。また、特許文献５においては、本発明とスイッチ配置の方式が異なっている。
【００１４】
【特許文献１】特表平８−５０９３４４号公報
【特許文献２】特開２００６−２４６５３４号公報
【特許文献３】特表２００４−５１７５４３号公報
【特許文献４】特開２００７−１６６５７９号公報
【特許文献５】特開平１０−９２９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は上記問題点に鑑みてなされたものであり、複数の論理セルにより論理のファンクションを表現する際の柔軟性を大幅に低下させることなく、論理セル群の配線リソースへのオーバヘッドを低減させて論理回路の面積、消費電力、およびメモリ量等の節減を図ることが可能な相互接続構造および論理回路装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１６】
上記問題点を解決するために、本発明の態様に係る相互接続構造は、外部配線と複数の論理セルを含む論理セル群の入力線とを相互に接続するための相互接続部を有し、この相互接続構造部は、上記外部配線と上記論理セル群の入力線との相互接続関係を規定する接続規定手段を有しており、上記複数の論理セルの中で対象となる論理のファンクションを考慮して、ファンクション表現に関する柔軟性を保ちつつ、上記相互接続部の入力線の数が上記相互接続部の出力線の数より少ない構成、および  上記接続規定手段により規定される組み合わせ数が上記相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成される。
【００１７】
好ましくは、本発明の態様に係る相互接続構造において、上記相互接続部の入力線の数および出力線の数は、任意に設定される。
【００１８】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記論理セル群は、再構成論理セル（例えば、上記論理セルによる演算の粒度が可変に設定される粒度可変論理セル）により構成される。
【００１９】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記論理セル群の出力線の一部を上記相互接続部の入力線にフィードバックするためのフィードバック部を設け、上記フィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、上記相互接続部の入力線の数が削減されるように構成される。
【００２０】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記相互接続部の特定の入力線を所定のレベルにクランプすることによって、上記相互接続部の入力線の数を削減することが可能である。
【００２１】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記複数の論理セルの論理のファンクションの中で特定のファンクションを選択することによって、上記接続規定手段により規定される組み合わせ数を削減することが可能である。
【００２２】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記複数の論理セルの論理関数を、異なる入力信号の順列を取る論理関数の集団に属する特定の論理関数に集約することによって、上記接続規定手段により規定される組み合わせ数を削減することが可能である。
【００２３】
さらに、好ましくは、本発明の態様に係る相互接続構造において、デコーダ回路により上記複数のスイッチのオン・オフ動作を制御することによって、上記相互接続部のコンフィギュレーションメモリのメモリ数を削減することが可能である。
【００２４】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記相互接続部または上記論理セル群の後段に遅延回路を設けるようにしている。
【００２５】
さらに、好ましくは、本発明の態様に係る相互接続構造において、上記遅延回路は、固定遅延素子または可変遅延素子により構成される。
【００２６】
また一方で、本発明の第１の態様に係る論理回路装置は、複数の論理セルを含む論理セル群と、外部配線と上記論理セル群の入力線とを相互に接続するための相互接続部とを有し、この相互接続構造部は、上記外部配線と上記論理セル群の入力線との相互接続関係を規定する接続規定手段を有しており、上記複数の論理セルの中で対象となる論理のファンクションを考慮して、ファンクション表現に関する柔軟性を保ちつつ、上記相互接続部の入力線の数が上記相互接続部の出力線の数より少ない構成、および、上記接続規定手段により規定される組み合わせ数が上記相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成される。
【００２７】
好ましくは、本発明の第１の態様に係る論理回路装置において、上記相互接続部の入力線の数および出力線の数は、任意に設定される。
【００２８】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記論理セル群は、再構成論理セル（例えば、上記論理セルによる演算の粒度が可変に設定される粒度可変論理セル）により構成される。
【００２９】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記論理セル群の出力線の一部を上記相互接続部の入力線にフィードバックするためのフィードバック部を設け、上記フィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、上記相互接続部の入力線の数が削減されるように構成される。
【００３０】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記相互接続部の特定の入力線を所定のレベルにクランプすることによって、上記相互接続部の入力線の数を削減することが可能である。
【００３１】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記複数の論理セルの論理のファンクションの中で特定のファンクションを選択することによって、上記接続規定手段により規定される組み合わせ数を削減することが可能である。
【００３２】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記複数の論理セルの論理関数を、異なる入力信号の順列を取る論理関数の集団に属する特定の論理関数に集約することによって、上記接続規定手段により規定される組み合わせ数を削減することが可能である。
【００３３】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、デコーダ回路により上記複数のスイッチのオン・オフ動作を制御することによって、上記相互接続部のコンフィギュレーションメモリのメモリ数を削減することが可能である。
【００３４】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記相互接続部または上記論理セル群の後段に遅延回路を設けるようにしている。
【００３５】
さらに、好ましくは、本発明の第１の態様に係る論理回路装置において、上記遅延回路は、固定遅延素子または可変遅延素子により構成される。
【００３６】
また一方で、本発明の第２の態様に係る論理回路装置は、複数の論理セルを含む論理セル群と、外部配線と上記論理セル群の入力線とを相互に接続するための相互接続部を有する論理回路装置を１つのクラスタとし、複数のクラスタを相互に接続することによってクラスタ構造が形成され、各々の上記クラスタ内の上記相互接続部は、上記外部配線と上記論理セル群の入力線との相互接続関係を規定する接続規定手段を有しており、各々の上記クラスタ内における上記論理セル群の上記複数の論理セルの中で対象となる論理のファンクションを考慮して、ファンクション表現に関する柔軟性を保ちつつ、上記相互接続部の入力線の数が上記相互接続部の出力線の数より少ない構成、および  上記接続規定手段により規定される組み合わせ数が上記相互接続部の入出力の全ての組み合わせ数より少ない構成の少なくとも一方が実現されるように構成される。
【００３７】
好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内の上記相互接続部の入力線の数および出力線の数は、任意に設定される。
【００３８】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内の上記論理セル群は、再構成論理セル（例えば、上記論理セルによる演算の粒度が可変に設定される粒度可変論理セル）により構成される。
【００３９】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内の上記論理セル群の出力線の一部を上記相互接続部の入力線にフィードバックするためのフィードバック部を設け、上記フィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、上記相互接続部の入力線の数が削減されるように構成される。
【００４０】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内の上記相互接続部の特定の入力線を所定のレベルにクランプすることによって、上記相互接続部の入力線の数を削減することが可能である。
【００４１】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内における上記論理セル群の上記複数の論理セルの論理のファンクションの中で特定のファンクションを選択することによって、上記接続規定手段により規定される組み合わせ数を削減することが可能である。
【００４２】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内における上記複数の論理セルの論理関数を、異なる入力信号の順列を取る論理関数の集団に属する特定の論理関数に集約することによって、上記接続規定手段により規定される組み合わせ数を削減することが可能である。
【００４３】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内に設けられたデコーダ回路により上記複数のスイッチのオン・オフ動作を制御することによって、上記相互接続部のコンフィギュレーションメモリのメモリ数を削減することが可能である。
【００４４】
さらに、好ましくは、本発明の第２の態様に係る論理回路装置において、各々の上記クラスタ内の上記相互接続部または上記論理セル群の後段に遅延回路を設けるようにしている。
【発明の効果】
【００４５】
要約すれば、本発明では、複数の論理セルにより論理のファンクションを表現する際の柔軟性を保ちつつ、外部配線からの入力線の数を削減することができるようになり、論理回路装置の配線の総トラック数の節減が図れる。
【００４６】
さらに、本発明では、論理セル群の出力側の信号の一部を入力側にフィードバックするためのフィードバック部によって、フィードバック信号を外部から取り入れる必要がなく、外部配線からの入力線の数が削減される。さらに、フィードバック部のローカル配線を用いた信号伝播により、信号の伝播速度が増加して論理セル群を通過する信号の高速化が図れる。
【００４７】
さらに、本発明では、相互接続部の入力線の数が相互接続部の出力線の数より少ない構成、または、複数のスイッチ等の接続規定手段により規定される組み合わせ数が相互接続部の入出力の全ての組み合わせ数より少ない構成が実現されるので、複数の論理セルにより論理のファンクションを表現する際の柔軟性を保ちつつ、論理回路の面積、消費電力、およびメモリ量等の節減を図ることが可能になる。
【発明を実施するための最良の形態】
【００４８】
以下、本発明の実施例の構成および動作等を添付図面（図１〜図２６）に従って詳述する。
【００４９】
図１は、本発明に係る相互接続構造の一実施例を示すブロック図である。図１の相互接続構造の一実施例は、複数の論理セルを有する論理セル群２と、外部配線ＥＤと論理セル群２の入力線とを相互に接続するためのリコンフィギャラブルスイッチ群（本発明の相互接続部に対応する）１と、このリコンフィギャラブルスイッチ群１の経路設定を行うコンフィギレーションメモリ４とを備えている。さらに、図１の実施例は、外部配線ＥＤを通る信号を論理セル群２に伝播するコネクションブロック（以後、ＣＢと略記する）５−１と、論理セル群２から出力される信号を外部に伝播する他のＣＢ５−２とを備えている。また一方で、図１の実施例では、論理セル群２から出力される信号をリコンフィギャラブルスイッチ群１の入力側にフィードバックするためのフィードバック線を有するフィードバック部３が設けられている。
【００５０】
ここで、リコンフィギャラブルスイッチ群１は、外部配線ＥＤと論理セル群２の入力線との相互接続関係を規定する接続規定手段として機能する。より具体的には、リコンフィギャラブルスイッチ群１は、ＣＢ５−１の出力線と論理セル群２の入力線との交点に配置される複数のスイッチを有する。リコンフィギャラブルスイッチ群１の入力配線（ここでは、論理セル群２の入力線と混同しないようにするために、「リコンフィギャラブルスイッチ群１の入力配線」と称する）の本数はｌ、出力配線（同様に、論理セル群２の出力線と混同しないようにするために、「リコンフィギャラブルスイッチ群１の出力配線」と称する）の本数はｍとし、ｌとｍとの組み合わせは任意である。通常、ｌ＜ｍの関係になっている（例えば、ｌ＝１０、ｍ＝２１）。また一方で、論理セル群２の出力線の本数はｎとする。
【００５１】
図２は、図１の相互接続構造の具体例を示すブロック図である。なお、これ以降、前述した構成要素と同様のものについては、同一の参照番号を付して表すこととする。
【００５２】
図２の具体例では、図１のリコンフィギャラブルスイッチ群１として、ローカルコネクションブロック（以後、ＬＣＢと略記する）１０が設けられている。さらに、図２の具体例では、論理セル群２として、粒度可変論理セル（以後、ＶＧＬＣと略記する）２０が設けられている。また一方で、図２の具体例では、図１のフィードバック部３として、ＶＧＬＣ２０の出力線（ＬＣＢ１０の出力側の出力配線ＯＵＴ）から出力される信号をＬＣＢ１０の入力側の入力配線ＩＮＤにフィードバックするためのフィードバック線を有するローカルフィードバック３０が設けられている。
【００５３】
ＬＣＢ１０は、図２のように、ＶＧＬＣ２０と外部配線ＥＤとの間に実装され、ＶＧＬＣ２０の入力ピン数（例えば、２１本）より少ない数の入力信号を外部から取り込み、ＶＧＬＣ２０に伝播する役割を有する。これによって、配線のトラック数が削減され、デバイス（論理回路装置）の小型化が可能となる。さらに、前述のように、ＶＧＬＣ２０の出力側からＬＣＢ１０の入力側までのローカルフィードバック３０が設けられている。これによって、ＶＧＬＣ２０から出力される信号のフィードバック時には外部配線を通る必要がないため、伝播遅延が改善され、デバイスの速度向上が見込める。
【００５４】
図３は、図２の具体例の全体的な構成を示すブロック図である。図３の（ａ）では、１個のタイル７が図示され、図３の（ｂ）では、複数のタイル７Ａが図示されている。
【００５５】
図３の（ａ）では、前述の図２のＬＣＢ１０、ＶＧＬＣ２０およびＣＢ５−１、５−２以外に、信号の伝播の経路設定を行うスイッチブロック（ＳＢ）６−１〜６−４が追加されている。スイッチブロック６−１〜６−４の構成要素を含む論理回路装置は、１個のタイル７として定義される。複数のタイルをアレイ状に配置した構造を有する論理回路装置は、複数のタイル７Ａとして定義される。
【００５６】
図４は、ＬＣＢの内部構成を示すブロック図である。  図４に示すように、ＬＣＢ１０は、複数のスイッチを有するスイッチ部１１と、このスイッチ部１１内の複数のスイッチを制御する制御部とを備えている。ただし、これ以降は簡単化のため、スイッチ部１１にのみ焦点を当てる。また一方で、これ以降の図面では、ＶＧＬＣの外部への出力線は省略する。
【００５７】
ここで、図５〜図８を参照しながら、本発明に適用されるＬＣＢのネットワーク構造に関する４つの例を説明する。
【００５８】
図５は、クロスバーを用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。図５に示すＬＣＢ１０ａは、入力配線ＩＮＤ（例えば、１２入力）と出力配線ＯＵＤとの各接点にｎＭＯＳスイッチ素子等のスイッチ１５ａを用いたクロスバー１１ａにより構成される。ＬＣＢ１０ａの入力配線ＩＮＤは、グローバル配線ＧＤからなる外部配線、ＶＧＬＣ２０ａのフィードバック線、および電源線ＶＤＤとアース線ＧＮＤである。外部配線との接続は、フルクロスバー５１ａで構成されたＣＢ５０ａを用いて行われる。ＶＧＬＣ２０ａのフィードバック線として、ＶＧＬＣ２０ａの出力側からＬＣＢ１０ａの入力側までのローカルフィードバック３０ａが設けられている。ＬＣＢ１０ａでは、ＶＧＬＣ２０ａの各入力ピンごとに、入力される信号を１つだけ選択する。通常、例えば４個のスイッチ制御を行うデコーダ回路を用いて、特定のスイッチのみがオン（ＯＮ）状態になるような制御を行う。これによって、個々のスイッチを個々のメモリ（例えば、ＳＲＡＭ（Static Random Access Memory））で制御する場合と比較して、例えばコンフィグレーションメモリ４（図１参照）のメモリ数を削減することが可能になる。
【００５９】
図５においては、ＣＢ５０ａからの入力配線ＩＮＤとＶＧＬＣ２０ａへの入力ピンとの交点の全てにスイッチ１５ａを配置している。この場合、非常に高い柔軟性を保持しているため、任意の経路設定が可能になる。しかしながら、その一方で、非常に多くの回路リソースが必要になる。
【００６０】
図６は、マルチプレクサ（ＭＵＸ）を用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。図５に示すＬＣＢ１０ｂは、入力配線ＩＮＤ（例えば、１２入力）と出力配線ＯＵＤとを選択的に接続するための切替選択部１１ｂを有するマルチプレクサ１１ｂにより構成される。ＬＣＢ１０ｂの入力配線ＩＮＤは、グローバル配線ＧＤからなる外部配線、およびＶＧＬＣ２０ｂのローカルフィードバック３０ａ等のフィードバック線である。外部配線との接続は、フルクロスバー５１ｂで構成されたＣＢ５０ｂを用いて行われる。図６のＬＣＢ１０ｂでは、クロスバーを用いた場合よりも回路リソース量が少なくて済む。
【００６１】
図７は、Ｃｌｏｓ網を用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。図７に示すＬＣＢ１０ｃは、入力配線ＩＮＤ（例えば、１２入力）と出力配線ＯＵＤとを選択的に接続するためのＣｌｏｓ網１１ｃにより構成される。このＣｌｏｓ網１１ｃは、入力部１３−２と、切替選択部１３−２とを有する。ＬＣＢ１０ｃの入力配線ＩＮＤは、グローバル配線ＧＤからなる外部配線、およびＶＧＬＣ２０ｃのローカルフィードバック３０ｃ等のフィードバック線である。
【００６２】
図８は、Ｂｅｎｅｓ網を用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。図８に示すＬＣＢ１０ｄは、入力配線ＩＮＤ（例えば、１２入力）と出力配線ＯＵＤとを選択的に接続するためのＢｅｎｅｓ網１１ｄにより構成される。このＢｅｎｅｓ網１１ｄは、入力部１４−１と、Ｂｅｎｅｓ回路素子１４−２と、切替選択部１４−３とを有する。ＬＣＢ１０ｄの入力配線ＩＮＤは、グローバル配線ＧＤからなる外部配線、およびＶＧＬＣ２０ｄのローカルフィードバック３０ｄ等のフィードバック線である。
【００６３】
図９は、デコーダ回路によるスイッチ制御の様子を説明するための回路ブロック図である。スイッチ制御用のメモリの総数を減少させることは、データ量の節減につながる。そこで、ＡＮＤ（論理積）ゲートを用いたデコーダ回路によってスイッチを制御し、メモリ数を削減する。図９では、ＡＮＤゲート８２−１〜８２−４を用いたデコーダ回路８を、クロスバーを用いたＬＣＢに適用した実装例が図示されている。
【００６４】
ここでは、スイッチを用いた動作を説明したが、現実には組み合わせ論理回路を用いても、全く同様の機能の実現は可能であり、添付の特許請求の範囲は、スイッチを用いた例に限定されないのはもちろんである。また、他の図のスイッチを用いた制御部についても同様である。
【００６５】
図９においては、２ビットのＳＲＡＭ等のメモリ８０を用いて４個のスイッチ制御を行う場合のデコーダ回路８を示す。このデコーダ回路８は、２個のインバータ８１−１、８１−２と、４個のＡＮＤゲート８２−１〜８２−４と、４個のｎＭＯＳスイッチ素子８３−１〜８３−４等のスイッチとを有する単純な構造である。このデコーダ回路８によって、メモリ値がデコードされ、特定の１つのスイッチのみがオン状態になる。このデコーダ回路８により、入力配線ＩＮＤと出力配線ＯＵＤ（ＶＧＬＣ２０ｅの入力線）との交点に配置されるクロスバーの複数のスイッチ１５ｅを有するＬＣＢ１０ｅの制御が行われる。
【００６６】
図５〜図８のＬＣＢを使用した場合のネットワーク構造と、クロスバーを用いた場合のＬＣＢにデコーダ回路を適用した場合のネットワーク構造のスイッチ段数、使用メモリ数、および使用トランジスタ（Ｔｒ）数の比較結果を下記の表１に示す。ただし、ここでは、Ｂｅｎｅｓ網とＣｌｏｓ網を形成するための複数のスイッチからなるスイッチ群は、クロスバーにより構成した場合とマルチプレクサ（ＭＵＸ）により構成した場合とを想定している。
【００６７】
【表１】
2010119068.tif 000003
【００６８】
この表１から明らかなように、クロスバーを用いた場合のＬＣＢにデコーダ回路を適用した場合には、メモリ数はおよそ４分の１まで節減されるが、使用されるトランジスタ数は２倍になるという結果になる。メモリ数を節減することは、コンフィギュレーション時の消費電力の節減につながる。なお、これ以降、ＬＣＢはデコーダ回路を含む構成とする。
【００６９】
前述のように、ＬＣＢの入力配線と出力配線との交点の全てに複数のスイッチを配置した場合、非常に高い柔軟性を保持している一方で、非常に多くの回路リソースが必要になる。それゆえに、ＬＣＢ内の複数のスイッチのスイッチ数を従来の場合よりも少なくするように構成することは、ＬＣＢの回路リソースを抑えるために有用である。そこで、ＬＣＢのスイッチ数が少なくなるように構成することとそれに伴う柔軟性への影響について検討する。スイッチ数を従来の場合よりも少なくすることにおいて、例えばスイッチを何個使用し、当該スイッチをどの位置に配置するかを考慮する必要がある。そこで、本明細書では、ＬＣＢの小型化の４通りのアプローチを以下の図１０〜図１３に例示する。なお、ＬＣＢ内のスイッチ制御に際してデコーダ回路を用いた場合を想定している。
【００７０】
図１０は、ミスセイニアス・ロジック（以後、必要に応じてＭｉｓｃ．Ｌｏｇｉｃと略記する）を全て表現するためのＬＣＢ内のスイッチの構成を示す回路図である。
【００７１】
ＶＧＬＣの機能の１つであるＭｉｓｃ．Ｌｏｇｉｃモードは、入力方法やコンフィグレーションメモリの設定により、外部変数ＥＶを使用して様々な論理を実現することが可能であるモードである。しかしながら、様々な論理のファンクション表現が可能であるＭｉｓｃ．Ｌｏｇｉｃモードには、相当数の出力論理の重複が存在する。この重複を取り除くために一部のスイッチ１５を省略することにより、ＬＣＢ１０の柔軟性をある程度下げることができるようになり、ＬＣＢの小型化につながる。
【００７２】
図１０に小型化したＬＣＢ１０のクロスバーの複数のスイッチ１５の配置を示す。ＬＣＢ１０内のスイッチ数はおよそ半分に削減される。特に注目すべき点はフィードバック線の接続である。前述の図５とは異なり、フィードバック線の接続に多くのスイッチを使用している。これは、外部信号とフィードバック信号の柔軟性を等価にするためである。ここで、ＬＣＢ１０の出力配線ＯＵＤのｗ［０］、ｃ［０］、ｘ［０］、ｙ［０］、ｚ［０］、……、ＡＳ、およびＳｈｉｆｔは、ＶＧＬＣの入力ピンに入力される各種の信号を表している。
【００７３】
好ましくは、図１０〜図１４の各々において、ＬＣＢ１０の最上部の２本の入力配線は、電源電圧の電位およびアース電位（０Ｖ）に固定されている。これによって、論理セル群の特定の入力線の論理を「１」または「０」にクランプすることが可能になる。このような電源電圧の電位及びアース電位への入力配線を設けることにより、ロジックレベル「０」または「１」をグローバル配線経由で供給する必要はなくなり、グローバル配線からのＬＣＢへの入力が減少し、回路の小型化、配線の短縮による低消費電力化に寄与する。
【００７４】
図１１は、算術演算モードとランダムロジックモードのみを考慮したＬＣＢ内のスイッチの構成を示す回路図である。
【００７５】
図１１においては、Ｍｉｓｃ．Ｌｏｇｉｃモードを全く考慮せず、外部変数ＥＶを使用した算術演算モードおよびランダムロジック（カノニカルフォーム（Canonical Form：ＣＦ））モードにのみに焦点を当て、ＬＣＢ１０の柔軟性を限界まで下げるようにしている。すなわち、図１１のアプローチは、ＶＧＬＣの機能に制約をかけることで、ＬＣＢ１０内のスイッチ１５のスイッチ数を削減するものである。算術演算モードおよびランダムロジックモードでは入力ピンの使用方法が明確に決まっている。このため、ＬＣＢ１０の柔軟性を高くする必要はない。また一方で、Ｍｉｓｃ．Ｌｏｇｉｃでは、各々の入力ピンの使用方法が実装する論理により大きく異なる。このため、ＬＣＢ１０の柔軟性を高くする必要がある。そこで、Ｍｉｓｃ．Ｌｏｇｉｃモードの使用を禁止することにより、ＬＣＢ１０内のスイッチのスイッチ数の削減を図るようにしている。外部入力に対し、各々のＶＧＬＣの入力ピンにスイッチを一つずつ配置している。フィードバック用のスイッチ数は、図１０の場合よりさらに多くなる。
【００７６】
図１２は、一部のミスセイニアス・ロジック（Ｍｉｓｃ．Ｌｏｇｉｃ）に対応したＬＣＢ内のスイッチの構成を示す回路図である。
【００７７】
前述の図１０、図１１では、Ｍｉｓｃ．Ｌｏｇｉｃを全て考慮した場合と全く考慮しない場合のＬＣＢの構造を紹介した。ここでは、ＶＧＬＣに対して予めアプリケーションをマッピングし、使用されるＭｉｓｃ．Ｌｏｇｉｃの統計を取る。この統計による結果をもとに、頻繁に利用されるＭｉｓｃ．Ｌｏｇｉｃだけには対応することができるように、複数のスイッチ１５を有するＬＣＢ１０の構造を決定する。
【００７８】
図１２のアプローチは、前述の図１１のアプローチとは異なり、Ｍｉｓｃ．Ｌｏｇｉｃモードの一部の論理を実装可能にする。実装可能にする論理として、アプリケーション実装に頻繁に用いられるものを採用する。
【００７９】
図１２のアプローチは、前述の図１０のアプローチに比べてＶＧＬＣの機能性は高くないが、前述の図１１のアプローチよりは高い。図１２のＬＣＢ１０では、前述の図１１のＬＣＢに対し、数個のスイッチを追加している。図１２におけるフィードバック用のスイッチのスイッチ数は、前述の図１１の場合と同じである。
【００８０】
図１３は、デコーダ回路の構造を考慮したＬＣＢ内のスイッチ素子の構成を示す回路図である。
【００８１】
図１３に示すＬＣＢ１０の構造は、前述の図１０の構造とほぼ同等の柔軟性を保持しつつ、さらにＬＣＢ１０の小型化を行ったものである。この図１０の構造のキーポイントは、デコーダ回路の構造である。前述の図９に示したように、デコーダ回路はクロスバーのスイッチを列単位で制御し、デコーダ回路は構造上、２のべき乗個のスイッチ制御に向いている。そこで、図１３のＬＣＢ１０の構造では、クロスバー１列につき８個のスイッチを配置する。
【００８２】
デコーダ回路の特徴は、Ｎ個のメモリを使用してＮ2個のスイッチを制御することが可能な点である。しかしながら、Ｎ個のメモリに対し制御するスイッチ数がＮ2個より少ない場合は、メモリの利用効率を下げることになる。そこで、メモリを最大限活用するため、ＬＣＢ１０のスイッチ数をＮ2個にする。図１３のアプローチでのＬＣＢは、ＶＧＬＣの各入力ピンに対し、１０本の外部変数ＥＤの入力配線と電源線（ＶＤＤ）およびアース線（ＧＮＤ）の計１２本の信号線が存在する。これよりＶＧＬＣの各入力ピンに対し、スイッチを８個ずつ配置する。４通りのアプローチの中では、図１３のアプローチは、最も多くのスイッチ１５を使用している。また、スイッチ１５を中央部に集めることで、フィードバックに使用するスイッチ数を削減している。
【００８３】
図１０〜図１３のリソース比較を行った結果を下記の表２に示すと共に、柔軟性比較を行った結果を表３に示す。表２および表３において、アプローチＡ、Ｂ、ＣおよびＤは、それぞれ、前述の図１０のアプローチ、図１１のアプローチ図１２のアプローチ、および図１３のアプローチに対応している。柔軟性については、それぞれのアプローチに関するＬＣＢ（クロスバー部、フィードバック部およびトータル）を実装した場合に、ＶＧＬＣが表現可能なＰ代表元数で定量化を行っている。ここでは、それぞれのアプローチに関するＬＣＢの構造に対し、１２種の中規模ＭＣＮＣベンチマーク回路を用いてアプリケーションの実装評価を行っている。
【００８４】
【表２】
2010119068.tif 000004
【００８５】
＊注）表２のフィードバック部のフィードバック変数は、外部変数と同様の柔軟性を持たせておく必要がある。外部変数はＣＢで柔軟性を確保しているが、フィードバック変数については、フィードバック線の接続部分とクロスバーの部分で柔軟性を確保しなければならない。このため、クロスバーの部分のリソース量が少ないものは逆に、フィードバック線のリソース量が増える。
【００８６】
【表３】
2010119068.tif 000005
【００８７】
ここで、Ｐ代表元について説明する。Ｍｉｓｃ．Ｌｏｇｉｃモードが表現可能な論理は限られている。このため、ブーリアンマッチングにより論理回路中の論理をＭｉｓｃ．Ｌｏｇｉｃモードで実装可能か否かの判定を行う必要がある。通常、ブーリアンマッチング手法として、Ｐ（Permutation）代表元が用いられている。 例えば、ある論理関数f(x1; x2); g(x1; x2)について、f(x1; x2)≠g(x1; x2)、f(x1; x2) = g(x2; x1) が成り立つとする。この場合、２種の論理関数は同じP 同値類に属するとみなされる。そして、同じP 同値類に属す論理関数から、出力論理が最小となる１つの論理関数を代表元として扱う。これをＰ代表元と称する。これによって、複数の論理関数をＰ代表元に集約することが可能であるため、ブーリアンマッチングが容易になる。
【００８８】
表２のＬＣＢの回路リソース量の比較結果から明らかなように、スイッチ（ＳＷ）数、メモリ数、トランジスタ（Ｔｒ）数ともに最小となるのはアプローチＢである。ただし、アプローチＢはスイッチ数が少ないために柔軟性は最も低い。また、アプローチＡとアプローチＤとを比較すると、トータルのスイッチ数はアプローチＤの方が多いが、トランジスタ数はアプローチＡの方が大きい。これは、デコーダ回路の利用効率を考慮した結果によるものである。また、アプローチＤは、ＬＣＢ内部のスイッチのスイッチ数を多くすることで、フィードバックに使用されるスイッチ数が他と比べて半分以下となる。
【００８９】
ついで、次に、ＬＣＢの柔軟性を評価する。一般には、ＬＣＢ内のスイッチ数が多い程が柔軟性が高い。しかし、ＬＵＴとは異なりＶＧＬＣの入力ピンに等価性はなく、頻繁に使用する入力ピンとそうでない入力ピンが存在する。そのため、各入力ピンの使用頻度とスイッチ数で柔軟性の評価を行う必要がある。しかしながら、両者を直接評価することは難しい。そこで今回はＶＧＬＣが表現可能な代表元数によりＬＣＢの柔軟性を評価する。表３にＭｉｓｃ．Ｌｏｇｉｃモードの各ファンクション毎の評価結果を示す。
【００９０】
表３におけるファンクションの表記は以下の通りである。
N Misc-1: １個の基本論理素子（Basic Logic Element：通常、ＢＬＥと略記される）を用いたＮ入力Ｍｉｓｃ．Ｌｏｇｉｃ
N Misc-2: ２個の基本論理素子（ＢＬＥ）を用いたＮ入力Ｍｉｓｃ．Ｌｏｇｉｃ
表３中の値は、Ｍｉｓｃ．Ｌｏｇｉｃ モードが有する全Ｐ代表元に対する各アプローチで表現可能なＰ代表元のカバレッジを示す。なお、アプローチＡは、全Ｐ代表元を表現可能なため、ここでは明記しない。結果としては、アプローチＤは、アプローチＡよりもスイッチ数が多いにもかかわらず、表現可能なＰ代表元数が少ないことが確認された。これによって、スイッチ数だけでなくスイッチをどこに配置するかが非常に重要であることがわかる。また、アプローチＢ、アプローチＣに関しては相対値が非常に高いもの（例えば、3Misc-1）と非常に低いもの（例えば、5Misc-2）に大きく分かれた。このような結果になった理由は、ＢＬＥの入力ピン数と入力される信号数によるものである。3Misc-1 では1 個のＢＬＥ（ピン数：４本）で３入力論理を実装する。このため、どの信号をどのピンに入力するかの順列と１入力だけ共有することを考慮すれば良い。また一方で、5Misc-2では２個のＢＬＥ（ピン数：９本）で５入力論理を実装する。この場合、信号の並び替えだけでなく、４入力の共有を考慮する必要があり、１入力の場合と比較して、共有の組み合わせが非常に多い。このため、ＣＢだけでなく、ＬＣＢの柔軟性が非常に重要となってくる。
【００９１】
表３のように、各々のＬＣＢでは、表現可能なＰ代表元数が異なる。以下の図１４〜図１６では、各々のＬＣＢを実装したＶＧＬＣにアプリケーションをマッピングし、このマッピングの結果より、表現可能な代表元数の違いによる影響を示す。Ｐ代表元の制限が実装時にどの程度影響するかを調べるため、１２種の中規模ＭＣＮＣベンチマーク回路（例えば、図１４を参照のこと）を用いて実装評価を行っている。
【００９２】
ここで、評価対象および評価項目は下記の通りである。
評価対象
Ａ）Ｐ代表元を全て考慮したＬＣＢ（アプローチＡ）
Ｂ）算術演算モードとランダムロジックモードのみを考慮したＬＣＢ（アプローチＢ）
Ｃ）演算割合を考慮したＬＣＢ（アプローチＣ）
Ｄ）デコーダ回路の構造を考慮したＬＣＢ（アプローチＤ）
評価項目
・使用ＢＬＥ数（テクノロジマッピング時）
・クリティカルパス遅延（テクノロジマッピング時）
・論理段数（クリティカルパス段数）（テクノロジマッピング時）
【００９３】
図１４は、４通りのＬＣＢ内のスイッチ数削減のアプローチに対する使用ＢＬＥ数を比較するためのグラフ、４通りのＬＣＢ内のスイッチ数削減のアプローチに対するクリティカルパス遅延を比較するためのグラフ、そして、４通りのＬＣＢ内のスイッチ数削減のアプローチに対する論理段数を比較するためのグラフである。
【００９４】
図１４〜図１６に示すように、１２種の中規模ＭＣＮＣベンチマーク回路を用いて実装評価を行った結果として、使用ＢＬＥ数については、アプローチＡとアプローチＤは同じ結果となり、アプローチＢはアプローチＡと比較して平均で使用ＢＬＥ数が１４％増加、アプローチＣはアプローチＡと比較して平均で使用ＢＬＥ数が１１％増加した。表現可能なＰ代表元数の差に比べ、実装結果はほとんど変わらない。さらに、クリティカルパス遅延については、４通りのアプローチに対してほとんど差がない。さらに、論理段数は４通りのアプローチを比較してもほとんど差がなく、アプリケーションによっては１段または２段だけアプローチＢとアプローチＣの段数が多い。よって、表現可能なＰ代表元数は、論理段数にほとんど影響しないことがわかる。これは、Ｍｉｓｃ．Ｌｏｇｉｃモードで表現可能なＰ代表元の中でも、ほとんど全ての場合一部のＰ代表元しか使用しないためである。アプローチＢやアプローチＣでも同程度のＰ代表元が表現可能であるため、実装結果にほとんど影響がない。これによって、ＬＣＢの柔軟性を低下させ、回路リソース量を減少させてもよいと考えられる。
【００９５】
図１７は、複数のＶＧＬＣのクラスタ化に関する概念図であり、図１８は、複数のＶＧＬＣを有するクラスタ構造の一例を示すブロック図である。これまで、本明細書では、単体のＶＧＬＣ２０を対象としていた。図１７の概念図に示すように、複数のＶＧＬＣ２０−１〜２０−３をクラスタ化して形成されたクラスタ構造のＬＣＢ１０−１〜１０−３を実装する。
【００９６】
さらに詳しく説明すると、図１７の概念図では、複数の論理セルを含む単体のＶＧＬＣ２０と、外部配線とＶＧＬＣ２０とを相互に接続するためのＬＣＢ１０とを有する論理回路装置を１つのクラスタ２１とし、複数のクラスタ２１−１〜２１−３を相互に接続することによってクラスタ構造２１０が形成される。クラスタ２１−１は、ＶＧＬＣ２０およびＬＣＢ１０を具備し、クラスタ２１−２は、ＶＧＬＣ２０−２およびＬＣＢ１０−２を具備し、そして、クラスタ２１−３は、ＶＧＬＣ２０−３およびＬＣＢ１０−３を具備する。
【００９７】
図１８の例では、各々がＶＧＬＣ２０およびＬＣＢ１０を有する３つのクラスタによりクラスタ構造２１０が形成される。各々のクラスタは、複数の論理セルを含むＶＧＬＣ２０と、コネクションブロック（ＣＢ）５を介して外部配線ＥＤと出力配線ＯＵＤとを相互に接続するためのＬＣＢ１０と、複数の論理セルを含むＶＧＬＣ２０と、ＶＧＬＣ２０の出力信号をＬＣＢ１０の入力配線ＩＮＤにフィードバックするためのフィードバック部３０とを有する論理回路装置により構成される。このクラスタ構造２１０を形成することによって、ＶＧＬＣ２０の内部だけでなく、隣接するＶＧＬＣ間での入力線を共有することが可能になり、かつ、総トラック数の削減が見込める。また、異なるＬＣＢ間を接続する配線を用意することによって、信号の伝播速度も高速化される。
【００９８】
図１９は、ＶＧＬＣとして形成されるキャリーセレクトアダーの実装例を示す回路ブロック図である。前述の図１８のようなクラスタ構造は、算術演算、論理演算ともに効果的な実装が可能であることが望まれる。論理演算を実装するためには高い柔軟性を必要とする。しかし、柔軟性を高くすると、配線リソースのオーバヘッドが大きくなり、クラスタ化を行う利点が損なわれる可能性がある。そこで、本明細書では、規則的な回路構成を有する算術演算回路、特にキャリーセレクトアダーに焦点を当てる。このキャリーセレクトアダーの代表的な例を図１９に示す。
【００９９】
図１９のキャリーセレクトアダーにおいては、下位桁からのキャリー信号Ｃａｒｒｙが「０」または「１」の場合に、２通りの計算を同時に行う必要がある。そこで、各々のクラスタ２１−１、２１−２において、アダー部として機能する２つの加算器（例えば、３ビットリップルキャリーアダー２２−１、および２３−１、３ビットリップルキャリーアダー２２−２、２３−２）を用意し、それぞれの加算器に「０」または「１」のキャリー信号Ｃａｒｒｙを供給する。下位桁の演算結果が確定した時点で、２つの加算結果のどちらを採用するかを、セレクタ部として機能するマルチプレクサユニット（例えば、４個の２：１マルチプレクサ（ＭＵＸ）からなるマルチプレクサユニット２４−１、２４−２）により制御する。マルチプレクサユニット２４−１、２４−２に入力される信号として、２つの加算器の出力結果だけでなく、キャリー信号Ｃａｒｒｙを入力する必要がある。そこで、１つのＶＧＬＣに実装可能なマルチプレクサユニットの個数を考慮し、加算器は3 ビットとする。最下位桁に位置するクラスタ２１−３では、１つの３ビットリップルキャリーアダー２２−３を用意するだけでよい。このように、２つの加算器とマルチプレクサユニットを１つのセットにすると、規則的な接続が可能であるため、３つのＶＧＬＣを１つのクラスタ構造として扱うことが可能になる。
【０１００】
図２０は、基本論理素子（以後、ＢＬＥと略記する）を基本単位として構成されたＶＧＬＣの構成例を示す回路ブロック図である。
【０１０１】
図２０においては、４つのハイブリッドセル（ＨＣ）２６−１〜２６−４をカスケード接続し、前段にＥＸＯＲ（排他的論理和）ゲート２５−１〜２５−４を含む前置ロジックを追加し、後段に出力セレクタおよび４ビットレジスタ（ＦＦ（フリップフロップ））２９を追加したＶＧＬＣが例示されている。ここで、ハイブリットセルに前置ロジックを追加した回路素子を「ＢＬＥ」と呼んでいる。
【０１０２】
図２０に示すように、ＢＬＥ９を基本単位として構成されたＶＧＬＣは、４つのハイブリッドセル（ＨＣ）２６−１〜２６−４をカスケード接続し、かつ、ＥＸＯＲゲート２５−１〜２５−４、マルチプレクサ（ＭＵＸ）２５−６〜２５−８、スイッチ素子２５−５、ならびにコンフィグレーションメモリビット用のメモリ２７−１、２７−２を前段に追加し、さらに、マルチプレクサ（ＭＵＸ）２８−１〜２８−３、ならびに出力セレクタおよび４ビットレジスタ２９を後段に追加した構成になっている。このような構成のＶＧＬＣは、入力信号として、３本のＷ、各々４本ずつのＸ、Ｙ、ＺおよびＣ、加減算の切替を行う切替信号ＡＳ、シフトレジスタを制御する制御信号Ｓｈｉｆｔ ｃｔｒｌ、ならびに４本の出力信号Ｏを有する。また、その他の信号Ｃａｒｒｙ ｉｎ、Ｃａｒｒｙ ｏｕｔ、Ｓｈｉｆｔ ｉｎ、Ｓｈｉｆｔ ｏｕｔは、隣接するＶＧＬＣとカスケード接続されており、加減算器やシフトレジスタを多ビット拡張することができる。切替信号ＡＳおよびクロックパルスＣＰは、４個のＢＬＥに共通に入力される。
【０１０３】
図２１は、ＶＧＬＣが有するファンクションの例を示す回路図である。図２１の（ａ）、（ｂ）、（ｃ）、（ｄ）および（ｅ）に示すように、ＶＧＬＣは、それぞれ、算術演算モード、シフトレジスタモード、ランダムロジックモード、Ｍｉｓｃ．Ｌｏｇｉｃ（ミスセイニアス・ロジック）モード、およびワイドレンジ・マルチプレクサ（ＭＵＸ）モードの５種類のファンクションを有する。
【０１０４】
図２１の（ａ）の算術演算モードでは、４つのＢＬＥを全加算器２００として使用し、４ビット加減算を構成する。また、ＶＧＬＣ間のキャリーラインを使用することによりビット拡張が可能になる。図２１の（ｂ）のシフトレジスタモードでは、４個のＦＦと出力セレクタにより構成されるＶＧＬＣの出力選択部が、４ビットシフトレジスタ２０１として使用される。加えて、制御信号ｓｈｉｆｔ ｃｔｒｌによりシリアル-パラレル変換回路を構成することが可能である。図２１の（ｃ）のランダムロジックモードでは、ＶＧＬＣをリード−ミュラー（Ｒｅｅｄ−Ｍｕｌｌｅｒ）標準形２０２として使用することができる。ＢＬＥ単体では、ＶＧＬＣを２入力標準形（カノニカルフォーム、以後、ＣＦと略記する）回路として使用することが可能である。これにシャノン展開を用いることで２個のＢＬＥで３入力の任意の論理を表現することが可能であり、４個のＢＬＥで４入力の任意の論理を表現することが可能である。さらに、２入力の論理と３入力の論理との組み合わせを表現することも可能である。
【０１０５】
図２１の（ｄ）のＭｉｓｃ．Ｌｏｇｉｃモードは、ＢＬＥのゲート構造を利用して論理演算を実装する。１つのＢＬＥは４入力２出力のモジュール２０３であるため、３、４入力の論理を表現することが可能である。ランダムロジックモードとは異なり、表現可能な論理は制限されるが、実装面積を抑えることができる。ランダムロジックモードと同様にシャノン展開を用いて、４入力と５入力のＭｉｓｃ． Ｌｏｇｉｃを実現することが可能である。図２１の（ｅ）のワイドレンジ・マルチプレクサ（ＭＵＸ）モードは，ＢＬＥを２入力１出力のマルチプレクサ２０４として用い、３個のマルチプレクサ（例えば、図２０のマルチプレクサ２８−１〜２８−３）を使用して最大８入力のワイドレンジ・マルチプレクサを構成するものである。 また、 ＢＬＥを４個並列に使用することにより、データパス回路で必要となる多ビットのマルチプレクサとしても動作可能である。
【０１０６】
図２２は、ハイブリッドセルの構成例を示す回路図である。全加算器、２入力リード−ミュラー（Ｒｅｅｄ−Ｍｕｌｌｅｒ）標準形、およびハイブリッドセルの構成例が、それぞれ、図２２の（ａ）、（ｂ）および（ｃ）に図示されている。
【０１０７】
図２２の（ａ）の全加算器は、算術演算ハードウェアアルゴリズムによく用いられ、図２２の（ｂ）の２入力リード−ミュラー標準形は、４つの構成メモリを利用することにより、任意の２入力論理を実装することが可能である。図２２の（ｃ）のハイブリッドセルとは、全加算器と２入力リード−ミュラー標準形の両方の特徴を併せ持つ論理セルである。これによって、算術演算および論理演算のいずれも効率の良い実装が期待できる。
【０１０８】
さらに詳しく説明すると、ＶＧＬＣでは、図２２の（ａ）に示すような算術演算の基本単位である全加算器は、出力段のＥＸＯＲゲート２０６と、このＥＸＯＲゲート２０６に接続される３つのＡＮＤゲート２０５−１、２０５−２および２０５−３と、桁上げ用のＡＮＤゲート２０７、２０８とを有する。また一方で、図２２の（ｂ）に示すような２入力リード−ミュラー標準形は、出力段のＥＸＯＲゲート２１３と、このＥＸＯＲゲート２１３に接続される３つのＡＮＤゲート２１２−１、２１２−２および２１２−３と、４ビットのメモリ２１１−１〜２１１−４とを有する。全加算器および２入力リード−ミュラー標準形を比較すると、出力段のＥＸＯＲゲートとそれにつながるＡＮＤゲート（図２２の（ａ）の論理回路２０９と、図２２の（ｂ）の論理回路２１３とを比較参照のこと）を共通に持つことがわかる。そこで、図２２の（ａ）に４ビットのメモリを搭載することにより、図２２の（ｃ）のように、全加算器および２入力リード−ミュラー標準形が表現可能なハイブリッドセルを構成することができる。このハイブリッドセルは、出力段のＥＸＯＲゲート２１６と、このＥＸＯＲゲート２１６に接続される３つのＡＮＤゲート２１５−１、２１５−２および２１５−３と、桁上げ用のＡＮＤゲート２１７、２１８と、４ビットのメモリ２１４−１〜２１４−４とを有する。
【０１０９】
図２３は、ＢＬＥの構成例とファンクションとの関係を示す回路図である。前述のように、ハイブリットセルに前置ロジックを追加した回路素子をＢＬＥと呼んでいる。図２３の（ａ）に示すように、ＢＬＥは、ハイブリッドセル、マルチプレクサ２２３、２２４、ＥＸＯＲゲート２２１、２２５および２２６、ＡＮＤゲート２２０−１〜２２０−３、ならびに５ビットメモリ２２２により構成される。入力信号として、Ｃ、Ｘ、ＹおよびＺを有し、加減算の切替を行う切替信号としてＡＳを有し、かつ、出力信号として、ＴおよびＳを有する。キャリー信号Ｃａｒｒｙは、マルチプレクサ２２３に入力される。それぞれの入力信号として変数を入れるか、或いは、特定の入力信号のレベルを「１」または「０」にクランプすることにより、図２３の（ｂ）の加減算（ＡＤＤ／ＳＵＢ）２２７、２入力リード−ミュラー標準形（２ＲＭＣＦ）２２８、およびマルチプレクサ（ＭＵＸ）２２９の３種類のファンクションを実行することができる。
【０１１０】
ここで、図２３の加減算（ＡＤＤ／ＳＵＢ）２２７およびマルチプレクサ（ＭＵＸ）２２９について着目する。加減算（ＡＤＤ／ＳＵＢ）２２７の場合は、入力信号としてＸ、Ｙが使用されており、マルチプレクサ（ＭＵＸ）の場合は、Ｘ、ＺおよびＣが使用されている。後述の図２４に示すように、ＬＣＢへの入力がｌ，ｍおよびｎとした場合にマルチプレクサ（ＭＵＸ）が実現されるとして、１がＸ、ｍがＺ、およびｎがＣに接続されていたとする。また一方で、加減算（ＡＤＤ／ＳＵＢ）２２７の場合、Ｘがｌに接続されるとして、Ｙはｍまたはｎのいずれかに接続されてもよい。
【０１１１】
図２４は、スイッチ配置箇所のパターンを示す模式図である。○は結線が必要な部分であり、△はどちらかに結線すればよい部分である。ｌ、ｍおよびｎとＸ、ＺおよびＣとの組み合わせは６通りあるので、図２４の（ａ）〜（ｆ）に全てのパターンを記載している。これによって、例えば、図２４（ｇ）のように結線することができれば、図２４の（ａ）〜（ｆ）の全てのパターンを実現することが可能である。これは、ＬＣＢにおいて、入力配線と出力配線の全てを接続しなくてもよいことを示している。
【０１１２】
ここで、ＬＣＢを実装した場合に評価されるＰ同値類およびＰ代表元に関して、さらに詳しく説明する。Ｐ同値類は、異なる入力の順列を取る論理関数の集合として定義される。
− − −
例：ｆ（ｘ1，ｘ2，ｘ3）＝ｘ1ｘ2ｘ3  ｖ  ｘ1
− − −
ｇ（ｘ3，ｘ2，ｘ1）＝ｘ3ｘ2ｘ1  ｖ  ｘ3
上記２つの関数は入力変数の並びだけが異なる。この場合、この２つの関数を「同じ同値類に属する」といい、同じ同値類に属する関数の集合をＰ同値類と呼ぶ。
また一方で、Ｐ代表元は、同じＰ同値類に属す関数のうち、関数の出力を２進数と見なした場合、その値が最小となるものをそのＰ同値類のＰ代表元と呼ぶ。
関数の２進表現について、下記の関数の出力値をまとめるとｍ0ｍ1…ｍ7になる。このビット列を２進数と見なし、Ｐ代表元を決める基準とする。
− − −            − −
ｆ（ｘ1，ｘ2，ｘ3）＝ｍ0・ｘ1ｘ2ｘ3  ｖ  ｍ1・ｘ1ｘ2ｘ3  ｖ…ｖｍ7・ｘ1ｘ2ｘ3
上記例においてそれぞれの２進数表現は、（１０００１１１１）（１０１１００１１）（１１０１０１０１）なので、最小値である代表元は（１０００１１１１）である。
【０１１３】
図２５は、各々のファンクションの使用割合を示すグラフである。ここでは、前述の図１２のＬＣＢ構造を決定する上で用いられたＭｉｓｃ．Ｌｏｇｉｃの事前評価の説明を行うこととする。
【０１１４】
このＭｉｓｃ．Ｌｏｇｉｃの事前評価ではまず、４０種のＭＣＮＣベンチマーク回路を使用し、テクノロジマッピングを行った。このテクノロジマッピングの結果から、使用された各ファンクション（Ｍｉｓｃ．Ｌｏｇｉｃ、ＣＦ）の使用割合の統計を取った。図２５の円グラフには、各々のファンクションの使用頻度が図示されている。ただし、ここでは、使用頻度の高い７種類のファンクションのみを円グラフに表示し、使用頻度の低いファンクションの記載は省略する。
【０１１５】
図２５のグラフより、使用割合の高い７種類のファンクションは以下のとおりである。
・２ＣＦ    １０．１％      ・5Misc-2    ２．５２％
・3Misc-1   ３８．９％      ・４ＣＦ     ２．０４％
・３ＣＦ    １８．０％      ・5Misc-4    １０．０％
・4Misc-2   １５．１％
本実施例では、上記ファンクションより、２ＣＦ、3Misc-1、３ＣＦおよび４ＣＦを考慮する。
【０１１６】
図２６は、本発明に係る相互接続構造の他の実施例を示すブロック図である。図２６の他の実施例では、前述の図２の場合と同様に、入力配線ＩＮＤと出力配線ＯＵＤとを相互に接続するためのローカルコネクションブロック（ＬＣＢ）１０と、複数の粒度可変論理セル（ＶＧＬＣ）２０とが設けられている。また一方で、ＶＧＬＣ２０の出力線から出力される信号をＬＣＢ１０の入力側の入力配線ＩＮＤにフィードバックするためのフィードバック線を有するローカルフィードバック３０が設けられている。ＬＣＢ１０の入力配線ＩＮＤは、外部配線ＥＤ、ＶＧＬＣ２０のフィードバック線、および電源線ＶＤＤとアース線ＧＮＤである。
【０１１７】
図２６のようなリコンフィギュラブル構造を有する論理セル群では、ディジタルフィルタへの応用も多い。このディジタルフィルタは、遅延回路を応用して構成される。また、この遅延回路３５の遅延量は特性により変更する場合も多い。本実施例は、遅延回路３５をＬＣＢ１０の後段またはＶＧＬＣ２０の後段に付加し、論理段数を調節することによってディジタルフィルタを構成し易くするものである。この遅延回路３５は、固定遅延素子によりで構成してもよいし、可変遅延素子により構成してもよい。
【産業上の利用可能性】
【０１１８】
本発明は、外部配線と複数の論理セルを含むＶＧＬＣやディジタルフィルタ等の論理セル群とを相互に接続するためのＬＣＢ等の相互接続構造を備えたプログラマブル論理回路装置に適用することが可能である。さらに、本発明は、複数の論理回路装置をクラスタ化して相互に接続することにより形成されるクラスタ構造に対しても適用することが可能である。
【図面の簡単な説明】
【０１１９】
【図１】本発明に係る相互接続構造の一実施例を示すブロック図である。
【図２】図１の相互接続構造の具体例を示すブロック図である。
【図３】図２の具体例の全体的な構成を示すブロック図である。
【図４】ＬＣＢの内部構成を示すブロック図である。
【図５】クロスバーを用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。
【図６】マルチプレクサを用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。
【図７】Ｃｌｏｓ網を用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。
【図８】Ｂｅｎｅｓ網を用いた場合のＬＣＢの実装構造の例を示す回路ブロック図である。
【図９】デコーダ回路によるスイッチ制御の様子を説明するための回路ブロック図である。
【図１０】ミスセイニアス・ロジックを全て表現するためのＬＣＢ内のスイッチの構成を示す回路図である。
【図１１】算術演算モードとランダムロジックモードのみを考慮したＬＣＢ内のスイッチの構成を示す回路図である。
【図１２】一部のミスセイニアス・ロジックに対応したＬＣＢ内のスイッチの構成を示す回路図である。
【図１３】デコーダ回路の構造を考慮したＬＣＢ内のスイッチの構成を示す回路図である。
【図１４】４通りのＬＣＢ内のスイッチ数削減のアプローチに対する使用ＢＬＥ数を比較するためのグラフである。
【図１５】４通りのＬＣＢ内のスイッチ数削減のアプローチに対するクリティカルパス遅延を比較するためのグラフである。
【図１６】４通りのＬＣＢ内のスイッチ数削減のアプローチに対する論理段数を比較するためのグラフである。
【図１７】複数のＶＧＬＣのクラスタ化に関する概念図である。
【図１８】複数のＶＧＬＣを有するクラスタ構造の一例を示すブロック図である。
【図１９】キャリーセレクトアダーの実装例を示す回路ブロック図である。
【図２０】ＢＬＥを基本単位として構成されたＶＧＬＣの構成例を示す回路ブロック図である。
【図２１】ＶＧＬＣが有するファンクションの例を示す回路図である。
【図２２】ハイブリッドセルの構成例を示す回路図である。
【図２３】ＢＬＥの構成例とファンクションとの関係を示す回路図である。
【図２４】スイッチ配置箇所のパターンを示す模式図である。
【図２５】各々のファンクションの使用割合を示すグラフである。
【図２６】本発明に係る相互接続構造の他の実施例を示すブロック図である。
【符号の説明】
【０１２０】
１    リコンフィギャラブルスイッチ群
２    論理セル群
３    フィードバック部
４    コンフィギュレーションメモリ
５    コネクションブロック（ＣＢ）
５−１、５−２    コネクションブロック（ＣＢ）
６−１〜６−４    スイッチブロック
７    タイル
８    デコーダ回路
９    基本論理素子（ＢＬＥ）
１０    ローカルコネクションブロック（ＬＣＢ）
１１    スイッチ部
１２    制御部
１５    スイッチ
２０    粒度可変論理セル（ＶＧＬＣ）
２１    クラスタ
２２−１〜２２−４    ３ビットリップルキャリーアダー（ＲＣＡ）
２３−１、２３−２    ３ビットリップルキャリーアダー（ＲＣＡ）
２４−１、２４−２    マルチプレクサ（ＭＵＸ）ユニット
２６−１〜２６−４    ハイブリッドセル（ＨＣ）
２９    出力セレクタおよび４ビットレジスタ
３０    ローカルフィードバック
３５    遅延回路
【図１】
2010119068.tif 000006
【図２】
2010119068.tif 000007
【図３】
2010119068.tif 000008
【図４】
2010119068.tif 000009
【図５】
2010119068.tif 000010
【図６】
2010119068.tif 000011
【図７】
2010119068.tif 000012
【図８】
2010119068.tif 000013
【図９】
2010119068.tif 000014
【図１０】
2010119068.tif 000015
【図１１】
2010119068.tif 000016
【図１２】
2010119068.tif 000017
【図１３】
2010119068.tif 000018
【図１４】
2010119068.tif 000019
【図１５】
2010119068.tif 000020
【図１６】
2010119068.tif 000021
【図１７】
2010119068.tif 000022
【図１８】
2010119068.tif 000023
【図１９】
2010119068.tif 000024
【図２０】
2010119068.tif 000025
【図２１】
2010119068.tif 000026
【図２２】
2010119068.tif 000027
【図２３】
2010119068.tif 000028
【図２４】
2010119068.tif 000029
【図２５】
2010119068.tif 000030
【図２６】
2010119068.tif 000031