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)を選択
- 3.Embedded Processing→Processor→MicroBlaze MCSを選択しFinish。
- 4.New Sourceでトップモジュール(Verilogファイル)を新規作成
- 5.トップモジュールの編集
- 6.I/O Pin Planning(PlanAhead – Pre Synthsis)を実行してPlanAheadを起動する
- 7.入出力ポートにピンを割り当て、I/O Stdを設定し、保存してPlanAheadを閉じる
- 8.View→panels->TCL ConsoleをチェックしてTCL Consoleを出す
- 9.Tcl Consolにて下記のコマンドを実行する。
- 10.4で作成したソースをクリックしてGenerate Programming Fileを実行する
手順① MBMCSインスタンスの合成
1.ISE Project Managerでプロジェクトを作る
2.New Source→IP(CORE Generator & Architecture Wizard)を選択
3.Embedded Processing→Processor→MicroBlaze MCSを選択しFinish。
MCSの設定画面が出るので、MCSタブのInstance Hierachical Design Nameを後でインスタンス化するときの名前に変更するか、デフォルトのままにしておく(mcs_0になっているはず)。インスタンス化するときの名前は必ずこの名前を使用すること。
あと、適当にGPI,GPO等の設定を行い(最低限周波数の設定は行う)、Generate(完了するまで2分程度待たされる)。
4.New Sourceでトップモジュール(Verilogファイル)を新規作成
入出力は空欄のままでよい。
5.トップモジュールの編集
3で追加されたxcoファイルをクリックし、下に出てくるView HDL Instantiation Templateをクリックすると、MCSをインスタンス化するためのテンプレートが出力される。
4で作成したソースに コピペ。
インスタンス名を3で設定したInstance Hierachical Design Nameに変更する。
トップモジュールの入出力もこのとき追加する(テンプレートのコメント部分を流用すれば良い)。ソースを保存する。
6.I/O Pin Planning(PlanAhead – Pre Synthsis)を実行してPlanAheadを起動する
7.入出力ポートにピンを割り当て、I/O Stdを設定し、保存してPlanAheadを閉じる
8.View→panels->TCL ConsoleをチェックしてTCL Consoleを出す
9.Tcl Consolにて下記のコマンドを実行する。
cd プロジェクトフォルダ source ipcore_dir/microblaze_mcs_setup.tcl
最初のcdはすでにプロジェクトフォルダにいるなら必要ない。上記を実行すると「Found 1 MicroBlaze MCS core.」とコンソールに出るはず。これによってNGDBuildコマンドにコマンドラインオプションを追加され、ツールが適切なBMMファイルを使用できるようになる。
10.4で作成したソースをクリックしてGenerate Programming Fileを実行する
以上の手順に従えばプロジェクトのフォルダにbitファイルが生成されているはずです。しかしまだMBMCSで実行するためのソフトウエアが入っていないので、コンフィギュレーションしてもなにも起こりません。その2では、Xilinx SDKによるソフトウエアの開発及びbitファイルへのelfの組み込み方法について書きます。












