之前介紹過一種遠程(無線)更新的方式,詳見《起飛!通過無線WIFI下載調(diào)試FPGA》,這種方式缺點有兩個:一是速度較慢;二是我們的設(shè)備中需要增加一個無線設(shè)備,增加成本的同時增加了暴露的風(fēng)險。這兩點即無法在調(diào)試的時候使用也沒辦法在實際設(shè)備中使用。今天我們再介紹另一種簡單方式。
下面是目前我們很多設(shè)備常用的硬件架構(gòu),這種架構(gòu)中,我們可以很方便使用嵌入式設(shè)備作為“橋梁”用來調(diào)試FPGA,其實這也是XVC方案的“變種”。
為了演示上面的方案,使用樹莓派+FPGA進行方案驗證。
Xilinx 的 Platform Cable USB II
Jtag Pi
我們知道正常的調(diào)試器/下載區(qū)的JTAG接口可以兼容很多芯片,所以首先需要制作一個擴展板進行IO口電平兼容設(shè)計,硬件如下:
將Jtag Pi 連接到 raspberry Pi 和在其上運行的軟件應(yīng)用程序,我們就有了一個便宜的遠程編程器。
如何使用
將 Jtag Pi 連接到 Raspberry Pi 之上后,我們需要將 Xilinx Virtual Cable for Raspberry Pi 應(yīng)用程序復(fù)制到板上。我通過 SSH 將它復(fù)制到我的主目錄中。然后只需進入該目錄并運行:
make
就會看到編譯輸出:
cc-std=gnu99-O3-c-oxvcpi.oxvcpi.c cc-oxvcpixvc
之后我們有一個編譯的應(yīng)用程序。運行它:
sudo./xvcpi
完畢!
現(xiàn)在我們可以試一試了。
測試
我們需要將 Jtag Pi 和 FPGA 連接。
引腳 Vcc 連接到 FPGA 板的 Vref。它用于對信號進行電壓轉(zhuǎn)換(電壓取決于電路板)。
首先我們運行 Xilinx Vivado。然后從主菜單中選擇Open Hardware Manager 。
在硬件管理器中,我們將看到硬件選項卡,我們可以在其中使用連接器圖標(biāo)打開目標(biāo)。
之后我們將連接到本地主機 hw_server。
現(xiàn)在右鍵單擊 localhost 并選擇Add Xilinx Virtual Cable (XVC)。現(xiàn)在在彈出窗口中輸入 Raspberry Pi IP(WiFi 或以太網(wǎng) - 取決于使用的網(wǎng)絡(luò))。
連接后將看到一些已識別的設(shè)備——在我們的例子中我們看到 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/
總結(jié)
樹莓派板載了wifi和1G 網(wǎng)口,所以可以使用無線或者有線進行調(diào)試。對應(yīng)于實際設(shè)備中,上面的代碼很容易移植到新的嵌入式設(shè)備,也無需浪費時間和精力在FPGA上做遠程更新的手段。
PS:Jtag Pi不是必須得,只要樹莓派的IO電平和FPGA電平標(biāo)準(zhǔn)兼容即可。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21754瀏覽量
604230 -
嵌入式
+關(guān)注
關(guān)注
5086文章
19143瀏覽量
306092 -
WIFI
+關(guān)注
關(guān)注
81文章
5300瀏覽量
204025 -
遠程調(diào)試
+關(guān)注
關(guān)注
0文章
39瀏覽量
8623 -
遠程更新
+關(guān)注
關(guān)注
0文章
8瀏覽量
7622
原文標(biāo)題:FPGA遠程更新/遠程調(diào)試的一種簡單方法
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論