最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

1:歷史性突破Xilinx A7、K7、V7、ZYNQ、KU等FPGA芯片的LabVIEW在線前面板交互式運(yùn)行

2022-03-06 23:45 作者:神電測(cè)控  | 我要投稿

副標(biāo)題:重大更新1:利用Xilinx JTAG下載器自動(dòng)下載6系列7系列(Spartan6、Artix7、Kintex7、Virtex7、ZYNQ)LabVIEW FPGA程序(支持在線前面板交互式運(yùn)行和調(diào)試)

我們始終在想一個(gè)問題:就是這幾十年市面上已有的海量的FPGA芯片、板子、板卡,起碼也有幾千萬個(gè)了,如何在不破壞板子、不飛線的情況下,還能以零成本的方式實(shí)現(xiàn)LabVIEW FPGA在線前面板交互式運(yùn)行和上位機(jī)FPGA引用讀寫訪問控件的功能?我們做到了!

1、重大突破:歷時(shí)半年,終于突破了Xilinx 7系列(Artix7、Kintex7、Virtex7)、U系列(KU、KU+、VU、VU+)以及ZYNQ等家族FPGA芯片的LabVIEW在線前面板交互式運(yùn)行和調(diào)試;當(dāng)然,還有以前就支持的Virtex5/Spartan3E/Spartan6等傳統(tǒng)的5系列、6系列FPGA芯片。

2、重大更新:我們是真正對(duì)市面上已有的、海量的、任何廠家的Xilinx FPGA板子或板卡,在不做任何改動(dòng),不做任何飛線、不破壞板子的情況下,借助大家所熟知的0成本的Xilinx JTAG下載器或者我們研發(fā)的SDMC FPGA Downloader以太網(wǎng)下載器,實(shí)現(xiàn)了真正意義上的FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能,這是我們與其他封閉式友商最大的不同!

3、重要理念:我們的LabVIEW My FPGA圖形化軟件工具包和RIO開發(fā)方案具有普適性,只有這樣,才能讓廣大用戶自由選擇市面上已有的、海量的FPGA芯片、板子、板卡或者用戶自己自由設(shè)計(jì)硬件,而不是被其他友商固定的硬件而綁架了。

4、始終秉持:“為所有想用又不敢用、正在使用和將要使用FPGA的廣大用戶,提供一套通用的國(guó)產(chǎn)化、圖形化、開源化RIO解決方案”;讓所有FPGA芯片、板子、板卡都能享受到圖形化編程的樂趣,真正擺脫友商限制,讓用戶的FPGA產(chǎn)品低成本量產(chǎn)成為可能性,并且牢牢抓住FPGA的靈魂程序!

正文摘錄:

????????經(jīng)過半年時(shí)間的攻關(guān),我們終于可以像開發(fā)Spartan6家族芯片那樣來開發(fā)Xilinx 7系列(Artix7、Kintex7Virtex7、KUFPGAZYNQ家族芯片了,借助大家平時(shí)常用的Xilinx JTAG下載器來完成這個(gè)在線前面板交互式運(yùn)行和調(diào)試功能!這是本寶典最大的創(chuàng)新點(diǎn)之一!下面聽我慢慢道來!

?????5.5.1:LabVIEW FPGA開發(fā)環(huán)境準(zhǔn)備工作

????????熟悉我們Pro1開發(fā)寶典的用戶知道,要想通過Xilinx JTAG下載器對(duì)早期的Xilinx 5系列和6系列FPGA進(jìn)行在線前面板交互式運(yùn)行調(diào)試的話,需要安裝4號(hào)文件(ISE 14.7編譯器)和6號(hào)驅(qū)動(dòng)包(DEFB),因?yàn)镮SE編譯器里面含有IMPACT.exe下載工具,DEFB里面含有NICobs工具鏈dll;所以,如果想要對(duì)Xilinx 7系列(Artix7、Kintex7、Virtex7)和ZYNQ系列FPGA進(jìn)行在線下載和在線前面板交互式運(yùn)行調(diào)試的話,我們也需要借助這個(gè)IMPACT和NICobs來實(shí)現(xiàn)!

????????所以,前面第3章的軟件安裝部分,我們更新了寶典,強(qiáng)調(diào)了要把云盤里面的安裝軟件文件夾里面的4號(hào)ISE 14.7編譯器和6號(hào)DEFB驅(qū)動(dòng)包一并安裝上。安裝過程中有一些注意事項(xiàng),不記得的用戶可以回看一下寶典第3章相關(guān)內(nèi)容。

?????? ?注意1目前高版本里面只有LabVIEW 2017、2018版本對(duì)應(yīng)的ISE 14.7編譯器默認(rèn)是不支持Win10系統(tǒng)的,而LabVIEW 2015、2019、2020對(duì)應(yīng)的ISE編譯器則不限制系統(tǒng)安裝;Win7、Win10和Win11都能安裝并且無縫兼容,所以平時(shí)我們自己用的比較多的版本是2015和2019版本。

?????? ?注意2LabVIEW 2015之所以沒有系統(tǒng)限制,是因?yàn)槟莻€(gè)時(shí)候Win10還沒有起來,NI忘記在安裝向?qū)Ю锩婕酉拗屏耍籐abVIEW 2019和2020可以,是因?yàn)镹I換了一種安裝方式,那就是通過NI Package Manager在線或者離線來安裝,所以支持安裝到Win7、Win10或者Win11里面去。下面的3幅截圖就是Win11系統(tǒng)下的LabVIEW 2019對(duì)應(yīng)的ISE 14.7編譯器安裝截圖。盡管在NI Package Manager頁面里面顯示不支持,但是依然可以執(zhí)行“下一步”安裝,但是唯獨(dú)2017和2018版本對(duì)應(yīng)的ISE編譯器,NI直接把“下一步”按鈕給禁用了,那就只能望洋興嘆了!

????????結(jié)論:推薦客戶使用LabVIEW?20112015、2019、20204個(gè)版本;LabVIEW?2017、2018不推薦!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

截圖1:NI Package Manager安裝頁面提醒,不用管(直接下一步忽略)
截圖2:忽略之后,會(huì)進(jìn)入正常安裝模式,不限制系統(tǒng)
截圖3:在win11系統(tǒng)里面安裝成功的2019高版本對(duì)應(yīng)的ISE14.7編譯器(在線和離線安裝均可)

? ? ? ? ?提醒:如果有些用戶買的是正版的LabVIEW 2017或者2018,同時(shí)又找不到Win7系統(tǒng)的電腦,又不愿意換成其他版本的LabVIEW(譬如2015、2019、2020)或者安裝Win7虛擬機(jī)的話。為了解決這一痛點(diǎn),我們專門研發(fā)了一款以太網(wǎng)下載器,取名為“SDMC FPGA Downloader”,可以直接通過網(wǎng)絡(luò)的方式將FPGA VI編譯下載到FPGA芯片里面運(yùn)行然后自動(dòng)進(jìn)入在線前面板交互式運(yùn)行模式,并且還支持上位機(jī)通過引用的方式來操作下位機(jī)FPGA VI前面板上的控件讀寫,跟NI的板卡完全一樣的使用效果!這樣,用戶就不需要安裝IMPACT和DEFB了,也就擺脫了2017、2018與系統(tǒng)兼容性方面的困擾了。實(shí)測(cè)我們這款以太網(wǎng)下載器SDMC FPGA Downloader,支持Spartan6、Artix7、Kintex7、Virtex7、Kintex UltraScale、ZYNQ等系列FPGA芯片,非常強(qiáng)大,具體的實(shí)戰(zhàn)演示可以參考寶典后面的第五章的5.7節(jié)內(nèi)容!

????????接下來,需要運(yùn)行一下本書配套云盤里面的“Xilinx全系列FPGA LabVIEW在線前面板激活程序.vi”這個(gè)程序,如圖5-87所示。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

圖5-87:從云盤里面下載最新的7系列FPGA在線前面板激活程序

????????雙擊運(yùn)行這個(gè)激活VI,在彈出來的頁面里面,點(diǎn)擊左上角的運(yùn)行箭頭,等待15s左右,如果右側(cè)指示燈點(diǎn)亮,說明當(dāng)前環(huán)境下的7系列FPGA在線前面板交互式運(yùn)行功能激活成功,如圖5-88所示。需要這個(gè)程序的用戶請(qǐng)聯(lián)系我們(郵箱:DLW30@126.com;微信:myview30)

圖5-88:運(yùn)行7系列LabVIEW FPGA在線前面板交互式運(yùn)行功能激活程序

????5.5.2:LabVIEW FPGA VI程序驗(yàn)證平臺(tái)

????????為了驗(yàn)證我們這套基于Xilinx JTAG下載器實(shí)現(xiàn)LabVIEW FPGA在線前面板交互式運(yùn)行調(diào)試的效果,我們準(zhǔn)備了3個(gè)廠家,4款不同的7系列FPGA開發(fā)板來測(cè)試驗(yàn)證。

?????? ?分別是:

?????? ?1黑金AX7103開發(fā)板(主芯片Artix7-100T);

?????? ?2黑金AX7A200開發(fā)板(主芯片Artix7-200T);

?????? ?3正點(diǎn)原子達(dá)芬奇Pro開發(fā)板(主芯片Artix7-100T);

?????? ?4米聯(lián)客MA7K325開發(fā)板(主芯片Kintex7-325T);

?????? ?以上4款FPGA開發(fā)板對(duì)應(yīng)的實(shí)物圖,分別如圖5-89~5-92所示。另外,我們平時(shí)還經(jīng)常用到黑金的一款K7-325T開發(fā)板AX7K325,由于手頭沒有這個(gè)板子,有這塊板子的用戶,在學(xué)完本節(jié)內(nèi)容之后可以自己嘗試驗(yàn)證一下在線前面板交互式運(yùn)行調(diào)試功能。

?????? ?關(guān)于這些廠家的FPGA板子介紹,前面第4章里面做過詳細(xì)的講解。當(dāng)然,大家也可以在各個(gè)廠家官網(wǎng)或者淘寶上找到更多信息,這些板子也是目前市面上存量最多的板子,性價(jià)比高,資料豐富,原理圖和元器件庫都是開源的,方便用戶學(xué)會(huì)之后自己二次開發(fā),相比于國(guó)外的FPGA板子,國(guó)內(nèi)的廠家更加人性化!

圖5-89:黑金帶PCIe的Artix-100T FPGA開發(fā)板(AX7103)
圖5-90:黑金帶PCIe的Artix-200T FPGA開發(fā)板(AX7A200)
圖5-91:正點(diǎn)原子帶PCIe的Artix-100T FPGA開發(fā)板(達(dá)芬奇Pro)
圖5-92:米聯(lián)客帶PCIe的Kintex7-325T FPGA開發(fā)板(MA7K325T)

????????另外,關(guān)于6系列FPGA芯片的LabVIEW在線前面板交互式運(yùn)行,原先我們就支持在線下載和前面板運(yùn)行,感興趣的用戶可以參考Pro1開發(fā)寶典,本書重點(diǎn)講解的是7系列和ZYNQ系列,所以本節(jié)就不單獨(dú)列出了!

?????? ?注意:由于黑金的ZYNQ開發(fā)板上集成的是Digilent HS1/2/3系列下載器,并且沒有將JTGA口預(yù)留出來,所以也就無法接入Xilinx JTAG下載器了,但是可以通過我們研發(fā)的SDMC FPGA Downloader以太網(wǎng)下載器來實(shí)現(xiàn)在線前面板交互式運(yùn)行和調(diào)試。

?????? ?這個(gè)我們會(huì)在后面的5.6節(jié)里面給用戶演示。當(dāng)然了,如果用戶的ZYNQ板子上有JTAG下載口,那么可以用本節(jié)的方法也就是Xilinx JTAG下載器實(shí)現(xiàn)在線前面板交互式運(yùn)行調(diào)試。?

?????? ?大家平時(shí)常用的Xilinx JTAG下載器,如圖5-93所示,里面包含了各種不同封裝尺寸接口的JTAG線纜,可以兼容目前市面上所有廠家FPGA開發(fā)板上的JTAG接口。這里再次提醒一下大家,千萬別買錯(cuò)了下載器,一定要選擇Xilinx方案的下載器,而不是Digilent HS系列下載器。如果用戶不清楚怎么購(gòu)買Xilinx JTAG下載器,可以聯(lián)系我們神電測(cè)控(郵箱:DLW30@126.com;微信:myview30)。另外,Xilinx下載器的驅(qū)動(dòng)安裝相對(duì)麻煩一些,建議大家參考我們寶典里面的cmd命令方式來安裝這個(gè)下載器的驅(qū)動(dòng)比較好(寶典里面搜索cmd關(guān)鍵字進(jìn)快速定位)。

圖5-93:采用Xilinx原廠方案的JTAG下載器(國(guó)產(chǎn)仿制很便宜)


????5.5.3:LabVIEW FPGA VI程序編寫與編譯

????????為了驗(yàn)證7系列(Artix7、Kintex7、Virtex7)FPGA VI的LabVIEW前面板在線運(yùn)行和調(diào)試功能,我們重新編寫一個(gè)FPGA VI程序,通過控制第三方FPGA開發(fā)板上的LED燈閃爍頻率以及實(shí)時(shí)捕捉開發(fā)板上的按鍵狀態(tài),來展示LabVIEW FPGA在線前面板的強(qiáng)大之處。我們可以通過修改前面板的寫入控件數(shù)值來實(shí)時(shí)動(dòng)態(tài)的改變FPGA芯片里面的程序運(yùn)行周期,并且將按鍵狀態(tài)實(shí)時(shí)呈現(xiàn)在FPGA VI前面板上,而不需要單獨(dú)再去編寫上位機(jī)VI來跟下位機(jī)通信。

?????? ?這種下位機(jī)FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能的好處就是,不需要反復(fù)編譯下位機(jī)FPGA VI了,避免了時(shí)間的浪費(fèi),這就是LabVIEW FPGA在線前面板交互式運(yùn)行和調(diào)試的優(yōu)勢(shì)之處。

????????5.5.3.1:新建LabVIEW項(xiàng)目瀏覽器

????????點(diǎn)擊LabVIEW左上角的“文件”à“新建(N)”à“項(xiàng)目”,新建一個(gè)空白的LabVIEW項(xiàng)目瀏覽器,保存一下,命名為“LabVIEW 7 Serials FPGA Project-Xilinx JTAG.lvprog”,如圖5-94所示。

? ? ? ? ? ? ? ? ? ? ? ?

圖5-94:新建一個(gè)空白的LabVIEW項(xiàng)目瀏覽器

? ? ? ??

????????5.5.3.2:新建FPGA終端設(shè)備

????????在剛剛新建出來的項(xiàng)目瀏覽器里面,右擊“我的電腦”,選擇“新建”à“終端和設(shè)備”,如圖5-95所示;然后在彈出來的終端設(shè)備列表里面,找到上面3個(gè)廠家4款開發(fā)板對(duì)應(yīng)的FPGA終端名稱,如圖5-96(abcd)所示。

圖5-95:右擊“我的電腦”新建4個(gè)終端和設(shè)備
圖5-96(a):找到黑金AX7103開發(fā)板對(duì)應(yīng)的FPGA終端設(shè)備(A7-100T)
圖5-96(b):找到黑金AX7A200開發(fā)板對(duì)應(yīng)的FPGA終端設(shè)備(A7-200T)
圖5-96(c):找到正點(diǎn)原子達(dá)芬奇Pro開發(fā)板對(duì)應(yīng)的FPGA終端設(shè)備(A7-100T)
圖5-96(d):找到米聯(lián)客MA7K325開發(fā)板對(duì)應(yīng)的FPGA終端設(shè)備(K7-325T)

????????選中之后雙擊或者點(diǎn)擊“確定”按鈕,即可將這4個(gè)FPGA開發(fā)板對(duì)應(yīng)的FPGA終端添加到項(xiàng)目里面來,如圖5-97所示。

圖5-97:將3個(gè)廠家4款FPGA開發(fā)板的終端添加到LabVIEW項(xiàng)目瀏覽器里面

????????展開之后,可以看出每個(gè)廠家的系統(tǒng)板載晶振特點(diǎn):黑金喜歡在7系列FPGA板子上,將板載晶振弄成200MHz差分時(shí)鐘;正點(diǎn)原子喜歡用更低的50MHz單端時(shí)鐘板載晶振;米聯(lián)客則在二者之間取了一個(gè)中間值,比如100MHz單端時(shí)鐘。

????????實(shí)際上,F(xiàn)PGA系統(tǒng)默認(rèn)的Onboard時(shí)鐘晶振頻率太高和太低都不太好,太高會(huì)導(dǎo)致LabVIEW里面的普通while循環(huán)編譯出現(xiàn)定時(shí)錯(cuò)誤,太低的話,很多線程需要通過PLL或者M(jìn)MCM進(jìn)行倍頻才能通過提高速度減少資源的消耗。

????????因此,我們建議,用戶在設(shè)計(jì)自己的FPGA板卡時(shí),盡量選擇一個(gè)中間檔位的板載時(shí)鐘頻率,比如50MHz或者100MHz。對(duì)NI比較熟悉的用戶知道,NI更喜歡用40MHz晶振作為系統(tǒng)時(shí)鐘。

????????為了更加形象生動(dòng)的展示FPGA VI前面板的在線實(shí)時(shí)運(yùn)行和調(diào)試功能,我們可以右擊FPGA終端設(shè)備名稱,選擇添加“FPGA I/O”,然后將LED指示燈和KEY按鍵對(duì)應(yīng)的FPGA引腳資源EIO節(jié)點(diǎn)添加到FPGA里面來,如圖5-98所示。

圖5-98:將FPGA開發(fā)板上的LED指示燈和KEY按鍵對(duì)應(yīng)的引腳資源添加到終端里面來


????????5.5.3.3:編寫FPGA VI程序

????????接下來,我們可以通過編寫一個(gè)簡(jiǎn)單的FPGA VI程序來驗(yàn)證我們的LabVIEW My FPGA在線前面板交互式運(yùn)行和調(diào)試功能可以在7系列FPGA上完美的呈現(xiàn)出來。

????????這個(gè)FPGA VI程序的具體編寫過程,這里就不在詳細(xì)展開了,因?yàn)槌绦蚩驁D比較簡(jiǎn)單,我們直接給出4個(gè)FPGA開發(fā)板終端對(duì)應(yīng)的FPGA VI前面板和程序框圖,分別如圖5-99~5-102所示。

圖5-99(a):基于黑金AX7103開發(fā)板(Artix7-100T)編寫的FPGA VI程序前面板
圖5-99(b):基于黑金AX7103開發(fā)板(Artix7-100T)編寫的FPGA VI程序框圖
圖5-100(a):基于黑金AX7A200開發(fā)板(Artix7-200T)編寫的FPGA VI程序前面板
圖5-100(b):基于黑金AX7A200開發(fā)板(Artix7-200T)編寫的FPGA VI程序框圖
圖5-101(a):基于正點(diǎn)原子達(dá)芬奇Pro開發(fā)板(Artix7-100T)編寫的FPGA VI程序前面板
圖5-101(b):基于正點(diǎn)原子達(dá)芬奇Pro開發(fā)板(Artix7-100T)編寫的FPGA VI程序框圖
圖5-102(a):基于米聯(lián)客MA7K325開發(fā)板(Kintex7-325T)編寫的FPGA VI程序前面板


圖5-102(b):基于米聯(lián)客MA7K325開發(fā)板(Kintex7-325T)編寫的FPGA VI程序框圖

????????這4個(gè)FPGA VI實(shí)現(xiàn)的功能都是相同的,那就是通過while循環(huán)實(shí)時(shí)捕捉FPGA開發(fā)板上的按鍵狀態(tài),并在前面板上通過布爾指示燈顯示出來;另外一個(gè)功能通過程序周期性取反來控制FPGA板子上的LED指示燈進(jìn)行閃爍,閃爍頻率則由前面板上的輸入控件“控制循環(huán)周期(mSec)”里面的數(shù)值來決定;最后整個(gè)while循環(huán)的運(yùn)行次數(shù),也就是i值通過顯示控件“Running”和“儀表”顯示在前面板上。

????????傳統(tǒng)的VHDL和Verilog是沒有辦法實(shí)現(xiàn)UI界面的,所以每次修改一個(gè)參數(shù)都需要重新花費(fèi)大量的時(shí)間進(jìn)行編譯;而我們的LabVIEW FPGA天生就有一個(gè)前面板可以充當(dāng)UI調(diào)試界面,這個(gè)與生俱來的功能就是本書重點(diǎn)強(qiáng)調(diào)的LabVIEW FPGA在線前面板交互式運(yùn)行、仿真、調(diào)試。

????????5.5.3.4:編譯FPGA VI程序

????????FPGA VI程序編寫完成后,接下來就是編譯了,用戶只需要點(diǎn)擊一下FPGA VI前面板左上角的運(yùn)行箭頭,即可彈出編譯提示對(duì)話框,首次彈出會(huì)自動(dòng)創(chuàng)建一個(gè)程序生成規(guī)范,用戶需要在程序生成規(guī)范里面勾選“加載至FPGA時(shí)運(yùn)行”,不然后續(xù)在將FPGA bit文件固化到Flash芯片里面,F(xiàn)PGA加載后不會(huì)執(zhí)行的。因此,我們提前將這一步做掉,即在程序生成規(guī)范里面勾選“加載至FPGA時(shí)運(yùn)行”,如圖5-103所示。

圖5-103:在FPGA程序生成規(guī)范里面勾選“加載至FPGA時(shí)運(yùn)行”

????????當(dāng)我們點(diǎn)擊FPGA VI運(yùn)行箭頭,會(huì)彈出編譯器選擇對(duì)話框,如圖5-104所示,選擇默認(rèn)的第一項(xiàng)“使用本地編譯服務(wù)器”,因?yàn)槲覀冊(cè)谇懊娴?章的時(shí)候已經(jīng)將NI裁剪過的Vivado編譯器安裝到本地計(jì)算機(jī)上了!當(dāng)然也可以選擇網(wǎng)絡(luò)服務(wù)器或者NI云編譯,關(guān)于這兩項(xiàng)的講解,請(qǐng)參考前面5.3節(jié)相關(guān)內(nèi)容,這里不再贅述!

圖5-104:選擇本地編譯器對(duì)FPGA VI進(jìn)行編譯

????????點(diǎn)擊“確定”按鈕后,LabVIEW會(huì)自動(dòng)將FPGA VI程序框圖轉(zhuǎn)換成VHDL代碼,如圖5-105所示。

圖5-105:經(jīng)過5個(gè)階段的代碼轉(zhuǎn)換

????????經(jīng)過綜合、布局布線、時(shí)間約束等步驟后,如果一切順利,大概兩三分鐘后,LabVIEW FPGA編譯狀態(tài)窗口會(huì)提示編譯完成,如圖5-106,通過這個(gè)編譯狀態(tài)窗口可以看到當(dāng)前消耗的FPGA資源情況。提醒:本節(jié)編譯很順利,跟前面5.3節(jié)里面報(bào)錯(cuò)完全不同,因?yàn)槲覀円呀?jīng)突破了7系列FPGA的編譯、下載和在線前面板交互式運(yùn)行和調(diào)試功能。

圖5-106:LabVIEW FPGA VI編譯完成后的FPGA資源消耗情況

????????當(dāng)上面編譯完成后,會(huì)彈出一個(gè)“正在準(zhǔn)備交互式執(zhí)行”對(duì)話框,如圖5-107所示,這個(gè)想必用過NI或者看過我們Pro1的客戶很熟悉,正是LabVIEW FPGA啟動(dòng)在線前面板交互式運(yùn)行調(diào)試功能的提示框;如果大家還沒有將Xilinx JTAG下載器和FPGA開發(fā)板接到這臺(tái)電腦或者接的不是Xilinx JTAG下載器而是Digilent HS系列下載器,等一會(huì)會(huì)彈出一個(gè)超時(shí)錯(cuò)誤對(duì)話框,提醒用戶找不到下載通信線纜,也就是說主機(jī)找不到Xilinx JTAG下載器,如圖5-108所示。

圖5-107:編譯完成后會(huì)啟動(dòng)LabVIEW FPGA在線前面板交互式運(yùn)行
圖5-108:提醒用戶找不到Xilinx JTAG下載器

????????重大更新:很多用戶關(guān)心的是Vivado編譯器編譯出來的原始bit文件,而不是NI的lvbitx文件,因?yàn)樵嫉腇PGA bit文件更靈活更方便,將這個(gè)原始的bit文件發(fā)給任何人都可以通過任何手段下載到FPGA里面運(yùn)行;雖然上面我們沒有連接下載器和FPGA板子到電腦上導(dǎo)致下載超時(shí),但是LabVIEW項(xiàng)目瀏覽器所在路徑下的“FPGA Bitfiles”文件夾里面依然會(huì)自動(dòng)生成一個(gè)同名的原始bit文件,如圖5-109所示。

圖5-109:FPGA VI編譯完成后會(huì)自動(dòng)生成一個(gè)lvbitx文件和一個(gè)同名的原始bit文件

????????這個(gè)自動(dòng)生成原始FPGA bit文件的功能是我們?cè)诤笈_(tái)幫大家實(shí)現(xiàn)的,也就是說,用戶再也不需要像前面5.3節(jié)那樣總是開著獲取bit文件的程序才能得到原始bit文件。很明顯經(jīng)過我們重大更新后的寶典和My FPGA工具包更方便更易用,體驗(yàn)效果跟NI完全一樣!

????????5.5.4:FPGA開發(fā)板+Xilinx JTAG下載器連接實(shí)物圖

????????接下來,將Xilinx JTAG下載器接到黑金、米聯(lián)客、正點(diǎn)原子的4款FPGA開發(fā)板上面,另外一頭接到開發(fā)電腦上,如圖5-110~5-113所示。

圖5-110:Xilinx JTAG下載器+黑金AX7103開發(fā)板(Artix7-100T)
圖5-111:Xilinx JTAG下載器+黑金AX7A200開發(fā)板(Artix7-200T)
圖5-112:Xilinx JTAG下載器+正點(diǎn)原子達(dá)芬奇Pro開發(fā)板(Artix7-100T)
圖5-113:Xilinx JTAG下載器+米聯(lián)客MA7K325開發(fā)板(Kintex7-325T)

????????注意1由于每個(gè)廠家的FPGA開發(fā)板預(yù)留的JTAG座子封裝尺寸都不一樣,好在國(guó)人做的Xilinx JTAG下載器配套了很多種轉(zhuǎn)接線,可以完全兼容市面上所有的FPGA硬件,真正做到以不變應(yīng)萬變!

????????注意2再次強(qiáng)調(diào)一下,Xilinx JTAG下載器的驅(qū)動(dòng)安裝方法,推薦使用cmd命令方式來安裝,尤其是需要管理員權(quán)限和數(shù)字簽名的系統(tǒng),這種方法最好;用戶可以在寶典里面搜索關(guān)鍵字“cmd”,快速定位到安裝那一節(jié)內(nèi)容。

????????下載器驅(qū)動(dòng)安裝好之后,可以在設(shè)備管理器里面找到,如圖5-114所示。

圖5-114:Xilinx JTAG下載器驅(qū)動(dòng)安裝成功后的設(shè)備管理器顯示


????????5.5.5:LabVIEW FPGA在線前面板交互式運(yùn)行(基于傳統(tǒng)的Xilinx JTAG下載器)

????????接下來,就是見證奇跡的時(shí)刻了,大家屏住呼吸哈

????????硬件接好之后,給FPGA開發(fā)板上電,然后再點(diǎn)擊一下編譯過的FPGA VI前面板左上角的運(yùn)行箭頭,可以看到幾秒之后,奇跡發(fā)生了,下位機(jī)FPGA VI前面板竟然活了,就像我們開發(fā)的LabVIEW STM32工具包那樣,LabVIEW前面板成功地進(jìn)入了FPGA在線交互式運(yùn)行模式,并且下位機(jī)FPGA VI前面板上的“Running”和“儀表”,這兩個(gè)顯示控件里面的數(shù)值會(huì)按照500ms的速度進(jìn)行+1遞增,如圖5-115~5-118所示。

圖5-115:黑金AX7103對(duì)應(yīng)的FPGA VI前面板在線交互式運(yùn)行顯示
圖5-116:黑金AX7A200對(duì)應(yīng)的FPGA VI前面板在線交互式運(yùn)行顯示
圖5-117:正點(diǎn)原子達(dá)芬奇Pro對(duì)應(yīng)的FPGA VI前面板在線交互式運(yùn)行顯示
圖5-118:米聯(lián)客MA7K325對(duì)應(yīng)的FPGA VI前面板在線交互式運(yùn)行顯示

????????同時(shí)可以看到,4款FPGA開發(fā)板上的LED指示燈按照1Hz的頻率一齊同步閃爍,亮滅持續(xù)時(shí)間各500ms,如圖5-119~5-122所示。

圖5-119:LabVIEW FPGA VI自動(dòng)下載到黑金AX7103開發(fā)板上的實(shí)際運(yùn)行效果
圖5-120:LabVIEW FPGA VI自動(dòng)下載到黑金AX7A200開發(fā)板上的實(shí)際運(yùn)行效果
圖5-121:LabVIEW FPGA VI自動(dòng)下載到正點(diǎn)原子達(dá)芬奇Pro開發(fā)板上的實(shí)際運(yùn)行效果
圖5-122:LabVIEW FPGA VI自動(dòng)下載到米聯(lián)客MA7K325開發(fā)板上的實(shí)際運(yùn)行效果

????????如果我們?cè)贔PGA VI交互式前面板上修改一下“控制循環(huán)周期(mSec)”控件里面的數(shù)值,比如改成100,如圖5-123(abcd)所示,此時(shí)FPGA開發(fā)板上的LED閃爍頻率明顯加快了,并且儀表盤的指針也開始加速移動(dòng)!

圖5-123(a):黑金AX7103開發(fā)板進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)
圖5-123(b):黑金AX7A200開發(fā)板進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)
圖5-123(c):正點(diǎn)原子達(dá)芬奇Pro開發(fā)板進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)
圖5-123(d):米聯(lián)客MA7K325開發(fā)板進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)

????????接著,我們嘗試按壓FPGA開發(fā)板上的按鍵KEY,發(fā)現(xiàn)FPGA VI前面板上相對(duì)應(yīng)的布爾指示燈也跟著發(fā)生變化,如圖5-124(abcd)所示。這就是進(jìn)入在線交互式運(yùn)行前面板之后的LabVIEW FPGA強(qiáng)大之處,通過讀寫FPGA內(nèi)部的寄存器將FPGA前面板上的所有控件信息自動(dòng)投射關(guān)聯(lián)并實(shí)時(shí)顯示到當(dāng)前FPGA VI前面板上。

圖5-124(a):按住黑金AX7103開發(fā)板上的KEY2按鍵
圖5-124(a):進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將黑金AX7103 FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來
圖5-124(b):按住黑金AX7A200開發(fā)板上的KEY2和KEY4按鍵
圖5-124(b):進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將黑金AX7A200 FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來
圖5-124(c):按住正點(diǎn)原子達(dá)芬奇Pro開發(fā)板上的KEY1和KEY3按鍵
圖5-124(c):進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將正點(diǎn)原子達(dá)芬奇Pro FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來
圖5-124(d):按住米聯(lián)客MA7K325開發(fā)板上的KEY3和KEY4按鍵
圖5-124(d):進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將米聯(lián)客MA7K325 FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來

????????說明下位機(jī)FPGA實(shí)時(shí)捕捉到的狀態(tài)通過在線交互式運(yùn)行模式自動(dòng)呈現(xiàn)在了FPGA VI前面板上了,非常直觀!媽媽再也不用擔(dān)心反復(fù)編譯、再也無須借助串口打印來調(diào)試了!

????????5.5.6:LabVIEW FPGA程序固化到Flash(基于傳統(tǒng)的Xilinx JTAG下載器)

????????當(dāng)我們借助LabVIEW FPGA強(qiáng)大的在線交互式運(yùn)行前面板調(diào)試完FPGA VI程序后,就可以將這個(gè)FPGA VI進(jìn)行批量部署了,也就是把編譯出來的FPGA原始bit文件轉(zhuǎn)成mcs或者bin文件固化到FPGA開發(fā)板上的Flash芯片里面。

????????前面5.4節(jié)我們向大家介紹了可以通過Vivado手動(dòng)將FPGA bit文件固化到Flash芯片里面,但是那個(gè)方法過于復(fù)雜,操作起來非常不方便!感興趣的用戶可以自行了解一下即可,無須深入學(xué)習(xí)5.4節(jié),除非是一種特殊的情況,那就是你設(shè)計(jì)的FPGA產(chǎn)品賣給了你的用戶,當(dāng)你的FPGA bit文件升級(jí)了,你把最新的bit文件發(fā)給遠(yuǎn)在其他城市的客戶,需要將這個(gè)bit文件重新固化到你的FPGA板子里面去,但是你的客戶又不懂LabVIEW,此時(shí),你可以教他如何利用Vivado進(jìn)行手動(dòng)下載和固化。

????????5.5.6.1:LabVIEW FPGA VI Flash固化簡(jiǎn)介

????????為了讓我們的LabVIEW My FPGA工具包,跟NI FPGA硬件開發(fā)有著相同的用戶體驗(yàn),我們將整個(gè)FPGA bit文件到mcs/bin文件格式的轉(zhuǎn)換、下載器速度的設(shè)置以及各種Flash芯片的選擇,全部在后臺(tái)自動(dòng)完成,極大的方便了用戶的使用!

????????具體操作方法非常簡(jiǎn)單,跟Pro1開發(fā)寶典里面操作6系列FPGA一樣。用戶只需要右擊編譯好的FPGA VI名稱,在彈出的菜單中選擇“Download Bit to Flash”這個(gè)選項(xiàng),如圖5-125所示,就可以將7系列(Artix7、Kintex7、Virtex7、ZYNQ)FPGA bit文件自動(dòng)固化到FPGA板子上的Flash里面。

? ? ? ? ? ? ? ? ? ? ?

圖5-125:右擊編譯過的7系列FPGA VI選擇“Download Bit to Flash”菜單即可完成固化

????????點(diǎn)擊之后,會(huì)彈出一個(gè)Flash芯片型號(hào)選擇頁面,這個(gè)對(duì)話框頁面是我們專門為了方便用戶開發(fā)的,如圖5-126所示。我們已經(jīng)將目前所有已知的Flash芯片型號(hào)、容量大小、以及SPI/BPI讀寫數(shù)據(jù)位寬等,全部封裝到下拉列表里面,用戶無須記憶任何TCL指令,只要查看一下FPGA硬件原理圖上的Flash芯片型號(hào)即可,然后在下拉列表里面選擇即可。

????????但是需要注意的是:很多廠家做的FPGA板子為了降低硬件成本,實(shí)際焊接的Flash芯片跟其提供的說明書有時(shí)候?qū)Σ簧?,?dǎo)致固化總是不成功,此時(shí),保險(xiǎn)起見,最好用眼睛實(shí)際觀察一下FPGA板子上Flash芯片的具體型號(hào)和廠家,這種情況時(shí)有發(fā)生!經(jīng)驗(yàn)之談、少走彎路!

圖5-126:我們開發(fā)的LabVIEW FPGA bit文件自動(dòng)固化界面(比之前更強(qiáng)大、更方便)

????????下面我們還是先簡(jiǎn)單介紹一下這個(gè)軟件的功能和注意事項(xiàng),然后再結(jié)合黑金、米聯(lián)客、正點(diǎn)原子等幾家FPGA開發(fā)板上的Flash芯片型號(hào)來實(shí)際測(cè)試一下固化效果。

????????首先是Flash存儲(chǔ)芯片的類型,我們將其分成3類,如圖5-127所示。分別是第三方SPI接口的Flash芯片、Xilinx官方的PROM芯片、第三方BPI接口的Flash芯片。其中,SPI接口的Flash因?yàn)閺S家眾多,性價(jià)比高而被廣大FPGA廠商所采用;Xilinx官方的PROM兼容性最好,讀寫速度快,一般用于高端產(chǎn)品里面;BPI接口的Flash基本上很少見。

????????使用過很多FPGA板子的用戶知道,目前國(guó)內(nèi)的FPGA廠家基本上選擇的都是SPI接口的Flash作為存放FPGA bit文件的存儲(chǔ)芯片。

圖5-127:根據(jù)接口協(xié)議選擇正確的Flash芯片類型

????????當(dāng)選擇好Flash芯片類型之后,比如,最為常見的SPI接口Flash芯片;然后下方的Flash下拉列表里面就會(huì)自動(dòng)出現(xiàn)各種不同封裝和不同容量大小的Flash型號(hào),如圖5-128所示。其中,SPI接口的Flash種類大致可以劃分為W25Q系列、N25Q系列、S25FL系列、AT45DB系列等等;關(guān)于BPI接口和Xilinx官方的PROM型號(hào),感興趣的用戶可以在我們這個(gè)軟件里面瀏覽一下便知,這里不再贅述!

????????需要注意的是,位于Flash芯片型號(hào)右側(cè)的“Flash_Size(MBytes)”是指當(dāng)前選擇的Flash芯片容量大小,單位是M字節(jié),不是小bit,而Flash芯片型號(hào)名稱里面的數(shù)字往往表示的容量單位卻是M小bit。

????????舉例說明,比如我們選擇了N25Q256這款芯片,那么右側(cè)的容量需要填寫32MB,因?yàn)镹25Q256字符里面的256是小Mbit,需要除以8,才是大寫的Mbyte;另外,這個(gè)Flash容量大小,需要用戶自己手動(dòng)輸入,切記不要填錯(cuò)了!

圖5-128:選擇合適的Flash芯片型號(hào)和填寫正確的容量大?。▎挝唬篗Bytes不是Mbit)

????????最后需要注意的是:FPGA終端模板對(duì)應(yīng)的xdc約束文件里面定義的Flash SPI讀寫數(shù)據(jù)位寬是×幾模式的,比如正點(diǎn)原子達(dá)芬奇Pro板子里面我們?cè)O(shè)置的SPI位寬是X4,如圖5-129所示;那么就需要在固化頁面的“Flash SPI/BPI Datawidth”下拉列表里面選擇SPIx4 mode,保持一致,如圖5-130所示,否則固化會(huì)失??!如果xdc約束文件里面沒有定義SPI讀寫數(shù)據(jù)位寬的話,那么下拉列表里面選擇默認(rèn)的SPIx1模式來固化即可。

圖5-129:查看FPGA終端模板里面的xdc約束文件中的SPI數(shù)據(jù)讀寫位寬
圖5-130:LabVIEW FPGA自動(dòng)固化頁面里面要選擇跟xdc約束文件里面的SPI位寬定義保持一致(如果沒有定義,選擇默認(rèn)的SPIx1即可)

????????全部選擇好之后,點(diǎn)擊“Download”下載按鈕,等待一會(huì)就會(huì)提示下載成功,具體時(shí)間要看選擇的Flash芯片質(zhì)量了;固化成功后,如果彈出的提示框里面提醒用戶雖然固化了bit文件,但是重新上電FPGA程序并沒有運(yùn)行的話,那就需要檢查一下,看看程序生成規(guī)范里面是不是忘記了勾選“加載至FPGA時(shí)運(yùn)行”;如果沒有勾選,需要重新勾選一下這個(gè)“加載至FPGA時(shí)運(yùn)行”,然后重新編譯一下FPGA VI,最后再做一次固化流程就可以了,如圖5-131.

圖5-131(a):固化成功后的提示框


圖5-131(b):固化成功后的提示框

????????為了驗(yàn)證固化到Flash里面的FPGA bit程序功能是否正常,可以將FPGA硬件重新上電或者按下FPGA開發(fā)板上的Prog編程鍵測(cè)試一下。

????????注意:固化Flash的過程,是不限制下載器類型的,Xilinx JTAG和Digilent HS系列下載器均可以。

????????接下來,進(jìn)入實(shí)戰(zhàn)環(huán)節(jié),將前面編譯好的FPGA VI通過右擊的方式固化到黑金、米聯(lián)客、正點(diǎn)原子這4FPGA開發(fā)板的Flash里面去。

????????5.5.6.2:LabVIEW FPGA VI固化到黑金FPGA開發(fā)板的Flash芯片里面

????????首先根據(jù)黑金、米聯(lián)客、正點(diǎn)原子提供的FPGA開發(fā)板原理圖找到上面的Flash芯片具體型號(hào),比如黑金的AX7103和AX7A200開發(fā)板上的Flash芯片都是N25Q128,如圖5-132所示。可以看出,這款Flash容量是128Mbit,換成大B就是16MByte。

圖5-132:黑金AX7103和AX7A200開發(fā)板上的Flash芯片型號(hào)

????????然后找到黑金FPGA開發(fā)板AX7103和AX7A200對(duì)應(yīng)的終端模板文件所在的路徑,如圖5-133和5-134所示。到這個(gè)文件夾里面找到xdc約束文件,為了區(qū)分,我們特地在AX7103開發(fā)板對(duì)應(yīng)的xdc沒有添加SPI位寬定義,相當(dāng)于默認(rèn)的x1模式;而AX7A200開發(fā)板對(duì)應(yīng)的xdc約束里面我們加了set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]這句話,如圖5-135所示,那就意味著FPGA VI編譯生成的bit文件內(nèi)部將讀寫位寬設(shè)置的是x4模式,也就是當(dāng)FPGA上電從Flash里面可以通過SPI x4模式并行讀取,提高了bit文件加載和啟動(dòng)速度。

圖5-133:找到黑金FPGA開發(fā)板AX7103對(duì)應(yīng)的終端模板文件所在的位置
圖5-134:找到黑金FPGA開發(fā)板AX7A200對(duì)應(yīng)的終端模板文件所在的位置
圖5-135:打開黑金FPGA開發(fā)板設(shè)備終端對(duì)應(yīng)的xdc約束文件,查看SPI讀寫位寬定義

????????所以,通常情況下,只要FPGA板子上的Flash芯片引腳支持x4的話,建議大家在xdc約束文件加上set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]這句話,這樣后續(xù)FPGA程序加載啟動(dòng)速度更快,體驗(yàn)更好!

????????知道了上面的信息,我們就可以在LabVIEW FPGA VI固化頁面的下拉列表里面選擇對(duì)應(yīng)的類型即可。

????????1)針對(duì)黑金AX7103 FPGA開發(fā)板,可以右擊該終端下編譯過的FPGA VI名稱,選擇菜單里面的“Download Bit to Flash”,如圖5-136所示。然后在彈出來的頁面里面,F(xiàn)lash芯片型號(hào)選擇N25Q128;容量設(shè)置為16MByte;SPI數(shù)據(jù)讀寫位寬選擇x1模式,如圖5-137所示。

圖5-136:右擊編譯過的FPGA VI名稱選擇Download固化菜單
圖5-137:根據(jù)黑金AX7103 FPGA開發(fā)板上的Flash型號(hào)和xdc約束文件選擇SPI x1 mode

????????2)針對(duì)黑金AX7A200 FPGA開發(fā)板,同樣右擊該終端下的FPGA VI名稱,選擇菜單里面的“Download Bit to Flash”,然后在彈出來的頁面里面,F(xiàn)lash芯片型號(hào)選擇N25Q128;容量設(shè)置為16MByte;SPI數(shù)據(jù)讀寫位寬選擇x4模式,如圖5-138所示。

圖5-138:根據(jù)黑金AX7A200 FPGA開發(fā)板上的Flash型號(hào)和xdc約束文件選擇SPI x4 mode

????????3)最后,點(diǎn)擊頁面“Download”下載按鈕,出現(xiàn)一個(gè)bit文件下載進(jìn)度條,大約等待幾十秒,會(huì)彈出Flash燒寫成功提示框,如圖5-139所示。然后將黑金FPGA開發(fā)板斷電再上電,就能看到先前我們編寫的FPGA VI程序成功的被加載和運(yùn)行了。

圖5-139(a):FPGA VI程序成功固化到黑金FPGA板子上的Flash芯片里面
圖5-139(b):FPGA VI程序成功固化到黑金FPGA板子上的Flash芯片里面


????????5.5.6.3:LabVIEW FPGA VI固化到正點(diǎn)原子FPGA開發(fā)板的Flash芯片里面

????????正點(diǎn)原子達(dá)芬奇Pro開發(fā)板(Artix7-100T)上的Flash芯片也是N25Q128,如圖5-132所示。這款Flash芯片容量是128Mbit,換成大B就是16MByte。

圖5-140:正點(diǎn)原子達(dá)芬奇Pro開發(fā)板上的Flash芯片型號(hào)

????????然后找到正點(diǎn)原子達(dá)芬奇Pro FPGA開發(fā)板對(duì)應(yīng)的終端模板文件所在的路徑,如圖5-141所示。到這個(gè)文件夾里面找到xdc約束文件,雙擊打開這個(gè)xdc文件,可以看到正點(diǎn)原子達(dá)芬奇Pro A7-100T開發(fā)板對(duì)應(yīng)的xdc約束文件里面也有這句話:set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design],如圖5-142所示,意味著FPGA VI編譯生成的bit文件內(nèi)部讀寫位寬是x4模式,當(dāng)FPGA上電從Flash里面可以通過SPIx4模式以4bit并行讀取,提高了加載啟動(dòng)速度。

圖5-141:找到正點(diǎn)原子FPGA開發(fā)板達(dá)芬奇Pro對(duì)應(yīng)的終端模板文件所在的位置
圖5-142:打開正點(diǎn)原子達(dá)芬奇Pro FPGA開發(fā)板設(shè)備終端對(duì)應(yīng)的xdc約束文件,查看SPI讀寫位寬

????????再次提醒:只要FPGA板子上的Flash芯片引腳支持x4的話,建議用戶在xdc約束文件加上set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]這句話,這樣FPGA重新上電之后的程序加載會(huì)更快!

????????根據(jù)以上信息,直接在LabVIEW FPGA VI固化頁面的下拉列表里面選擇對(duì)應(yīng)的Flash器件型號(hào)和容量即可。

????????針對(duì)正點(diǎn)原子達(dá)芬奇Pro FPGA開發(fā)板,可以右擊該終端下編譯過的FPGA VI名稱,選擇菜單里面的“Download Bit to Flash”,如圖5-143所示。然后在彈出來的頁面里面,F(xiàn)lash芯片型號(hào)選擇N25Q128;容量設(shè)置為16MByte;SPI數(shù)據(jù)讀寫位寬選擇x4模式,如圖5-144所示??梢钥闯觯c(diǎn)原子的達(dá)芬奇Pro跟黑金的A7板子配置基本一樣。

圖5-143:右擊編譯過的FPGA VI名稱選擇Download固化菜單
圖5-144:根據(jù)正點(diǎn)原子達(dá)芬奇 Pro 開發(fā)板上的Flash型號(hào)和xdc約束文件選擇SPI x4 mode

????????然后,點(diǎn)擊“Download”下載按鈕,會(huì)出現(xiàn)一個(gè)進(jìn)度條,大約等待幾十秒,彈出Flash燒寫成功提示框,如圖5-145所示。最后,將正點(diǎn)原子FPGA開發(fā)板斷電再上電,就能看到先前編寫的FPGA VI程序成功地被加載和運(yùn)行了。

圖5-145(a):FPGA VI程序成功固化到正點(diǎn)原子FPGA板子上的Flash芯片里面
圖5-145(b):FPGA VI程序成功固化到正點(diǎn)原子FPGA板子上的Flash芯片里面


????????5.5.6.4:LabVIEW FPGA VI固化到米聯(lián)客FPGA開發(fā)板的Flash芯片里面

????????米聯(lián)客MA7K325開發(fā)板(Kintex-325T)上的Flash芯片是S25FL256,如圖5-146所示。這款Flash芯片容量是256Mbit,換成大B就是32MByte。

圖5-146:正點(diǎn)原子達(dá)芬奇Pro開發(fā)板上的Flash芯片型號(hào)

????????注意:米聯(lián)客,有些批次的K7開發(fā)板上用的Flash芯片換成了W25Q256或者N25Q256,但是原理圖上沒有改,所以大家一定要用肉眼觀察一下FPGA開發(fā)板或者核心板上的Flash具體廠家和型號(hào)。

????????然后找到米聯(lián)客MA7K325 FPGA開發(fā)板對(duì)應(yīng)的終端模板文件所在的路徑,如圖5-147所示。到這個(gè)文件夾里面找到xdc約束文件,雙擊打開這個(gè)xdc文件,可以看到米聯(lián)客MA7K325開發(fā)板對(duì)應(yīng)的xdc約束文件里面同樣也有這句話:set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design],如圖5-148所示,意味著FPGA VI編譯生成的bit文件內(nèi)部讀寫位寬是x4模式,當(dāng)FPGA上電從Flash里面可以通過SPIx4模式以4bit高速并行讀取,提高了bit文件的加載速度。

圖5-147:找到米聯(lián)客FPGA開發(fā)板MA7K325對(duì)應(yīng)的終端模板文件所在的位置
圖5-148:打開米聯(lián)客MA7K325 FPGA開發(fā)板設(shè)備終端對(duì)應(yīng)的xdc約束文件,查看SPI數(shù)據(jù)讀寫位寬

????????提醒:只要FPGA板子上的Flash芯片接線支持x4的話,建議大家在xdc約束文件加上set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]這句話,這樣FPGA重新上電之后的程序加載會(huì)更快!

????????根據(jù)以上信息,直接在LabVIEW FPGA VI固化頁面的下拉列表里面選擇對(duì)應(yīng)的Flash型號(hào)和容量即可。

????????針對(duì)米聯(lián)客MA7K325 FPGA開發(fā)板,可以右擊該終端下編譯過的FPGA VI名稱,選擇菜單里面的“Download Bit to Flash”,如圖5-149所示。然后在彈出來的頁面里面,F(xiàn)lash芯片型號(hào)選擇S25FL256S;容量設(shè)置為32MByte;SPI數(shù)據(jù)讀寫位寬選擇x4模式,如圖5-150所示。可以看出,米聯(lián)客選擇的Flash跟黑金和原子不是一個(gè)廠家的,因?yàn)榫幾g出來的Kintex7 FPGA bit文件要比Artix7大一些,所以用來存放bit文件的Flash容量也要大一些。

圖5-149:右擊編譯過的FPGA VI名稱選擇Download固化菜單
圖5-150:根據(jù)米聯(lián)客MA7K325開發(fā)板上的Flash型號(hào)和xdc約束文件選擇SPI x4 mode

????????然后,點(diǎn)擊“下載”按鈕,會(huì)出現(xiàn)一個(gè)進(jìn)度條,大約等待幾十秒,彈出Flash燒寫成功提示框,如圖5-151所示。最后,將正點(diǎn)原子FPGA開發(fā)板斷電再上電,就能看到先前編寫的FPGA VI程序成功地被加載和運(yùn)行了。

圖5-151(a):FPGA VI程序成功固化到米聯(lián)客FPGA板子上的Flash芯片里面
圖5-151(b):FPGA VI程序成功固化到米聯(lián)客FPGA板子上的Flash芯片里面

????????結(jié)論:通過4個(gè)板子上電從Flash里面加載bit文件的速度可以看出,SPI x4秒殺SPI x1,因此,建議用戶在設(shè)計(jì)自己的FPGA板子時(shí),盡量選擇支持SPI x4模式的Flash芯片。

1:歷史性突破Xilinx A7、K7、V7、ZYNQ、KU等FPGA芯片的LabVIEW在線前面板交互式運(yùn)行的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
洛宁县| 拜城县| 河源市| 广平县| 江城| 寻甸| 曲周县| 策勒县| 呼和浩特市| 合作市| 巫溪县| 呼玛县| 玉林市| 冀州市| 隆尧县| 尼木县| 长治市| 藁城市| 延安市| 盐池县| 康马县| 沙河市| 溧阳市| 石家庄市| 报价| 怀化市| 望江县| 东港市| 佛山市| 青阳县| 罗江县| 泗水县| 石楼县| 永兴县| 普兰店市| 兴业县| 桐城市| 汪清县| 古浪县| 广安市| 吉林市|