EDX-007でMicroblaze MCSを動かしてみる その1

January 01, 2016

EDX-007で無償のソフトプロセッサMicroblaze Micro Controller System(以下MBMCS)を動かせるかどうかやってみたところ、成功しましたので、手順だけ残しておきます。

開発ツールはISE Webpack 14.7を使用しています。

まず最初に、MBMCSインスタンスを実装したbitファイルを作成します。

手順①  MBMCSインスタンスの合成

1.ISE Project Managerでプロジェクトを作る

無題

 

2.New Source→IP(CORE Generator & Architecture Wizard)を選択

無題2
無題3

 

3.Embedded Processing→Processor→MicroBlaze MCSを選択しFinish。

無題4

 

MCSの設定画面が出るので、MCSタブのInstance Hierachical Design Nameを後でインスタンス化するときの名前に変更するか、デフォルトのままにしておく(mcs_0になっているはず)。インスタンス化するときの名前は必ずこの名前を使用すること。

 

無題5

 

あと、適当にGPI,GPO等の設定を行い(最低限周波数の設定は行う)、Generate(完了するまで2分程度待たされる)。

4.New Sourceでトップモジュール(Verilogファイル)を新規作成

入出力は空欄のままでよい。

無題6

 

5.トップモジュールの編集

3で追加されたxcoファイルをクリックし、下に出てくるView HDL Instantiation Templateをクリックすると、MCSをインスタンス化するためのテンプレートが出力される。

無題62

 

4で作成したソースに コピペ。

インスタンス名を3で設定したInstance Hierachical Design Nameに変更する

トップモジュールの入出力もこのとき追加する(テンプレートのコメント部分を流用すれば良い)。ソースを保存する。

無題7

 

6.I/O Pin Planning(PlanAhead – Pre Synthsis)を実行してPlanAheadを起動する

無題8

 

7.入出力ポートにピンを割り当て、I/O Stdを設定し、保存してPlanAheadを閉じる

無題92

 

8.View→panels->TCL ConsoleをチェックしてTCL Consoleを出す

無題10

 

9.Tcl Consolにて下記のコマンドを実行する。

cd プロジェクトフォルダ
source ipcore_dir/microblaze_mcs_setup.tcl

最初のcdはすでにプロジェクトフォルダにいるなら必要ない。上記を実行すると「Found 1 MicroBlaze MCS core.」とコンソールに出るはず。これによってNGDBuildコマンドにコマンドラインオプションを追加され、ツールが適切なBMMファイルを使用できるようになる。

無題11

 

10.4で作成したソースをクリックしてGenerate Programming Fileを実行する

 

以上の手順に従えばプロジェクトのフォルダにbitファイルが生成されているはずです。しかしまだMBMCSで実行するためのソフトウエアが入っていないので、コンフィギュレーションしてもなにも起こりません。その2では、Xilinx SDKによるソフトウエアの開発及びbitファイルへのelfの組み込み方法について書きます。