MicroBoard(以下このボード)が¥8kくらいで売られています。今は売り切れみたいですが...。このボードは8kと安価ながら、なかなか充実した構成です。(書き込み・デバッグ用)拡張ポートはPModというのがついていますが、FPGAのコンフィグ次第で何にでもなるはずなので、ピン数さえ足りればいいでしょう。ボードが小さいので、この汎用ポートは他の名刺大以上のボードと比べると犠牲になっています。このスペックだと3万円くらいしてもおかしくないです。パッケージにはボード搭載チップなどの広告も入っているので、おそらくプロモーション用としての位置づけで、殆ど原価+αで出していると思います。昔、Spartan3のボードを100ドルくらいで買ったときもそうでした。アマチュアとしてはこれはお買い得です。USB-JTAG変換がついているので別途プログラマを買わなくても、このボードだけで開発が進められます。(ただし純正品に比較して遅いとのこと。)CPU+αでちょっと作りたいものがあって、適当なCPUボードを探しているときに、このボードを見つけました。事前にネットを探すと、FPGA内蔵CPUは難しいらしく、初心者には無理と言い切っているところもあります。私はFPGA初心者なので、ちょっと引きますがダメもとでも安い(ここが重要)のでポチっといきました。料理法を考えるちょっと作りたいものにはネット接続が欲しいので、IPスタックをどうするかということになります。今回はスタックまで自作したくないので、何らかのOSをもってくることになります。microblaze(FPGAに載せるソフトCPU)でuClinuxが動くということなので、OSはuClinuxにします。いう構成がほぼFixしました。いうシステム構成を考えるのは楽しいことです。環境構築(FPGA開発)パッケージ付属のISE(開発ツール)は古いので、どうせなら最新版にします。xilinxから落としてきます。私はISE(アイエスイー)が読みにくいので(イセ)と言っています。母音の重なりは読みにくいです。一式落とすと5GBくらいあります。tarなので、windowsだとちょっと戸惑うかもしれません。ISEのほかに、いろいろ入れるものがあります。digilentやらavnetやらから落としてきてiseのフォルダにコピーしてやります。いちいちメモっていないのですが、次のようなものを入れています。Guide)に沿って進めます。adept・digilent_plugin・avnetのボード定義ファイル(これを入れると、proj新設のときターゲットにこのボードが出てきて便利)1つ嵌まるところ、digilent_pluginを選択するところですが、プルダウンに出ない場合は手で入力してください。開発PCはCPUが速くてメモリも十分あるものを使ってください。このスペックでも合成に7,8分はかかります。後述のlinux開発環境をあわせると、結構なディスクスペースを用意しておく必要があります。練習からFPGA/CPLDはもう何年も使っていません。ツールが全く変わっていることが予想されるので、ここはチュートリアルからはじめました。Avnetのサイトに、EDKチュートリアルがあるので、それを一式こなします。これをこなすと、FPGAへの組み込みシステム(CPU他)、カスタムIPの追加等の手順がだいたいわかります。ツールの使い方もわかってきます。言うと、EDKが何なのか理解していませんでした。EDKは本来別に買わなければならないのですが、1ヶ月試用版でしのぎます。1ヶ月経ったらまた試用ライセンスを作って更新します。ここらへんは、ちゃんと業務で使うなら購入してください。販売してほしいと思います。練習の結果、microblazeでLEDやSWをいじるところまではできました。前述、FPGA内蔵CPUは難しい...とのことですが、ここまではさほど難しさはありません。ツールに助けられているんだとは思います。気をよくして、Linuxを載せることを考え始めます。SDKはクロス環境を含んでいるので、linuxを考えなければこれだけでソフト開発までこなせてしまいます。linuxで探ると、petalinuxに行き着くと思います。提供されていたらしいのですが、今は商業ソフトになっていて入手できません。注意深く探すと昔のものがダウンロードできますが、当時とEDKのバージョンが違うのでそのままでは動きません。ここで2つの方法、petalinuxの古いものを現状のEDKで動くよう修正するか、petalinuxを捨てて別の方法をとるか、という選択になります。linuxリソースを提供しているようなのですが、mmu前提とのことなので、このボードでは規模オーバーで論理合成できませんでした。「朱雀」の環境をそのまま使わせてもらうことにしました。クロス環境が入っているので、クロス環境をいちいち作らなくてもすみます。「朱雀」のものを使わせてもらうことにします。このボードと殆ど同じです。ものを使わせてもらいます。その辺は大目に見てもらいましょう。techonoさんに感謝して使ってください。関係ない質問などしないこと。Linuxビルドボードごとのフォルダをソースツリー内に用意します。基本手順はlinux-2.4.x/Documentation/microblaze/AddingPlatforms.txtにあります。コピーしたフォルダ内をFPGAへ作りつけたハードの環境(アドレスほか)をlinux側とあわせて編集します。それだけでは足りない部分があるので、ちょこちょこ修正していきます。カーネル、ユーザランドを作ります。ユーザランド込みのイメージが出来ます。これをボードへ転送するわけです。接続され、コンソールが使えるところまで確認できます。デバッガxmdもターゲットと接続されます。FPGAのbitデータの転送をあらかじめやっておくのを忘れないように。してcpuを止めます。