FPGA開発環境は初めてとあって、いろいろ躓きながら実験しています。
以下、メモ代わりに。仕様ソフトは Quartus Prime 15.1 Lite Edition, update 1です。
テストベンチの自動生成
自動生成機能を使うことで、テストベンチを自分で考える手間を大幅に減らすことができます。生成機能を使うためには以下のように条件を整えておく必要があります。
- テストしたいエンティティをトップ・レベルとしてプロジェクトを作る
諸々考えあわせると、「エンティティごとにテスト・プロジェクトを作る」ことになりそうです。プロジェクトを用意したら、エンティティを入力し、Start Compile & Analysys を実行します。ここではAnalysisの名前の通り解析をしています。
問題なく終了したら、Start Test Bench Writer を実行します。解析結果に基づいてファイルを作っているようです。
これでテスト・ベンチのテンプレートが生成されます。生成されるのはプロジェクトのサブディレクトリsimulation/modelsim/の中です。ファイル名の拡張子はvhtであり、これはvhdlのソースの拡張子であるvhdとは異なりますので注意が必要です。具体的にはopen ダイアログを開いたときに、*.vht は名前が出てきませんので落ち着いて拡張子のフィルタをall などに変更してください。
テスト・ベンチの中身は下図のようなテンプレートです。面倒な設定をおおよそやってくれているので、後は穴埋め的にテスト信号を埋め込んでいきます。
さて、modelSimの設定の続きです。AssignmentからSetupを実行してください。
Setup ダイアログが現れます。
-
Simulationを選ぶ
-
Tool nameは ModelSim-Altera
-
Format for output netlistは VHDL
-
Compile test bench を選ぶ。
-
Test Bench… ボタンをクリック
-
ダイアログが現れるので New… ボタンをクリック
-
先ほどTemplate Writerが作ったファイルを開く。
これでシミュレーションの準備が整いました。Tools → Run Simulation → RTL Simulation でModelSimが起動します。
Ubuntuのインストール先
以下余談。
前のエントリに書いたようにQuartus Prime Lite EditionはUbuntu 14.04 LTS 64bit版にインストールしました。
このインストール先PCは、いつも私がやっている通りVMware上の仮想PCにインストールしています。ただ、いつもと一つ違うのは、思うところあって外部USBメモリにしているところです。
使っているのは死蔵していた64GBのMSATA SSDで、これをUSBアダプタ付ケースに入れています。USBメモリに入れましたので、自由に持ち運びができます。また、仮想ディスクではなく、物理ディスクとしてVMwareで管理しているため、このメモリから起動することもできます。
速度ですが、比較用に作成したSSHD上の16GB 仮想ディスクと同等以上の速度に感じました。これはいつも別用途に使っているExtreme USBメモリの使用感とよく合った結果です。64GB のExtreme USBメモリならそれほど違和感なく実行できるでしょう。
なお、Quartus Primeは相当に重いソフトで、外付けUSBディスクだろうがSSHD上の仮想ディスクだろうが、それなりに起動時間はかかりました。