Verilogでシミュレーションを作成する場合、さまざまなシミュレーション環境を選択できます。 FPGA開発環境には、Xilinx会社のISE(現在は更新が停止しました)、VIVADO、Intel会社のQuartus II、ASIC開発環境にはSynopsys会社のVCSが含まれ、多くの人がIcarusVerilogおよびGTKwaveメソッドを使用しています。
ISEまたはQuartus IIには独自のシミュレーターがありますが、まだ機能が不足しています。次にはQuartus II + Modelsim組み合わせシミュレーションのテスト方法を説明します。実行環境は64bit-win10システムです。
目次
Quartus IIのインストール
次にはQuartusの10.1バージョンを説明します。
現在、Quartus IIの公式Webサイトには、13.1バージョン以降のインストールパッケージしかありません。機能は同じのため、13.1以降のバージョンをご安心にダウンロードしてください。ダウンロードリンクは次の通りです。
https://fpgasoftware.intel.com/13.1/?edition=subscription&platform=windows
13.1バージョン以降の quartus IIをダウンロードする場合、公式Webサイトではバージョンが対応するModelsimも推奨されます。一緒にダウンロードすればいいです。
インストールを開始し、インストールパスを変更して、デフォルト設定に従ってください。
次の図は、正常にインストールされたスクリーンショットです。
次の図に示すように、 License fileが必要であるというメッセージが表示された場合は、ソフトウェアを購入する時のlicenseファイルを指定する必要があります。
licenseファイルがHost-IDを置き換える必要がある場合は、次の図が示すように、licenseファイルのHOSTIDをNICオプションの任意のIDに置き換えるだけでいいです。
Quartus II 10.1をインストールした後、Deviceもインストールする必要があります。つまり、さまざまなプログラマブルロジックデバイス(PLD)をサポートするライブラリファイルをインストールする必要があります。そうしなければ、Quartus IIはプロジェクトを正常に作成できません。
インストールパスに対しては、Quartus IIのインストールパスを選択する必要があります。DeviceのインストールはQuartusIIを自動的に識別できます。
最新のQuartus II(2016バージョンなど)は、すでに一連のインストールをサポートしています。
Modelsimのインストール
Modelsimをインストールする場合には、modelsim-win64-10.1c-seバージョンを選択します。
また、インストールパスを変更するだけで、デフォルト設定に従って操作すればいいです。
インストールが完了すると、コンピュータを再起動するように求められる場合、再起動すればいいです。
Quartus IIプロジェクトを作成する
プロジェクトを作成する
File->New project Wizard
作業パス、プロジェクト名、top module名を設定します。
パスと名前を設定する時、日本語を含めることはできませんのでご注意ください。
デバイスの型番を選択する
ただ簡単なシミュレーションを実行し、ダウンロードや書き込みなどは行わないため、特定の信号を気にする必要がなく、ランダムに1つを選択するだけでいいです。
次には、[Finish]が表示するまで[Next]をクリックし続けます。
Verilogソースファイルを新規作成する
次には、幅が4ビットの10進カウンタに簡単なシミュレーションを行います。
順番にクリックしてください:File->New->Verilog HDL File->OK
順番にクリックしてください:File->Save As
module 名をcounter10.vとして入力します。
top module名はproject名と同じである必要があることを注意してください。名前が同じではない場合、エラーが表示されます。(図のように表示します)
Verilogコードをファイルcounter10.vにコピーし、ワンクリックでコンパイルを実行します(実際には、コンパイル、合成、配置などが含まれます)。
エラーが表示された場合は、[Error log]をクリックしてエラーを見つけ、エラーがなくなるまで訂正します。
Quartus IIはModelsimシミュレーションを呼び出す
シミュレーションはModelsim-alteraに設定します。
順番にクリックしてください:Tool->Options->EDA Tool Options
ModelsimのアドレスパスをModelsimのスタートアッププログラムのパスに変更します。
エミュレーターを選択する
順番にクリックしてください:Assignments -> Simulation
図が示すように、Tool nameにはModelSimを選択し、Format、Time scaleなどを設定します。
testbenchファイルを書き込む
順番にクリックしてください:Processing->start->Start TestBench Template Writer
設定が正しければ、プロジェクトパスsimulation/modelsimの下に.vtファイルが生成されます。
.vtファイルのテンプレートには、ポート部分のコード、インターフェイス変数の宣言、インスタンス化ステートメントなどが提供しているため、テストベンチの適切な場所にテストコードを入力すればいいです。
次の図が示すように、クロックを記述してドライブコードをリセットするだけでいいです。
プロジェクトにtestbenchを追加する
順番にクリックしてください:Assignments -> Settings -> Simulation
Compile test benchオプションで、[new]を選択し、Test bench nameを設定し、 File nameを検索して、生成した.vtファイルをプロジェクトに追加します。
testbenchファイルの名前は、testbenchの top module名と一致している必要があることを注意してください。一致していないと、後でModelsimを起動する時エラーが表示され、通常のシミュレーションを実行できません。
ワンクリックで再コンパイルする
[Tasks]タブのコンパイルのステータスが疑問符に変わっている場合には、ワンクリックでコンパイルを再度実行する必要があります。
Modelsimシミュレーションを呼び出す
順番にクリックしてください:Tools->Run simulation Tool->RTL Simulation
この場合には、Modelsimソフトウェアが自動的に起動します。
Modelsimの操作は詳しく説明しません。
シミュレーション図から、設計が10進カウンタの基本機能を完了していることがわかります。
まとめ
Quartus II + Modelsimの協調シミュレーション機能は強力であり、インストールも簡単です。このプロセスは数年後に繰り返され、少し面倒であることがわかり、完了するのに著者が一晩かかりました。多くの詳細も上記に説明しているため、注意してください。将来、大規模なデジタルモジュールをシミュレートするきっかけがあれば、この方法の有効性がわかります。
他の記事では、いくつかの簡単なシミュレーションが他のソフトウェアを使用する可能性があり、スクリーンショットはModelsimと不一致の可能性がありますが、読者はシミュレーションの結果を疑う必要はないことを注意してください。
デザインモジュールとtestbenchのソースコードも提供されるので、自分でシミュレーションして検証できます。
コメントを残す