« JTAG小冊子発送、2日目の分 | トップページ | JTAG小冊子発送3日目 »

2009.11.28

Spartan-6にMicroBlazeを実装してみた

特電Spartan-6評価ボードで、MicroBlazeを動かしてみたくなりました。

ハードウェア屋としてはキビキビと動くロジックがたまらなく好きなのですが、今日は軟弱なCプログラミングに身をゆだねてみたくなりました。

さて、Spartan-6とMicroBlazeで検索してみたところ、まだEDKはSpartan-6をサポートしていないようです。
検索しても「Spartan-6とMicroBlazeでやりたいんだけど・・」という外人の嘆きがいくつかみつかる程度で、結局のところできるのかできないのかはよくわかりません。
それに、SP601というXILINX純正のSpartan-6評価ボードのデモアプリでも、MicroBlazeを使わずにやっています。

それなら、自分でやってみましょう。まず、EDK11.3を用意します。

すると、いきなりBase System Builderの最初の画面でつまづきます。
Architectureの選択箇所でSpartan-6やVirtex-6がありません。

BSB does not support SP6

そのため、Architectureの選択の画面ではSpartan-3Eや3ANなど適当なやつを選んでおいて、とりあえずプロジェクトを作ります。

そして、XPS(Xilinx Platform Studio)の画面になったら、Project Optionのところで右クリックして、FPGAのデバイスをSpartan-6に変更します。これで、Spartan-6が選択できます。
Edk_sp6_1

プロジェクトのオプション設定画面では、Spartan-6がサポートされています。
Edk_sp6_3

これで、プロジェクトをSpartan-6にすることができます。

しかし、Spartan-3の場合のIPコアがこれだけ(↓)たくさんあるのに対して、
Edp_sp3_ip

Spartan-6のIPコアはこれだけ(↓)しかありません。
Edp_sp6_ip

GPIOとかもありません。そのため、MicroBlazeを使ったシステムを構成する際には、いったんSpartan-3で作ってから、最後にアーキテクチャをSpartan-6に変更するという荒業を使わなければなりません。
なにはともあれ、こうすることで論理合成は最後まで通ります。

このようにして、Spartan-6向けに、8bitのLED出力ポートと、1個のスイッチ入力ポートを入れたシステムを作りました。
Edk_sp6_4

論理合成の結果(重要なところのみ)を見ると、
 Number of occupied Slices 479 2,278 21%
 Number of RAMB16BWERs 4 32 12%
 Number of DSP48A1s 3 32 9%
となっていました。Sliceは21%消費し、メモリは4個消費します。DSP48ブロックも3個使われています。
MicroBlazeのサイズをマイクロとみるかビッグとみるかは人それぞれでしょう。

そして、XPSのApplicationタブの中の、目的のプロジェクトに、Mark Initialize BRAMのチェックをつけて、[Device Configuration]->[Update Bitstream]を行い、[Device Configuration]->[Download Bitstream]を行うと、作ったプログラムが動きます。

デバッガ(XMD)を起動すると、Spartan-6は「EARLY ACCESS」だと言って無数の警告を出してきますが、なんとか動作してくれてはいるようです。
Edk_sp6_2

InsightっぽいGUIのデバッグツールも、ちゃんと動いています。
(UARTを作っていないので、サンプルプログラムにあるprintとかいう関数をコメントアウトしてやらないと、とまってしまう)
Edk_sp6_5

こんな感じで、Spartan-3でプロジェクトを作ってからSpartan-6に移行するというやりかたで、Spartan-6に無理やりMicroBlazeを実装できることはできました。

EDK11.3ではまだSpartan-6は正式に対応されているわけではありませんので、ご注意ください。
この検証結果が皆様の何かのお役に立てば幸いです。


|

« JTAG小冊子発送、2日目の分 | トップページ | JTAG小冊子発送3日目 »

コメント

C は軟弱ですか、、、残念だなぁ、、、

投稿: りょうす | 2009.12.02 10:06

りょうすさんこんにちは

>C は軟弱ですか、、、残念だなぁ、、、
いえいえ、ただの戯言です。聞き逃してください。

詳しくは、ET2009で配ったチラシの裏を・・

投稿: なひたふ | 2009.12.03 11:58

コメントを書く



(ウェブ上には掲載しません)




« JTAG小冊子発送、2日目の分 | トップページ | JTAG小冊子発送3日目 »