ドキュメント一覧

vivado-container-suite

AMD Vivado の開発環境をコンテナに閉じ込め、合成、配置配線、シミュレーション、JTAG 書き込み、GUI を一貫して vvd CLI から実行するためのツールキットです。

最短で試す

git clone https://github.com/sabas0ba/vivado-container-suite.git
export PATH="$PWD/vivado-container-suite/bin:$PATH"
cd vivado-container-suite
vvd build
vvd -C examples/blinky doctor
vvd -C examples/blinky sim

実際の Vivado を使用するには、ホスト上のインストール先とライセンスを設定します。詳細は 01 はじめに を参照してください。

設計上の境界

対象 方針
Vivado 本体 既定ではホストのインストール先を read-only mount する。必要な場合のみ installer から image へ組み込む
ライセンス image には含めず、実行時に環境変数または read-only mount で渡す
依存 container image、apt package、開発ツール、GitHub Actions を digest または commit SHA で固定する
JTAG 既定ではホストまたは remote の hw_server へ TCP 接続する。USB mode でも対象 device のみを渡す
CI Vivado が無い runner でも、CLI、container、権限降格、共有 library、headless display を検証する

ドキュメント

章 内容
01 はじめに 導入、最初のシミュレーションと bitstream
02 設定 vvd.conf の全 key と優先順位
03 イメージ構築 mount mode / image mode、vvd build
04 ライセンス 4 種類の注入方式と選択基準
05 フロー 合成、実装、bitstream、シミュレーション
06 GUI と Tcl X11 / XWayland / Xvfb / VNC、Tcl console と script
07 JTAG host / usb / remote、udev rule
08 CI 可用性 test と GitHub Actions
09 ピン留め SHA pinning の対象と更新手順
10 トラブルシューティング 症状別の原因と対処

全体像

ホスト                                     コンテナ
─────────────────────────────────────────  ─────────────────────────────
プロジェクト                     ──rw──▶   /work
$VVD_XILINX_ROOT (Vivado)        ──ro──▶   /opt/Xilinx        ※mount mode
$VVD_CACHE_DIR                   ──rw──▶   /home/vivado       ($HOME)
<suite>/tcl                      ──ro──▶   /opt/vvd/tcl
<suite>/container                ──ro──▶   /opt/vvd/lib
ライセンスファイル               ──ro──▶   /opt/vvd/license   ※file/dir 方式
X socket                         ──ro──▶   /tmp/.X11-unix     ※x11 方式
JTAG device node                ──dev──▶  /dev/bus/usb/...   ※usb 方式

XILINXD_LICENSE_FILE、DISPLAY、VVD_* は環境変数として注入

vvd は host 側で設定と path を検証してから container を起動します。実行される container command は vvd --dry-run <command> または vvd info --cmd で事前に確認できます。