LabVIEW系統(tǒng)設(shè)計(jì)軟件對(duì)數(shù)字開發(fā)的影響
概覽
本文引用地址:http://cafeforensic.com/article/138212.htm長(zhǎng)期以來的預(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ì)過程中,從仿真到實(shí)現(xiàn)以及最終系統(tǒng)部署,都可以對(duì)這些早期測(cè)試平臺(tái)進(jìn)行重用。
為了真正實(shí)現(xiàn)設(shè)計(jì)和測(cè)試統(tǒng)一,尤其對(duì)于類似RF通信等復(fù)雜功能,需要在測(cè)試和實(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)的工具和語言通常不同于測(cè)試中使用的工具。這將導(dǎo)致不同功能團(tuán)隊(duì)使用不同的工具,將增加交流的復(fù)雜程度并降低設(shè)計(jì)和測(cè)試中可重用代碼的流動(dòng)性。這些因素都是實(shí)現(xiàn)設(shè)計(jì)和測(cè)試統(tǒng)一的主要障礙,因此理想的系統(tǒng)設(shè)計(jì)軟件需要提供單一語言用于仿真、實(shí)現(xiàn)和測(cè)試,并在所有設(shè)計(jì)階段和功能間最大化代碼重用。
減少限制的傳統(tǒng)方法
通常能夠跨越設(shè)計(jì)過程各個(gè)階段和功能的工具都嘗試著減少每個(gè)階段和功能之間的限制,而不是創(chuàng)建可跨越所有階段和功能的單一環(huán)境和語言。例如,在新興的RF通信標(biāo)準(zhǔn)開發(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ì)將算法交給其它組,并通過手動(dòng)方式將數(shù)學(xué)算法轉(zhuǎn)換為程序?qū)崿F(xiàn),通常將根據(jù)實(shí)現(xiàn)的執(zhí)行要求使用ANSI C或HDL語言。
圖1. "V"框圖通常用于說明設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的理想流程。將通用系統(tǒng)設(shè)計(jì)語言用于
跨越整個(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ù)雜,但該問題會(huì)隨著重新定義設(shè)計(jì)或發(fā)現(xiàn)程序?qū)崿F(xiàn)缺陷等變得更加復(fù)雜。設(shè)計(jì)算法和程序?qū)崿F(xiàn)的分離將導(dǎo)致“查找并修復(fù)”開發(fā)周期變慢。
為了緩解部分問題,一些工具可提供自動(dòng)代碼生成步驟以便幫助仿真至ANSI C或HDL的轉(zhuǎn)換。雖然該過程有利于將算法設(shè)計(jì)遷移至處理器或現(xiàn)場(chǎng)可編程門陣列(FPGA),但仍需要由熟悉ANSI C或HDL的開發(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è)試中重用相同算法而無需獨(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ā)展。其編程語言、環(huán)境以及更重要的IP/算法模塊是為了在處理器和FPGA上以實(shí)時(shí)速率進(jìn)行編譯和執(zhí)行而設(shè)計(jì)的。
評(píng)論