Skip to content

Latest commit

 

History

History
48 lines (29 loc) · 2.1 KB

File metadata and controls

48 lines (29 loc) · 2.1 KB

Xilinx Virtual Cable Server for ESP32

概要

Xilinx製FPGAへの書き込みを行うためのプロトコル (XVC : Xilinx Virtual Cable) のESP32向け実装です。

Derek Mulcahy氏の Raspberry Pi向け実装(https://github.com/derekmulcahy/xvcpi) をESP32向けに移植しています。

ESP32を対象FPGAのJTAGピン (TDI, TDO, TMS, TCK) に接続することにより、WiFi経由でXilinx製のツール (Vivadoなど) からFPGAのJTAGポートにアクセスすることができます。

M5Atom

写真の例では、M5Stack製のESP32モジュール M5Atom Lite とZynq XC7Z010を接続しています。

この状態で、VivadoのHardware Managerから Add Virtual Cable でVirtual Cableとして追加して接続すると、通常のJTAGアダプタと同様にILAの波形観測などを行えます。

ILA

使い方

xvc-esp32.ino を使いたいESP32ボード向けにArduino IDEでビルドして書き込むだけです。

その際、現状のスケッチではWiFiの接続先をコードに埋め込んでいますので、適宜修正してください。

static const char* MY_SSID = "ssid";
static const char* MY_PASSPHRASE = "wifi_passphrase";

また、現状は M5Atom用のピン定義になっていますので、使いたいESP32ボード向けにピン定義を変更してください。

/* GPIO numbers for each signal. Negative values are invalid */
/* Note that currently only supports GPIOs below 32 to improve performance */
static constexpr const int tms_gpio = 22;
static constexpr const int tck_gpio = 19;
static constexpr const int tdo_gpio = 21;
static constexpr const int tdi_gpio = 25;

コメントにあるように、現状は高速化のためにGPIO0~31までのみ使用可能です。

ライセンス

大本の AVNET による実装が CC0 1.0 だったので、Derek Mulcahy氏の Raspberry Pi向け実装も CC0 1.0となっています。

従って、本実装も (日本国内でのCC0の有効性はともかく) CC0 1.0 ということにします。