FPGA素人老人がAMD(Xilinx)社Vivadoで気になったのが起動直後の画面、Quick Startの中の Open Example Project という項目です。これをクリクリやっていったら、忘却力の老人にも勉強になるようなプロジェクトが現れいでてくるのか? どうなんだろ~ということで闇雲に開いてみました。
※かえらざるMOS回路 投稿順 INDEX
※実習にはWindows11上の AMD社(Xilinx) Vivado 2023.2 を使用させていただいております。
※ターゲットボードは、Digilent製 Cmod S7ボードです。お求めやすい?Spartan-7搭載の超小型開発ボードです。
Open Example Project
Example Projectというのだから、何か例題的なプロジェクトが入っているのだろうと期待して開くと現れるのが以下のようなテンプレート選択画面です。実は、最初開いたときの画面は以下とは違ってました。Templatesというウインドウ内には特に階層構造なく、10件前後のExampleプロジェクトが並んでいました。しかし、上部の緑のラインに表示されている、最新のExampleを得るためにRefreshボタンを押せよ、というお勧めに、ついフラフラと画面下の黄色のマーカを引いたRefreshボタンを押してしまった結果が以下です。
Refreshしたらば、最新の(日時は上記でわかりますな)プロジェクトが階層構造にて現れました。上記で表示しているのはnonIPIというカテゴリ階層のBFTというExampleプロジェクトです。右にブロックダイアグラムが一部見えてますが、FIFOの出力にFFTかけているみたい。
目当てのプロジェクトが決まっているのならば、それを選択すればよいのでしょうが、まずはこの「最新版」のExamplesにどんなものが含まれているのか知りたいです。そこで無暗とプロジェクトを開きまくって「調査」してみた結果が以下に。
-
- Platformsカテゴリ、複数含まれているプロジェクトはいずれもZynq(Armコア登載のFPGA)前提のものでした。
- Soft Processorsカテゴリ、Xilinx社のMicroBlaseプロセッサを使ったプロジェクトが含まれてます。Artix-7、Kintex-7、Spartan-7、Virtex7がターゲットとなるFPGAみたいですが、どうもAMD(Xilinx)製の評価ボード向けみたいです。
- Zynqカテゴリ、その名のとおりZynq(Armコア登載FPGA)シリーズ向け
- nonIPIカテゴリ、4種のプロジェクトが含まれていましたが全てKintex-7シリーズをターゲットにしているみたいです。
手元のCmod-S7にそのまま適用できそうなプロジェクトは無しですわいな。まあSoft ProcessorsカテゴリのプロジェクトはSpartan-7も含まれているので、押したり引いたりして改造したら動くかもしれませぬ。しかし既に第46回から第48回の3回をつかって、Digilent社提供のサンプル・プロジェクトでMicroBlaseしてみてます。改造するなら、当方的にはそっちを出発点にする方が手っとりばやそうです。
なお、nonIPIカテゴリには4種のプロジェクトがありますが、そのうちの一つ
Wavegen(HDL)
というプロジェクトは、AMD(Xilinx)社の以下のチュートリアル(以下のURLは日本語ページ)
UG939 – Vivado Design Suite チュートリアル: IP を使用した設計 (UG939) (v2023.2)
で解説されているものだと思います。チュートリアル読みながらなら、規模縮小して「似たようなこと」をできるかな。分からんけど。
また、nonIPIカテゴリの中にCPUの名を冠すプロジェクトがあり、ちょっと興味を引いたので中身を覗いてみました。ハードウエア業界におけるソフトのGnu様的立ち位置?の
による、OpenRISC、OP1200コア利用のプロジェクトでした。MicroBlaseは無料で使えるといってもXilinx印のIPです。その点OpenRISCは、お惚け老人の理解ではGPL的な世界だと(ホントにそういうことでいいのか?)
でもな~、すでにAMD(Xilinx)社はMicroBlase-Vというお名前でRISC-Vのコアも使えるようにすると発表してます。現時点(2024年4月)ではアーリーアダプタ(要秘密保持契約)に対してIP提供されているみたい。一般公開も近いのでは。どうせプロセッサIPとして使うなら「皆が乗っているRISC-V」の方が良いような気がする(個人の感想です。)
CPU(Synthesized)
手元ボードでは動きそうにもないけれど、OpenRISC使用のExampleプロジェクトがVivado上でシミュレーションできたので動かしてみたところが以下です。
なんだかな、動いているみたいだけれども、クリクリしただけなので、内容はとんと分かりまへんがな。
Vivadoに内蔵されているAMD(Xilinx)社提供のIPを手元ボードで端から動かしたい、と思うのですが、結局自前プロジェクトで「コツコツ」やるしかないか?