公開日:2023/08/05
title.png

26th Season


#26-8 まともなFPGAボードの回路設計

 「#15-1 FPGAボードを買ってみた」より、使い続けてきたFPGAボード(Sipeed Lichee Tang Primer)ですが、FPGAチップAnlogic EG4S20の開発ツールであるTD IDEのライセンスが定期的に切れます。本来、Anlogic社ないしは、FPGAボード販売元のSipeed社が、ライセンスの切れる前に新しい更新ライセンスを発行すべきです。
 ところが、そんな簡単なサポートですら、まともにできないのが中華企業なのです。こちらで再三報告している様に、ライセンスが切れる度に、こちらからサポートに連絡しないと、ライセンスが更新されません。
 こんな低水準な中華サポートを続けるAnlogic社にも、Sipeed社にも、長い未来があるとは思えないし、先行きも不安です。いつ、会社が無くなってサポートが打ち切られるのやら……。

 いい加減ウンザリしたので、まともな(非中華製)かつ、最新のXilinx Artix-7 FPGAボードに乗り換えるんだ〜、というテーマです。
 前回、FPGAボード(Cmod A7)に搭載されたFPGAチップXilinx Artix-7用のVivado開発環境をインストールしましたので、今回はVivadoの使い方に慣れて行きます。

Lチカしてみなきゃ、だわ

 Primerボードを購入した(「#15-1 FPGAボードを買ってみた」)時に作った、ハードウェアだけでLチカさせるRTL(blink.v)を使って、Cmod A7ボードでもオンボードのユーザLEDをチカチカさせてみることを最初のプロジェクトにしたいと思います。

 まずは、Cmod A7ボードの回路図を確認しておきましょう。

 PDFのドキュメントで参照できます。回路図から以下のことが判りました。Primerボードと比較して、修正すべき箇所も明確にしておきます。

 と、ことごとく違うのね……。TRUE/BARが異なるだけ、と言う簡単な相違点もありますが、同じ回路は使えないので、Primerボードのblink.vにVivadoの「v」をつけてblinkv.vと改名し、上の修正を盛り込みます。

 以下リンクより、必要ファイルがダウンロード可能です。

 それぞれダウンロードして、デスクトップなどアクセスし易い所に置いておいてください。続く記事で、すぐに使います。

新規プロジェクトを作る

 ここから、前回インストールしたXilinx Vivado開発ツールを使って、新規プロジェクトを作成して行きます。

a268_vivatop.png


a268_vivanew.png


a268_vivapnam.png


a268_vivatyp.png


a268_vivacma7.png


a268_vivasum.png

デザインソースを登録する

 以下図が、新規作成した空のプロジェクト🈳を開いた様子です。

a268_vivado.png

 いくつかサブウインドウが配置されています。

 プロジェクトは、まだ空の状態なので、Sourcesサブウインドウの「+」アイコンを押して、RTLなどのファイルを追加して行きましょう。

a268_prjsel.png


a268_prjadd.png


 すべて追加すると、Sourcesサブウインドウは以下図の様になります。

a268_prjsrc.png

 登録したファイルは、各々、ダブルクリックすると、Vivadoの内蔵テキストエディタで編集できるようになっています。

 RTLの動作内容等については、「#15-2 論理回路を設計する」にて解説済みですので、ご参照ください。

 なお、ここまでの操作で、もし、「やりたい事」のやり方が判らなかった場合は、Xilinxのコミュニティページなどで検索して見てください。さすが、老舗のFPGAメーカです。世界中にユーザがいますので、大抵の答えは見つかる事でしょう。
 しかも、日本語で答えが見つかることも少なくありません。この辺のサービスも万全です。イメージ的には、中華企業のサポートにありがちな「機械翻訳」ではない模様です。恐らく、日本語のできる(日本人の)スタッフが訳しているのでしょう。

※普通にインターネット検索しても、「https://xilinx.com/〜」や「https://japan.xilinx.com/〜」というページが見つかります。出所不明なサイトより、Xilinxのページを選んだ方が、信頼できるのでお勧めです。


 次回、シミュレーションと、実際にFPGAボードに書き込んで、動作確認をしたいと思います。Cmod A7ボード開発環境立ち上げ記事の最終回となります。


btn_arduino.png

btn_prev.png btn_next.png

home