FC2カウンター FPGAの部屋 The Simple MicroBlaze Microcontroller 12 (XPSでSMMをカスタマイズ)
FC2ブログ

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

FPGAの部屋

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

The Simple MicroBlaze Microcontroller 12 (XPSでSMMをカスタマイズ)

前回、SMMのRAM容量が足りないなそう?ということがわかったので、XPSでSMMをカスタマイズし、RAMを8KBから16KBへ倍増させてみることにした。(最初は12.3でやったのだがワーニングが出ていて良いかどうかわからなくなったので、12.1でやり直した)

1. 最初にSMMのフォルダのうちで、SMM_Srcにソースが入っているので、そのうちのS3 (Spartan-3A) フォルダの下のSMM_DBG_noUARTフォルダを適当なフォルダの下にコピーする。ここでは、SMM_S3_BRAM_16Kフォルダの下にコピーする。

2. StartメニューからISE12.3のXilinx Platform Studio(XPS)を立ち上げ、Xilinx Platform StudioのダイアログでOpen recset project を選択し、OKボタンをクリックする。
SMM_43_101217.png

3. Open Existing Projectダイアログで1.のSMM_DBG_noUARTフォルダの下のsmm.xmpを選択して、Openボタンをクリックする。
SMM_44_101217.png

4. プロジェクトを作ったバーションと違うので、プロジェクトを変換するというダイアログが出たので、OKボタンをクリックした。プロジェクトが変換するために、Version Management Wizard が立ち上げる。Next ->ボタンをクリックする。(結構先が長いのかな?やりながらブログを書いています)
SMM_45_101217.png

5. bram_blockがアップデートしたけどfully backward compatible だそうだ。(それなら自動的にアップデートしても良さそう。。。)
SMM_47_101217.png

6. 次はplb_v46。1.04.aから1.05aに変更になったようだ。これは、ピンとパラメターはbackward compatible だが、他の機能が変更されているそうなので、Updata?のチェックを外した。(選べるのも便利そうだ。。。)
SMM_48_101217.png

7. 次はnot backward compatibleで、manually upgrade とのことだ。どうしよう?
SMM_49_101217.png

8. Apply Changes to your Project で終了。不安が残るが、Finishをクリックする。(だめならばやり直す)
SMM_50_101217.png

9. XPSが立ち上げる。やはり、ところどころ黄色い!が付いている。
SMM_51_101217.png

10. dlmb_cntlrのlmb_bram_if_cntlrをダブルクリックして、ダイアログを表示させる。LMB BRAM High Addressを0x00001fffから0x00003fffに変更する。
SMM_52_101217.png

11. ilmb_cntlrのlmb_bram_if_cntlrもダブルクリックして、ダイアログを表示させる。LMB BRAM High Addressを0x00001fffから0x00003fffに変更する。

12. ProjectメニューからExport Hardware Design to SDK...を選択する。
SMM_53_101217.png

13. Export to SDK/Launch SDKダイアログが開く。Include bitstream and BMM fileにチェックを入れるかどうか迷ったが、チェックを入れないと、smm.xmlは生成されるが、smm.ngcとsmm.bmmは生成されないようだ。Export Onlyボタンをクリックする。
SMM_54_101217.png

14. そうするとエラーが出てしまう。ワーニングが出ているせいかな?といろいろやってみたのだが、おかしくなってしまった。ここで諦めて、バージョン12.1のXPSでやり直した。こっちは、すんなりXPSが開いてワーニングがない。
SMM_56_101217.png

15. 12.3同様にdlmb_cntlrとilmb_cntlrのLMB BRAM High Addressを0x00001fffから0x00003fffに変更して、12.と13.を行う。

16. するとやはり同じようなエラーが出てしまう。

--------------
Number of errors : 87
Number of warnings : 91
ERROR:Xflow - Program map returned error code 2. Aborting flow execution...
Done!


17. しかし、smm.ngc, smm.bmm, smm.xml は出来ているようなので、このまま使うことにする。多分、12.3でも出来ていたので、12.3でも大丈夫だと思う?

smm.ngc : SMM_S3_BRAM_16K\SMM_DBG_noUART\implementation\smm.ngc
smm.bmm : SMM_S3_BRAM_16K\SMM_DBG_noUART\implementation\smm_stub.ngc
smm.xml : SMM_S3_BRAM_16K\SMM_DBG_noUART\SDK\SDK_Export\hw\smm.xml


smm.bmmを開いてみてみたが、以前はBRAMのインスタンスが4個で8KBだったが、8個になっていたので、メモリは16KBになったと思う。
  1. 2010年12月18日 13:30 |
  2. SMM
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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