TOP > 国内特許検索 > フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法 > 明細書

明細書 :フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2015-231205 (P2015-231205A)
公開日 平成27年12月21日(2015.12.21)
発明の名称または考案の名称 フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法
国際特許分類 H03K  19/177       (2006.01)
H01L  21/82        (2006.01)
FI H03K 19/177
H01L 21/82 A
請求項の数または発明の数 9
出願形態 OL
全頁数 11
出願番号 特願2014-117851 (P2014-117851)
出願日 平成26年6月6日(2014.6.6)
発明者または考案者 【氏名】渡邊 実
出願人 【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
個別代理人の代理人 【識別番号】100088155、【弁理士】、【氏名又は名称】長谷川 芳樹
【識別番号】100108257、【弁理士】、【氏名又は名称】近藤 伊知良
【識別番号】100124800、【弁理士】、【氏名又は名称】諏澤 勇司
審査請求 未請求
テーマコード 5F064
5J042
Fターム 5F064AA08
5F064BB12
5F064BB13
5F064BB19
5F064BB37
5F064CC12
5F064HH09
5J042BA02
5J042BA09
5J042CA15
5J042DA02
5J042DA03
要約 【課題】高速化のために並列動作数を増やす場合に、小型化、低価格化、及び、低リーク電力化が可能なフィールドプログラマブルゲートアレイを提供する。
【解決手段】本発明の一実施形態に係るフィールドプログラマブルゲートアレイ1は、複数の共有論理ブロック群10を備え、複数の共有論理ブロック群10それぞれは、1つの論理ブロック用コンフィグレーションメモリ20と、1つの論理ブロック用コンフィグレーションメモリ20を共有する少なくとも2つの論理ブロック30とを有する。
【選択図】図1
特許請求の範囲 【請求項1】
フィールドプログラマブルゲートアレイであって、
複数の共有論理ブロック群であって、前記複数の共有論理ブロック群それぞれは、1つの論理ブロック用コンフィグレーションメモリと、前記1つの論理ブロック用コンフィグレーションメモリを共有する少なくとも2つの論理ブロックとを有する、前記複数の共有論理ブロック群を備える、フィールドプログラマブルゲートアレイ。
【請求項2】
前記少なくとも2つの論理ブロックは、前記1つの論理ブロック用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、同一の論理回路を実装する、請求項1に記載のフィールドプログラマブルゲートアレイ。
【請求項3】
複数の共有スイッチングマトリクス群であって、前記複数の共有スイッチングマトリクス群それぞれは、1つのスイッチングマトリクス用コンフィグレーションメモリと、前記1つのスイッチングマトリクス用コンフィグレーションメモリを共有する少なくとも2つのスイッチングマトリクスとを有する、前記複数の共有スイッチングマトリクス群を更に備える、請求項1又は2に記載のフィールドプログラマブルゲートアレイ。
【請求項4】
前記少なくとも2つのスイッチングマトリクスは、前記1つのスイッチングマトリクス用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、前記少なくとも2つの論理ブロックの入出力の接続をそれぞれ制御する、請求項3に記載のフィールドプログラマブルゲートアレイ。
【請求項5】
前記論理ブロック用コンフィグレーションメモリと前記スイッチングマトリクス用コンフィグレーションメモリとは同一のメモリで構成される、請求項3又は4に記載のフィールドプログラマブルゲートアレイ。
【請求項6】
前記複数の共有論理ブロック群と、
複数の専有論理ブロック群であって、前記複数の専有論理ブロック群それぞれは、1つの論理ブロック用コンフィグレーションメモリと、前記1つの論理ブロック用コンフィグレーションメモリを専有する1つの論理ブロックとを有する、前記複数の専有論理ブロック群と、
を備える、請求項1~5の何れか1項に記載のフィールドプログラマブルゲートアレイ。
【請求項7】
前記複数の共有論理ブロック群と前記複数の専有論理ブロック群とは、1以上の専有論理ブロック群ごとに1以上の共有論理ブロック群が挿入されるように混在する、請求項6に記載のフィールドプログラマブルゲートアレイ。
【請求項8】
請求項6又は7に記載のフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発ツールであって、
論理合成を行い、
同一の論理回路を前記共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路を前記フィールドプログラマブルゲートアレイに配置配線する、
ように構成された、フィールドプログラマブルゲートアレイ開発ツール。
【請求項9】
複数の共有論理ブロック群及び複数の専有論理ブロック群であって、前記複数の共有論理ブロック群それぞれは、1つの論理ブロック用コンフィグレーションメモリと、前記1つの論理ブロック用コンフィグレーションメモリを共有する少なくとも2つの論理ブロックとを有し、前記複数の専有論理ブロック群それぞれは、1つの論理ブロック用コンフィグレーションメモリと、前記1つの論理ブロック用コンフィグレーションメモリを専有する1つの論理ブロックとを有する、前記複数の共有論理ブロック群及び前記複数の専有論理ブロック群を備えるフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発方法であって、
論理合成を行い、
同一の論理回路を前記共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路を前記フィールドプログラマブルゲートアレイに配置配線する、
フィールドプログラマブルゲートアレイ開発方法。
発明の詳細な説明 【技術分野】
【0001】
本発明は、フィールドプログラマブルゲートアレイ(Field ProgrammableGate Arrays:FPGA)、及び、その開発ツール及び開発方法に関する。
【背景技術】
【0002】
特許文献1には、FPGAが開示されている。このFPGAは、複数個の区画部分を有しており、区画部分それぞれは、1つのコンフィグレーションメモリと、1つのコンフィギャラブル論理ブロックと、1つのコンフィギャラブルルーティングマトリクスとを有している。
【0003】
近年、FPGAの高速化の研究が行われている。例えば、コンピュータ等のプロセッサユニットの処理速度を上げるためのアクセラレータに適用するFPGAの高速化の研究がアグレッシブに行われている。しかしながら、FPGAの性能はカスタムVLSIの性能よりも低い。例えば、FPGAにおけるLUT上に実装される論理回路は、カスタムVLSIにおける論理回路よりも遅く、また、FPGAにおけるスイッチングマトリクスを含む配線チャネルに起因する遅延は、カスタムVLSIにおける配線に起因する遅延よりも大きく、また、FPGAのクロック周波数は、カスタムVLSIのクロック周波数よりも低い。したがって、FPGAの高速化は、並列動作数を増やすことによって実現されるのが一般的である。
【先行技術文献】
【0004】

【特許文献1】特開平8-51356号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、FPGAの高速化のために並列動作数を増やすと、FPGAが大型となり、その結果チップ単価が高くなってしまう。また、非動作時のリーク電力が増大してしまう。
【0006】
そこで、本発明は、高速化のために並列動作数を増やす場合に、小型化、低価格化、及び、低リーク電力化が可能なフィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のフィールドプログラマブルゲートアレイは、複数の共有論理ブロック群を備え、複数の共有論理ブロック群それぞれは、1つの論理ブロック用コンフィグレーションメモリと、1つの論理ブロック用コンフィグレーションメモリを共有する少なくとも2つの論理ブロックとを有する。
【0008】
このフィールドプログラマブルゲートアレイによれば、少なくとも2つの論理ブロックが1つの論理ブロック用コンフィグレーションメモリを共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を低減することができ、小型化、低価格化、及び、低リーク電流化が可能となる。
【0009】
上記した少なくとも2つの論理ブロックは、1つの論理ブロック用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、同一の論理回路を実装してもよい。
【0010】
また、上記したフィールドプログラマブルゲートアレイは、複数の共有スイッチングマトリクス群を更に備え、複数の共有スイッチングマトリクス群それぞれは、1つのスイッチングマトリクス用コンフィグレーションメモリと、1つのスイッチングマトリクス用コンフィグレーションメモリを共有する少なくとも2つのスイッチングマトリクスとを有してもよい。
【0011】
これによれば、少なくとも2つのスイッチングマトリクスが1つのスイッチングマトリクス用コンフィグレーションメモリを共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を更に低減することができ、更に小型化、低価格化、及び、低リーク電流化が可能となる。
【0012】
また、上記した少なくとも2つのスイッチングマトリクスは、1つのスイッチングマトリクス用コンフィグレーションメモリの同一のコンフィグレーションデータに基づいて、少なくとも2つの論理ブロックの入出力の接続をそれぞれ制御してもよい。
【0013】
また、上記した論理ブロック用コンフィグレーションメモリと上記したスイッチングマトリクス用コンフィグレーションメモリとは同一のメモリで構成されてもよい。
【0014】
また、上記したフィールドプログラマブルゲートアレイは、上記した複数の共有論理ブロック群と、複数の専有論理ブロック群とを備え、複数の専有論理ブロック群それぞれは、1つの論理ブロック用コンフィグレーションメモリと、1つの論理ブロック用コンフィグレーションメモリを専有する1つの論理ブロックとを有していてもよい。また、上記した複数の共有論理ブロック群と上記した複数の専有論理ブロック群とは、1以上の専有論理ブロック群ごとに1以上の共有論理ブロック群が挿入されるように混在していてもよい。
【0015】
これによれば、従来通りの汎用FPGAとしての利用において、同一のコンフィグレーションデータによる同一の論理回路を共有論理ブロック群に実装することができ、汎用FPGAの処理能力を向上させることができる。
【0016】
本発明のフィールドプログラマブルゲートアレイ開発ツールは、上記したフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発ツールであって、論理合成を行い、同一の論理回路を上記した共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路をフィールドプログラマブルゲートアレイに配置配線する。
【0017】
本発明のフィールドプログラマブルゲートアレイ開発方法は、上記したフィールドプログラマブルゲートアレイをコンフィグレーションするためのフィールドプログラマブルゲートアレイ開発方法であって、論理合成を行い、同一の論理回路を共有論理ブロック群に優先的に割り当てるように、論理合成した論理回路をフィールドプログラマブルゲートアレイに配置配線する。
【発明の効果】
【0018】
本発明によれば、FPGAの高速化のために並列動作数を増やす場合に、小型化、低価格化、及び、低リーク電力化が可能となる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態に係るFPGAの回路ブロック図である。
【図2】本発明の実施形態に係るFPGAの概略レイアウト図である。
【図3】図1に示す論理ブロックの回路図である。
【図4】従来のFPGAの回路ブロック図である。
【図5】従来のFPGAの概略レイアウト図である。
【図6】本発明の第1の変形例に係るFPGAの概略レイアウト図である。
【図7】本発明の第2の変形例に係るFPGAの概略レイアウト図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
[FPGA]

【0021】
図1は、本発明の実施形態に係るFPGAの回路ブロック図であり、図2は、本発明の実施形態に係るFPGAの概略レイアウト図である。図1及び図2に示すFPGA(フィールドプログラマブルゲートアレイ)1は、複数の共有論理ブロック群10と、複数の共有スイッチングマトリクス群11と、配線チャネルとを備える。

【0022】
各共有論理ブロック群10は、1つの論理ブロック用コンフィグレーションメモリ(CMLB)20と、論理ブロック用コンフィグレーションメモリ20を共有する4つの論理ブロック(LB)30とを有する。また、各共有スイッチングマトリクス群11は、1つのスイッチングマトリクス用コンフィグレーションメモリ(CMSM)21と、スイッチングマトリクス用コンフィグレーションメモリ21を共有する4つのスイッチングマトリクス(SM)40とを有する。

【0023】
例えば、図2に示すように、論理ブロック用コンフィグレーションメモリ20及びスイッチングマトリクス用コンフィグレーションメモリ21のゲートアレイは基板50の上に配置され、4つの論理ブロック30及びスイッチングマトリクス40のゲートアレイは、コンフィグレーションメモリ20,21のゲートアレイ上に順次に積層される。図1に示すように、各層では、論理ブロック30の周囲には、縦横にそれぞれ4本ずつ延在するワイヤを含む配線チャネルが配置されており、これらの配線チャネルの交差部にスイッチングマトリクス40が配置される。

【0024】
論理ブロック用コンフィグレーションメモリ20は、対応する4つの論理ブロック30に論理回路を実装するためのコンフィグレーションデータを格納する。例えば、論理ブロック用コンフィグレーションメモリ20には、専用のシリアルチェーンが接続されており、このチェーンを介して外部からコンフィグレーションデータがプログラムされてもよい。論理ブロック用コンフィグレーションメモリ20は、対応する4つの論理ブロック30に接続される。

【0025】
一方、スイッチングマトリクス用コンフィグレーションメモリ21は、対応するスイッチングマトリクス40に、対応する層における論理ブロック30の入力及び出力を接続させるためのコンフィグレーションデータを格納する。例えば、スイッチングマトリクス用コンフィグレーションメモリ21には、専用のシリアルチェーンが接続されており、このチェーンを介して外部からコンフィグレーションデータがプログラムされてもよい。スイッチングマトリクス用コンフィグレーションメモリ21は、対応する4つのスイッチングマトリクス40に接続される。

【0026】
なお、論理ブロック用コンフィグレーションメモリ20及びスイッチングマトリクス用コンフィグレーションメモリ21がブロックRAMとして機能してもよい。また、論理ブロック用コンフィグレーションメモリ20とスイッチングマトリクス用コンフィグレーションメモリ21とが同一のメモリであってもよい。ここで、同一のメモリとは、論理ブロック用コンフィグレーションメモリ20とスイッチングマトリクス用コンフィグレーションメモリ21とが同一のメモリで構成されていることを示すものである。

【0027】
図3に、論理ブロックの回路ブロック図を示す。図3に示す論理ブロック30は、ルックアップテーブル(LUT)31と、Dフリップフロップ32と、セレクタ33とから構成される回路を2つ含む。

【0028】
ルックアップテーブル31の4つの入力は配線チャネルに接続され、これらの入力には、対応する層における1以上のスイッチングマトリクス40を介して入力データが入力される。4つの論理ブロック30におけるルックアップテーブル31は、コンフィグレーションメモリ20の同一のコンフィグレーションデータに基づいて、同一の論理回路を実装する(implement)。ルックアップテーブル31の出力は、Dフリップフロップ32のデータ入力、及び、セレクタ33の一方の入力に接続される。

【0029】
Dフリップフロップ32のクロック入力には、クロック信号が入力される。Dフリップフロップ32は、格納レジスタとして機能する。Dフリップフロップ32の出力は、セレクタ33のもう一方の入力に接続される。

【0030】
セレクタ33の出力は、配線チャネルに接続され、対応するスイッチングマトリクス40を介して出力データを出力する。セレクタ33は、例えば、コンフィグレーションメモリ20のコンフィグレーションデータに基づいて2入力の何れか一方を選択的に出力する。

【0031】
スイッチングマトリクス40は、スイッチングマトリクス用コンフィグレーションメモリ21のコンフィグレーションデータに基づいて、対応する層における論理ブロック30の入力をI/O部又は他の論理ブロックの出力に接続すると共に、対応する層における論理ブロック30の出力をI/O部又は他の論理ブロックの入力に接続する。4つのスイッチングマトリクス40は、スイッチングマトリクス用コンフィグレーションメモリ21の同一のコンフィグレーションデータに基づいて、同一のスイッチングを行う。

【0032】
なお、論理ブロック30は、1つ又は複数の組み合わせによって所望の論理回路を実現してもよい。

【0033】
この実施形態のFPGA1によれば、4つの論理ブロック30が1つのコンフィグレーションメモリ20を共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を低減することができ、小型化、低価格化、及び、低リーク電流化が可能となる。本願発明者は、この利点より、本実施形態のFPGA1構成を並列動作指向FPGA構成(parallel- operation-oriented FPGA architecture)と呼ぶ。

【0034】
また、この実施形態のFPGA1によれば、4つのスイッチングマトリクス40が1つのコンフィグレーションメモリ21を共有するので、高速化のために並列動作数を増やす場合に、コンフィグレーションメモリの数を更に低減することができ、更に小型化、低価格化、及び、低リーク電流化が可能となる。

【0035】
また、この実施形態のFPGA1によれば、コンフィグレーション、すなわちプログラムに要する時間を低減することができる。

【0036】
なお、この実施形態のFPGA1は、コンピュータ等のプロセッサユニットの処理速度を上げるためのアクセラレータ等に好適である。

【0037】
以下では、この作用効果をゲートアレイ設計のシミュレーションにて検証する。ゲートアレイ設計のための論理合成ツール及び配置配線ツールとして、Synopsys Inc.製のデザインコンパイラ及びICコンパイラをそれぞれ用いた。デバイスプロセスとしては0.18μmCMOSプロセスを用い、コアの電圧としては1.8Vとした。
(第1実施例)

【0038】
第1実施例として、本実施形態の共有論理ブロック群10を100個、すなわち、論理ブロック用コンフィグレーションメモリ20を100個+論理ブロック30を4並列×100個、及び、本実施形態の共有スイッチングマトリクス群11を117個、すなわち、スイッチングマトリクス用コンフィグレーションメモリ21を117個+スイッチングマトリクス40を4並列×117個、レイアウトした(4ファンクション)。
(第2実施例)

【0039】
第2実施例として、本実施形態の共有論理ブロック群の変形を100個、すなわち、論理ブロック用コンフィグレーションメモリ20を100個+論理ブロック30を2並列×100個、及び、本実施形態の共有スイッチングマトリクス群の変形を117個、すなわち、スイッチングマトリクス用コンフィグレーションメモリ21を117個+スイッチングマトリクス40を2並列×117個、レイアウトした(2ファンクション)。
(従来例)

【0040】
図4は、従来のFPGAの回路ブロック図であり、図5は、従来のFPGAの概略レイアウト図である。図4及び図5に示すFPGA1Xは、FPGA1において、主に、複数の共有論理ブロック群10及び複数の共有スイッチングマトリクス群11に代えて、複数の専有論理ブロック群10X及び複数の専有スイッチングマトリクス群11Xを備える点で相違する。各専有論理ブロック群10Xは、1つの論理ブロック用コンフィグレーションメモリ(CMLB)20と、論理ブロック用コンフィグレーションメモリ20を専有する1つの論理ブロック(LB)30とを有する。また、各専有スイッチングマトリクス群11Xは、1つのスイッチングマトリクス用コンフィグレーションメモリ(CMSM)21と、スイッチングマトリクス用コンフィグレーションメモリ21を専有する1つのスイッチングマトリクス(SM)40とを有する。このように、従来例として、専有論理ブロック群10Xを100個、すなわち、論理ブロック用コンフィグレーションメモリ20を100個+論理ブロック30を100個、及び、専有スイッチングマトリクス群11Xを117個、すなわち、スイッチングマトリクス用コンフィグレーションメモリ21を117個+スイッチングマトリクス40を117個、レイアウトした(シングルファンクション)。

【0041】
なお、論理ブロック用コンフィグレーションメモリ20のコンフィグレーションビット数は全ての形態で同一の60であり、スイッチングマトリクス用コンフィグレーションメモリ21のコンフィグレーションビット数は全ての形態で同一の64である。また、I/Oブロック(パッド含まず)のレイアウトサイズも全ての形態で同一とした。
(シミュレーション結果)

【0042】
第2実施例の1ファンクションあたりのゲート密度は、従来例の1ファンクションあたりのゲート密度に対して1.68倍であり、第1実施例の1ファンクションあたりのゲート密度は、従来例の1ファンクションあたりのゲート密度に対して2.38倍であった。これより、本実施形態によれば、高速化のために並列動作数(ファンクション数)を増やす場合に、小型化が可能であり、その結果、チップ単価の低価格化が可能であることがわかる。

【0043】
また、第2実施例の論理ブロックの1ファンクションあたりの非動作時のリーク電力は、従来例の論理ブロックの1ファンクションあたりのリーク電力に対して0.60倍であり、第1実施例の論理ブロックの1ファンクションあたりのリーク電力は、従来例の論理ブロックの1ファンクションあたりのリーク電力に対して0.40倍であった。また、第2実施例のスイッチングマトリクスの1ファンクションあたりの非動作時のリーク電力は、従来例のスイッチングマトリクスの1ファンクションあたりのリーク電力に対して0.67倍であり、第1実施例のスイッチングマトリクスの1ファンクションあたりのリーク電力は、従来例のスイッチングマトリクスの1ファンクションあたりのリーク電力に対して0.48倍であった。これより、本実施形態によれば、高速化のために並列動作数(ファンクション数)を増やす場合に、非動作時のリーク電流を低減することが可能であることがわかる。

【0044】
なお、本発明は上記した本実施形態に限定されることなく種々の変形が可能である。例えば、本実施形態では、図2に示すように、論理ブロック用コンフィグレーションメモリ20及びスイッチングマトリクス用コンフィグレーションメモリ21のゲートアレイと、論理ブロック30及びスイッチングマトリクス40のゲートアレイとを縦積みする3次元的な構造を例示したが、図6に示すように、論理ブロック用コンフィグレーションメモリ20及びスイッチングマトリクス用コンフィグレーションメモリ21のゲートアレイと、論理ブロック30及びスイッチングマトリクス40のゲートアレイとは、同一平面上に横並びとする2次元的な構造であってもよい。

【0045】
また、本実施形態では、図2に示すように、FPGA1が共有論理ブロック群10及び共有スイッチングマトリクス群11のみを備える形態を例示したが、図6に示すように、FPGAは、共有論理ブロック群10及び共有スイッチングマトリクス群11に加えて、従来の専有論理ブロック群10X及び専有スイッチングマトリクス群11Xを備える形態であってもよい。例えば、図6では、FPGAを2つの領域に分け、一方の領域に共有論理ブロック群10及び共有スイッチングマトリクス群11を配置し、他方の領域に従来の専有論理ブロック群10X及び専有スイッチングマトリクス群11Xを配置してもよい。

【0046】
また、図7に示すように、共有論理ブロック群10及び共有スイッチングマトリクス群11と、従来の専有論理ブロック群10X及び専有スイッチングマトリクス群11Xとを混在させてもよい。例えば、2個の専有論理ブロック群10X及び専有スイッチングマトリクス群11Xごとに1個の共有論理ブロック群10及び共有スイッチングマトリクス群11を挿入するように規則的に混在させてもよいし、あるいは不規則的に混在させてもよい。

【0047】
図6及び図7に示すように、共有論理ブロック群10及び共有スイッチングマトリクス群11と、従来の専有論理ブロック群10X及び専有スイッチングマトリクス群11Xとを共に備える形態によれば、従来通りの汎用FPGAとしての利用において、同一のコンフィグレーションデータによる同一の論理回路を共有論理ブロック群10に実装することができ、汎用FPGAの処理能力を向上させることができる。
[FPGA開発ツール、及び、FPGA開発方法]

【0048】
次に、図6及び図7に示すように、共有論理ブロック群10と従来の専有論理ブロック群10Xとを共に備える形態のFPGAのための開発ツール及び開発方法について説明する。

【0049】
FPGA開発ツール(フィールドプログラマブルゲートアレイ開発ツール)は、CPU(CentralProcessing Unit)、ROM(Read Only Memory)、RAM(Random AccessMemory)等を含み、ROMに記憶されているFPGA開発処理(フィールドプログラマブルゲートアレイ開発方法)のプログラムをCPUで実行することによって構成される。

【0050】
FPGA開発ツールは、Verilog、VHDL等のソースコードを解析して論理合成を行い、同一の論理回路を共有論理ブロック群10に優先的に割り当てるように、論理合成した論理回路をFPGAに配置配線し、コンフィグレーションデータを作成するようにプログラムされ、構成されている。なお、FPGA開発ツールは、コンパイラ機能を備えてもよい。例えば、FPGA開発ツールは、C++、Java(登録商標)等のプログラミング言語をVerilog、VHDLに変換する高位合成を行い、その後に上記論理合成を行うようにプログラムされ、構成されてもよい。

【0051】
換言すれば、FPGA開発処理(方法)では、Verilog、VHDL等のソースコードを解析して論理合成を行い、同一の論理回路を共有論理ブロック群10に優先的に割り当てるように、論理合成した論理回路をFPGAに配置配線し、コンフィグレーションデータを作成する。なお、FPGA開発処理(方法)は、コンパイラ処理を含んでいてもよい。例えば、FPGA開発処理(方法)は、C++、Java(登録商標)等のプログラミング言語をVerilog、VHDLに変換する高位合成を行い、その後に上記論理合成を行ってもよい。
【符号の説明】
【0052】
1,1X…FPGA(フィールドプログラマブルゲートアレイ)、10…共有論理ブロック群、10X…専有論理ブロック群、11…共有スイッチングマトリクス群、11X…専有スイッチングマトリクス群、20…論理ブロック用コンフィグレーションメモリ、21…スイッチングマトリクス用コンフィグレーションメモリ、30…論理ブロック、31…ルックアップテーブル、32…Dフリップフロップ、33…セレクタ、40…スイッチングマトリクス、50…基板。
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6