CAD立ち上げからFPGAへのダウンロードまでの操作
目次
- スタート→プログラム→Altera→QuartusII7.2→QuartusII7.2
- 一応、デスクトップにショートカットを作ってあります
- File→New Project Wizard
- "New Project Wizard Introduction"
Nextを押す
- "New Project Wizard Directory, Name and Top-Level Entity 1/5"
作業ディレクトリ(1番エントリ)/プロジェクト名(2番エントリ)/トップレベルの回路名(3番エントリ)を指定
- トップレベルの回路名に対してのみ、ピン配置等ができます。
- "New Project Wizard Directory, Name and Top-Level Entity 2/5"
何も指定せずにNext
- "New Project Wizard Directory, Name and Top-Level Entity 3/5"
FamilyにCyclone, Available devicesにEP1C6Q240C8を指定
- "New Project Wizard Directory, Name and Top-Level Entity 4/5"
何も指定せずにNext
- "New Project Wizard Directory, Name and Top-Level Entity 5/5"
何も指定せずにFinish
プロジェクトを作ることによって何ができるかの詳細は、
オンライン資料: Quartus II開発ソフトウェアの
Quartus IIハンドブックのVolume 1, Chapter 2, "階層およびチームベース・デザインの
ためのQuartus IIインクリメンタル・コンパイル"に書かれています。
- File→New→Block Diagram/Schematic File
- 論理素子/回路ブロックを配置
- ANDゲートのアイコンで論理素子/回路ブロックを呼び出せます
- 基本的にPrimitivesの中の素子だけを使えは十分です。
というか、Primitivesの中の素子を使って、
順番に大きな構造を作っていくことを楽しんで下さい。
- 入出力ピンにはちゃんと名前をつけましょう。
また、バスをつなぐピンはちゃんと幅も指定しましょう
- 部品を配線でつなぐ
- 配線には1bit幅の配線と、任意のビット幅を指定するバスがあります。
- 必要に応じて、配線やバスには名前とつけましょう
- 離れた配線/バスに同じ名前をつけると、つながっているものとみなされます
- 図面上で配線がごちゃごちゃになるのを防ぐことができます
- あまり多用すると、図面を見てもどこがどこにつながっているか
分からなくなって、デバッグで苦労するので、効果的に使いましょう
- 名前/幅をつけることによって、バス内の配線の一部を引き出せます
- バスOUT[15..0]があるとして、そこ接続するバスにOUT[3..0]という名前を
つけたり、そこに接続する配線にOUT[3]とつけることで、
バスの一部を引き出せます
- 1回の配線につき、1回までしか曲げれません。
2回曲げるなら、2回に分けて配線しましょう。
- 名前をつけて保存する
- 回路におかしな点がないかチェックする
- Processing→Analyze Current File
- 回路ブロックとしてライブラリに登録する
- File→Create Update→Create Symbol Files for Current File
- 回路ブロックは、ライブラリの中のprojectフォルダから呼び出せます
- (初回のみ)Assignments→Device→Device & Pin Options→Configuration
→Use configration devicdeの項目のAutoをEPCS1に変更
- Processing→Start Compilation
- 正常終了しなかったら
Compilation Report→Analysis & Synthesis→Messagesで確認
- ライブラリから呼び出した論理ゲートや機能ブロックには
インスタンス番号がつけられており、Block Diagram Editor上の
論理ゲート等の左下にその番号が示されています。
コンパイル時のメッセージに"inst??"というのがあれば、
そのインスタンス番号の論理ゲート等の周りをチェックしましょう。
- トップのBlock Diagramのファイル名がプロジェクト作成時に
していたTop-Level Entityと同じでないと、コンパイルがうまくいきません。
この場合、FAQに書かれている方法で対処しましょう。
- レポートなどの考察に使えそうなCompilation Reoprt
- Fitter:
ロジック・エレメント等の使用率が分かります
- Timing AnalyzerのSummary:
最も長い入力→出力(レジスタ→レジスタ)の遅延が分かります
- Timing Analyzerのtpd:
個々の入力→出力(レジスタ→レジスタ)の遅延の一覧があります
- Compilation Report中のピンを選択して右クリック→Location→
ブロック・ダイアグラム・エディタ上でのピンの位置が、
最後の選択をRTL Viewerにすることで、コンパイル結果のRTL(Register Transfer Level)表現上でのピンの位置が図示されます。
- Compilation Reportで信号パスの番号を選択して右クリック→Location→RTL Viewerを
選択することによって、コンパイル結果のRTL表現上での当該信号パスが図示されます。
RTL Viewerの詳細は、
オンライン資料: Quartus II開発ソフトウェアの
Quartus IIハンドブックのVolume 1, Chapter 12, "Quartus IIネットリスト・ビューワによるデザインの解析"に書かれています。
- Asignments→PinsでAsginment Editorを立ち上げます
- <<new>>を押すと新たなピンの指定をできる
- ToにBlock Diagram上のピンの名前を指定します
- 一覧表から指定してもよいですし、直接、名前を打ち込んでもよいです
- LocationにFPGAのピンの名前(番号)を指定します
- 一覧表から指定してもよいですし、直接、名前を打ち込んでもよいです
- FPGAのどのピンがどこにつながっているかはMU200-EC6Sのマニュアルを見ること。
MU200-7SEGも使うのであれば、MU200-7SEGのマニュアルも見ること
- 問題例
- ピンの名前が出てこない
→もう一度コンパイルしてみて下さい
- 別のBlock Diagramのピン名が出る。
→1つのプロジェクトの中で複数のBlock Diagramに
ピンを割り当てようとしていないか?
1つのプロジェクトで1つのFPGAなので、
別のFPGAを作るなら、別のプロジェクトを立ち上げること。
アサインメント・エディタの詳細は、
オンライン資料: Quartus II開発ソフトウェアの
Quartus IIハンドブックのVolume 2, Chapter 2, "アサインメント・エディタ"に書かれています。
- File→New→Other FIles→Vector Waveform File
- Name右クリック→Insert Node or Bus
- "Insert Node or Bus"
- "Radix"で表示に使う進数(2進数、16進数、等)を決定
- Node Finderボタンを押す
- "Node Finder"
- >>ボタンを押して全てのピンをSeleted Nodesに移す
- OKボタンを押す
- Nodes Foundに目的のピンが見付からない場合
- FilterがPins: allになっているか?
b
- もう一度コンパイルし直しても見つからないか?
- "Insert Node or Bus"
OKボタンを押す
- Filterを別のものに変更することにより、
入出力ピン以外の場所(論理ゲート間の配線、等)を選択できます。
- 各入力ピンの信号レベルを定義する
- 入力ピンを選択し、右クリックする
- Valueの中から必要な定義を選択する
- テストにはClockとかRandom Valueとかが便利です
- 名前をつけて保存する
波形エディタや機能レベル・シミュレーションの詳細は、
オンライン資料: Quartus II開発ソフトウェアの
Quartus IIハンドブック(英語版)のVolume 3, Chapter 1, "Quartus II Simulator"に書かれています。
- Processing→Simulator Tool
- "Simulator Tool"
- Simulation modeをFunctionalにする
- Generate Functional Simulation Netlistボタンを押す
- 最初だけで問題ないです。
ただし、回路が変わった時には押し直す必要があります。
- Simulation Insertボタンを押してシミュレーションに使うWaveform Fileを指定
- Startボタンを押す
- Reportボタンを押す
- ボードの電源(電源ケーブル上のスライドスイッチ)が
offになっていることを確認する
- SW26がcycl(溝が左上から右下)になっていることを確認する
- cyclになっていなければ、教員を呼んで切り替えてもらって下さい。
- USBケーブルをPCと接続する
- USBケーブルを接続した時にドライバのインストールを要求された場合、
TAか教員を呼んでAdministratorパスワードを打ち込んでもらって下さい。
(なぜか、PCの電源を入れ直す度に、かなりの確率でドライバのインストールが必要となります。)
- ボードの電源をonにする
- Tools→Programmer
- Hardware Setupのボタンを押す
- Available hardware itemsにUSB-Blasterが出てくるので、
ダブルクリックで選択してClose
- ModeをJTAGにする
- Add Fileで書き込むファイル(.sofファイル)をリストに追加
- リスト上のProgram/Configureにチェック
- StartでFPGAへダウンロード開始
質問の宛先は
shimada@kuis.kyoto-u.ac.jp.
Last modified: 2008/4/11 23:30