JP4363598B2 - 論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス - Google Patents

論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス Download PDF

Info

Publication number
JP4363598B2
JP4363598B2 JP2004076192A JP2004076192A JP4363598B2 JP 4363598 B2 JP4363598 B2 JP 4363598B2 JP 2004076192 A JP2004076192 A JP 2004076192A JP 2004076192 A JP2004076192 A JP 2004076192A JP 4363598 B2 JP4363598 B2 JP 4363598B2
Authority
JP
Japan
Prior art keywords
instruction
unit
instructions
programmable logic
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004076192A
Other languages
English (en)
Other versions
JP2005269025A (ja
Inventor
郁男 清水
善康 田村
秀貴 倉林
Original Assignee
株式会社 沖情報システムズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 沖情報システムズ filed Critical 株式会社 沖情報システムズ
Priority to JP2004076192A priority Critical patent/JP4363598B2/ja
Publication of JP2005269025A publication Critical patent/JP2005269025A/ja
Application granted granted Critical
Publication of JP4363598B2 publication Critical patent/JP4363598B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Description

本発明は、プログラマブルロジックデバイスのプログラマブルロジック部に形成する電子回路の配線配置を設定する論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイスに関する。
従来のプログラマブルロジック部を備えたプログラマブルロジックデバイスは、仮想コンピュータオペレーティングシステムを用いてプロセッサ部が実行するソースプログラムをシミュレートし、プロセッサ部が処理に用いるフル命令セットに多数の命令セットを付加すると共に、ソースプログラムが実行する機能をソフトウェアまたはハードウェアに配分してプログラマブルロジックデバイスによるグラフィックスアプリケーション等の処理を実行している。(例えば、特許文献1参照。)。
特表2002−530780号公報(第8頁段落0004−第10頁段落0013、第4図)
しかしながら、上述した従来の技術においては、プロセッサ部が処理に用いるフル命令セットに多数の命令セットを付加してプログラマブルロジックデバイスによる処理を実行しているため、フル命令セットの命令の中には実行プログラムには用いられていない命令が存在し、その電子回路がプログラマブルロジック部のプロセッサ部に形成され、これに伴ってユーザI/O等のプログラマブルロジックデバイスが必要とする各種のモジュールの電子回路を形成するためのプログラマブルロジック部のモジュール部の領域が狭くなるという問題がある。
このため、実行プログラムの処理の実行にはプログラマブルロジック部の容量が大きいプログラマブルロジックデバイスを用いる必要が生じる。
また、プログラマブルロジック部に不必要な命令のための電子回路が存在することでプログラマブルロジック部に形成する電子回路の配線配置が非効率となり、プロセッサ部が実行する処理の処理速度が低下するという問題がある。
本発明は、上記の問題点を解決するためになされたもので、プログラマブルロジックデバイスのプログラマブルロジック部のモジュール部の領域を拡大する手段を提供することを目的とする。
本発明は、上記課題を解決するために、プログラマブルロジックデバイスの全ての機能を記したデバイス基本データと、前記プログラマブルロジックデバイスのプログラマブルロジック部に形成するプロセッサ部が処理に用いるフル命令セットの全ての命令名のフル命令名リストと、前記プロセッサ部の制約条件を記した制約条件ファイルと、前記フル命令セットの命令と置換え可能な他の命令を記した置換命令ライブラリとを格納するサーバ記憶部と、高級言語により記述されたベースプログラムから前記プロセッサ部が実行する実行プログラムを編集する時に、前記制約条件ファイルの制約条件に基づいて前記ベースプログラムに用いられている命令を前記置換命令ライブラリの他の命令に置換えて、前記実行プログラムを編集して機械語に変換し、該変換結果を前記サーバ記憶部に保存するプログラムコンパイル部と、前記サーバ記憶部のフル命令名リストの命令名から、前記変換結果に用いられている命令の命令名を除いて前記ベースプログラムの実行に不必要な命令名の不要命令名リストを生成し、該不要命令名リストに基づいて、前記サーバ記憶部のデバイス基本データから不要な命令を削除して必要な命令のみを必要命令セットとして組込んだ基本機能データを生成するカスタマイズ部とを備えることを特徴とする。
これにより、本発明は、一般的にプログラマブルロジック部に形成されるプロセッサ部のフル命令セットの領域が必要命令セットのみの領域に減少することに伴ってプロセッサ部の領域が減少し、モジュール部の領域を拡大することができ、同一の実行プログラムの処理を実行するFPGAの小型化を図ることができるという効果が得られる。
また、プログラマブルロジック部に不必要な命令のための電子回路が存在しなくなり、プログラマブルロジック部の電子回路を効率的な配線配置で形成することができ、プロセッサ部が実行する処理の処理速度を向上させることができるという効果が得られる。
以下に、図面を参照して本発明による論理合成サーバの実施例について説明する。
図1は実施例1の論理合成サーバを示すブロック図、図2は実施例1のプログラマブルロジックデバイスを示すブロック図である。
図2において、1はプログラマブルロジックデバイスとしてのFPGA(Field Programmable Gate Array)である。
2はFPGA1のプログラマブルロジック部であり、複数の基本素子(セルという。)が格子状に配置された素子であって、格子状に配置されたセルを接続することによって特定の機能を有する電子回路が形成可能に構成されている。
3はプロセッサ部であり、プログラマブルロジック部2に形成されたCPU(Central Processing Unit)であって、高級言語としてのC言語で記述されたソースプログラムから生成された実行プログラムを実行する機能を有する他、レジスタやキャッシュメモリ等を備えている。
4は必要命令セットであり、プロセッサ部3に配置され、プロセッサ部3が処理を実行するために一般的に用意されている四則演算や分岐、比較等の基本的な命令の全てで構成される命令セット(フル命令セットという。)からプロセッサ部3が実行する実行プログラムには不必要な命令を削除して必要な命令のみにより構成される命令セットである。
5はモジュール部であり、ユーザI/Oや外部インターフェース等のプログラマブルロジックデバイスを構成する各種モジュールの電子回路が形成される領域である。
6はFPGA1に付属するコンフィグレーションROM(Read Only Memory)であり、不揮発性のメモリであって、FPGA1の機能を形成するためのプログラマブルロジック部2のセル接続データが書込まれて格納される。
図1において、10は論理合成サーバである。
11は、論理合成サーバ10の主制御部であり、論理合成サーバ10の各部を制御する他、アプリケーションソフトウェアによりそのアプリケーションの機能を備えたハードウェア構成する機能を有している。
12はプログラムメモリであり、主制御部11に直結するキャッシュメモリ等に確保された記憶エリアであって、各種のアプリケーションソフトウェアが読込まれる。
13はハードディスク等のサーバ記憶部であり、プロセッサ部3やそのフル命令セット4よびモジュール部5に形成するモジュール等のFPGA1が備えるべき全ての機能を記したデバイス基本データ14と、プロセッサ部3が処理に用いるフル命令セットの全ての命令名のリストであるフル命令名リスト15を格納している。
16は表示部であり、CRTやLCD等の表示画面を備えており、主制御部11が生成したデータの確認画面や操作手順等を表示する。
17はデータ入出力部であり、フレキシブルディスク等の磁気ディスクやコンパクトディスク等の光ディスク等の記録媒体に記録されたデータを読取る機能および記録媒体にデータを書込む機能を有している。
18は入力部であり、キーボードやマウスを備えており、担当者が数字入力や文字入力、選択入力等を行うために使用する。
19はROM書込部であり、機械語で記述された実行プログラムを実行プログラム用ROMに書込む機能を有している。
21はプログラムコンパイル部であり、FPGA1のプロセッサ部3が処理すべきソースプログラムと同一の高級言語で記述されたベースプログラムを解読してプロセッサ部3が実行可能なプログラムを編集し、これを機械語であるバイナリコードに変換してその変換結果をインテル形式のバイナリファイルとして出力する機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
本実施例では、ベースプログラムとしてC言語で記述されたソースプログラムが用いられ、プログラムコンパイル部21はプロセッサ部3がその処理を実行するための実行プログラムを編集する。
22はカスタマイズ部であり、プログラムコンパイル部21から出力されたバイナリファイルを解読してそこに用いられている命令を抽出し、サーバ記憶部13に保存されているフル命令名リスト15からベースプログラムの実行に用いられている命令の命令名を除いて不必要な命令名のリスト(不要命令名リストという。)を生成し、この不要命令名リストに基づいてサーバ記憶部13に格納されているデバイス基本データ14のフル命令セットの命令から不要な命令を削除した必要命令セット4を組込んだFPGA1の基本機能データ生成し、これをハードウェア記述言語としてのHDL(Hardware Description Language)言語で記述して出力する機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
23は接続リスト生成部であり、カスタマイズ部22で生成されたHDL言語の基本機能データを解読してプログラマブルロジック部2に形成するプロセッサ部3やその必要命令セット4およびモジュール部5の各モジュールの論理回路を編集し、この論理回路を構成するセルの接続方法等を記したリスト(接続リストという。)を生成して出力する機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
24はフィッタ部であり、接続リスト生成部23で生成された接続リストに基づいてプログラマブルロジック部2に前記論理回路を形成するための電子回路の配線配置を決定し、この配線配置となるように各電子回路にセルを割り当て、その割り当てたセルの隣接するセル間の接続点等を記述したセル接続データを出力する機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
上記のプログラムコンパイル部21やカスタマイズ部22等を形成するアプリケーションソフトウェアは通常はサーバ記憶部13に格納されており、論理合成サーバ10が処理を実行する時にプログラムメモリ12に読込まれて主制御部11と共に上記した各部を形成する。
上述した構成の作用について説明する。
本実施例のFPGA1は、パーソナルコンピュータ等の汎用性を有するコンピュータの基板に実装されるものではなく、アドインボードや特定の処理を行う装置の基板、例えばプリンタや磁気カードリーダの基板に実装されるものである。
このため、プログラマブルロジック部2に形成されるプロセッサ部3が実行する実行プログラムは特定の処理のみを実行するプログラムであって、フル命令セットの全ての命令を用いなくても必要命令セット4を用いれば処理の実行が可能なプログラムである。
しかしながら、実行プログラムは特定の処理のみを実行するプログラムといえども、その処理は実装される基板によって異なり、必要命令セット4を画一的に構成することが不可能であるので、以下に示す命令セット削減処理により必要命令セット4をその実行プログラムに対応させて構成する必要がある。
本実施例の命令セット削減処理に用いるベースプログラムは、C言語で記述したソースプログラムである。
また、論理合成サーバ10のサーバ記憶部13には、予め前記のFPGA1のデバイス基本データ14と、そのプロセッサ部3が一般に備えるフル命令セットのニーモニック言語の命令名のフル命令名リスト15が格納されている。
以下に、図3に示すフローチャートを用い、Sで示すステップに従って本実施例の命令セット削減処理の作動について説明する。
S1、担当者は、予め作成したC言語で記述されたソースプログラムを記録した記録媒体をデータ入出力部17に装填する。
これを検知した論理合成サーバ10の主制御部11は、データ入出力部17により記録媒体に記録されたソースプログラムを読取る。
S2、ソースプログラムを読取った主制御部11は、プログラムコンパイル部21にソースプログラムを引渡してそのバイナリファイルを生成する。
すなわち、ソースプログラムの引渡しを受けたプログラムコンパイル部21は、そのC言語のソースプログラムを解読し、実行の順序やレジスタの割付等を設定してプロセッサ部3が実行する実行プログラムを編集し、これをバイナリコードに変換してその変換結果をバイナリファイルとしてサーバ記憶部13に保存する。
S3、プログラムコンパイル部21がバイナリファイルを保存したことを確認した主制御部11は、サーバ記憶部13のバイナリファイルを読出すと共に、表示部16に実行プログラムを出力する旨の文言を表示する。これを確認した担当者はROM書込部19に実行プログラム用ROMを装着する。
実行プログラム用ROM装着を検知した主制御部11は、読出したバイナリファイルにバイナリコードで記述されている実行プログラムをROM書込部19により実行プログラム用ROMに書込む。
S4、これと平行して主制御部11は、カスタマイズ部22にバイナリファイルの在処を引渡して基本機能データを生成する。
すなわち、バイナリファイルの在処の引渡しを受けたカスタマイズ部22は、サーバ記憶部13の実行プログラムのバイナリファイルを読出してこれを解読し、そこに用いられている命令を抽出してニーモニック言語に変換すると共にサーバ記憶部13に格納されているフル命令名リスト15を読出し、このフル命令名リスト15のニーモニック言語の命令名から実行プログラムに用いられている命令名を消去して実行プログラムに不必要な不要命令名リストを生成し、サーバ記憶部13に格納されているデバイス基本データ14を読出して生成した不要命令名リストに基づいてデバイス基本データ14のフル命令セットの命令から不要な命令を削除する。
そして、削除後に残った命令、つまり必要な命令を必要命令セット4として再構成し、これをデバイス基本データ14の命令セットとして組込んでHDL言語で記述した基本機能データを生成し、これをサーバ記憶部13に保存する。
S5、カスタマイズ部22が基本機能データを保存したことを確認した主制御部11は、接続リスト生成部23に基本機能データの在処を引渡してFPGA1のプログラマブルロジック部2の接続リストを生成する。
すなわち、基本機能データの在処の引渡しを受けた接続リスト生成部23は、サーバ記憶部13のHDL言語の基本機能データを読出してこれを解読し、FPGA1のプログラマブルロジック部2に形成するプロセッサ部3やその必要命令セット4およびモジュール部5の各モジュールの論理回路を編集してこの論理回路を構成するセルの接続方法等を記した接続リストを生成し、これをサーバ記憶部13に保存する。
S6、接続リスト生成部23が接続リストを保存したことを確認した主制御部11は、フィッタ部24に接続リストの在処を引渡してプログラマブルロジック部2のセル接続データを生成する。
すなわち、接続リストの在処の引渡しを受けたフィッタ部24は、サーバ記憶部13の接続リストを読出し、その接続リストに基づいて必要命令セット4の命令のその使用頻度等を考慮してプログラマブルロジック部2に形成するプロセッサ部3やその必要命令セット4等の論理回路のための電子回路の配線配置を決定し、この配線配置となるように各電子回路にセルを割り当て、その割り当てたセルの隣接するセル間の接続点等を記したセル接続データを生成し、これをサーバ記憶部13に保存する。
S7、フィッタ部24がセル接続データを保存したことを確認した主制御部11は、サーバ記憶部13のセル接続データを読出すと共に、表示部16にセル接続データを出力する旨の文言を表示する。これを確認した担当者は、データ入出力部17に記録媒体を装填する。
記録媒体を装填を検知した論理合成サーバ10の主制御部11は、データ入出力部17により読出したセル接続データを記録媒体に書込み、書込が終了した時に上記の命令セット削減処理を終了させる。
その後、担当者はセル接続データが書込まれた記録媒体を用いて図示しないROMライタ等によりセル接続データをFPGA1に付属するコンフィグレーションROM6に書込んで格納する。
この場合に、論理合成サーバ10にROMライタを設け、またはROM書込部19を利用してセル接続データをFPGA1に付属するコンフィグレーションROM6に書込むようにしてもよい。
これにより、ステップS3で実行プログラム用ROMに書込まれた実行プログラムの処理の実行に必要な命令のみを必要命令セット4として組込んだ基本機能データの機能を発揮するFPGA1が製造される。
そして、このFPGA1は、実行プログラム用ROMと共に基板に実装され、その基板に電源が投入されると、コンフィグレーションROM6に格納されているセル接続データがFPGA1に読込まれ、このセル接続データに基づいてプログラマブルロジック部2にプロセッサ部3やその必要命令セット4およびモジュール部5の各モジュール等の電子回路が形成され、形成されたプロセッサ部3が実行プログラム用ROMから実行プログラムを読出して必要命令セット4を用いてその演算等を行うと共に、モジュール部5の各モジュールに指令して実行プログラムに応じた処理を実行する。
以上説明したように、本実施例では、論理合成サーバのサーバ記憶部にデバイス基本データとフル命令名リストとを格納しておき、プログラムコンパイル部がソースプログラムから実行プログラムを編集して機械語に変換したバイナリファイルをカスタマイズ部が解読してフル命令名リストから実行プログラムが用いている命令の命令を除いた不要命令名リストを生成し、不要命令名リストに基づいてデバイス基本データのフル命令セットから不要な命令を削除し、必要命令セットを組込んだ基本機能データを生成するようにしたことによって、図4(a)に示す一般的にプログラマブルロジック部に形成されるプロセッサ部のフル命令セットの領域が図4(b)に示す必要命令セットのみの領域に減少することに伴ってプロセッサ部の領域が減少し、モジュール部の領域を図4(a)に示す領域から図4(b)に示す領域に拡大することができる。
これにより、同一の実行プログラムの処理を実行するFPGAの小型化を図ることができる。
また、プロセッサ部に必要命令セットのみを設けるようにしたことによって、プログラマブルロジック部に不必要な命令のための電子回路が存在しなくなり、プログラマブルロジック部の電子回路を効率的な配線配置で形成することができ、プロセッサ部が実行する処理の処理速度を向上させることができる。
図5は実施例2の論理合成サーバを示すブロック図である。
なお、上記実施例1と同様の部分は、同一の符号を付してその説明を省略する。
図5において、31は制約条件ファイルであり、プロセッサ部3が処理を実行する際に用いる各命令の処理時間の上限やプログラマブルロジック部2に形成するプロセッサ部3の領域の最大値等のプロセッサ部3の制約条件を記したファイルであって、論理合成サーバ10のサーバ記憶部13に予め格納されている。
32は置換命令ライブラリであり、フル命令セットの各命令の処理時間およびその機能と同一の機能を発揮する置換え可能な他の命令(他の複数の命令の組合せを含む。例えば動作の遅い乗算命令の機能を動作の速い加算命令と分岐命令によるループ処理とする組合せとして同一の機能を発揮させる等)を記したライブラリであって、サーバ記憶部13に予め格納されている。
33は配線優先順位ファイルであり、プログラマブルロジック2に形成する必要命令セット4の命令(優先順位を高める必要のある命令のみの場合を含む。)の電子回路の配線配置を決定する際の命令毎の配線優先順位を記したファイルであって、サーバ記憶部13に予め格納されている。
34はプログラムコンパイル部であり、実施例1のプログラムコンパイル部21と同様の機能に加えて、実行プログラムを編集する時に、置換命令ライブラリ32を参照して制約条件ファイル31の制約条件を満たすように実行プログラムに用いる命令を置換える機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
35はカスタマイズ部であり、実施例1のカスタマイズ部22と同様の機能に加えて、基準機能データに必要命令セット4を組込む時に、配線優先順位ファイル33に記された命令毎の配線優先順位を該当する命令に付与して組込む機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
36はフィッタ部であり、実施例1のフィッタ部24と同様の機能に加えて、電子回路の配線配置を決定する時に、配線優先順位の高い命令から優先的にセルを割り当て、その割り当てたセルの隣接するセル間の接続点等を記述してその電子回路の長さが最も短くなる配線配置とする機能を有するアプリケーションソフトウェアと主制御部11とで形成されるハードウェアである。
上記の構成の作用について説明する。
本実施例のサーバ記憶部13には実施例1のデバイス基本データ14、フル命令名リスト15に加えて上記の制約条件ファイル31、置換命令ライブラリ32および配線優先順位ファイル33が予め格納されている。
本実施例の配線優先順位ファイルの優先順位は、高速処理を行う必要がある命令、例えばソースプログラムで多用している命令の優先順位が高くなるように設定されている。
また、本実施例のベースファイルは、実施例1と同様のソースプログラムである。
以下に、図6に示すフローチャートを用い、SAで示すステップに従って本実施例の命令セット削減処理の作動について説明する。
SA1、上記実施例1のステップS1と同様にして、論理合成サーバ10の主制御部11はソースプログラムを読取る。
SA2、ソースプログラムを読取った主制御部11は、プログラムコンパイル部34にソースプログラムを引渡してそのバイナリファイルを生成する。
すなわち、ソースプログラムの引渡しを受けたプログラムコンパイル部34は、そのC言語のソースプログラムを解読して用いるべき命令を認識すると共に、サーバ記憶部13の制約条件ファイル31を読出して各命令の処理時間やプロセッサ部3の領域の大きさ等の制約条件を認識し、サーバ記憶部13の置換命令ライブラリ32の各命令の処理時間を参照して処理時間が制約条件の処理時間を超える命令を抽出し、抽出した命令がソースプログラムで用いられている場合は、置換命令ライブラリ32を参照してその命令を制約条件の処理時間以内となる他の命令に置換え、ソースプログラムの実行に用いる命令を全て制約条件の処理時間に合致させる。
そして、制約条件の処理時間に合致させた各命令を必要命令セット4とした場合の必要命令セット4の領域を想定し、プロセッサ部3の領域が制約条件の領域を越える場合は、更に置換命令ライブラリ32を参照して処理時間を合致させた各命令の種類を減少させる置換を行う。
例えば、乗算命令と除算命令、加算命令、分岐命令、比較命令が用いられている場合は、乗算命令を加算命令と分岐命令によるループ処理へ置換え、除算命令を加算命令と比較命令の分岐命令によるループ処理へ置換えて5つの命令を加算命令と分岐命令、比較命令の3つの命令のみで処理する等である。
このようにして、プログラムコンパイル部34はソースプログラムに用いられている命令の種類を減少させ、実施例1と同様にして実行プログラムを編集し、これをバイナリコードに変換した結果をバイナリファイルとしてサーバ記憶部13に保存する。
SA3、プログラムコンパイル部34がバイナリファイルを保存したことを確認した主制御部11は、上記実施例1のステップS3と同様にして実行プログラムを実行プログラム用ROMに書込む。
SA4、これと平行して主制御部11は、カスタマイズ部35にバイナリファイルの在処を引渡して基本機能データを生成する。
すなわち、バイナリファイルの在処の引渡しを受けたカスタマイズ部35は、上記実施例1のステップS4と同様にして不要命令名リストを生成し、不要命令名リストに基づいてデバイス基本データ14のフル命令セットの命令から不要な命令を削除する。
そして、サーバ記憶部13の配線優先順位ファイル33を読出し、その命令毎の配線優先順位を該当する削除後に残った必要な命令に付与して必要命令セット4として再構成し、実施例1のステップS4と同様にして基本機能データをサーバ記憶部13に保存する。
SA5、カスタマイズ部35が基本機能データを保存したことを確認した主制御部11は、接続リスト生成部23に基本機能データの在処を引渡してFPGA1のプログラマブルロジック部2の接続リストを生成する。
すなわち、基本機能データの在処の引渡しを受けた接続リスト生成部23は、上記実施例1のステップS5と同様にして接続リストをサーバ記憶部13に保存する。
SA6、接続リスト生成部23が接続リストを保存したことを確認した主制御部11は、フィッタ部36に接続リストの在処を引渡してプログラマブルロジック部2のセル接続データを生成する。
すなわち、接続リストの在処の引渡しを受けたフィッタ部36は、サーバ記憶部13の接続リストを読出し、その接続リストの必要命令セット4の命令に付与されている配線優先順位に従ってプログラマブルロジック部2に形成するプロセッサ部3やその必要命令セット4等の論理回路のための電子回路に割り当てるセルを配線優先順位の高い命令から優先的に割り当て、その割り当てたセルの隣接するセル間の接続点等を記してその電子回路の長さが最も短くなる配線配置を決定し、決定した配線配置のセルの割り当てとその接続点等を記したセル接続データを生成し、これをサーバ記憶部13に保存する。
SA7、フィッタ部36がセル接続データを保存したことを確認した主制御部11は、上記実施例1のステップS7と同様にしてセル接続データを記録媒体に書込み、書込が終了した時に上記の命令セット削減処理を終了させる。
その後、作動は上記実施例1と同様であるので、その説明を省略する。
以上説明したように、本実施例では、上記実施例1と同様の効果に加えて、論理合成サーバのサーバ記憶部に制約条件ファイルと置換命令ライブラリとを格納しておき、プログラムコンパイル部がソースプログラムから実行プログラムを編集する時に、制約条件ファイルの制約条件に基づいてソースプログラムに用いられている命令を置換命令ライブラリの他の命令置換えるようにしたことによって、必要命令セットの命令の種類を減少させることができ、プロセッサ部の領域を更に減少させてモジュール部の領域を更に拡大することができる。
これにより、同一の実行プログラムの処理を実行するFPGAの小型化を更に図ることができる。
また、サーバ記憶部に配線優先順位ファイルを格納しておき、カスタマイズ部が必要命令セットを組込む時に、配線優先順位ファイルの命令毎の配線優先順位を該当する命令に付与するようにしたことによって、プログラマブルロジック部に形成する優先順位の高い電子回路を更に高速なものとしてプロセッサ部が実行する処理の処理速度を向上させることができる。
なお、上記各実施例においては、プログラマブルロジックデバイスはFPGAとして説明したが、プログラマブルロジックデバイス前記に限らず、CPLD(Complex Programmable Logic Device)等のプログラム可能なデバイスであればどのようなものでもよい。
また、不要な命令名の抽出には、ニーモニック言語を用いるとして説明したが、アセンブリ言語を用いてもよく、バイナリコードのまま抽出するようにし、抽出した不要な命令名を担当者が確認する必要がある場合にニーモニック言語またはアセンブリ言語に変換して表示部16に表示するようにしてもよい。
更に、バイナリファイルの記述はインテル形式を用いるとして説明したが、モトローラ形式で記述するようにしてもよい。
更に、高級言語はC言語を用いるとして説明したが、FORTRAN言語等の他の高級言語を用いるようにしてもよい。
更に、ベースプログラムはソースプログラムを用いるとして説明したが、実際に使用されるソースプログラムでなく、ソースプログラムで用いる全ての命令に用いた簡単なプログラムを用いて上記ステップS3、SA3の実行プログラムの書込ステップを省略した命令セット削減処理を実行するようにしてもよい。このことはソースプログラムの開発中にプログラマブルロジックデバイスを作成する場合に有効である。
更に、サーバ記憶部はハードディスクであるとして説明したが、キャッシュメモリ等に確保したデータメモリの記憶エリアを用いるようにしてもよく、これらを適宜に組合せて用いるようにしてもよい。
更に、配線優先順位ファイルは予め作成しておくとして説明したが、カスタマイズ部が必要命令セットを再構成する前に、その必要命令セットの内容を表示部に表示し、担当者が入力部から入力した配線優先順位をサーバ記憶部等に格納するようにしてもよい。
更に、配線優先順位はカスタマイズ部が必要命令セット組込む時に該当する命令に付与するとして説明したが、フィッタ部が命令の使用頻度等を考慮して配線配置を決定した時にその内容を表示部に表示し、担当者が入力部から必要に応じて配線優先順位を変更するようにしてもよい。
実施例1の論理合成サーバを示すブロック図 実施例1のFPGAを示すブロック図 実施例1の命令セット削減処理を示すフローチャート 実施例1のモジュール部の領域拡大を示す説明図 実施例2の論理合成サーバを示すブロック図 実施例2の命令セット削減処理を示すフローチャート
符号の説明
1 FPGA
2 プログラマブルロジック部
3 プロセッサ部
4 必要命令セット
5 モジュール部
6 コンフィグレーションROM
10 論理合成サーバ
11 主制御部
12 プログラムメモリ
13 サーバ記憶部
14 デバイス基本データ
15 フル命令名リスト
16 表示部
17 データ入出力部
18 入力部
19 ROM書込部
21、34 プログラムコンパイル部
22、35 カスタマイズ部
23 接続リスト生成部
24、36 フィッタ部
31 制約条件ファイル
32 置換命令ライブラリ
33 配線優先順位ファイル

Claims (3)

  1. プログラマブルロジックデバイスの全ての機能を記したデバイス基本データと、前記プログラマブルロジックデバイスのプログラマブルロジック部に形成するプロセッサ部が処理に用いるフル命令セットの全ての命令名のフル命令名リストと、前記プロセッサ部の制約条件を記した制約条件ファイルと、前記フル命令セットの命令と置換え可能な他の命令を記した置換命令ライブラリとを格納するサーバ記憶部と、
    高級言語により記述されたベースプログラムから前記プロセッサ部が実行する実行プログラムを編集する時に、前記制約条件ファイルの制約条件に基づいて前記ベースプログラムに用いられている命令を前記置換命令ライブラリの他の命令に置換えて、前記実行プログラムを編集して機械語に変換し、該変換結果を前記サーバ記憶部に保存するプログラムコンパイル部と、
    前記サーバ記憶部のフル命令名リストの命令名から、前記変換結果に用いられている命令の命令名を除いて前記ベースプログラムの実行に不必要な命令名の不要命令名リストを生成し、該不要命令名リストに基づいて、前記サーバ記憶部のデバイス基本データから不要な命令を削除して必要な命令のみを必要命令セットとして組込んだ基本機能データを生成するカスタマイズ部とを備えることを特徴とする論理合成サーバ。
  2. 請求項1において、
    前記プログラマブルロジックに形成する必要命令セットの命令の命令毎の配線優先順位を記した配線優先順位ファイルを前記サーバ記憶部に格納し、
    前記カスタマイズ部が必要命令セットを組込む時に、前記配線優先順位ファイルの命令毎の配線優先順位を該当する命令に付与することを特徴とする論理合成サーバ。
  3. 請求項1または請求項2に記載の論理合成サーバにより製造されたことを特徴とするプログラマブルロジックデバイス。
JP2004076192A 2004-03-17 2004-03-17 論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス Expired - Fee Related JP4363598B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004076192A JP4363598B2 (ja) 2004-03-17 2004-03-17 論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004076192A JP4363598B2 (ja) 2004-03-17 2004-03-17 論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス

Publications (2)

Publication Number Publication Date
JP2005269025A JP2005269025A (ja) 2005-09-29
JP4363598B2 true JP4363598B2 (ja) 2009-11-11

Family

ID=35093126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004076192A Expired - Fee Related JP4363598B2 (ja) 2004-03-17 2004-03-17 論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス

Country Status (1)

Country Link
JP (1) JP4363598B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100072100A (ko) 2007-11-01 2010-06-29 실리콘 하이브 비.브이. 애플리케이션 프로파일 기반의 asip 설계
US8271920B2 (en) 2010-08-25 2012-09-18 International Business Machines Corporation Converged large block and structured synthesis for high performance microprocessor designs
CN111487892B (zh) * 2020-03-31 2023-03-21 北京中庆现代技术股份有限公司 一种多功能可编程集成控制装置

Also Published As

Publication number Publication date
JP2005269025A (ja) 2005-09-29

Similar Documents

Publication Publication Date Title
US8792116B2 (en) Printing controller, GUI display method, printer driver, and recording medium
JP2005536783A (ja) pdfドキュメントのセクション抽出ツール
JP6801460B2 (ja) 情報処理装置、プログラム、および情報処理方法
JP2007034887A (ja) ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置
CN101923537B (zh) 在图形用户界面中显示多个文档的方法和装置
JP2009110391A (ja) 情報処理装置および制御方法および制御プログラム
JP4363598B2 (ja) 論理合成サーバおよびそれにより製造されたプログラマブルロジックデバイス
JP2006301989A (ja) 計算機言語によるプログラムをブロック図から自動生成する方法と装置とプログラム
US8127259B2 (en) Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium
JP2006059102A (ja) Cad装置、シンボル作成装置、cadプログラム、およびシンボル作成プログラム
JP4988226B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
JP2007265011A (ja) 画面プログラムレイアウト変更方法および情報処理装置およびプログラムおよび記録媒体
JP5399601B2 (ja) 実装コード開発システム、及び実装コード開発プログラム
JP4184155B2 (ja) データ処理装置、データ処理方法、データ処理プログラム、およびデータ処理プログラムを記録したコンピュータ読取可能な記録媒体
JPH1011271A (ja) バージョンダウン入力方式
JP3330122B2 (ja) 機能可変型dspプログラム作成装置、dspプログラム作成方法およびdspプログラム作成用プログラムを記録した記録媒体、並びにdsp装置
JP2010182031A (ja) ソフトウエア生成支援装置
JP2018206195A (ja) 演算システム、演算システムの制御方法およびプログラム
JP4275639B2 (ja) レイアウト設計装置、およびレイアウト設計プログラム
CN114281324A (zh) 页面生成方法、装置、计算机设备及存储介质
JP2007164685A (ja) 情報処理装置およびデータ出力制御方法およびプログラムおよび記憶媒体
JP2007004238A (ja) 解析支援装置および解析支援方法およびプログラム
JP3466869B2 (ja) フォントデータ管理方法および装置、ならびに記録媒体
JP2006285584A (ja) プログラムコード生成装置、プログラムコード生成方法、及びコンピュータプログラム
JP2000181695A (ja) ソフトウェア部品のバージョンアップ管理装置及び方法並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090815

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees