ディジタル 回路設計


PCI 評価基盤の設計は 構成 より分かるようにFPGA とインターフェースIC であるPCI9054 との接続がされている。扱う信号も多くなり、大規模な設計が要求されてくる際には、信号の振る舞いをVHDL のみで設計するのは効率的ではないという考えもあります。

そこで作業効率を向上させるために階層構造設計を用い、回路図入力による構造記述とVHDL による機能記述のバランスを考えて設計する必要性がでてきました。その一般的な設計手法をここに紹介します。


  • 一般的な回路設計
  • デザイン入力
  • 論理シミュレーション
  • 論理合成
  • 配置配線
  • タイミングシミュレーション
  • デバイスプログラミング

    一般的な回路設計


    プログラマブル・ロジック・デバイスの一般的な設計手順は図 1のようになっています。コンピュータに設計情報を入力する作業から始まり、ツールの活用によりデバイスに書き込みます。


    図1 設計手順

    PCI 評価基盤の設計を行う際に使用しているツールはPeak VHDL とMAX+plusII です。図 1には設計手順に合わせて使用するツールを紹介しています。


    デザイン入力


    デザイン入力する方法には以下の表1 のようなものがあります。いずれの手法が優れているのではなく、それぞれに長所と、短所があり実際の作業ではこれらを組み合わせて使いこなしていきます。HDL による記述は機能記述に優れており、機能的に信号を理解することに、優れています。また、回路図入力は構造を理解するのに適しており視覚的に回路を理解することができます。

    では、どの手法を用いたらいいかと言うと、大規模な設計では階層構造による設計が一般的です。階層構造とは、下位レベル、上位レベルの設計に分けて、設計していく事です。下位レベルには、機能的に優れているHDL による記述、最上位レベルには、構造的に優れている回路図入力を行うことが、いいです。


    表1 デザイン入力

    論理合成


    コンピュータに入力したデザイン(回路図やHDL)で定義された機能や構造を実現する回路をコンピュータが自動的に作成します。一般的には、EDIF と呼ばれる中間ファイルが出力されます。 Peak VHDL により、作成された機能記述は、Peak VHDL で論理合成を行い、MAX+2 でEDIF ファイルを使用します。

    この中間ファイルの中身はターゲット・デバイスのフィッタで読み込むことができます。そのため、論理合成の前にはターゲット・デバイスの指定が必要です。

    EDIF:Electro Design Interchange Format
    異なるツールでデータを交換する為に標準化された中間ファイルのフォーマット


    PCI 評価基盤ボードのデザイン入力と論理合成

    アリテックのテストプログラムを例にPCI 評価基盤のデザイン入力を紹介します。 まずは、全体の流れを図2 に示します。


    図2 デザイン入力

    階層設計による設計では機能記述でPEAK VHDL、構造記述でMAX+2 と異なるツールで設計しているため、2つのツールを 1つにして全体の回路として仕上げる必要があります。図2の例では、機能構造にSRAM コントロールをPEAK VHDL で記述し、サブモジュールとしてTOP の回路に組み込みます。そのTOP の回路には、MAX+2 にて記述された回路図を使います。

    ここにPEAK VHDL で記述したファイルをMAX+2 に取り組む方法を紹介します。

  • PEAK VHDL で記述し、compiler を実行し、論理合成
  • 作られたEDIF をMAX+2 で開き、File/Project/Set Project to Current File を選択
  • MAX+2 メニュー File/Create Default symbole を選択

    以上の手順によって、Symbole が作成されます。
    そのSymbole をTOP の回路に取り込んで配線します。これにより、TOP の回路は完成され、デザイン入力終了となります。

    配置配線

    デバイス・メーカーから供給されるデバイス・フィッター ツールを使用して、配置配線を行います。この場合もMAX+2 を使って配置配線を行うことができます。以下にその手順を示します。

  • MAX+2 にてデザイン入力で作成したTOP の回路を開き、File/Project/Set Project to Current File を選択します。
  • MAX+2 のCompiler を起動します。
  • メニューの Interfaces/EDIF Netlist Reader Setting を選択し、PEAK VHDL のVendorを指定します。PEAK VHDL の機能にSynopsys 社の演算ライブラリをサポートしているので、Synopsys を選択します。
  • メニューの Assign/Global Priject Logic Synthesis.. を選択し、Global Project Synthesis Style を WYSIWYG に設定します。
  • Compiler のStart ボタンをクリックします。

    タイミングシミュレーション

    MAX+2 のタイミングシミュレーションの機能を使って、完成した回路をFPGA に実装する前にシミュレーションすることができます。
    入力する信号を与え、シミュレーションを実行すると出力信号を表示させることができます。それを検証することにより、回路が思い通りに設計できたか、できないかを確認することができます。また、思い通りに設計されていない場合の対処を検討することができます。

    詳しくはこちら


    デバイス・プログラミング

    デバイス・プログラマを使って、デバイス・フィッタが出力した書き込みデータをデバイスに書き込む作業です。
    PCI 評価基盤のデバイスプログラミングはダウンロードケーブルとJTAG 機能を使います。ダウンロードケーブルは、PC のパラレルポートを使用するバイト・ブラスタを使用します。

    <バイト・ブラスタ に関する参考ページ>

  • ByteBlaster を作ろう
  • http://www3.tok2.com/home/digitalworks/factory/byteblaster/byteblaster.htm

    以下にデバイス・プログラミングの手順を紹介します。

  • MAX+2 のProgrammer を起動します。
  • メニューの JTAG/Multi-Device JTAG Chain をチェックします。
  • メニューの JTAG/Multi-Device JTAG Chain Setup .. をクリックし、Select Programming file.. により、使用するファイルを選択します。この場合は .sof ファイルを選択し、OK をクリックします。
  • Programming のConfigure ボタンをクリックします。


    (inari 01.6.26)
    参考文献: CQ出版者 トランジスタ技術 2001年 5月号
    コメント、アドバイスがある場合は以下のアドレスへどうぞ。
    inari@tube.ee.uec.ac.jp
    戻る