對(duì)于FPGA工程師除了日常的調(diào)試工作以外,批量生產(chǎn)時(shí)候指導(dǎo)生成人員下載我們生成的固化文件也是我們的工作,所以今天講一講FPGA單獨(dú)下載<固化文件>的幾種方式。
批量生產(chǎn)-先下載后焊接
批量生產(chǎn)產(chǎn)品沒什么好選擇的,都是將文件直接固化到FLASH中,然后在貼片時(shí)候再焊接,這樣是最簡單“暴力”的解決方案,這里就過多贅述了。
小批量生產(chǎn)(10套以內(nèi))-手動(dòng)下載
小批量生產(chǎn)時(shí)候,基本不會(huì)有外場(chǎng)人員參與,本身程序也不一定是最優(yōu)的,這個(gè)時(shí)候那就沒得選擇,手動(dòng)下載固化,手動(dòng)調(diào)試吧。
中大型批量生產(chǎn)-借助下載軟件下載
這種情況是比較常見的,處于批量生產(chǎn)前的試生產(chǎn)階段,可以選擇先下載后焊接,但是這個(gè)階段如果發(fā)現(xiàn)BUG,修改完畢后就要協(xié)調(diào)生成人員進(jìn)行下載,今天的核心內(nèi)容就是這部分內(nèi)容,下面介紹幾種方式(以AMD-XILINX為例):
借助官方離線下載器+Xilinx JTAG下載
各家的EDA工具基本都是N多工具的集合體,其中下載軟件基本都有單獨(dú)的版本,Xilinx FPGA也提供了這樣的工具,叫做 Vivado Lab Edition即實(shí)驗(yàn)室版本,下載位置在下面界面:
https://www.xilinx.com/support/download.html
先選擇要下載的版本:
Vivado Archive是2021.1前的版本。
我們這里選擇2019.1版本,之后向下翻動(dòng)頁面,選擇下圖中位置,即實(shí)驗(yàn)室版本的Vivado,僅包含下載和調(diào)試功能,并且不需要License:
點(diǎn)擊圖中箭頭就可以下載,2019.1版本大約700M左右,2022.2版本大約1.5G,2018.3版本只有500M左右,我也下載了常見的幾個(gè)版本的,下載方式見文章最后。
當(dāng)然你也可以只下載Hardware Server,大小又可以減小一半左右。
安裝過程和Vivado類似,就不展示了,簡單截幾張圖看看:
?
安裝完成后,桌面會(huì)生成一個(gè)圖標(biāo):
雙擊打開后和Vivado一樣,其中的圖上的工程不是我們說的Vivado工程,而是這個(gè)軟件專用的Lab工程。
和我們今天有關(guān)的是Open Hardware Manager,點(diǎn)擊后界面如下:
這就沒啥好介紹的了,剩下的和Vivado操作完全一致了,第一個(gè)工具就介紹完畢了。
借助ISE IMPCAT+Xilinx JTAG下載
這個(gè)其實(shí)比較落后了,就簡單說一下,IMPCAT是ISE自帶的下載器,可以單獨(dú)使用下載固化文件,但是沒辦法調(diào)試,可以對(duì)7系列FPGA進(jìn)行下載。
借助第三方軟件下載
JTAG 全稱“Joint Test Action Group”,既是個(gè)標(biāo)準(zhǔn)也是個(gè)組織,這是個(gè)由幾家主要的電子制造商(IBM、AT&T、TI、Philips 等)成立于 1985 年的組織,這個(gè)組織成立的目的是發(fā)起制訂一種 PCB和芯片測(cè)試標(biāo)準(zhǔn)。
JTAG 標(biāo)準(zhǔn)于 1990 年被 IEEE 批準(zhǔn)為IEEE1149.1 測(cè)試訪問端口和邊界掃描結(jié)構(gòu)標(biāo)準(zhǔn)。
所以不論嵌入式、單片機(jī)甚至FPGA都要執(zhí)行這一標(biāo)準(zhǔn),不同點(diǎn)在于上位機(jī),上位機(jī)會(huì)識(shí)別JTAG芯片中特定碼,然后上位機(jī)才讓你用JATG對(duì)自己許可的芯片進(jìn)行編程下載。所以你只要知道上位機(jī)怎么識(shí)別JTAG下載器的,你只需要一個(gè)下載器就能玩遍所有芯片。
接下倆就介紹一個(gè)開源的上位機(jī)-OpenOCD,這是一個(gè)可以給單片機(jī)、嵌入式和FPGA進(jìn)行下載調(diào)試的上位機(jī)(非常牛逼!)。
詳細(xì)的介紹就不說了,我對(duì)這方面只是入門,可以看下面的鏈接,是用FT2232+OpenOCD下載FPGA的詳細(xì)介紹文章:
https://blog.csdn.net/u012780083/article/details/125489210
上面的文章當(dāng)然不是我們的主角,這么復(fù)雜的操作估計(jì)會(huì)有80%的人不會(huì)嘗試,接下來介紹一個(gè)超簡單的基于OpenOCD的下載方式。
CH347+CH347FPGATool超小體積下載器
沁恒CH347芯片,USB 2.0高速設(shè)備,支持 USB轉(zhuǎn)I2C/SPI/UART/JTAG/GPIO,下面是一個(gè)開源硬件:
https://github.com/wuxx/USB-HS-Bridge/blob/master/README_cn.md
但是沒開源PCB,我自己制作了一版,開源地址:
https://oshwhub.com/openfpga/ch347-esp32-shuang-jtag
上面的硬件已經(jīng)送去打板還未驗(yàn)證,同步集成了ESP32,用于無線WIFI下載調(diào)試。
上位機(jī)才是核心,在下面開源項(xiàng)目中提供了基于OpenOCD的CH347FPGATool上位機(jī):
https://github.com/WCHSoftGroup/ch347
下載后文件大小僅120M:
注意:使用前需要下載安裝CH347驅(qū)動(dòng)(https://www.wch.cn/downloads/CH341PAR_EXE.html)。
打開后的上位機(jī)如下:
支持的FPGA列表如下:
詳細(xì)的使用手冊(cè):
https://github.com/WCHSoftGroup/ch347/tree/main/CH347FPGATool
全中文難度不大,有BUG需要多理解。
總結(jié)
今天針對(duì)不同階段的產(chǎn)品FPGA代碼固化簡單說了一下,針對(duì)FPGA單獨(dú)下載<固化文件>重點(diǎn)說明,介紹的幾種方式推薦順序從上到下,優(yōu)先使用官方解決方案,最后的方式適合開發(fā)者玩玩,批量使用還有不穩(wěn)定性。
最后關(guān)于Vivado Lab下載方式優(yōu)先推薦使用官網(wǎng)下載,我這邊提供幾個(gè)常用版本供大家使用,獲取方式:
編輯:黃飛
?
評(píng)論