PCI 評価基盤の設計は 構成 より分かるようにFPGA とインターフェースIC であるPCI9054 との接続がされている。扱う信号も多くなり、大規模な設計が要求されてくる際には、信号の振る舞いをVHDL のみで設計するのは効率的ではないという考えもあります。
そこで作業効率を向上させるために階層構造設計を用い、回路図入力による構造記述とVHDL による機能記述のバランスを考えて設計する必要性がでてきました。その一般的な設計手法をここに紹介します。
プログラマブル・ロジック・デバイスの一般的な設計手順は図 1のようになっています。コンピュータに設計情報を入力する作業から始まり、ツールの活用によりデバイスに書き込みます。
PCI 評価基盤の設計を行う際に使用しているツールはPeak VHDL とMAX+plusII です。図 1には設計手順に合わせて使用するツールを紹介しています。
デザイン入力する方法には以下の表1 のようなものがあります。いずれの手法が優れているのではなく、それぞれに長所と、短所があり実際の作業ではこれらを組み合わせて使いこなしていきます。HDL による記述は機能記述に優れており、機能的に信号を理解することに、優れています。また、回路図入力は構造を理解するのに適しており視覚的に回路を理解することができます。
では、どの手法を用いたらいいかと言うと、大規模な設計では階層構造による設計が一般的です。階層構造とは、下位レベル、上位レベルの設計に分けて、設計していく事です。下位レベルには、機能的に優れているHDL による記述、最上位レベルには、構造的に優れている回路図入力を行うことが、いいです。
コンピュータに入力したデザイン(回路図やHDL)で定義された機能や構造を実現する回路をコンピュータが自動的に作成します。一般的には、EDIF と呼ばれる中間ファイルが出力されます。
Peak VHDL により、作成された機能記述は、Peak VHDL で論理合成を行い、MAX+2 でEDIF ファイルを使用します。
この中間ファイルの中身はターゲット・デバイスのフィッタで読み込むことができます。そのため、論理合成の前にはターゲット・デバイスの指定が必要です。
EDIF:Electro Design Interchange Format
異なるツールでデータを交換する為に標準化された中間ファイルのフォーマット
アリテックのテストプログラムを例にPCI 評価基盤のデザイン入力を紹介します。
まずは、全体の流れを図2 に示します。
階層設計による設計では機能記述でPEAK VHDL、構造記述でMAX+2 と異なるツールで設計しているため、2つのツールを 1つにして全体の回路として仕上げる必要があります。図2の例では、機能構造にSRAM コントロールをPEAK VHDL で記述し、サブモジュールとしてTOP の回路に組み込みます。そのTOP の回路には、MAX+2 にて記述された回路図を使います。
ここにPEAK VHDL で記述したファイルをMAX+2 に取り組む方法を紹介します。
デバイス・メーカーから供給されるデバイス・フィッター ツールを使用して、配置配線を行います。この場合もMAX+2 を使って配置配線を行うことができます。以下にその手順を示します。
MAX+2 のタイミングシミュレーションの機能を使って、完成した回路をFPGA に実装する前にシミュレーションすることができます。
入力する信号を与え、シミュレーションを実行すると出力信号を表示させることができます。それを検証することにより、回路が思い通りに設計できたか、できないかを確認することができます。また、思い通りに設計されていない場合の対処を検討することができます。
詳しくはこちら
デバイス・プログラマを使って、デバイス・フィッタが出力した書き込みデータをデバイスに書き込む作業です。
PCI 評価基盤のデバイスプログラミングはダウンロードケーブルとJTAG 機能を使います。ダウンロードケーブルは、PC のパラレルポートを使用するバイト・ブラスタを使用します。
<バイト・ブラスタ に関する参考ページ>
以下にデバイス・プログラミングの手順を紹介します。