FPGAのカスタマイズ

このページではCosmo-Zにオリジナルの回路を追加したり、ADCのビット幅や拡張基板の枚数を変更するための、FPGAカスタマイズ方法について説明します。

 

プロジェクトのダウンロード

特電のダウンロードサイトから、Vivadoのプロジェクトを取得します。

このアーカイブファイルを解凍したら、できるだけ短いフォルダ名の場所に移動してください。また、フォルダ名には漢字が含まれないようにしてください。

良いフォルダ名と悪いフォルダ名の例

 × D:\Users\内藤\Desktop\CosmozMini2FPGA-release (1)
 〇 D:\naitou\CosmozMini2FPGA\

 

Vivadoのダウンロード

推奨するVivadoのバージョンは2022.2もしくは2023.1です。AMD XILINXのWebサイトからVivadoをダウンロードしてインストールしてください。リビジョンはWebPackでもMLでも何でも構いません。

 

プロジェクトの復元

Cosmo-ZのVivadoプロジェクトフォルダのサイズは約1GByteになるので、フォルダを圧縮して配布するのではなく、プロジェクトのソースコード(VHDL、TCL、XCIなどの本当のソースレベル)に還元した状態で配布しています。そのため、上記のアーカイブの中にはxprやbdは入っておりません。

上記のアーカイブファイルを解凍すると、以下のようなフォルダが現れます。

 

 

SETTING.TXTをメモ帳などで開くと、

VIVADO_VERSION=2022.2

という記述があるので、ご利用されるVivadoのバージョンに合わせて書き換えます。

書き換えたらopen_project_gui.cmdを実行します。

 

MS DOSプロンプトの黒い画面が現れます。

 

黒い画面に白い文字が現れます。

 

Vivadoが起動します。

 

Vivadoがバックグラウンドでプロジェクトを作成するので、そのままにします。

 

ブロックデザインが開き、自動的にIPモジュールが置かれ、配線が接続されていきます。

 

すべての配線が終了すると、Vivadoの実行中状態が解除されます。

 

これでVivadoのプロジェクトが復元されました。フォルダの構成は以下のようになります。

途中でエラーが出たときなど、再度、プロジェクトを生成する場合はプロジェクトフォルダにあるvivadoとtempは削除してopen_project_gui.cmdを実行してください。

 

プロジェクトのビルド

プロジェクトをビルドするには、通常のVivadoの使い方のように、Generate Bitstreamを実行してもよいのですが、これだと\vivado\vivado.runs\vivado.impl_1\フォルダにbitファイルが作られてしまいます。

 

そこで、Cosmo-Zのプロジェクトでは、TCLコンソールにNahiRunと入力してビルドを実行することを強く推奨します

 

NahiRunはTCLのスクリプトで、

  • コメントからのパラメータ設定
  • IP CoreのUpgrade IP
  • Synthesis, Implementation , および Generate BitStreamの実行
  • Bitファイルをプロジェクトのフォルダのトップにコピー

を行います。

なお、最初の1回目のビルドはIPコアのGenerateを含むので長い時間がかかりますが、2回目以降は早くなります。

ビルドが完了すると、次の図のように、プロジェクトフォルダにcosmoz_main_wrapper.bitというファイルが出来上がります。

 

 

ADC数、ADCビット幅のカスタマイズ

Cosmo-ZはADCの数やビット幅など、さまざまなパラメータがあります。よくあるパラメータはBlockDesign内のすべてのIPを一括で変更できるように、コメントからパラメータ反映にできるようにしています。

具体的には、BlockDesign左上にあるこのコメントを書き換えることで、すべてのIPのパラメータが一括変更されます。

 

変更可能なパラメータは

  • MAX_ADCCH・・・8,16,24,32のいずれかを指定
  • ADC_BITS・・・12,14,16のいずれかを指定
  • FPGA_VERSION・・・任意の値を指定。/cosmoz.elf fpgavで読みだされる

です。パラメータを書き換えたら、NahiRunを行ったときに自動的に反映されますが、NahiConfigByCommentと入力しても手動で反映できます。

 

プロジェクトの保存

Block Designを変更した場合は、TCLコンソールに NahiSave と入力してください。変更点がTCLのファイルに保存され、vivadoフォルダを全削除しても戻せるようになります。

 

Boot.binの生成

boot.binはSDカードに書き込む起動ファイルですが、Cosmo-Zではboot.binを生成する必要はありません。SDカードの書き換えはリスクを伴うため通常のやり方は推奨しません。

推奨する方法は、FPGAの更新のページで示したように、Cosmo-ZのWeb経由でbitファイルを送って置き換える方法です。このやり方が最も安全です。

どうしてもローカルPC上でboot.binを生成した場合は、mkbootフォルダに移動して、mkboot.batを起動してください。バッチファイルが起動してboot.binを生成します。

 

このboot.binをSDカードに書くか、Web経由でCosmo-Zに送ってください。

以上の手順で、Cosmo-Zのソースを変更して再コンパイルし、新しいデザインで動かすことが可能になります。