帰らざるMOS回路(61) Xilinx Vivado、内蔵IPのリスト

Joseph Halfmoon

さて改めて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スクリプトを実行してみたところの頭の部分が以下に。listIPsTCL

$tcldirで示されるフォルダにスクリプト listIPs.tcl を置いたのですが、$tcldirを設定したのこそ、Vivado_init.tcl から呼び出したTCLスクリプトです。

コマケー話はさておき、上記のように列挙されてもなんだかな~です。各IPが何なのか説明も欲しいし、数が多いので、分かり易いカテゴリ分けも欲しいです。と思ったら、GUIに

IP Catalog

ってコマンドがあるじゃん。

IP Catalog

なんのことはないです。GUIからクリっとすれば、カテゴリ分けされたIPリストが現れるのでした。もちろんIPをクリックすればIPの説明も出力されます。IP Catalogを開いたところが以下に。IPCatalog

その中のBaseIPカテゴリのMultiply Adderを開いてみるとこんな感じ。MultiplyAdder

上記をみるとDSPスライスというものを使って積和演算器を構成してくれるみたいね。

ちなみに前回使用したバイナリカウンタの説明はこんな感じ。BinaryCounter

次回からポロポロとIPを練習していくか。とりあえず「ベーシック」なIPどもからね。

帰らざるMOS回路(60) Xilinx Vivado、続クロッキングとバイナリカウンタ へ戻る

帰らざるMOS回路(62) Xilinx Vivado、RAM-Based Shift R へ進む