LabVIEW實(shí)現(xiàn)設(shè)計(jì)和測(cè)試統(tǒng)一
掃描二維碼
隨時(shí)隨地手機(jī)看文章
長(zhǎng)期以來(lái)的預(yù)測(cè)趨勢(shì)揭示了整個(gè)系統(tǒng)設(shè)計(jì)流程中的設(shè)計(jì)和測(cè)試趨于統(tǒng)一,這兩個(gè)先前獨(dú)立的功能將被集成在一起。集成功能的明顯優(yōu)勢(shì)在于縮短了投入市場(chǎng)的時(shí)間并獲得更好的整體質(zhì)量,而這些優(yōu)勢(shì)都?xì)w功于在創(chuàng)建設(shè)計(jì)的同時(shí)集成了測(cè)試定義和實(shí)現(xiàn)。在系統(tǒng)設(shè)計(jì)過(guò)程中,從仿真到實(shí)現(xiàn)以及最終系統(tǒng)部署,都可以對(duì)這些早期測(cè)試平臺(tái)進(jìn)行重用。
為了真正實(shí)現(xiàn)設(shè)計(jì)和測(cè)試統(tǒng)一,尤其對(duì)于類(lèi)似RF通信等復(fù)雜功能,需要在測(cè)試和實(shí)現(xiàn)的設(shè)計(jì)生命周期的所有階段都能夠有效執(zhí)行所選的系統(tǒng)設(shè)計(jì)軟件和語(yǔ)言。在這之前,用于系統(tǒng)仿真或設(shè)計(jì)與用于系統(tǒng)實(shí)現(xiàn)的工具及技術(shù)存在很大不同。此外用于設(shè)計(jì)和實(shí)現(xiàn)的工具和語(yǔ)言通常不同于測(cè)試中使用的工具。這將導(dǎo)致不同功能團(tuán)隊(duì)使用不同的工具,將增加交流的復(fù)雜程度并降低設(shè)計(jì)和測(cè)試中可重用代碼的流動(dòng)性。這些因素都是實(shí)現(xiàn)設(shè)計(jì)和測(cè)試統(tǒng)一的主要障礙,因此理想的系統(tǒng)設(shè)計(jì)軟件需要提供單一語(yǔ)言用于仿真、實(shí)現(xiàn)和測(cè)試,并在所有設(shè)計(jì)階段和功能間最大化代碼重用。
減少限制的傳統(tǒng)方法
通常能夠跨越設(shè)計(jì)過(guò)程各個(gè)階段和功能的工具都嘗試著減少每個(gè)階段和功能之間的限制,而不是創(chuàng)建可跨越所有階段和功能的單一環(huán)境和語(yǔ)言。例如,在新興的RF通信標(biāo)準(zhǔn)開(kāi)發(fā)中,通信系統(tǒng)設(shè)計(jì)專家可能會(huì)使用純數(shù)學(xué)算法對(duì)通信流進(jìn)行建模和仿真。為了測(cè)試模型,設(shè)計(jì)人員可能會(huì)創(chuàng)建自定義的測(cè)試平臺(tái)或者重用合規(guī)套件對(duì)工業(yè)標(biāo)準(zhǔn)協(xié)議進(jìn)行測(cè)試。
當(dāng)設(shè)計(jì)功能達(dá)到要求時(shí),從設(shè)計(jì)到實(shí)現(xiàn)的傳統(tǒng)轉(zhuǎn)換方法會(huì)將算法交給其它組,并通過(guò)手動(dòng)方式將數(shù)學(xué)算法轉(zhuǎn)換為程序?qū)崿F(xiàn),通常將根據(jù)實(shí)現(xiàn)的執(zhí)行要求使用ANSI C或HDL語(yǔ)言。
圖1. "V"框圖通常用于說(shuō)明設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的理想流程。將通用系統(tǒng)設(shè)計(jì)語(yǔ)言用于跨越整個(gè)"V"流程可以最大化技能和算法重用,同時(shí)可以最小化轉(zhuǎn)換錯(cuò)誤和查找修正周期數(shù)。
此外需要轉(zhuǎn)換測(cè)試平臺(tái)本身,該轉(zhuǎn)換步驟需要具有不同技能的其他組實(shí)現(xiàn),并且任何轉(zhuǎn)換中丟失的部分都可能導(dǎo)致新缺陷或測(cè)試覆蓋度降低。即使初始轉(zhuǎn)換階段可能不夠復(fù)雜,但該問(wèn)題會(huì)隨著重新定義設(shè)計(jì)或發(fā)現(xiàn)程序?qū)崿F(xiàn)缺陷等變得更加復(fù)雜。設(shè)計(jì)算法和程序?qū)崿F(xiàn)的分離將導(dǎo)致“查找并修復(fù)”開(kāi)發(fā)周期變慢。
為了緩解部分問(wèn)題,一些工具可提供自動(dòng)代碼生成步驟以便幫助仿真至ANSI C或HDL的轉(zhuǎn)換。雖然該過(guò)程有利于將算法設(shè)計(jì)遷移至處理器或現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),但仍需要由熟悉ANSI C或HDL的開(kāi)發(fā)人員進(jìn)行部署和調(diào)試設(shè)計(jì)。可能不會(huì)存在完美的原始設(shè)計(jì),而自動(dòng)代碼生成也會(huì)存在缺陷。
LabVIEW所提供的單工具方法
替代方法將利用到NI LabVIEW系統(tǒng)設(shè)計(jì)軟件,通信設(shè)計(jì)人員可以使用LabVIEW對(duì)通信流進(jìn)行建模,然后實(shí)現(xiàn)測(cè)試平臺(tái)。當(dāng)滿足設(shè)計(jì)和測(cè)試要求后,系統(tǒng)設(shè)計(jì)人員僅需將設(shè)計(jì)算法的終端直接重新設(shè)定為處理器或FPGA以用于具體程序?qū)崿F(xiàn)。從最初的實(shí)驗(yàn)性設(shè)計(jì)到最終程序?qū)崿F(xiàn),系統(tǒng)設(shè)計(jì)人員可以使用相同的環(huán)境、算法以及調(diào)試和測(cè)試方法。該方式可以最大化技能和算法重用,同時(shí)最小化轉(zhuǎn)換錯(cuò)誤和查找修正周期數(shù)。
既然在設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試中重用相同算法而無(wú)需獨(dú)立的代碼生成步驟可提供各種優(yōu)勢(shì),那么為什么其他系統(tǒng)設(shè)計(jì)軟件不直接使用重用的方法?這主要是由于一些歷史原因?qū)е铝嗽撉闆r的出現(xiàn)。大多數(shù)系統(tǒng)設(shè)計(jì)軟件最初用于仿真空間,并且該仿真已為系統(tǒng)行為的時(shí)域驗(yàn)證進(jìn)行優(yōu)化,然后向程序?qū)崿F(xiàn)方向發(fā)展。LabVIEW核心為系統(tǒng)實(shí)現(xiàn),并朝設(shè)計(jì)和仿真方向發(fā)展。其編程語(yǔ)言、環(huán)境以及更重要的IP/算法模塊是為了在處理器和FPGA上以實(shí)時(shí)速率進(jìn)行編譯和執(zhí)行而設(shè)計(jì)的。
除了實(shí)現(xiàn)算法重用,LabVIEW的程序?qū)崿F(xiàn)傳統(tǒng)很大程度上對(duì)部分仿真-時(shí)間活動(dòng)進(jìn)行了加速。例如,LabVIEW可將臺(tái)式機(jī)算法完整編譯為專用處理器的機(jī)器代碼。對(duì)于純功能DSP類(lèi)型算法,系統(tǒng)設(shè)計(jì)人員將以相對(duì)于連續(xù)時(shí)域仿真方法的更快速度對(duì)算法進(jìn)行實(shí)現(xiàn)和調(diào)試。與用于終端FPGA的設(shè)計(jì)仿真相比,該優(yōu)勢(shì)尤其明顯。LabVIEW可支持位及周期精度仿真的預(yù)期形式。在特定情況下功能測(cè)試通常能滿足需求,但LabVIEW可將速度提高多個(gè)數(shù)量級(jí),主要原因?yàn)楣δ艽a已為本地功能執(zhí)行進(jìn)行了完全編譯和優(yōu)化,而不再僅僅是“仿真”。相對(duì)于較慢的仿真算法,在仿真中重用快速的實(shí)現(xiàn)算法更具實(shí)際用途,因此與其他系統(tǒng)設(shè)計(jì)軟件相比,LabVIEW優(yōu)勢(shì)更為明顯。
LabVIEW系統(tǒng)設(shè)計(jì)和RF通信設(shè)計(jì)
在RF的設(shè)計(jì)和測(cè)試趨于統(tǒng)一范例中,相對(duì)于普遍統(tǒng)一的趨勢(shì),通信設(shè)計(jì)將導(dǎo)致部分特有的復(fù)雜性。最主要情況為,當(dāng)測(cè)試RF接收器時(shí)必須創(chuàng)建一個(gè)發(fā)送器,而測(cè)試發(fā)送器也必須創(chuàng)建一個(gè)接收器。大多數(shù)時(shí)候該測(cè)試的信號(hào)和測(cè)試特性必須超出設(shè)計(jì)本身規(guī)范。此外RF通信方法和標(biāo)準(zhǔn)的變更頻率十分迅速,這也對(duì)測(cè)試本身的靈活性和速度提出了要求。因此用于RF的理想測(cè)試儀器必須允許快速重用發(fā)送器和接收器數(shù)字信號(hào)處理(DSP)算法,并且具備高性能和靈活性。
該類(lèi)測(cè)試的傳統(tǒng)方法將會(huì)創(chuàng)建特定功能的儀器,以用于測(cè)量和測(cè)試特定的通信類(lèi)型。如需完全覆蓋設(shè)計(jì)和測(cè)試,不僅需要在設(shè)計(jì)流程中考慮測(cè)試流程、測(cè)試平臺(tái)和附加因素,而且在理想狀態(tài)下設(shè)計(jì)和測(cè)試需要直接使用實(shí)際硬件和信號(hào)而不僅是仿真。在LabVIEW和NI PXIe-5644R矢量信號(hào)收發(fā)器范例中,當(dāng)在臺(tái)式機(jī)中定義通信流的DSP基本構(gòu)件并執(zhí)行預(yù)期功能后,設(shè)計(jì)人員可以將算法終端從臺(tái)式機(jī)設(shè)計(jì)環(huán)境更改為運(yùn)行FPGA的矢量信號(hào)收發(fā)器。
圖2. NI PXIe-5644R矢量信號(hào)收發(fā)器的架構(gòu)可允許在主機(jī)或設(shè)備固件中仿真和部署用戶可編輯的DSP塊。同時(shí)也可以對(duì)其他輸入/輸出以及內(nèi)存接口進(jìn)行修改以作為算法設(shè)計(jì)的補(bǔ)充。
該遷移的主要因素以及從算法設(shè)計(jì)到最終部署(無(wú)論是設(shè)計(jì)本身或測(cè)試)的主要障礙是能否正確集成實(shí)際定時(shí),更重要的是,硬件I/O和信號(hào)校準(zhǔn)。對(duì)于設(shè)計(jì)和測(cè)試功能, DSP算法設(shè)計(jì)人員通常不同于實(shí)現(xiàn)包含I/O集成在內(nèi)的設(shè)備固件的團(tuán)隊(duì)。通過(guò)矢量信號(hào)收發(fā)器和LabVIEW RIO可編程設(shè)備,NI將提供可靈活編程的RF硬件平臺(tái),該平臺(tái)將包含高度優(yōu)化的IP塊。該程序塊可管理與信號(hào)校準(zhǔn)集成的高速A/D和D/A的常規(guī)復(fù)雜度,以及至主機(jī)處理器和高速板載內(nèi)存的DMA數(shù)據(jù)流。該矢量信號(hào)收發(fā)器中的IP代表了三個(gè)主要特性。首先可以在臺(tái)式機(jī)中仿真功能以便用于算法設(shè)計(jì)。其次源代碼可用于參考或修改。如之前所述,最后可支持無(wú)縫遷移至實(shí)際實(shí)時(shí)執(zhí)行系統(tǒng)。
集成設(shè)計(jì)、開(kāi)發(fā)和部署
為了真正實(shí)現(xiàn)從算法到部署的緊密系統(tǒng)設(shè)計(jì)流程,必須具備完整的軟件/硬件視角。軟件必須包含正確的定時(shí)、I/O和DSP算法IP。該IP必須能支持仿真執(zhí)行,而且需要快速執(zhí)行功能調(diào)試并支持快速設(shè)計(jì)周期,并且最終能將測(cè)試和設(shè)計(jì)代碼從臺(tái)式機(jī)環(huán)境遷移至可編程的部署硬件。
用戶開(kāi)發(fā)的算法和測(cè)試均屬于重要知識(shí)產(chǎn)權(quán)(IP),而任何系統(tǒng)設(shè)計(jì)工具的主要任務(wù)在于最大化開(kāi)發(fā)效率,允許用戶在原設(shè)計(jì)和最終實(shí)現(xiàn)存在較小差別時(shí)對(duì)相同IP進(jìn)行重用。僅當(dāng)系統(tǒng)設(shè)計(jì)軟件最初為了程序?qū)崿F(xiàn)采用了開(kāi)放和可重用的構(gòu)建模塊,并且該基本構(gòu)建模塊可完全匹配用于迭代式設(shè)計(jì)過(guò)程的可重配置硬件時(shí),才可能實(shí)現(xiàn)上述方式。而結(jié)合LabVIEW系統(tǒng)設(shè)計(jì)軟件和支持LabVIEW RIO的矢量信號(hào)收發(fā)器可以達(dá)到這一目標(biāo)。