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