MAX+plusII の使い方(2001)


本研究室では、回路設計ツールとしてAltera社のMAX+plus2 を使用しています。VHDL で記述した回路をデバイスプログラミングを行うまでの行程に活躍しています。また、MAX+plus2 自身の回路図入力により回路を設計することもでき、我々の研究には欠かすことのできないツールであります。

ここに、そのMAX+plus2 を用いての設計を、どのコマンドを実行してどういう行程を経てデバイスプログラミングまで行うことができるかを紹介します。


他の論理合成ツールで設計した場合(Peak VHDL)

EAB を使ったメモリ

回路図入力による回路設計の場合

VHDL の設計と回路図入力を行い一つの設計回路とするとき => 一般的な回路設計


他の論理合成ツールで設計した場合(Peak VHDL)

  1. ファイル *.edf を開く
    他の論理合成ツールにより作成されたEDIF( *.edf )ファイルをMAX+plus2 で開きます。

  2. 使用するファイルの宣言
    MAX+plus2 の メニュー File/Project/Set Project to Current File を選択します。これにより、使用するプロジェクトファイルが、宣言されます。

  3. デバイスの選択
    File/Assign/Device を選択します。開かれたウィンドウでデバイスファミリの指定、デバイスの指定をします。もし、デバイスの指定が、一覧になかったらShow Only Fastest Speed Grades のチェックをはずすします。デバイスの指定をしたら、Device Options... を選択して、表示されているDevice Options のチェックをすべてはずします。

  4. 配置配線の実行
    MAX+plus2 のCompiler を起動します。Start をクリックすると配置配線が行われます。

    各フェーズ内の機能を簡単に紹介します。
    (1) 設計データより結線情報を抽出し、結線エラー情報を抽出します。
    (2) 階層設計のデータを平面的に展開し、エラーをチェックします。
    (3) デバイスの構造に合わせて最適化します。
    (4) 設計データをデバイスに配置します。
    (5) 最適化した、データをデバイスの指定したピンに配置します。
    (6) シミュレーションに使用するデータ(*.snf)を作成します。
    (7) デバイスプログラミング用のデータを作成します。

  5. デバイスプログラミング
    JTAG コマンドでのプログラミング
    1. MAX+plus2 のProgrammer を起動します。
    2. JTAG/Multi-device JTAG Chain を選択しJTAG/Multi-device JTAG Chain にチェックします。
    3. JTAG/Multi-device JTAG Chain Setup... を選択します。
    4. Select Programming File をクリックし、[Select Programming File] ダイアログボックスを開きます。
    5. FPGA 内のSRAM にアクセスする場合は*.sof を選択し、[OK] をクリックし、[Select Programming File] ダイアログボックスを閉じます。
    6. Multi-device JTAG Chain Setup ダイアログボックスの[Add] をクリックすると、リストボックスに表示されます。

回路図入力による回路設計の場合

  1. 回路の書き方
    1. MAX+plus2 を起動し、File/New を選択し、Graphic Editor Flile を選択。
    2. 回路を配置したい位置でダブルクリックすると [Enter Symbol] ダイアログボックスが開きます。
    3. AND や OR といった基本的な回路は[Enter Symbol] ダイアログボックスでc:\max+2\maxlib\prim をダブルクリックすると表示されます。そこで使用するAND やOR 回路、フリップフロップ、input 、outputを選択することができます。
    4. 各々必要な回路を配置して配線します。

  2. シンボルの使用
    シンボルとは作成した回路を信号の入出力関係を示したブロック図のことです。これを使うと異なるGraphic Editor File に取り込むことができます。また、回路記述のスペースを省略することができ、メインのGraphic Editor File で取り込んで回路を設計するのに便利です。

    <シンボルの作り方>

    1. 設計したい 回路を作成します。
    2. 完成した回路を保存し、File/Project/Set Project to Current File を選択します。
    3. File/Create Default Symbol を選択するとシンボルが作成されます。Start ボタンはクリックしないでください。

  3. メインの回路
    各機能に応じた回路シンボルを作成し、メインの回路として新たにGraphic Editor File を作り、各シンボルを配置配線することで作成します。そこで、メイン回路の信号の入出力関係を指定し、使用するFPGA に合わせたピン番号を設定します。

    <ピン配置>

    1. デバイスの選択はFile/Assign/Device を選択します。開かれたウィンドウでデバイスファミリの指定、デバイスの指定をします。もし、デバイスの指定が、一覧になかったらShow Only Fastest Speed Grades のチェックをはずすします。
    2. ピンの指定は、メインの回路の入力信号、出力信号を選択し、右クリックします。そこで、Assign -> Pin/Location/Chip を選択します。
    3. Pin/Location/Chip ダイアログボックスが開きますから、そこでピン配置を設定します。

  4. タイミングシミュレーションの実行
    完成した回路を元に望んでいる動作を満たしているか、シミュレーションすることができます。入力信号を与えることができその出力信号を見ることにより作成した回路がシステムの設計通りに動いているかをチェックすることができます。

    <タイミングシミュレーションを行うには>

    1. 完成したメインの回路を開きます。File/Project/Set Project to Current File を選択します。
    2. MAX+plus2 のCompiler を起動します。
    3. Processing/Functional SNF Extractor を選択します。
    4. Compiler のスタートボタンをクリックします。そこでシミュレーションで使用する*.snf というファイルが作られます。
    5. シミュレーションファイル(*.scf)を、作ります。
    6. MAX+2 File/New を選択し、Waveform Edit file を選択します。
    7. Node/Enter Nodes from SNF を選択します。そうすると[Enter Nodes from SNF] ダイアログボックスが開きます。
    8. [Enter Nodes from SNF] ダイアログボックスのList を選択するとメイン回路に使われている信号が表示されます。
    9. 必要な信号を選択し、[Enter Nodes from SNF] ダイアログボックス の" =>" をクリックすると、Select Nodes & Groups にシミュレーションで取り込む信号が表示されます。信号の選択が済んだらok をクリックすると[Enter Nodes from SNF] ダイアログボックス が閉じられます。
    10. 入力信号を与えます。信号を選択し、MAX+plus2 の左側にある信号入力ボタンを選択して信号を入力信号を決めます。
    11. 入力信号を与えたら開かれている*.scf を保存します。
    12. MAX+plus2 のSimulator を起動します。START ボタンをクリックするとシミュレーションが行われ*.scf に出力信号が表示されます。

  5. 配置配線の実行

  6. デバイスプログラミング
    1. JTAG コマンドでのプログラミング

    2. *.ttf を使ったデバイスプログラミング
      本研究室ではJTAG コマンドを使用しないでデバイスプログラミングを行う基盤が 2つあります。1つはFlexcq 基盤であり、もう1つは松尾基盤です。このデバイスプログラミング方法に触れておきます。

      *.ttf を使ったデバイスプログラミング方法

      1. MS-DOS プロンプトを立ち上げます。
      2. デバイスプログラムを行う *.ttf が存在するフォルダに入ります。
      3. そこで、Flexcqボードの場合は c:\***>flexcq *.ttf 、松尾基盤の時は c:\***>flex10k *.ttf を入力するとデバイスプログラミングが実行されます。

(inari 01.10.5)
コメント、アドバイスがある場合は以下のアドレスへどうぞ。
inari@tube.ee.uec.ac.jp
戻る