本アプリケーションノートでは、Active-HDLを使って Xilinx MicroBlaze デザインをシミュレーションする方法を説明します。
本アプリケーションノートでは、Xilinx ISE や EDK で実行するソフトウェアと同様に組み込みシステムのハードウェア部分を開発し、Xilinx Platform Studio で組み込みデザインを作成し、ISEプロジェクトと統合していると仮定します。ISEにおける完全なチップレベルのプロジェクトは、XPS ベースではないブロックも含んでいるため、完全なISEデザインを
Active-HDLでシミュレーションする方法についても説明します。
ユーザシステムのシミュレーションを実行するには、組み込みデザインのシミュレーションモデルを生成する必要があります。
シミュレーションモデルの生成は次の手順で行います。
組み込みデザインのシミュレーションモデルを生成する前に、Active-HDL用のEDK シミュレーションライブラリを入手してください。
http://www.aldec.com/jp/downloads をクリックしてライブラリパッケージを入手します。
メールアドレスとパスワードを使ってサポートポータルにサイン・インします。未登録の場合には、同じページの登録ボタンをクリックして登録処理をしてください。
アイン・インしたら、Active-HDL | バージョン (例 9.2) | windows32 | XILINX LIBRARIES を選択します。
EDK ライブラリのバージョンが、ISEバージョンおよびActive-HDLのバージョンと一致していることを確認してください。
必要なライブラリのバージョンがない場合には、下記にてサポートケースを作成して、お使いのActive-HDLのバージョンを明記してリクエストしてください。
http://www.aldec.com/support/index.php
EDK ライブラリパッケージをダウンロードしたら、ダブルクリックしてください。自動解凍が始まり、デフォルトでは C ドライブの直下のディレクトリに展開・保存されます。
例 C:/EDK144_ActiveHDL92
次に、Active-HDL を使用して、組み込みシステムデザインのビヘイビアレベルのシミュレーションを実行します。
Active-HDLを起動し、メニューの Tools | Execute macroを選択して、EDKライブラリが保存されたディレクトリへ移動します。include_EDK_libraries_as_global.tcl マクロを選択して、開くボタンをクリックします。このマクロを実行することにより、Xilinx EDK ライブラリ がActive-HDLのグローバルライブラリとしてマッピングされ、どのワークスペースやデザインからも参照可能となります。
ISE メニューの Edit | Preferences にて、ISE General | Integrated Tools を選択します。
Active-HDLインストールディレクトリ/BIN/xilinx_ise.bat を指定します。
ISEメニューの Project | Design Properties を選択します。
Top-Lecel Source Type をHDL、Simulator に ‘Modelsim-SE’ Mixed を指定します。
次にシミュレータ関連の設定をします。
ISE Designタブにて、Simulation ボタンが選択されていることを確認します。Processesタブにて Simulate Behavioral Model をマウス右ボタンでクリックし、コンテキストメニューから Process Properties を選択します。
6. Simulation Properties ウィンドウにて、CategoryのSimulation Properties を選択し、Other VSIM Command Line Optionsに、、+access +r と
入力します。 これにより Active-HDLの波形ウィンドウにてデザインの全信号が観測可能になります。
7. Compiled Library Directory に、概要の 7 で保存されたEDKライブラリへのパスを指定します。
ISE Design タブにて Implementation ボタンに切り替え、Synthesize-XST処理を実行して論理合成を行います。MicroBlazeのようなブロックは、Active-HDLでは
ネットリストでのみシミュレーションが実行できるため、ビヘイビアシミュレーションにおいてもこの処理が必要となります。
注意: MicroBlazeモジュールのシミュレーションをネットリストで実行しても、観測性やシミュレーション速度に及ぼす影響はありません。
論理合成が終了すると、デザインディレクトリにいくつかの .ngc ファイルが生成されます。
続いてMicroBlaze ブロック用に、このネットリストからHDL シミュレーションモデルを生成します。
Windows のスタートメニューから、Xilinx ISE Design Suite | Accessories | ISE Design Suite Command Prompt を実行します。
MicroBlazeの ngc ネトリストファイル (例 microblaze_0_wrapper.ngc) が生成されたプロジェクトディレクトリへ、cd コマンドを使って移動します。
次のどちらかのコマンドを入力して、プロセッサコア用のシミュレーションファイルを、VerilogまたはVHDLフォーマットで生成します。
Verilogの場合:
> netgen –intstyle ise –w –ofmt verilog –sim microblaze_0_wrapper.ngc microblaze_0_wrapper_netlist.v
VHDLの場合:
> netgen –intstyle ise –ar structure –w –ofmt vhdl –sim microblaze_0_wrapper.ngc microblaze_0_wrapper_netlist.vhd
ISE Design | Hierarchy ウィンドウにて View を Simulationに切り替えます。
Design ウィンドウで、システムのトップレベルを選択すると、Processesウィンドウに Modelsim Simulator | Simulate Behavioral Model が確認できます。
Simulate Behavioral Model をマウス右ボタンで選択し、Runをクリックします。Active-HDLが立ち上がりシミュレーションが始まります。
注意: Active-HDL のプロジェクトが自動生成され、必要なファイルが追加されて、デザインのコンパイルが実行されます
コンパイル処理実行中にエラーが通知された場合には、処理を中断するか終了するまで待ってから、次の変更を行ってください。
ISE プロジェクトディレクトリにある
注意:
スクリプト(マクロ)ファイルの名前とは異なります。
上記修正後、Active-HDLのコンパイル処理を再実行します。Active-HDLのDesign Browser で *.do マクロをマウス右ボタンでクリックし、Executeを実行します。このマクロを複数回実行すると、下記のエラーメッセージが通知されることがあります。
# Error: Cannot create mapping
上記メッセージは無視していただいて、問題ありません。
.do マクロの実行が成功すると、シミュレーションが始まり、波形の観測が可能になります。