FC2カウンター FPGAの部屋 MicroBlaze MCSをテストする2-2(PlanAhead13.4仕切り直し編)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

MicroBlaze MCSをテストする2-2(PlanAhead13.4仕切り直し編)

MicroBlaze MCSをテストする2(PlanAhead13.4編)”の続きでもあるが、代わりでもある。正確には、”MicroBlaze MCSをテストする1(IPコアの生成、Project Navigator編)”の続きか?

LogiCORE IP MicroBlaze Micro Controller System (v1.0)を参考にする。
8ページのFigure5: Generic Tool Flow を下に引用する。
MB_MCS_35_120125.png
Figure5によると論理合成をしてから、スクリプトでBMMファイルの処理をして、インプリメントを行う。並列してSDKでソフトウェアを作って、それをスクリプトで、ハードウェア(BlockRAM)に初期化データとしてインポートする必要がある。

Create Merged BMM:2つ以上のMicroBlaze MCSコアがあるなどの理由でBMMファイルが複数ある場合は、BMMファイルをマージして1つにする必要があるようだ。 microblaze_mcs_setup.tclというtclスクリプトを実行して、microblaze_mcs_merged.bmmを生成する。tclスクリプトを実行しないでもテキストエディタで自分で編集しても良いそうだ。
Updata Tool to Use BMM:このステップは、ツールにどのBMMファイルを使用するかを指示する。tclスクリプトmicroblaze_mcs_setup.tclを実行する。プロジェクトのプロパティは、NGDBuildのコマンドにコマンドラインオプションを追加することによって、適切なBMMファイルを使用できるようになる。


MicroBlaze MCSをテストする2(PlanAhead13.4編)”の最後のインプリメント済みの状態からスタートする。

1.一旦、MicroBlaze MCSを再生成した。

2.PlanAheadのTcl Consoleで以下のコマンドを実行した。

cd H:
cd /HDL/FndtnISEWork/Spartan6/Atlys/test/MB_MCS_PlanAhead_led_test2
source MB_MCS_PlanAhead_led_test2.srcs/sources_1/ip/microblaze_mcs_v1_0_0/microblaze_mcs_setup.tcl


MB_MCS_36_120126.png
・下のTCL Consoleをクリックして、ピンクの四角のコマンド入力領域にコマンドを入力する。

3.左のImplement ボタンをクリックして、インプリメントを実行した。

4.エラー発生。
MB_MCS_37_120126.png

LogiCORE IP MicroBlaze Micro Controller System (v1.0)に”NgdBuild:989 - Failed to process BMM information”の場合の対処方法が書いてあった。
“Path to core instance”パラメータと実際のインスタンス名かパスが違っているか? “Memory Size"パラメータが実際とBMMファイルで違っているそうだ。
このMicroBlaze MCSは他のプロジェクトの物をプロジェクトフォルダごとコピーしたので、消去して、新規で生成することにした。

5.MicroBlaze MCSコンフィグレーション・ダイアログに“Path to core instance”があった。Verilogファイルのインタンス名をmcs_0にすれば良いんだ。。。

microblaze_mcs_v1_0_0 mcs_0 (
 .Clk(clk), // input Clk
 .Reset(reset), // input Reset
 .PIT1_Interrupt(PIT1_Interrupt), // output PIT1_Interrupt
 .PIT1_Toggle(PIT1_Toggle), // output PIT1_Toggle
 .GPO1(LED_out), // output [7 : 0] GPO1
 .INTC_IRQ(INTC_IRQ) // output INTC_IRQ
);


6.これでOKだった。ビットファイルまで生成できた。
MB_MCS_39_120126.png

  1. 2012年01月26日 05:53 |
  2. MicroBlaze MCS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/2047-aea2eccc
この記事にトラックバックする(FC2ブログユーザー)