LabVIEW系統(tǒng)設(shè)計軟件對數(shù)字開發(fā)的影響
概覽
本文引用地址:http://butianyuan.cn/article/138212.htm長期以來的預(yù)測趨勢揭示了整個系統(tǒng)設(shè)計流程中的設(shè)計和測試趨于統(tǒng)一,這兩個先前獨立的功能將被集成在一起。集成功能的明顯優(yōu)勢在于縮短了投入市場的時間并獲得更好的整體質(zhì)量,而這些優(yōu)勢都歸功于在創(chuàng)建設(shè)計的同時集成了測試定義和實現(xiàn)。在系統(tǒng)設(shè)計過程中,從仿真到實現(xiàn)以及最終系統(tǒng)部署,都可以對這些早期測試平臺進行重用。
為了真正實現(xiàn)設(shè)計和測試統(tǒng)一,尤其對于類似RF通信等復(fù)雜功能,需要在測試和實現(xiàn)的設(shè)計生命周期的所有階段都能夠有效執(zhí)行所選的系統(tǒng)設(shè)計軟件和語言。在這之前,用于系統(tǒng)仿真或設(shè)計與用于系統(tǒng)實現(xiàn)的工具及技術(shù)存在很大不同。此外用于設(shè)計和實現(xiàn)的工具和語言通常不同于測試中使用的工具。這將導(dǎo)致不同功能團隊使用不同的工具,將增加交流的復(fù)雜程度并降低設(shè)計和測試中可重用代碼的流動性。這些因素都是實現(xiàn)設(shè)計和測試統(tǒng)一的主要障礙,因此理想的系統(tǒng)設(shè)計軟件需要提供單一語言用于仿真、實現(xiàn)和測試,并在所有設(shè)計階段和功能間最大化代碼重用。
減少限制的傳統(tǒng)方法
通常能夠跨越設(shè)計過程各個階段和功能的工具都嘗試著減少每個階段和功能之間的限制,而不是創(chuàng)建可跨越所有階段和功能的單一環(huán)境和語言。例如,在新興的RF通信標準開發(fā)中,通信系統(tǒng)設(shè)計專家可能會使用純數(shù)學算法對通信流進行建模和仿真。為了測試模型,設(shè)計人員可能會創(chuàng)建自定義的測試平臺或者重用合規(guī)套件對工業(yè)標準協(xié)議進行測試。
當設(shè)計功能達到要求時,從設(shè)計到實現(xiàn)的傳統(tǒng)轉(zhuǎn)換方法會將算法交給其它組,并通過手動方式將數(shù)學算法轉(zhuǎn)換為程序?qū)崿F(xiàn),通常將根據(jù)實現(xiàn)的執(zhí)行要求使用ANSI C或HDL語言?! ?/p>
圖1. "V"框圖通常用于說明設(shè)計、實現(xiàn)和測試的理想流程。將通用系統(tǒng)設(shè)計語言用于
跨越整個"V"流程可以最大化技能和算法重用,同時可以最小化轉(zhuǎn)換錯誤和查找修正周期數(shù)。
此外需要轉(zhuǎn)換測試平臺本身,該轉(zhuǎn)換步驟需要具有不同技能的其他組實現(xiàn),并且任何轉(zhuǎn)換中丟失的部分都可能導(dǎo)致新缺陷或測試覆蓋度降低。即使初始轉(zhuǎn)換階段可能不夠復(fù)雜,但該問題會隨著重新定義設(shè)計或發(fā)現(xiàn)程序?qū)崿F(xiàn)缺陷等變得更加復(fù)雜。設(shè)計算法和程序?qū)崿F(xiàn)的分離將導(dǎo)致“查找并修復(fù)”開發(fā)周期變慢。
為了緩解部分問題,一些工具可提供自動代碼生成步驟以便幫助仿真至ANSI C或HDL的轉(zhuǎn)換。雖然該過程有利于將算法設(shè)計遷移至處理器或現(xiàn)場可編程門陣列(FPGA),但仍需要由熟悉ANSI C或HDL的開發(fā)人員進行部署和調(diào)試設(shè)計??赡懿粫嬖谕昝赖脑荚O(shè)計,而自動代碼生成也會存在缺陷。
LabVIEW所提供的單工具方法
替代方法將利用到NI LabVIEW系統(tǒng)設(shè)計軟件,通信設(shè)計人員可以使用LabVIEW對通信流進行建模,然后實現(xiàn)測試平臺。當滿足設(shè)計和測試要求后,系統(tǒng)設(shè)計人員僅需將設(shè)計算法的終端直接重新設(shè)定為處理器或FPGA以用于具體程序?qū)崿F(xiàn)。從最初的實驗性設(shè)計到最終程序?qū)崿F(xiàn),系統(tǒng)設(shè)計人員可以使用相同的環(huán)境、算法以及調(diào)試和測試方法。該方式可以最大化技能和算法重用,同時最小化轉(zhuǎn)換錯誤和查找修正周期數(shù)。
既然在設(shè)計、實現(xiàn)和測試中重用相同算法而無需獨立的代碼生成步驟可提供各種優(yōu)勢,那么為什么其他系統(tǒng)設(shè)計軟件不直接使用重用的方法?這主要是由于一些歷史原因?qū)е铝嗽撉闆r的出現(xiàn)。大多數(shù)系統(tǒng)設(shè)計軟件最初用于仿真空間,并且該仿真已為系統(tǒng)行為的時域驗證進行優(yōu)化,然后向程序?qū)崿F(xiàn)方向發(fā)展。LabVIEW核心為系統(tǒng)實現(xiàn),并朝設(shè)計和仿真方向發(fā)展。其編程語言、環(huán)境以及更重要的IP/算法模塊是為了在處理器和FPGA上以實時速率進行編譯和執(zhí)行而設(shè)計的。
評論