8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

激安 FPGA 開発ボード "Wukong" の導入 (Xilinx Artix-7 XC7A100T)

Last updated at Posted at 2021-01-29

激安の FPGA 開発基板、悟空(Wukong)ボードで、サンプルプロジェクトを動かしてみます。

Wukong 基板の購入先

Aliexpress に QMTECH 社のオフィシャルストアがあります。
https://ja.aliexpress.com/item/4000170042795.html
Wukong_store.jpg

購入価格は、送料込で 1.4万円ほどでした。
QMTECH社は、他にもいくつか Artix-7 開発基板を販売していますが、
GTP(高速シリアル※)が使えるのは Wukong だけですので、これにしときましょう。

※PCIe や SDI が実験できます。Vivado 用の IP やドライバが無償提供(!)されています。
 秋月で販売されている Artix-7 基板は、全て GTP が外に出ていません。

QMTECH 社 Wukong ボード概要

基板外形 10cm x 10cm
1.jpg

付属 AC アダプタ(5V 2A)
2.jpg

主要デバイス

Xilinx Artix-7 XC7A100T-2FGG676I
256MB DDR3(MT41K128M16JT-125)
QSPI フラッシュ(MT25QL128A)
Giga-bit Ether(RTL8211EG)
50MHz クロック発振器
125MHz GTP 用 LVDS クロック発振器
USB-UART(CP2102)
HDMI 出力端子、LAN 端子、ほか外部端子

動作環境(用意するもの)

Wukong 基板 (1.4万円)
Xilinx Vivado2018.3 (無償)
Xilinx USB ダウンロードケーブル Platform Cable USB II (DLC10、互換品可 0.5~3万円)
QMTECH 社 サンプルプロジェクト (無償)
HDMIモニタ (ありもの流用)
開発用PC: Win10 Pro(64bit)、Corei5-4690、SSD 512GB、RAM 16GB(※) (ありもの流用)

※8GB あれば実用にはなるかと思いますが、16GB 以上がお勧め

開発環境とサンプルプロジェクトのダウンロード

Xilinx Vivado Design Suite - HLx Editions の旧版(2018.3)
Vivado Design Suite - HLx Editions - 2018.3 Full Product Installation
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/archive.html
WebPack ライセンスを取得して使用します。

Vivado Design Suite - HLx Editions Update 1 - 2018.3 はデバイス追加の差分ですので、XC7A100ではインストールしなくてよいです。

QMTECH 社のサイト
http://www.chinaqmtech.com/download_fpga

Wukong のサポートファイル一式
・回路図(pdf)
・マニュアル3種(pdf)
・Vivado サンプルプロジェクト5種(Vivado2018.3 用)
http://www.chinaqmtech.com/filedownload/34697

ダウンロードケーブルの接続

USB 接続したダウンロードケーブルの JTAG ワイヤを Wukong 基板に接続して、Wukong 基板の電源を入れておきます。
6.jpg
5.jpg

サンプルプロジェクトのコンパイル

サンプルプロジェクトの中から、Test06_HDMI_OUT.zip を解凍しておきます。
解凍先はデスクトップでOK。

Vivado 2018.3 を起動します。(Vivado HLS 2018.3 ではないです)
7.jpg

Quick Start の Open Project > を選んで、解凍したフォルダにある Test06_HDMI_OUT.xpr を開きます。
8.jpg
9.jpg

なんか syntax error とか出てますが、気にしない。
10.png

左ペインの Run Synthesis を左クリックします。
出てくるダイアログは、全部 yes または ok で良いです。

進行中の状況は、ウィンドウ右上に出てきます。
実行中はくるくる回ってます。
11.png

Synthesis successfully completed.
のダイアログが出たら、そのまま Run Implementation で OK を押します。
12.png
次の Launch Runs もそのまま OK でいいです。

Implementation Successfully Completed.
のダイアログが出たら、Generate Bitstream を選んで OK を押します。
13.png
次の Launch Runs もそのまま OK でいいです。

Bitstream Generation Completed.
のダイアログが出たら、Open Hardware Manager を選んで OK を押します。
14.png

FPGA へのダウンロード

Hardware Manager で、Open target - Auto connect を選びます。
15.png

ダウンロードケーブルと、その先に接続した FPGA(xc7a100t_0) が認識されました。
※FPGA が認識されない場合、ダウンロードケーブル - Wukong 間の接続を確認してください。

XADC は、FPGA に内蔵された温度計です。
16.png

XADC をダブルクリックして OK で進めると、デバイスの内部温度がグラフ表示されます。
17.png

左ペインの Program Device をクリックして、xc7a100t_0 を選びます。
18.png
ダウンロードするファイルの指定になりますので、先ほどのコンパイルで生成された top.bit を選択します。場所は下記。
C:/Users/(user)/Desktop/Test06_HDMI_OUT/Test06_HDMI_OUT/Test06_HDMI_OUT.runs/impl_1/top.bit
19.png

Program を押すと、bit ファイルが FPGA にダウンロードされます。
20.png

ダウンロードが完了すると、HDMI 出力にカラーバー信号が出てきます。
3.jpg

信号内容的には HDMI ではなく、1080/60p の DVI 信号で出力されています。
4.jpg

無事、サンプルの FPGA が動作しました。

ここで、Wukong 基板の電源を落とすと、FPGA にダウンロードしたコンフィグレーションデータは消えてしまいます。
電源を入れても、再度 Vivado からダウンロードしないと、FPGA は動きません。

基板にはコンフィグレーションデータ格納用の SPI フラッシュが搭載されています。
ここにデータを書き込んでおけば、電源投入時に自動的に FPGA にダウンロードされ、動作を開始できます。

SPI フラッシュ用のコンフィグデータの作成と書き込み

まず基板上の SPI フラッシュを Vivado に認識させます。
左ペインの Add Configuration Device - xc7a100t_0 を選びます。
23.png

Add Configuration Memory Device のダイアログでは、

Manufacturer: Micron
Density (Mb): 128
Type: spi

にすると、mt25ql128-spi-x1_x2_x4 が現れるので選択してOKします。
24.png
Do you want to program the configuration memory device now?
と聞かれますが、Cancel しておきます。

次に、書き込み用のファイルを作成します。
メニューバーの Tools から Generate Configuration File を選択します。
21.png

Write Memory Configuration File のダイアログが出るので、

Format: MCS
Memory Part: mt25ql128-spi-x1_x2_x4
Filename: HDMI_OUT
Interface: SPIx4
Load bitstream files にチェック
Start address: 00000000
Direction: up
Bitfile: C:/Users/(user)/Desktop/Test06_HDMI_OUT/Test06_HDMI_OUT/Test06_HDMI_OUT.runs/impl_1/top.bit
でOKします。 ![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/955220/cdac61c4-c5cb-2b1a-9e67-7f1f4d84580b.png) ![27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/955220/990aa33d-d2ba-8661-916b-7b24d8c43ea4.png)

C:/Users/(user)/AppData/Roaming/Xilinx/Vivado/HDMI_OUT.mcs
に、メモリ書き込み用の .mcs ファイルが生成されます。

Hardware の mt25ql128-spi-x1_x2_x4 を右クリックして、Program Configuration Memory Device を選択します。
28.png

Program Configuration Memory Device のダイアログが出るので、Erase と Program と Verify にチェックを入れて、OKします。
25.png

書き込みが開始されると、HDMI 出力はオフになります。
26.png
しばらく待つと、SPI フラッシュへの書き込みが終わります。
29.png

SPI フラッシュに書き込んだだけでは、FPGA へのダウンロードは行われないので、HDMI 出力はオフのままです。

SPI フラッシュから FPGA へのダウンロード

SW1 が、PROG_B に接続されていて、FPGA の再コンフィグボタンになっています。
(マイコンで言うところの、リセットボタン)
27.jpg

SW1 を押すと、FPGA がリセットされて、再コンフィグ(SPI フラッシュから FPGA へのダウンロード)が走ります。
SPI フラッシュから Quad モードでダウンロードされるため、1 秒未満で完了します。

ダウンロード直後、HDMI 端子から、カラーバーが出力されます。
SW1 を押すたびに、SPI フラッシュから読み込んで再起動します。

また、Wukong 基板の電源をオフにしてから、再度オンにすると、自動的に SPI フラッシュから起動するので、HDMI 出力からカラーバーが出てきます。

DC 入力ジャックの隣の D1 が、コンフィグ完了を示す LED になっています。
SW1 を押している間は D1 がオフになり、HDMI 出力は出なくなります。
SW1 を離すとすぐにコンフィグが走り、D1 が点灯して、HDMI 出力に信号が現れます。
28.jpg

以上、サンプルプロジェクトの動作説明を終わります。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?