(57)【要約】【課題】高速化のために並列動作数を増やす場合に、小型化、低価格化、及び、低リーク電力化が可能なフィールドプログラマブルゲートアレイを提供する。【解決手段】本発明の一実施形態に係るフィールドプログラマブルゲートアレイ１は、複数の共有論理ブロック群１０を備え、複数の共有論理ブロック群１０それぞれは、１つの論理ブロック用コンフィグレーションメモリ２０と、１つの論理ブロック用コンフィグレーションメモリ２０を共有する少なくとも２つの論理ブロック３０とを有する。【選択図】図１
2015231205.tif 000002
【特許請求の範囲】
【請求項１】
フィールドプログラマブルゲートアレイであって、
複数の共有論理ブロック群であって、前記複数の共有論理ブロック群それぞれは、１つの論理ブロック用コンフィグレーションメモリと、前記１つの論理ブロック用コンフィグレーションメモリを共有する少なくとも２つの論理ブロックとを有する、前記複数の共有論理ブロック群を備える、フィールドプログラマブルゲートアレイ。
【請求項２】
前記少なくとも２つの論理ブロックは、前記１つの論理ブロック用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、同一の論理回路を実装する、請求項１に記載のフィールドプログラマブルゲートアレイ。
【請求項３】
複数の共有スイッチングマトリクス群であって、前記複数の共有スイッチングマトリクス群それぞれは、１つのスイッチングマトリクス用コンフィグレーションメモリと、前記１つのスイッチングマトリクス用コンフィグレーションメモリを共有する少なくとも２つのスイッチングマトリクスとを有する、前記複数の共有スイッチングマトリクス群を更に備える、請求項１又は２に記載のフィールドプログラマブルゲートアレイ。
【請求項４】
前記少なくとも２つのスイッチングマトリクスは、前記１つのスイッチングマトリクス用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、前記少なくとも２つの論理ブロックの入出力の接続をそれぞれ制御する、請求項３に記載のフィールドプログラマブルゲートアレイ。
【請求項５】
前記論理ブロック用コンフィグレーションメモリと前記スイッチングマトリクス用コンフィグレーションメモリとは同一のメモリで構成される、請求項３又は４に記載のフィールドプログラマブルゲートアレイ。
【請求項６】
前記複数の共有論理ブロック群と、
複数の専有論理ブロック群であって、前記複数の専有論理ブロック群それぞれは、１つの論理ブロック用コンフィグレーションメモリと、前記１つの論理ブロック用コンフィグレーションメモリを専有する１つの論理ブロックとを有する、前記複数の専有論理ブロック群と、
を備える、請求項１〜５の何れか１項に記載のフィールドプログラマブルゲートアレイ。
【請求項７】
前記複数の共有論理ブロック群と前記複数の専有論理ブロック群とは、１以上の専有論理ブロック群ごとに１以上の共有論理ブロック群が挿入されるように混在する、請求項６に記載のフィールドプログラマブルゲートアレイ。
【請求項８】
請求項６又は７に記載のフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発ツールであって、
論理合成を行い、
同一の論理回路を前記共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路を前記フィールドプログラマブルゲートアレイに配置配線する、
ように構成された、フィールドプログラマブルゲートアレイ開発ツール。
【請求項９】
複数の共有論理ブロック群及び複数の専有論理ブロック群であって、前記複数の共有論理ブロック群それぞれは、１つの論理ブロック用コンフィグレーションメモリと、前記１つの論理ブロック用コンフィグレーションメモリを共有する少なくとも２つの論理ブロックとを有し、前記複数の専有論理ブロック群それぞれは、１つの論理ブロック用コンフィグレーションメモリと、前記１つの論理ブロック用コンフィグレーションメモリを専有する１つの論理ブロックとを有する、前記複数の共有論理ブロック群及び前記複数の専有論理ブロック群を備えるフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発方法であって、
論理合成を行い、
同一の論理回路を前記共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路を前記フィールドプログラマブルゲートアレイに配置配線する、
フィールドプログラマブルゲートアレイ開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールドプログラマブルゲートアレイ（Field ProgrammableGate Arrays：ＦＰＧＡ）、及び、その開発ツール及び開発方法に関する。
【背景技術】
【０００２】
特許文献１には、ＦＰＧＡが開示されている。このＦＰＧＡは、複数個の区画部分を有しており、区画部分それぞれは、１つのコンフィグレーションメモリと、１つのコンフィギャラブル論理ブロックと、１つのコンフィギャラブルルーティングマトリクスとを有している。
【０００３】
近年、ＦＰＧＡの高速化の研究が行われている。例えば、コンピュータ等のプロセッサユニットの処理速度を上げるためのアクセラレータに適用するＦＰＧＡの高速化の研究がアグレッシブに行われている。しかしながら、ＦＰＧＡの性能はカスタムＶＬＳＩの性能よりも低い。例えば、ＦＰＧＡにおけるＬＵＴ上に実装される論理回路は、カスタムＶＬＳＩにおける論理回路よりも遅く、また、ＦＰＧＡにおけるスイッチングマトリクスを含む配線チャネルに起因する遅延は、カスタムＶＬＳＩにおける配線に起因する遅延よりも大きく、また、ＦＰＧＡのクロック周波数は、カスタムＶＬＳＩのクロック周波数よりも低い。したがって、ＦＰＧＡの高速化は、並列動作数を増やすことによって実現されるのが一般的である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−５１３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＦＰＧＡの高速化のために並列動作数を増やすと、ＦＰＧＡが大型となり、その結果チップ単価が高くなってしまう。また、非動作時のリーク電力が増大してしまう。
【０００６】
そこで、本発明は、高速化のために並列動作数を増やす場合に、小型化、低価格化、及び、低リーク電力化が可能なフィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のフィールドプログラマブルゲートアレイは、複数の共有論理ブロック群を備え、複数の共有論理ブロック群それぞれは、１つの論理ブロック用コンフィグレーションメモリと、１つの論理ブロック用コンフィグレーションメモリを共有する少なくとも２つの論理ブロックとを有する。
【０００８】
このフィールドプログラマブルゲートアレイによれば、少なくとも２つの論理ブロックが１つの論理ブロック用コンフィグレーションメモリを共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を低減することができ、小型化、低価格化、及び、低リーク電流化が可能となる。
【０００９】
上記した少なくとも２つの論理ブロックは、１つの論理ブロック用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、同一の論理回路を実装してもよい。
【００１０】
また、上記したフィールドプログラマブルゲートアレイは、複数の共有スイッチングマトリクス群を更に備え、複数の共有スイッチングマトリクス群それぞれは、１つのスイッチングマトリクス用コンフィグレーションメモリと、１つのスイッチングマトリクス用コンフィグレーションメモリを共有する少なくとも２つのスイッチングマトリクスとを有してもよい。
【００１１】
これによれば、少なくとも２つのスイッチングマトリクスが１つのスイッチングマトリクス用コンフィグレーションメモリを共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を更に低減することができ、更に小型化、低価格化、及び、低リーク電流化が可能となる。
【００１２】
また、上記した少なくとも２つのスイッチングマトリクスは、１つのスイッチングマトリクス用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、少なくとも２つの論理ブロックの入出力の接続をそれぞれ制御してもよい。
【００１３】
また、上記した論理ブロック用コンフィグレーションメモリと上記したスイッチングマトリクス用コンフィグレーションメモリとは同一のメモリで構成されてもよい。
【００１４】
また、上記したフィールドプログラマブルゲートアレイは、上記した複数の共有論理ブロック群と、複数の専有論理ブロック群とを備え、複数の専有論理ブロック群それぞれは、１つの論理ブロック用コンフィグレーションメモリと、１つの論理ブロック用コンフィグレーションメモリを専有する１つの論理ブロックとを有していてもよい。また、上記した複数の共有論理ブロック群と上記した複数の専有論理ブロック群とは、１以上の専有論理ブロック群ごとに１以上の共有論理ブロック群が挿入されるように混在していてもよい。
【００１５】
これによれば、従来通りの汎用ＦＰＧＡとしての利用において、同一のコンフィグレーションデータによる同一の論理回路を共有論理ブロック群に実装することができ、汎用ＦＰＧＡの処理能力を向上させることができる。
【００１６】
本発明のフィールドプログラマブルゲートアレイ開発ツールは、上記したフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発ツールであって、論理合成を行い、同一の論理回路を上記した共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路をフィールドプログラマブルゲートアレイに配置配線する。
【００１７】
本発明のフィールドプログラマブルゲートアレイ開発方法は、上記したフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発方法であって、論理合成を行い、同一の論理回路を共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路をフィールドプログラマブルゲートアレイに配置配線する。
【発明の効果】
【００１８】
本発明によれば、ＦＰＧＡの高速化のために並列動作数を増やす場合に、小型化、低価格化、及び、低リーク電力化が可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るＦＰＧＡの回路ブロック図である。
【図２】本発明の実施形態に係るＦＰＧＡの概略レイアウト図である。
【図３】図１に示す論理ブロックの回路図である。
【図４】従来のＦＰＧＡの回路ブロック図である。
【図５】従来のＦＰＧＡの概略レイアウト図である。
【図６】本発明の第１の変形例に係るＦＰＧＡの概略レイアウト図である。
【図７】本発明の第２の変形例に係るＦＰＧＡの概略レイアウト図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
［ＦＰＧＡ］
【００２１】
図１は、本発明の実施形態に係るＦＰＧＡの回路ブロック図であり、図２は、本発明の実施形態に係るＦＰＧＡの概略レイアウト図である。図１及び図２に示すＦＰＧＡ（フィールドプログラマブルゲートアレイ）１は、複数の共有論理ブロック群１０と、複数の共有スイッチングマトリクス群１１と、配線チャネルとを備える。
【００２２】
各共有論理ブロック群１０は、１つの論理ブロック用コンフィグレーションメモリ（ＣＭＬＢ）２０と、論理ブロック用コンフィグレーションメモリ２０を共有する４つの論理ブロック（ＬＢ）３０とを有する。また、各共有スイッチングマトリクス群１１は、１つのスイッチングマトリクス用コンフィグレーションメモリ（ＣＭＳＭ）２１と、スイッチングマトリクス用コンフィグレーションメモリ２１を共有する４つのスイッチングマトリクス（ＳＭ）４０とを有する。
【００２３】
例えば、図２に示すように、論理ブロック用コンフィグレーションメモリ２０及びスイッチングマトリクス用コンフィグレーションメモリ２１のゲートアレイは基板５０の上に配置され、４つの論理ブロック３０及びスイッチングマトリクス４０のゲートアレイは、コンフィグレーションメモリ２０，２１のゲートアレイ上に順次に積層される。図１に示すように、各層では、論理ブロック３０の周囲には、縦横にそれぞれ４本ずつ延在するワイヤを含む配線チャネルが配置されており、これらの配線チャネルの交差部にスイッチングマトリクス４０が配置される。
【００２４】
論理ブロック用コンフィグレーションメモリ２０は、対応する４つの論理ブロック３０に論理回路を実装するためのコンフィグレーションデータを格納する。例えば、論理ブロック用コンフィグレーションメモリ２０には、専用のシリアルチェーンが接続されており、このチェーンを介して外部からコンフィグレーションデータがプログラムされてもよい。論理ブロック用コンフィグレーションメモリ２０は、対応する４つの論理ブロック３０に接続される。
【００２５】
一方、スイッチングマトリクス用コンフィグレーションメモリ２１は、対応するスイッチングマトリクス４０に、対応する層における論理ブロック３０の入力及び出力を接続させるためのコンフィグレーションデータを格納する。例えば、スイッチングマトリクス用コンフィグレーションメモリ２１には、専用のシリアルチェーンが接続されており、このチェーンを介して外部からコンフィグレーションデータがプログラムされてもよい。スイッチングマトリクス用コンフィグレーションメモリ２１は、対応する４つのスイッチングマトリクス４０に接続される。
【００２６】
なお、論理ブロック用コンフィグレーションメモリ２０及びスイッチングマトリクス用コンフィグレーションメモリ２１がブロックＲＡＭとして機能してもよい。また、論理ブロック用コンフィグレーションメモリ２０とスイッチングマトリクス用コンフィグレーションメモリ２１とが同一のメモリであってもよい。ここで、同一のメモリとは、論理ブロック用コンフィグレーションメモリ２０とスイッチングマトリクス用コンフィグレーションメモリ２１とが同一のメモリで構成されていることを示すものである。
【００２７】
図３に、論理ブロックの回路ブロック図を示す。図３に示す論理ブロック３０は、ルックアップテーブル（ＬＵＴ）３１と、Ｄフリップフロップ３２と、セレクタ３３とから構成される回路を２つ含む。
【００２８】
ルックアップテーブル３１の４つの入力は配線チャネルに接続され、これらの入力には、対応する層における１以上のスイッチングマトリクス４０を介して入力データが入力される。４つの論理ブロック３０におけるルックアップテーブル３１は、コンフィグレーションメモリ２０の同一のコンフィグレーションデータに基づいて、同一の論理回路を実装する（implement）。ルックアップテーブル３１の出力は、Ｄフリップフロップ３２のデータ入力、及び、セレクタ３３の一方の入力に接続される。
【００２９】
Ｄフリップフロップ３２のクロック入力には、クロック信号が入力される。Ｄフリップフロップ３２は、格納レジスタとして機能する。Ｄフリップフロップ３２の出力は、セレクタ３３のもう一方の入力に接続される。
【００３０】
セレクタ３３の出力は、配線チャネルに接続され、対応するスイッチングマトリクス４０を介して出力データを出力する。セレクタ３３は、例えば、コンフィグレーションメモリ２０のコンフィグレーションデータに基づいて２入力の何れか一方を選択的に出力する。
【００３１】
スイッチングマトリクス４０は、スイッチングマトリクス用コンフィグレーションメモリ２１のコンフィグレーションデータに基づいて、対応する層における論理ブロック３０の入力をＩ／Ｏ部又は他の論理ブロックの出力に接続すると共に、対応する層における論理ブロック３０の出力をＩ／Ｏ部又は他の論理ブロックの入力に接続する。４つのスイッチングマトリクス４０は、スイッチングマトリクス用コンフィグレーションメモリ２１の同一のコンフィグレーションデータに基づいて、同一のスイッチングを行う。
【００３２】
なお、論理ブロック３０は、１つ又は複数の組み合わせによって所望の論理回路を実現してもよい。
【００３３】
この実施形態のＦＰＧＡ１によれば、４つの論理ブロック３０が１つのコンフィグレーションメモリ２０を共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を低減することができ、小型化、低価格化、及び、低リーク電流化が可能となる。本願発明者は、この利点より、本実施形態のＦＰＧＡ１構成を並列動作指向ＦＰＧＡ構成（parallel- operation-oriented FPGA architecture）と呼ぶ。
【００３４】
また、この実施形態のＦＰＧＡ１によれば、４つのスイッチングマトリクス４０が１つのコンフィグレーションメモリ２１を共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を更に低減することができ、更に小型化、低価格化、及び、低リーク電流化が可能となる。
【００３５】
また、この実施形態のＦＰＧＡ１によれば、コンフィグレーション、すなわちプログラムに要する時間を低減することができる。
【００３６】
なお、この実施形態のＦＰＧＡ１は、コンピュータ等のプロセッサユニットの処理速度を上げるためのアクセラレータ等に好適である。
【００３７】
以下では、この作用効果をゲートアレイ設計のシミュレーションにて検証する。ゲートアレイ設計のための論理合成ツール及び配置配線ツールとして、Synopsys Inc.製のデザインコンパイラ及びＩＣコンパイラをそれぞれ用いた。デバイスプロセスとしては０．１８μｍＣＭＯＳプロセスを用い、コアの電圧としては１．８Ｖとした。
（第１実施例）
【００３８】
第１実施例として、本実施形態の共有論理ブロック群１０を１００個、すなわち、論理ブロック用コンフィグレーションメモリ２０を１００個＋論理ブロック３０を４並列×１００個、及び、本実施形態の共有スイッチングマトリクス群１１を１１７個、すなわち、スイッチングマトリクス用コンフィグレーションメモリ２１を１１７個＋スイッチングマトリクス４０を４並列×１１７個、レイアウトした（４ファンクション）。
（第２実施例）
【００３９】
第２実施例として、本実施形態の共有論理ブロック群の変形を１００個、すなわち、論理ブロック用コンフィグレーションメモリ２０を１００個＋論理ブロック３０を２並列×１００個、及び、本実施形態の共有スイッチングマトリクス群の変形を１１７個、すなわち、スイッチングマトリクス用コンフィグレーションメモリ２１を１１７個＋スイッチングマトリクス４０を２並列×１１７個、レイアウトした（２ファンクション）。
（従来例）
【００４０】
図４は、従来のＦＰＧＡの回路ブロック図であり、図５は、従来のＦＰＧＡの概略レイアウト図である。図４及び図５に示すＦＰＧＡ１Ｘは、ＦＰＧＡ１において、主に、複数の共有論理ブロック群１０及び複数の共有スイッチングマトリクス群１１に代えて、複数の専有論理ブロック群１０Ｘ及び複数の専有スイッチングマトリクス群１１Ｘを備える点で相違する。各専有論理ブロック群１０Ｘは、１つの論理ブロック用コンフィグレーションメモリ（ＣＭＬＢ）２０と、論理ブロック用コンフィグレーションメモリ２０を専有する１つの論理ブロック（ＬＢ）３０とを有する。また、各専有スイッチングマトリクス群１１Ｘは、１つのスイッチングマトリクス用コンフィグレーションメモリ（ＣＭＳＭ）２１と、スイッチングマトリクス用コンフィグレーションメモリ２１を専有する１つのスイッチングマトリクス（ＳＭ）４０とを有する。このように、従来例として、専有論理ブロック群１０Ｘを１００個、すなわち、論理ブロック用コンフィグレーションメモリ２０を１００個＋論理ブロック３０を１００個、及び、専有スイッチングマトリクス群１１Ｘを１１７個、すなわち、スイッチングマトリクス用コンフィグレーションメモリ２１を１１７個＋スイッチングマトリクス４０を１１７個、レイアウトした（シングルファンクション）。
【００４１】
なお、論理ブロック用コンフィグレーションメモリ２０のコンフィグレーションビット数は全ての形態で同一の６０であり、スイッチングマトリクス用コンフィグレーションメモリ２１のコンフィグレーションビット数は全ての形態で同一の６４である。また、Ｉ/Ｏブロック（パッド含まず）のレイアウトサイズも全ての形態で同一とした。
（シミュレーション結果）
【００４２】
第２実施例の１ファンクションあたりのゲート密度は、従来例の１ファンクションあたりのゲート密度に対して１．６８倍であり、第１実施例の１ファンクションあたりのゲート密度は、従来例の１ファンクションあたりのゲート密度に対して２．３８倍であった。これより、本実施形態によれば、高速化のために並列動作数（ファンクション数）を増やす場合に、小型化が可能であり、その結果、チップ単価の低価格化が可能であることがわかる。
【００４３】
また、第２実施例の論理ブロックの１ファンクションあたりの非動作時のリーク電力は、従来例の論理ブロックの１ファンクションあたりのリーク電力に対して０．６０倍であり、第１実施例の論理ブロックの１ファンクションあたりのリーク電力は、従来例の論理ブロックの１ファンクションあたりのリーク電力に対して０．４０倍であった。また、第２実施例のスイッチングマトリクスの１ファンクションあたりの非動作時のリーク電力は、従来例のスイッチングマトリクスの１ファンクションあたりのリーク電力に対して０．６７倍であり、第１実施例のスイッチングマトリクスの１ファンクションあたりのリーク電力は、従来例のスイッチングマトリクスの１ファンクションあたりのリーク電力に対して０．４８倍であった。これより、本実施形態によれば、高速化のために並列動作数（ファンクション数）を増やす場合に、非動作時のリーク電流を低減することが可能であることがわかる。
【００４４】
なお、本発明は上記した本実施形態に限定されることなく種々の変形が可能である。例えば、本実施形態では、図２に示すように、論理ブロック用コンフィグレーションメモリ２０及びスイッチングマトリクス用コンフィグレーションメモリ２１のゲートアレイと、論理ブロック３０及びスイッチングマトリクス４０のゲートアレイとを縦積みする３次元的な構造を例示したが、図６に示すように、論理ブロック用コンフィグレーションメモリ２０及びスイッチングマトリクス用コンフィグレーションメモリ２１のゲートアレイと、論理ブロック３０及びスイッチングマトリクス４０のゲートアレイとは、同一平面上に横並びとする２次元的な構造であってもよい。
【００４５】
また、本実施形態では、図２に示すように、ＦＰＧＡ１が共有論理ブロック群１０及び共有スイッチングマトリクス群１１のみを備える形態を例示したが、図６に示すように、ＦＰＧＡは、共有論理ブロック群１０及び共有スイッチングマトリクス群１１に加えて、従来の専有論理ブロック群１０Ｘ及び専有スイッチングマトリクス群１１Ｘを備える形態であってもよい。例えば、図６では、ＦＰＧＡを２つの領域に分け、一方の領域に共有論理ブロック群１０及び共有スイッチングマトリクス群１１を配置し、他方の領域に従来の専有論理ブロック群１０Ｘ及び専有スイッチングマトリクス群１１Ｘを配置してもよい。
【００４６】
また、図７に示すように、共有論理ブロック群１０及び共有スイッチングマトリクス群１１と、従来の専有論理ブロック群１０Ｘ及び専有スイッチングマトリクス群１１Ｘとを混在させてもよい。例えば、２個の専有論理ブロック群１０Ｘ及び専有スイッチングマトリクス群１１Ｘごとに１個の共有論理ブロック群１０及び共有スイッチングマトリクス群１１を挿入するように規則的に混在させてもよいし、あるいは不規則的に混在させてもよい。
【００４７】
図６及び図７に示すように、共有論理ブロック群１０及び共有スイッチングマトリクス群１１と、従来の専有論理ブロック群１０Ｘ及び専有スイッチングマトリクス群１１Ｘとを共に備える形態によれば、従来通りの汎用ＦＰＧＡとしての利用において、同一のコンフィグレーションデータによる同一の論理回路を共有論理ブロック群１０に実装することができ、汎用ＦＰＧＡの処理能力を向上させることができる。
［ＦＰＧＡ開発ツール、及び、ＦＰＧＡ開発方法］
【００４８】
次に、図６及び図７に示すように、共有論理ブロック群１０と従来の専有論理ブロック群１０Ｘとを共に備える形態のＦＰＧＡのための開発ツール及び開発方法について説明する。
【００４９】
ＦＰＧＡ開発ツール（フィールドプログラマブルゲートアレイ開発ツール）は、ＣＰＵ（CentralProcessing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random AccessMemory）等を含み、ＲＯＭに記憶されているＦＰＧＡ開発処理（フィールドプログラマブルゲートアレイ開発方法）のプログラムをＣＰＵで実行することによって構成される。
【００５０】
ＦＰＧＡ開発ツールは、Ｖｅｒｉｌｏｇ、ＶＨＤＬ等のソースコードを解析して論理合成を行い、同一の論理回路を共有論理ブロック群１０に優先的に割り当てるように、論理合成した論理回路をＦＰＧＡに配置配線し、コンフィグレーションデータを作成するようにプログラムされ、構成されている。なお、ＦＰＧＡ開発ツールは、コンパイラ機能を備えてもよい。例えば、ＦＰＧＡ開発ツールは、Ｃ＋＋、Ｊａｖａ（登録商標）等のプログラミング言語をＶｅｒｉｌｏｇ、ＶＨＤＬに変換する高位合成を行い、その後に上記論理合成を行うようにプログラムされ、構成されてもよい。
【００５１】
換言すれば、ＦＰＧＡ開発処理（方法）では、Ｖｅｒｉｌｏｇ、ＶＨＤＬ等のソースコードを解析して論理合成を行い、同一の論理回路を共有論理ブロック群１０に優先的に割り当てるように、論理合成した論理回路をＦＰＧＡに配置配線し、コンフィグレーションデータを作成する。なお、ＦＰＧＡ開発処理（方法）は、コンパイラ処理を含んでいてもよい。例えば、ＦＰＧＡ開発処理（方法）は、Ｃ＋＋、Ｊａｖａ（登録商標）等のプログラミング言語をＶｅｒｉｌｏｇ、ＶＨＤＬに変換する高位合成を行い、その後に上記論理合成を行ってもよい。
【符号の説明】
【００５２】
１，１Ｘ…ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、１０…共有論理ブロック群、１０Ｘ…専有論理ブロック群、１１…共有スイッチングマトリクス群、１１Ｘ…専有スイッチングマトリクス群、２０…論理ブロック用コンフィグレーションメモリ、２１…スイッチングマトリクス用コンフィグレーションメモリ、３０…論理ブロック、３１…ルックアップテーブル、３２…Ｄフリップフロップ、３３…セレクタ、４０…スイッチングマトリクス、５０…基板。
【図１】
2015231205.tif 000003
【図２】
2015231205.tif 000004
【図３】
2015231205.tif 000005
【図４】
2015231205.tif 000006
【図５】
2015231205.tif 000007
【図６】
2015231205.tif 000008
【図７】
2015231205.tif 000009