LabVIEWCompactRIO 開發(fā)指南37 在第三方模擬器中執(zhí)行
LabVIEWCompactRIO?開發(fā)指南37
在第三方模擬器中執(zhí)行
如果需要驗證時序和功能,在將LabVIEW?FPGA?VI編譯到硬件之前,可以與三款第三方仿真器進行交互:MentorGraphicsModelSim(LabVIEW2013及更早版本)、MentorGraphicsQuesta和XilinxISim。可以使用這些模擬器的設(shè)計驗證和調(diào)試功能來調(diào)試功能行為和基于時序的錯誤。要將ISim與LabVIEW?FPGA模塊配合,應(yīng)熟悉HDL仿真器和VHDL,這是編寫測試臺所需的?,F(xiàn)在可以選擇使用VHDL或LabVIEW為ModelSim編寫測試工作臺。白皮書Cycle-AccurateCoSimulationwithMentorGraphicsModelSim提供了與ModelSim接口的教程。
在硬件中執(zhí)行
在仿真模式或桌面環(huán)境中進行調(diào)試可以節(jié)省時間,但確實會出現(xiàn)需要將代碼編譯到FPGA目標(biāo),然后實時運行和調(diào)試的情況。在這些情況下,必須將其他代碼寫入應(yīng)用程序,以測試和驗證應(yīng)用程序的核心功能。調(diào)試完成后,通常會刪除或禁用此代碼。NIFPGA?Debug?Librar組件提供了一組簡單函數(shù),可實時地調(diào)試LabVIEW?FPGA應(yīng)用程序。除了執(zhí)行常見的簡單任務(wù)外,這些函數(shù)還提供模塊化編程接口,幫助快速構(gòu)建高級調(diào)試結(jié)構(gòu)。

圖5.40.高級I/O計數(shù)器
優(yōu)化LabVIEW?FPGA代碼
在LabVIEWFPGA中使用常規(guī)的LabVIEW編程技術(shù)時,會立即獲得基于FPGA的方法的優(yōu)勢。有時,可能需要在以下一個或多個相關(guān)維度上進一步推動系統(tǒng):吞吐量、時序、資源和數(shù)值精度。

圖5.41.借進一步推動系統(tǒng)實現(xiàn)吞吐量、定時控制、資源利用或數(shù)值精度
這些維度通常是相互關(guān)聯(lián)的,因此使用其中一個維度改進設(shè)計有時會對其他維度產(chǎn)生積極影響,但更多時候是以犧牲它們?yōu)榇鷥r的。了解這些維度以及它們之間的關(guān)系非常重要,因此本指南在下面列出了一些基本定義,并在后面的章節(jié)中探討了相關(guān)技術(shù)。
吞吐量
吞吐量是DSP和數(shù)據(jù)處理應(yīng)用的關(guān)鍵問題。它以每單位時間的工時來衡量。在大多數(shù)使用NIRIO硬件的應(yīng)用中,工作是指處理或傳輸樣本,因此其吞吐量通常以每秒樣本或某種等效形式(如字節(jié)、像素、圖像、幀或每秒操作數(shù))來測量??焖俑道锶~變換(FFT)是吞吐量的處理函數(shù)的一個示例,其吞吐量可以以FFT、幀或每秒樣本數(shù)來測量。
High-PerformanceRIO?Developer’s?Guide更深入地討論了影響吞吐量的因素,以及一套技術(shù),可幫助在創(chuàng)建LabVIEW?FPGA應(yīng)用程序時實現(xiàn)更高的吞吐量。
定時控制
時序控制是指規(guī)定和測量系統(tǒng)中感興趣事件之間的時間量的能力。使用LabVIEW?FPGA時,設(shè)計會轉(zhuǎn)換到硬件電路,因此可以創(chuàng)建具有快速時時響應(yīng)且抖動極小的設(shè)計。控制應(yīng)用通常需要保證系統(tǒng)采樣和控制信號更新之間的最大響應(yīng)時間。此時間量稱為延遲。在數(shù)字協(xié)議應(yīng)用中,定時規(guī)范可以指與正在傳輸?shù)臄?shù)據(jù)或信號相關(guān)的事件之間的目標(biāo)、最小或最大時間。精確的定時控制對于控制和數(shù)字協(xié)議應(yīng)用領(lǐng)域都很重要。
High-PerformanceRIO?Developer’s?Guide,更深入地討論了延遲以及一套技術(shù),可幫助在使用LabVIEW?FPGA時實現(xiàn)更低或更精確的定時響應(yīng)。
資源利用率
FPGA的資源數(shù)量有限,并且通常比處理器或微控制器在存儲和存儲器元件方面受到更多的限制。能夠?qū)⒃O(shè)計融入FPGA是整個開發(fā)過程的硬約束。FPGA也由不同類型的資源組成,因此用完一種類型的資源可能會阻止在應(yīng)用程序中取得進展。
更重要的是,資源利用率會對其他性能維度產(chǎn)生巨大影響,尤其是吞吐量和滿足時間限制。請參閱High-PerformanceRIO?Developer’s?Guide,了解組成FPGA的不同資源的描述,以及如何平衡這些資源以使設(shè)計適合并提高性能。
數(shù)值精度
數(shù)值精度問題圍繞著是否有足夠的數(shù)字或位,以便應(yīng)用程序可以正常工作。數(shù)值精度不足被認為是必須避免和測試的功能問題。用于表示系統(tǒng)變量的位數(shù)(包括用于整數(shù)的位數(shù)、定點數(shù)的整數(shù)和小數(shù)部分以及浮點數(shù)的動態(tài)范圍)可能會對應(yīng)用程序的性能和資源利用率產(chǎn)生重大影響,因此應(yīng)考慮這一點。
編譯LabVIEW?FPGA代碼
LabVIEW?FPGA編譯過程已在本章第一部分中介紹。此過程最多可能需要幾個小時,具體取決于設(shè)計有多復(fù)雜。本節(jié)提供了一些減少編譯時間和理解編譯報告的提示。
減少編譯時間
NI提供了多種用于編譯LabVIEW?FPGA代碼的選項。在LabVIEW項目中創(chuàng)建LabVIEW?FPGA構(gòu)建規(guī)范時,會在類似圖5.42的對話框中看到選項。

圖5.42可用于選擇編譯服務(wù)器的幾個選項
使用本地編譯服務(wù)器-默認情況下,可以在本地開發(fā)電腦上進行編譯。這是編譯小型VI的可行解決方案,但如果擔(dān)心編譯時間過長,則應(yīng)考慮以下其他選項。
連接到網(wǎng)絡(luò)編譯服務(wù)器(單個服務(wù)器)-可以選擇將編譯卸載到網(wǎng)絡(luò)上基于Windows或Linux的單個計算機。事實證明,在Linux機器上編譯與在Windows機器上編譯時,編譯時間會減少。
連接到網(wǎng)絡(luò)編譯服務(wù)器(場)—如果在團隊中工作,則可以使用LabVIEWFPGA
Compile?Farm?Toolkit來設(shè)置包含多個工作程序的編譯場。該工具包可幫助創(chuàng)建現(xiàn)場服務(wù)器來管理FPGA編譯??梢愿鶕?jù)需要連接任意數(shù)量的工作計算機,中央服務(wù)器軟件通過并行編譯和隊列來管理。如果無法將云技術(shù)用于項目,這是減少編譯時間的有效方法。
連接LabVIEW?FPGA編譯云服務(wù)—此服務(wù)可幫助使用最新的專用高RAM高端計算機在Linux上編譯FPGA?VI。根據(jù)LabVIEW?FPGA?VI的大小,可能會注意到,與在Windows桌面上編譯相比,編譯時間大大縮短。在云中編譯還增加了并行編譯許多VI的能力。
閱讀編譯報告
編譯FPGA?VI后,LabVIEW顯示一個編譯報告,其中包含有關(guān)應(yīng)用程序整體大小和速度的信息。此信息可以幫助決定如何在必要時優(yōu)化代碼。
請注意,編譯器算法不是確定性的,即使不更改VI或編譯器設(shè)置,也可能從一次編譯到下一次編譯獲得不同的結(jié)果。如果編譯失敗,可以更改編譯器設(shè)置,方法是右鍵單擊LabVIEW項目中的構(gòu)建規(guī)范,然后從上下文菜單中選擇屬性。在“屬性”頁面中,選擇Xilinx?Options.。
VI大小
成功編譯對話框中顯示的最終設(shè)備利用率(映射)報告提供有關(guān)使用的切片寄存器、切片查找表和乘法器數(shù)量以及使用的塊RAM量的信息。建議的最佳實踐是將最終應(yīng)用中的整體FPGA使用率保持在90%以下。如果將來升級軟件并需要重新編譯VI,可能會發(fā)現(xiàn)不同版本的Xilinx編譯工具鏈或多或少地使用結(jié)構(gòu)。在這種情況下,需要一些額外的空間來使用。

圖5.43.最終設(shè)備利用率報告
VI速度
“成功編譯報告”對話框還包含有關(guān)應(yīng)用程序時鐘速率的信息。
■請求—顯示已編譯的FPGA?VI運行的時鐘速率。默認設(shè)置為40MHz。
■最大值—顯示FPGA?VI的理論最大編譯速率。

圖5.44.最終時間報告
如果最大速率慢于請求的速率,則會產(chǎn)生錯誤,編譯過程將停止。必須將應(yīng)用程序修改為最大速率等于或大于請求的速率。使用SCTL時的一個常見問題是請求的速率超過理論最大值。
?
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。