之前介紹過一種遠程(無線)更新的方式,詳見《起飛!通過無線WIFI下載調(diào)試FPGA》,這種方式缺點有兩個:一是速度較慢;二是我們的設備中需要增加一個無線設備,增加成本的同時增加了暴露的風險。這兩點即無法在調(diào)試的時候使用也沒辦法在實際設備中使用。今天我們再介紹另一種簡單方式。
下面是目前我們很多設備常用的硬件架構,這種架構中,我們可以很方便使用嵌入式設備作為“橋梁”用來調(diào)試FPGA,其實這也是XVC方案的“變種”。

為了演示上面的方案,使用樹莓派+FPGA進行方案驗證。

Xilinx 的 Platform Cable USB II
Jtag Pi
我們知道正常的調(diào)試器/下載區(qū)的JTAG接口可以兼容很多芯片,所以首先需要制作一個擴展板進行IO口電平兼容設計,硬件如下:

將Jtag Pi 連接到 raspberry Pi 和在其上運行的軟件應用程序,我們就有了一個便宜的遠程編程器。
如何使用
將 Jtag Pi 連接到 Raspberry Pi 之上后,我們需要將 Xilinx Virtual Cable for Raspberry Pi 應用程序復制到板上。我通過 SSH 將它復制到我的主目錄中。然后只需進入該目錄并運行:
make
就會看到編譯輸出:
cc-std=gnu99-O3-c-oxvcpi.oxvcpi.c cc-oxvcpixvc
之后我們有一個編譯的應用程序。運行它:
sudo./xvcpi
完畢!
現(xiàn)在我們可以試一試了。
測試
我們需要將 Jtag Pi 和 FPGA 連接。

引腳 Vcc 連接到 FPGA 板的 Vref。它用于對信號進行電壓轉(zhuǎn)換(電壓取決于電路板)。
首先我們運行 Xilinx Vivado。然后從主菜單中選擇Open Hardware Manager 。

在硬件管理器中,我們將看到硬件選項卡,我們可以在其中使用連接器圖標打開目標。

之后我們將連接到本地主機 hw_server。

現(xiàn)在右鍵單擊 localhost 并選擇Add Xilinx Virtual Cable (XVC)?,F(xiàn)在在彈出窗口中輸入 Raspberry Pi IP(WiFi 或以太網(wǎng) - 取決于使用的網(wǎng)絡)。

連接后將看到一些已識別的設備——在我們的例子中我們看到 xc7z007s。

現(xiàn)在我們可以為 FPGA 選擇 bit 文件并對其進行遠程編程。

測試如下,對 FPGA 進行下載需要 5 秒(Zynq 7z007s 的比特流大小約為 17Mb)。如果比特流中有調(diào)試內(nèi)核,還可以讀取 XADC 值或ila進行調(diào)試。

項目地址
https://github.com/kholia/xvcpi
https://bitbucket.org/Mylium/xvcpi/src/master/
總結
樹莓派板載了wifi和1G 網(wǎng)口,所以可以使用無線或者有線進行調(diào)試。對應于實際設備中,上面的代碼很容易移植到新的嵌入式設備,也無需浪費時間和精力在FPGA上做遠程更新的手段。
PS:Jtag Pi不是必須得,只要樹莓派的IO電平和FPGA電平標準兼容即可。
-
FPGA
+關注
關注
1650文章
22218瀏覽量
628068 -
嵌入式
+關注
關注
5177文章
20006瀏覽量
325605 -
WIFI
+關注
關注
81文章
5440瀏覽量
211112 -
遠程調(diào)試
+關注
關注
0文章
58瀏覽量
8864 -
遠程更新
+關注
關注
0文章
8瀏覽量
7688
原文標題:FPGA遠程更新/遠程調(diào)試的一種簡單方法
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Xilinx FPGA遠程調(diào)試方法(一)
Xilinx FPGA遠程調(diào)試方法(二)
使用MAXI接口的最簡單方法是什么?
一種節(jié)省能源的簡單方法
如何去實現(xiàn)一種基于RT-Thread+RA6M4的遠程開機助手設計
一種寬范圍微弱直流信號測量的簡單方法
多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法
簡單介紹一種遠程傳輸監(jiān)控的數(shù)據(jù)采集方法
設計一種跳轉(zhuǎn)到Avalon總線的簡單方法
如何實現(xiàn)遠程FPGA的更新和重啟

FPGA遠程更新/遠程調(diào)試的一種簡單方法
評論