帰らざるMOS回路(43) Digilent CMOD S7導入。AMD(Xilinx)だ。

Joseph Halfmoon

トライしていた「中華」FPGAから、本流の米国FPGAに転進。中華FPGAが手元のPC上で開発できないのが辛かった。毎度古いマシンを叩き起こして作業する心理的障壁に負けました。もっとも米国製といっても「お求めやすい」FPGAボードを物色。結局、いつもお世話になっているDigilent社製品を導入。CMOD S7とな。

※かえらざるMOS回路 投稿順 INDEX

Digilnt CMOD S7、FPGAボード

FPGA開発ボードというと数百万円するような高額なボードもありますが、CMOD S7は、超小型でお手ごろ価格なFPGAボードです(円高で以前に比べると値上がりしている気がしないでもないです。)AMD(Xilinxですぞ)製のお求めやすい小型FPGAチップSpartan7シリーズを搭載してます。製品ページが以下に。

Cmod S7

末端のコネクタを除くと48ピンDIPサイズ(途中中抜きなのでピン数的には36ピン)とて、ブレッドボードに刺して使用可能なボードであります。パッケージから取り出したところが以下に。CMOD_S7

開発ツールはVivado ML Edition

開発にはXilinx(年寄はAMDというのにいまだになれませんな)VivadoのML Editionの「無償版」を使わせていただきます。流石というか当然、XilinxツールはWindows11にインストールするのに何の問題もありませぬ。

Xilinx社ツールに加えて、Digilent社からDigilent社製ボード用のボードファイルや制約ファイルなどが配布されているので、Digilent社の以下のサイトの手順に従ってソフトウエアのインストールをいたしました。AMDへのユーザー登録は必須。

Installing Vivado, Vitis, and Digilent Board Files

大昔、Vivadoの前のISEというツールのときにやはり無償版を自分のPCに入れて使っていたことがあったです。それが、その当時でも数Gバイトのダウンロードサイズがあり、インストールにはとっても時間が掛かった記憶。今回は無くても済みそうなものはバッサリやってサイズを小さくしたつもりですが、ダウンロードサイズで14Gバイト以上。インストールサイズはその数倍。でもま、世の中進歩していて40分強くらいでインストールが終わりました。よかった。

早速サンプルプロジェクトをやってみる

いくつかGetting Startedの入り方も用意されているようなのですが、今回は以下のDigilent社のページにそって練習してみました。

Getting Started with Vivado for Hardware-Only Designs

上記ページにそって淡々と手を動かせばよい感じではあるのですが、1か所引っかかりました。というのも上記ページは数あるDigilent社のFPGAボードに共通な書き方になっており、各ボード毎に提供されている制約ファイルなどは自分で「よく考えてね」というスタンスみたいです。最初やったところが見事に失敗。こんな感じ。BitStreamCreationFailed

エラーの中身(一部)はこのような。ERRORs

どうもねえ、制約ファイルの書き方が良くないみたい。よく見たらシンセシス時点で重大な警告が出てんじゃん。でも、修正はDigilent社提供の制約ファイルの「コメントアウト」を外すだけで良かったんじゃないの。。。constraint

原因は、LED出力のピン、一端子しか使ってないのだけれどコメントアウトの#を消しただけでは led[0] という記述(後3本あるため)になっていてこれがまずかったみたい。[0]を消して、再度ビットストリームを作製してみたらOKっと。こんな感じ。BitStreamCreationSuccess

なお、使用したVerilogソースは以下です。24ビットカウンタでクロックを分周するだけ。blinkly

ビットストリームファイルをCMOD S7に書き込んだところ、以下のようにLチカしてますぞ。FPGAruns

中央上部に4個ならんでいるLEDのうち、一番左の一個だけがゆるやかに点滅。なお、購入直後にはもっと華やかに全部のLEDが点灯しまくるビットストリームが書き込まれているみたいです。上記のようなシンミリしたLチカではないです。次回からは、本流、XilinxツールでVerilogの練習できるね。ちゃんとやれよ、自分。

帰らざるMOS回路(42) 前回FPGA回路を微調整 へ戻る

帰らざるMOS回路(44) Digilent CMOD S7導入、Vivadoのシミュレータ へ進む