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