« Prev | Next » Active-HDL 上での Xilinx MicroBlaze デザインのシミュレーション 概要 本アプリケーションノートでは、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を使用した ISE と XPS デザインのシミュレーション Active-HDLでのEDKシミュレーションライブラリのインストール Active-HDLを起動し、メニューの Tools | Execute macroを選択して、EDKライブラリが保存されたディレクトリへ移動します。include_EDK_libraries_as_global.tcl マクロを選択して、開くボタンをクリックします。このマクロを実行することにより、Xilinx EDK ライブラリ がActive-HDLのグローバルライブラリとしてマッピングされ、どのワークスペースやデザインからも参照可能となります。 Active-HDL をISEプロジェクトのデフォルトシミュレータとする設定 ISE メニューの Edit | Preferences にて、ISE General | Integrated Tools を選択します。 Model Tech Simulatorのブラウズボタンをクリックして、 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でのシミュレーションファイルの生成 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からのシミュレーションの実行 ISE Design | Hierarchy ウィンドウにて View を Simulationに切り替えます。 Design ウィンドウで、システムのトップレベルを選択すると、Processesウィンドウに Modelsim Simulator | Simulate Behavioral Model が確認できます。 Simulate Behavioral Model をマウス右ボタンで選択し、Runをクリックします。Active-HDLが立ち上がりシミュレーションが始まります。 注意: Active-HDL のプロジェクトが自動生成され、必要なファイルが追加されて、デザインのコンパイルが実行されます コンパイル処理実行中にエラーが通知された場合には、処理を中断するか終了するまで待ってから、次の変更を行ってください。 ISE プロジェクトディレクトリにある.do を開いて、microblaze_0_wrapper.vhd への参照を、上記で生成したmicroblaze_0_wrapper_netlist.vhd ファイルに置き換えてください。Verilogデザインも同様です。 .do マクロファイルに記述されている、すべてのvlog や vcom コマンドから ‘–novopt’スイッチを削除します。 .do マクロファイルに記述されている、vsim コマンドから ‘–novopt’ スイッチを削除します。 .fdo マクロファイルから、‘view signals’ コマンドをコメントアウトします。 .fdo ファイルなを、.do に変更して保存します。 注意: は、XPSプロジェクト名に基づいたファイル名を指します。は、ISEプロジェクトのトップレベルファイルに基づいたファイル名を指します。スクリプト(マクロ)ファイルの名前とは異なります。 上記修正後、Active-HDLのコンパイル処理を再実行します。Active-HDLのDesign Browser で *.do マクロをマウス右ボタンでクリックし、Executeを実行します。このマクロを複数回実行すると、下記のエラーメッセージが通知されることがあります。# Error: Cannot create mapping 上記メッセージは無視していただいて、問題ありません。 .do マクロの実行が成功すると、シミュレーションが始まり、波形の観測が可能になります。 Previous article Next article