さて改めてVivadoに「バンドル」されているIPを練習していきたいと考えました。別途ライセンス契約(多分有料)必要なものは除いてリストしてみたのですが、278個もありました(手元にインストール済Vivado環境にて。)とても全部は練習しきれないので「代表的なところ」だけでも。でも代表的ってどれなのよ。
※かえらざるMOS回路 投稿順 INDEX
※実習にはWindows11上の AMD社(Xilinx) Vivado 2023.2 を使用させていただいております。
※ターゲットボードは、Digilent製 Cmod S7ボードです。お求めやすい?Spartan-7搭載の超小型開発ボードです。
ちょっと環境整備
「TCLを制するものはVivadoを制する、ホントか?」ということでチョイと環境整備しました。初期化スクリプトです。当方環境(Windows 11)では以下のパスが初期化用のファイルです。
ユーザーフォルダ/AppData/Roaming/Xilinx/Vivado/Vivado_init.tcl
Vivadoをインストールした時点では特に上記の初期化ファイルを準備してくれたりしないようなので、自主的にファイルを作製しておくことが必要です。
作製後、Vivadoを起動すると勝手に上記のTCLスクリプトを読み込んで「自分の環境をカスタマイズ」することができるようになります。
内蔵IPをリスト
「TCLを制するものはVivadoを制する、ホントか?」ということで、内蔵IPの一覧を作製するのもTCLコマンドで行うことができます。その方法は以下のページに書かれてました。
How to get the list of IP cores bundled with Vivado?
この方法でIPの一覧を作製することができるのですが、「プロジェクトを開いていない状態」では作成できませなんだ。テキトーな.xpr(プロジェクトファイル)を指定してTCLからオープンするか、直にGUIでプロジェクトをopenしておかねばなりませぬ。
open_project テキトーな.xpr
上記のページに書かれていたTCLスクリプトを実行してみたところの頭の部分が以下に。
$tcldirで示されるフォルダにスクリプト listIPs.tcl を置いたのですが、$tcldirを設定したのこそ、Vivado_init.tcl から呼び出したTCLスクリプトです。
コマケー話はさておき、上記のように列挙されてもなんだかな~です。各IPが何なのか説明も欲しいし、数が多いので、分かり易いカテゴリ分けも欲しいです。と思ったら、GUIに
IP Catalog
ってコマンドがあるじゃん。
IP Catalog
なんのことはないです。GUIからクリっとすれば、カテゴリ分けされたIPリストが現れるのでした。もちろんIPをクリックすればIPの説明も出力されます。IP Catalogを開いたところが以下に。
その中のBaseIPカテゴリのMultiply Adderを開いてみるとこんな感じ。
上記をみるとDSPスライスというものを使って積和演算器を構成してくれるみたいね。
次回からポロポロとIPを練習していくか。とりあえず「ベーシック」なIPどもからね。