(57)【特許請求の範囲】
【請求項１】
プログラマブル論理回路のピン配置情報を含むピン情報ファイルを入力するピン情報ファイル入力手段と、
前記プログラマブル論理回路のデバイスに依存するデバイス情報を含むデータベースを格納した記憶部と、
前記ピン配置情報と前記ピン配置情報のピンに論理的に接続するターゲットデバイス情報とを関連付ける設定ファイルを入力する設定ファイル入力手段と、
前記設定ファイルに基づいて前記ピン配置情報のピンと前記ターゲットデバイス情報とを関連付けた回路構成を記述した前記ターゲットデバイスのピンの検証用回路記述データを生成し、前記設定ファイルに基づいて前記ピン配置情報と前記デバイス情報とを関連付けたインプリメントの制約を記述したインプリメント用制約ファイルを生成する自動生成プログラムを実行する処理部と、
を備えたことを特徴とするピンレイアウト検証支援システム。
【請求項２】
前記検証用回路記述データ及びインプリメント用制約ファイルから、論理回路の合成及びレイアウトを行う論理合成レイアウト部を備えたことを特徴とする請求項１に記載のピンレイアウト検証支援システム。
【請求項３】
プログラマブル論理回路で使用される各マクロセルの論理構造を示すマクロ情報を含むデータベースを格納した記憶部を備え、前記自動生成プログラムを実行することにより、該データベースのマクロ情報に基づいて、マクロセルを組み込んだ前記検証用回路記述データを生成することを特徴とする請求項１に記載のピンレイアウト検証支援システム。
【請求項４】
前記自動生成プログラムを実行することにより、前記ピン情報ファイルに代えて既存のインプリメント用制約ファイルから、ターゲットデバイスのピンの検証用回路記述データ及びピン情報ファイルを生成することを特徴とする請求項１に記載のピンレイアウト検証支援システム。
【請求項５】
前記ターゲットデバイスのデバイス情報として、ユーザーが制約条件の下に使用可能な兼用ピンに関する情報を含むデータベースを格納した記憶部を備え、前記自動生成プログラムを実行することにより、該兼用ピンに関する情報に基づいて検証用回路記述データを生成することを特徴とする請求項１に記載のピンレイアウト検証支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピンレイアウト検証支援プログラムに関し、特に、ＦＰＧＡ（Field Programmable Gate Array）等のようなユーザーがプログラミングすることができるプログラマブル論理回路を設計する場合において、ユーザーの決定したピンレイアウトが実際のデバイス上で問題なく配置可能か否かの検証を効率よく行うためのピンレイアウト検証支援システムに関する。
【背景技術】
【０００２】
近年、ＦＰＧＡ等のプログラマブル論理回路を使用する製品の開発を行う場合、開発期間短縮のため、ＦＰＧＡ等のプログラマブル論理回路の内部回路の設計と並行してＦＰＧＡ等のプログラマブル論理回路を実装するプリント板の設計を同時に行う設計手順が一般的に行われている。
【０００３】
この場合、実際に使用するＦＰＧＡ等のプログラマブル論理回路の内部回路が完成されていないうちから、ＦＰＧＡ等のプログラマブル論理回路のデバイスとしてのピンレイアウトを決定し、該ピンレイアウトに基づいて実際のピン配置についての検証用回路記述データ（ＲＴＬ：Register Transfer Level）及びインプリメント用制約ファイルを生成し、実際にレイアウトを行って問題がないことを確認した上で、プリント板におけるＦＰＧＡ等のプログラマブル論理回路の周辺回路を設計するという手順となる。なお、インプリメント用制約ファイルは、各ピンについての位置や入力又は出力される電流値又は電圧値や動作速度、使用マクロなどについての情報である。
【０００４】
本発明に関連する先行技術文献として、ＦＰＧＡ等のプログラマブル論理回路の設計において、ソースプログラムを論理合成する際に、該ソースプログラムに記述された入出力端子情報をチェックするコンピュータ・システムについて、下記の特許文献１に記載されている。また、大規模かつ高速の集積回路におけるＩ／Ｏ回路セルと該Ｉ／Ｏ回路に接続されたフリップフロップ回路セルとの間のデータ入出力に係る所定のタイミング制約（ＡＣスペック）を容易に満たすことができる集積回路設計方法等について下記の特許文献２に記載されている。
【特許文献１】特開平８−３２９０１８号公報
【特許文献２】特開２００２−１６３３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年の半導体デバイス製造技術の向上により、集積回路の多ピン化、多機能化が進み、品質確保の上で検証用回路記述データ（ＲＴＬ）を生成し、実レイアウトを行ってピンレイアウトの検証を行うことの重要度が増している一方で、検証用回路記述データ（ＲＴＬ）及びインプリメント用制約ファイルも複雑化し、その生成作業終了時間（ＴＡＴ：Turn Around Time）の増加が課題となっている。
【０００６】
本発明は、ピンが論理合成・レイアウトの工程で削除されないような検証用回路記述データ（ＲＴＬ）を自動生成することを可能にし、これにより、ピンレイアウトの生成時間の短縮及び手動で生成した場合の誤記等のミスによる出戻り工数の削減を図ることができるピンレイアウト検証支援システムを提供する。
【課題を解決するための手段】
【０００７】
本発明のピンレイアウト検証支援システムは、（１）プログラマブル論理回路のピン配置情報を含むピン情報ファイルを入力するピン情報ファイル入力手段と、前記プログラマブル論理回路のデバイスに依存するデバイス情報を含むデータベースを格納した記憶部と、前記ピン配置情報と前記ピン配置情報のピンに論理的に接続するターゲットデバイス情報とを関連付ける設定ファイルを入力する設定ファイル入力手段と、前記設定ファイルに基づいて前記ピン配置情報のピンと前記ターゲットデバイス情報とを関連付けた回路構成を記述した前記ターゲットデバイスのピンの検証用回路記述データを生成し、前記設定ファイルに基づいて前記ピン配置情報と前記デバイス情報とを関連付けたインプリメントの制約を記述したインプリメント用制約ファイルを生成する自動生成プログラムを実行する処理部と、を備えたことを特徴とする。
【０００８】
また、（２）前記検証用回路記述データ及びインプリメント用制約ファイルから、論理回路の合成及びレイアウトを行う論理合成レイアウト部を備えたことを特徴とする。
また、（３）プログラマブル論理回路で使用される各マクロセルの論理構造を示すマクロ情報を含むデータベースを格納した記憶部を備え、前記自動生成プログラムを実行することにより、該データベースのマクロ情報に基づいて、マクロセルを組み込んだ前記検証用回路記述データを生成することを特徴とする。
【０００９】
また、（４）前記自動生成プログラムを実行することにより、前記ピン情報ファイルに代えて既存のインプリメント用制約ファイルから、ターゲットデバイスのピンの検証用回路記述データ及びピン情報ファイルを生成することを特徴とする。
【００１０】
また、（５）前記ターゲットデバイスのデバイス情報として、ユーザーが制約条件の下に使用可能な兼用ピンに関する情報を含むデータベースを格納した記憶部を備え、前記自動生成プログラムを実行することにより、該兼用ピンに関する情報に基づいて検証用回路記述データを生成することを特徴とする。
【発明の効果】
【００１１】
本発明は、ユーザーが生成したピンレイアウト情報又はインプリメント用制約ファイルから、ターゲットデバイス情報を基に、検証用回路記述データ（ＲＴＬ）及びインプリメント用制約ファイル又はピンレイアウト情報を自動生成することにより、ピンが論理合成・レイアウトの工程で削除されることなくピンレイアウトを生成し、実際のデバイス上で問題なくピン配置が可能かの確認を行うことができ、ピンレイアウトの生成時間の短縮及び手動で生成した場合の誤記等のミスによる出戻り工数の削減を図ることができる。
【発明を実施するための最良の形態】
【００１２】
図１に本発明のピンレイアウト検証支援システムの構成を示す。本システムは、検証用回路記述データ（ＲＴＬ）及びインプリメント用制約ファイルを自動生成する自動生成プログラム１−１、各種の情報が格納された各種データベース１−２を格納した記憶部及び論理合成レイアウト部１−３により構成される。
【００１３】
自動生成プログラム１−１は、外部から入力されるピン情報ファイル１−１１及び設定ファイル１−１２、並びに各種データベース１−２の格納情報を元に、検証用回路記述データ（ＲＴＬ）１−１３及びインプリメント用制約ファイル１−１４を自動生成する。
【００１４】
各種データベース１−２として、各デバイスの論理ブロック（ＬＵＴ：Look Up Table）、レジスタ（ＦＦ：flip-flop）等、デバイス依存の情報（以下「デバイス情報」という）１−２１及び或るまとまった単位の回路(マクロセル)の論理構造に関する情報（以下「マクロ情報」という）１−２２を格納する。
【００１５】
論理合成・レイアウト部１−３は、自動生成プログラム１−１で生成された検証用回路記述データ（ＲＴＬ）１−１３及びインプリメント用制約ファイル１−１４から、論理回路の合成／レイアウトを行い、その出力結果データを格納すると共に結果レポート１−４を出力する。
【００１６】
ピン情報ファイル１−１１及び設定ファイル１−１２を本システムに入力することにより、自動生成プログラム１−１は、各種データベース１−２に格納されているデバイス情報１−２１及びマクロ情報１−２２を参照して検証用回路記述データ（ＲＴＬ）１−１３及びインプリメント用制約ファイル１−１４を生成し、該検証用回路記述データ（ＲＴＬ）１−１３及びインプリメント用制約ファイル１−１４を元に、論理合成レイアウト部１−３により論理回路の合成／レイアウトを行い、結果レポート１−４を出力する。該結果レポート１−４の内容を基に問題の有無の確認を行うことが可能となる。
【００１７】
以上の処理により、本システムを用いてプログラマブル論理回路のピンレイアウトの検証を自動処理に早期に行うことができ、実際のデバイス上で問題なくピン配置が可能かの確認を行うことができ、プログラマブル論理回路の内部回路設計と並行してその実装プリント板の開発・設計を早期に効率よく行うことができる。
【００１８】
図２に本発明のピンレイアウト検証支援システムの動作フローを示す。以下、同図を参照して本発明のピンレイアウト検証支援システムの動作を説明する。最初に、ピンレイアウト検証支援システムにピン情報ファイル及びターゲットデバイスの情報を入力する（ステップ２−１）。なお、オプションによって入力情報としてピン情報ファイルに代えて既存の制約ファイルを入力情報とすることができる。
【００１９】
次に、使用デバイス、動作速度等の各種変数を設定するか否かを判定し（ステップ２−２）、各種変数を設定する場合、ステップ２−３の処理へ移り、各種設定情報を入力する。設定しない場合、ステップ２−４の処理へスキップする。ステップ２−４では入力されたピン情報及び設定値をデータベースの記憶部に格納する。
【００２０】
続いてデータベースの記憶部に格納されているピンレイアウトデータが設定情報の範囲内であるか否か、即ち設定情報に問題がないか否かを判定する（ステップ２−５）。ピンレイアウトデータが設定情報の範囲内で設定情報に問題がなければ、ステップ２−６の処理へスキップする。設定情報に問題があれば、ステップ２−１０の処理へ移る。
【００２１】
ステップ２−６では、ピンレイアウトに必要な検証用回路記述データ（ＲＴＬ）及び制約ファイルを自動生成する。なお、オプションによっては、検証用回路記述データ（ＲＴＬ）及び制約ファイル制約ファイルに代えて、検証用回路記述データ（ＲＴＬ）及びピン情報ファイルを生成する構成とすることができる。
【００２２】
次に、生成した検証用回路記述データ（ＲＴＬ）及び制約ファイルに問題がないか否かを判定する（ステップ２−７）。問題がなければ、ステップ２−８の処理へ移り、問題があれば、ステップ２−９の処理へスキップする。ステップ２−８の処理ではステップ２−６で自動生成した検証用回路記述データ（ＲＴＬ）及び制約ファイルを基に論理回路の合成及びレイアウトを行う。インプリメントツールは使用するデバイスに依存するため、デバイスによっては、合成とレイアウトとが同時に行われる場合もある。次に、結果データを格納し（ステップ２−９）、処理を終了する。
【００２３】
また、前述のステップ２−５の判定において、設定情報に問題があると判定された場合、設定値を変更するか否かを判定する（ステップ２−１０）。設定値を変更する場合、ステップ２−１１の処理に移行する。設定値を変更しない場合、ステップ２−９の処理へスキップする。ステップ２−１１では、変更する設定値を入力して、ステップ２−５の処理へフィードバックする。
【００２４】
以下に本発明によるピンレイアウト検証支援の各フェーズについて詳細に説明する。
（ピン情報ファイルについて）
前述のピン情報ファイル１−１１は、大きく分けて２種類のファイルから成る。その第１の種類のファイルは、図３の（ａ）に示すＦＰＧＡピン配置表である。該ＦＰＧＡピン配置表には、各ピンの情報として、端子名、ピン配置を示すピン番号、Ｉ／Ｏ属性、バンク等を記述する。これらの情報は、自動生成プログラム１−１によって、最終的にＦＰＧＡ  ＴＯＰピンの検証用回路記述データ（ＲＴＬ）１−１３及び制約ファイル１−１４に加工される。ここで、ＦＰＧＡ  ＴＯＰピンとは、チップの一番外側のピンである。
【００２５】
ピン情報ファイル１−１１の第２の種類のファイルは、図３の（ｂ）に示す使用マクロ端子表である。該使用マクロ端子表には、各ピンの情報として、端子名、Ｉ／Ｏ属性、接続先、接続先端子名等を記述する。この使用マクロ端子表は、使用するマクロの総数分必要となる。これらの情報は、ＦＰＧＡ内部で構成される各マクロとＦＰＧＡ  ＴＯＰ又は他のマクロとの接続のために使用され、最終的に検証用回路記述データ（ＲＴＬ）として加工される。
【００２６】
（設定ファイルについて）
前述の設定ファイル１−１２には、使用するデバイス情報、使用ピン数、動作速度、使用マクロ個数等、予め設定しておくべき情報を記述する。図３の（ｃ）に設定ファイルの記述例の一部を示す。
【００２７】
（各種データベースについて）
前述の各種データベース１−２には、自動生成プログラム１−１で使用する各ＦＰＧＡ等のデバイスに依存するデバイス情報１−２１及びマクロ情報１−２２を格納する。本発明によるピンレイアウト検証支援システムでは、定期的に各種データベース１−２の格納情報を更新することにより、全ての入手可能なデバイス及びマクロに対応することができる。
【００２８】
デバイス情報１−２１及びマクロ情報１−２２をそれぞれ図３の（ｄ）及び図３の（ｅ）に示す。デバイス情報１−２１は、論理ブロック（ＬＵＴ）、レジスタ（ＦＦ）等のデバイス依存の情報である。また、マクロ情報１−２２はマクロ内部の論理構造（ＲＴＬ等）を示す情報である。
【００２９】
（自動生成プログラムについて）
上述のピン情報ファイル１−１１、設定ファイル１−１２並びに各種データベース１−２のデバイス情報１−２１及びマクロ情報１−２２を元に、自動生成プログラム１−１により検証用回路記述データ（ＲＴＬ）１−１３及び制約ファイル１−１４を生成する。この際、インプリメント時にピンが削除されないように、内部で簡易ロジックを生成する。
【００３０】
（検証用回路記述データ（ＲＴＬ）について）
図３の（ａ）及び（ｂ）のピン情報ファイル１−１１並びに同図（ｄ）のデバイス情報及び（ｅ）のマクロ情報１−２２から、自動生成プログラム１−１により、例えば図４の（ａ）に示すような回路構造が生成される。このような回路構造を示す検証用回路記述データ（ＲＴＬ）の生成例の一部を図４の（ｂ）に示す。該回路構造は次のフェーズでインプリメントされる。
【００３１】
（制約ファイルについて）
自動生成プログラム１−１により生成される制約ファイル１−１４の生成例の一部を図４の（ｃ）に示す。該制約ファイル１−１４は、インプリメント時に使用される。
（インプリメントについて）
検証用回路記述データ（ＲＴＬ）１−１３及び制約ファイル１−１４を用い、論理合成レイアウト部１−３は、論理回路の合成及びレイアウトを自動処理により行う。
（結果レポートについて）
本発明のピンレイアウト検証支援システムは、上述のインプリメントの結果より、ピンレイアウトに問題が無いか否かを結果レポートとして出力する。該結果レポートの例を図４の（ｄ）に示す。該結果レポートに出力されるＰｉｎ  ｌｏｃａｔｅ，Ｃｏｎｎｅｃｔｉｏｎ，Ｍａｃｒｏ等の結果情報を元に、最終的に全体（ＴＯＴＡＬ）の良／否を判定する。また、各ツールによって出力されるレポートも添付して出力することにより、ユーザーは詳細な結果情報が入手可能となる。
【００３２】
また、ターゲットデバイスのデバイス情報として、ユーザーが制約条件の下に使用可能な兼用ピンに関する情報を含むデータベースを格納した記憶部を備え、自動生成プログラムは、該兼用ピンに関する情報に基づいて検証用回路記述データを生成することにより、兼用ピンの制約とユーザーＩ／Ｏとのチェックが可能となる。
【実施例１】
【００３３】
実施例１は、入力情報がピン情報ファイルの場合の実施例であり、図５に示すＦＰＧＡピン配置表並びに図６の（ａ）及び（ｂ）に示す使用マクロ端子表を入力情報とした場合のピンレイアウト検証支援の処理フローを以下に説明する。
【００３４】
図５のＦＰＧＡピン配置表には、ＦＰＧＡ  ＴＯＰピンのそれぞれの各種詳細情報（端子名、極性が反転した２つの信号を入力して動作させる所謂差動時の極性、差動ピン使用／不使用、内部プルアップ使用／不使用、ピン番号、ＩＯレベル、Ｉ／Ｏ属性、極性、信号属性、同期クロック、クロック周波数、バンク、パケッジ端子名、挿入マクロ有／無、挿入マクロ名等）が記述される。同図の表に示したピンのうち、“ＢＢＤＴＩ０”〜“ＢＢＤＴＩ５”及び“ＢＢＤＴＯ０”，“ＢＢＤＴＯ１”のピンは、挿入マクロと接続され、その接続されるマクロ名が表記され、該表記はマクロとの接続情報として用いられる。
【００３５】
図６の（ａ）及び（ｂ）に示す使用マクロ端子表１及び２には、上記ＦＰＧＡ  ＴＯＰピンとの接続情報として、Ｉ／Ｏ属性、接続先及び接続先端子名が記述される。例えば、ＦＰＧＡ  ＴＯＰピン“ＢＢＤＴＩ５”は、マクロＤＤＩＮ＿１ＢＩＴ−ＢＢＤＴＩ５の“ｄａｔａｉｎ”の端子と接続されることが示されている。同様に、他の全ピン端子もこの使用マクロ端子表を基に接続される。万一、接続情報に記述ミスがある場合は、エラーとして結果レポートを出力し、処理を終了する。
【００３６】
上記の情報を入力として、自動生成プログラム１−１により、中間ファイルとして自動生成される検証用回路記述データ（ＲＴＬ）１−１３の具体例を図７及び図８に、制約ファイルの具体例を図９及び図１０に示す。検証用回路記述データ（ＲＴＬ）１−１３による回路構造の具体例は図１１の（ａ）のように示される。同図に示すようにマクロが入出力部分に接続され、内部では入出力信号を用いて簡易ロジックが生成されている。
【００３７】
上記中間ファイルである検証用回路記述データ（ＲＴＬ）１−１３及び制約ファイル１−１４を用いて、論理合成レイアウト部１−３により自動処理で論理合成及びレイアウト処理が実行され、その実行後の結果レポートの例を図１１の（ｂ）に示す。
【実施例２】
【００３８】
入力情報としてピン情報ファイルに代えて制約ファイルとした場合の実施例を図１２に示す。制約ファイル１−１４からＦＰＧＡ  ＴＯＰピンの各種詳細情報を抽出し、自動生成プログラム１−１により、検証用回路記述データ（ＲＴＬ）１−１３及びピン情報ファイル（ＦＰＧＡピン配置表、使用マクロ端子表）１−１１を生成する。それ以降の処理フローについては、ピン情報ファイルを入力情報とした場合と同一の処理フローとなる。
【図面の簡単な説明】
【００３９】
【図１】本発明のピンレイアウト検証支援システムの構成を示す図である。
【図２】本発明のピンレイアウト検証支援システムの動作フローを示す図である。
【図３】ピン情報ファイル、設定ファイル、デバイス情報及びマクロ情報を示す図である。
【図４】回路構造、ＲＴＬ、制約ファイル及び結果レポートの例を示す図である。
【図５】実施例１のＦＰＧＡピン配置表を示す図である。
【図６】実施例１の使用マクロ端子表を示す図である。
【図７】実施例１の検証用回路記述データ（ＲＴＬ）の具体例を示す図である。
【図８】実施例１の検証用回路記述データ（ＲＴＬ）の具体例を示す図である。
【図９】実施例１の制約ファイルの具体例を示す図である。
【図１０】実施例１の制約ファイルの具体例を示す図である。
【図１１】実施例１の回路構造及び結果レポートの具体例を示す図である。
【図１２】実施例２のピンレイアウト検証支援の実施形態を示す図である。
【符号の説明】
【００４０】
１−１  自動生成プログラム
１−１１  ピン情報ファイル
１−１２  設定ファイル
１−１３  検証用回路記述データ（ＲＴＬ）
１−１４  制約ファイル
１−２  各種データベース
１−２１  デバイス情報
１−２２  マクロ情報
１−３  論理合成レイアウト部
１−４  結果レポート
【図１】
0004537907.tif 000002
【図２】
0004537907.tif 000003
【図３】
0004537907.tif 000004
【図４】
0004537907.tif 000005
【図５】
0004537907.tif 000006
【図６】
0004537907.tif 000007
【図７】
0004537907.tif 000008
【図８】
0004537907.tif 000009
【図９】
0004537907.tif 000010
【図１０】
0004537907.tif 000011
【図１１】
0004537907.tif 000012
【図１２】
0004537907.tif 000013