楊賢軍
(柳州職業(yè)技術(shù)學(xué)院,廣西 柳州 545006)
EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計算機輔助設(shè)計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn)極大地提高了電路設(shè)計的效率,減輕了設(shè)計者的勞動強度。EDA實驗平臺硬件環(huán)境往往比較復(fù)雜,因此在實際的教學(xué)過程中,很多院校都紛紛采用了基于虛擬化技術(shù)來構(gòu)建EDA實驗平臺。國內(nèi)有關(guān)基于虛擬技術(shù)構(gòu)建 EDA平臺的相關(guān)研究也有很多,比較有代表性的有:南京航空航天大學(xué)肖鐵軍,韓曉茹,張煥春的《基于Internet的虛擬 EDA實驗系統(tǒng)》介紹了一個基于Internet的虛擬EDA實驗系統(tǒng),采用虛擬化技術(shù)實現(xiàn)了數(shù)字電路的遠(yuǎn)程測試;洛陽工業(yè)高等??茖W(xué)校黃慧敏,江姝妍的《虛擬儀器在電子實驗教學(xué)中的應(yīng)用》系統(tǒng)地介紹了虛擬儀器技術(shù)的概念及其發(fā)展,以及EDA在電子類輔助教學(xué)和實驗中應(yīng)用的探討;揚州職業(yè)大學(xué)的《基于EDA技術(shù)的電類課程輔助實驗》研究了應(yīng)用EDA技術(shù)的EWB軟件進(jìn)行電類課程的輔助實驗 ,并對使用軟件開展實驗的特點進(jìn)行了分析[1-2]。
從目前的研究來看,基于虛擬技術(shù)的EDA平臺在設(shè)計時往往只考慮到 EDA平臺所需要提供的實驗環(huán)境,所構(gòu)建的 EDA實驗平臺也更多的是圍繞EDA實驗過程中所提出的各種實驗要求來進(jìn)行設(shè)計和構(gòu)造。然而在構(gòu)造虛擬化的EDA實驗平臺時,過多的強調(diào) EDA所具備的實驗功能模塊而忽略了EDA實驗平臺最終是作為一個教學(xué)輔助環(huán)境的目的,從而導(dǎo)致目前所設(shè)計的虛擬化EDA實驗平臺雖然功能往往比較完善或者強大[3],卻不能很好地輔助學(xué)生開展相關(guān)的 EDA實驗操作,本文針對目前EDA實驗平臺設(shè)計過程中存在的問題,從EDA實驗平臺所要具備的教學(xué)輔助功能入手,設(shè)計了一種新型的基于虛擬技術(shù)的EDA實驗平臺[4]。
本文設(shè)計的虛擬EDA實驗平臺既需要提供EDA實驗的相關(guān)功能模塊,同時還要能夠?qū)DA實驗過程提供輔助幫助,對用戶使用該平臺開展EDA實驗過程進(jìn)行及時監(jiān)測,及時發(fā)現(xiàn)用戶在使用EDA使用過程中所出現(xiàn)的各種問題,并給與相應(yīng)提示性的指導(dǎo)操作,提高用戶使用EDA實驗平臺的效果。因此本文設(shè)計的EDA實驗平臺組成結(jié)構(gòu)如圖1所示。
圖1 虛擬EDA平臺的組成
從圖1可以看出,本文設(shè)計的EDA實驗平臺主要由三大部分組成。部分一是虛擬EDA實驗平臺的工程庫,部分二是虛擬EDA實驗平臺的可視化操作界面,部分三位虛擬 EDA實驗平臺的過程監(jiān)測部分。其中,工程庫是虛擬EDA實驗平臺的基礎(chǔ)模塊,在工程庫中存儲了 EDA實驗的原理圖設(shè)計模塊,EDA實驗中的電器規(guī)則應(yīng)用模塊、EDA實驗的布線規(guī)則模塊和EDA實驗中的方針模塊,應(yīng)用這些功能模塊可以為用戶開展 EDA相關(guān)實驗提供豐富全面的實驗條件,讓用戶能夠快速有針對性的開展EDA相關(guān)功能模塊的實驗。可視化界面模塊將為用戶提供EDA實驗的各種操作環(huán)境和操作界面,應(yīng)用本文設(shè)計的虛擬EDA實驗平臺,目的就是為用戶提供一個在真實EDA實驗平臺操作相類似的實驗環(huán)境,使得用戶通過本文所設(shè)計的相關(guān) EDA實驗平臺開展相關(guān)EDA實驗?zāi)軌蜻_(dá)到與真實的EDA實驗環(huán)境操作相等價的實驗效果,因此在EDA實驗平臺的可視化操作界面中,需要為用戶提供與真實的EDA實驗完全一致的操作界面,使得用戶在本文設(shè)計的EDA實驗操作界面中進(jìn)行各種EDA實驗操作過程、操作步驟以及看到的通信化界面及操作結(jié)果與實際的EDA環(huán)境是相一致的。過程監(jiān)測部分則完全是為保證本文設(shè)計的虛擬 EDA實驗平臺能夠更好的輔助擁護開展EDA相關(guān)實驗所設(shè)計的一個功能模塊,在該功能模塊中能夠自動的對 EDA實驗平臺中工程庫預(yù)先存儲的各種 EDA實驗內(nèi)容進(jìn)行分析,形成EDA實驗過程監(jiān)測的參考數(shù)據(jù)[5-6]。
當(dāng)用戶從 EDA實驗平臺的工程庫選取了某個實驗內(nèi)容作為當(dāng)前EDA的實驗內(nèi)容,則過程監(jiān)測模塊將會自動的分析用戶所選取的實驗?zāi)K操作內(nèi)容以及操作過程,根據(jù)用戶所需要完成的實驗操作步驟,自動的形成對用戶實驗操作步驟的檢測流程,對用戶進(jìn)行 EDA實驗操作過程的所有關(guān)鍵節(jié)點建立檢測標(biāo)準(zhǔn)和參考數(shù)據(jù)。當(dāng)用戶應(yīng)本文設(shè)計的虛擬EDA實驗平臺開展預(yù)先選定的EDA實驗內(nèi)容時,系統(tǒng)的監(jiān)測模塊自動將用戶所進(jìn)行的 EDA操作以及所得到的EDA實驗結(jié)果與預(yù)先產(chǎn)生的EDA實驗參照數(shù)據(jù)進(jìn)行對比。如果對比的數(shù)據(jù)一致或者在運行的誤差范圍之內(nèi),則判定當(dāng)前用戶是按照預(yù)先設(shè)計的EDA實驗步驟開展EDA實驗,這將表明用戶所進(jìn)行的EDA實驗步驟和實驗過程是正確的。如果用戶得到的實驗結(jié)果與參考數(shù)據(jù)相差很大,或者用戶完全沒有得到EDA實驗的相關(guān)結(jié)果,則本文設(shè)計的 EDA實驗監(jiān)測模塊將根據(jù)預(yù)先設(shè)計的檢查點和檢查參考數(shù)據(jù)對用戶所進(jìn)行的 EDA實驗操作進(jìn)行提示,告知用戶當(dāng)前的操作離預(yù)先設(shè)計的正確操作存在差距,引導(dǎo)用戶按正確的方法和步驟來開展相關(guān)的EDA實驗[7-8]。
在構(gòu)建虛擬EDA實驗平臺過程中,平臺中的工程庫模塊和實驗過程監(jiān)測模塊是關(guān)鍵模塊,也是本文設(shè)計的EDA實驗平臺中的特色部分,為此本文將圍繞這兩個部分的詳細(xì)實現(xiàn)進(jìn)行分析和設(shè)計。
根據(jù)本文設(shè)計的虛擬 EDA實驗平臺的組成結(jié)構(gòu),在EDA實驗平臺的設(shè)計過程中,本文提出了如圖2 所示的EDA實驗功能模塊的組成結(jié)構(gòu)。本文設(shè)計的EDA實驗功能模塊主要是針對EDA設(shè)計過程中的以下實驗內(nèi)容進(jìn)行設(shè)計:電路原理圖設(shè)計、電路電器規(guī)則檢測、電路布局布線設(shè)計和電路仿真模擬分析設(shè)計等。
圖2 EDA實驗功能模塊的組成
圍繞本實驗平臺需要開展的這些實驗功能,本文在設(shè)計過程中首先在實驗平臺的工程庫中設(shè)計了相應(yīng)的四個不同類別的信息庫,比如在原理圖設(shè)計模塊中,將針對一些常用的邏輯功能電路預(yù)先存儲了多種實現(xiàn)原理圖,而且即便是同一個邏輯功能的實現(xiàn)也存儲了多個基于不同硬件芯片的電路設(shè)計原理圖,也有以不同的設(shè)計角度或者設(shè)計方法所實現(xiàn)的電路設(shè)計原理圖,當(dāng)用戶進(jìn)行EDA原理圖設(shè)計實驗時,將可以從EDA實驗平臺的工程庫中調(diào)取出預(yù)先存儲的設(shè)計原理圖,使用戶能夠?qū)㈩A(yù)先存儲的設(shè)計原理圖與其自身設(shè)計的原理圖進(jìn)行對比分析,發(fā)現(xiàn)EDA原理圖設(shè)計過程中存在的種種問題,而且當(dāng)用戶需要設(shè)計邏輯功能比較復(fù)雜的硬件電路時[9],對于復(fù)雜硬件電路中的某些獨立的功能子模塊的設(shè)計則完全可以調(diào)用EDA實驗平臺中所提供的標(biāo)準(zhǔn)原理圖模塊,這將大大降低用戶進(jìn)行復(fù)雜EDA實驗時所付出的工作量,而且也有助于用戶將更多的精力放在需要考慮 EDA設(shè)計的其他問題,避免用戶花費大量的時間在一些相對簡單的重復(fù)的EDA設(shè)計工作中,從而確保用戶利用本文設(shè)計的EDA實驗平臺能夠從事一些較為復(fù)雜的EDA實驗任務(wù)的開發(fā)與設(shè)計。
采取類似的方式,在EDA設(shè)計的工程庫中,所對應(yīng)的電路電器規(guī)則檢測、電路布局布線功能模塊和模擬仿真功能模塊都設(shè)置了不同的實驗方案和實現(xiàn)策略。用戶既可以在設(shè)計過程中調(diào)出系統(tǒng)預(yù)先存儲的標(biāo)準(zhǔn)解決方案,與其自行設(shè)計的實現(xiàn)方案進(jìn)行對比,判斷兩種方案的優(yōu)劣,同時也可以在用戶進(jìn)行一些較為復(fù)雜的EDA實驗開發(fā)過程中,直接調(diào)用系統(tǒng)提供的某些標(biāo)準(zhǔn)功能模塊,降低用戶的開發(fā)難度。
本文設(shè)計的虛擬EDA實驗平臺在構(gòu)建了EDA實驗工程庫后將采用虛擬化技術(shù)通過構(gòu)建虛擬機及運行虛擬的EDA開發(fā)工具,使得用戶能夠獲得與真實的EDA操作環(huán)境完全一致的模擬操作環(huán)境,在模擬操作環(huán)境中將為用戶提供 EDA實驗所需要的所有實驗環(huán)節(jié)的模擬,確保用戶在本文設(shè)計的EDA實驗平臺中能夠進(jìn)行和真實的 EDA實驗過程完全一致的實驗操作。
對 EDA實驗過程進(jìn)行監(jiān)測是本文設(shè)計的虛擬EDA實驗平臺所具備的一個特殊功能,利用該功能可以正確的開展EDA相關(guān)實驗。本文設(shè)計的EDA實驗過程監(jiān)測模塊的實現(xiàn)原理如圖 3所示。從圖 3可以看出當(dāng)用戶從 EDA實驗平臺的工程庫中選取了實驗內(nèi)容和相關(guān)的實驗對象時,系統(tǒng)將自動的生成對應(yīng)該實驗內(nèi)容的標(biāo)準(zhǔn)操作方法和操作步驟,并給出各個步驟操作之后的參考數(shù)值。這一數(shù)據(jù)的生成過程是通過對 EDA平臺中的所有任務(wù)進(jìn)行科學(xué)的劃分之后形成的。之后,應(yīng)用本文設(shè)計的EDA實驗過程監(jiān)測模塊對用戶進(jìn)行的 EDA實驗操作過程的關(guān)鍵數(shù)據(jù)抽取用戶操作的特征信息,建立一個與EDA實驗平臺設(shè)置的對比參考節(jié)點相一致的用戶操作節(jié)點。然后將對比參考節(jié)點中的所有數(shù)值與對應(yīng)的用戶操作節(jié)點中的數(shù)值進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為用戶是按照預(yù)先設(shè)置的操作步驟開展相關(guān)實驗,否則就對用戶的操作過程進(jìn)行預(yù)警提示,同時給出用戶進(jìn)行正確操作的引導(dǎo)步驟,因此,利用本文設(shè)計的這一過程監(jiān)測模塊可以有效地對用戶實驗過程進(jìn)行監(jiān)測和正確引導(dǎo),提高用戶使用EDA實驗平臺的實際效率[10]。
圖3 用戶EDA實驗過程監(jiān)測
本文設(shè)計了基于虛擬機的EDA實驗平臺,通過虛擬機技術(shù)能夠為用戶提供功能強大模擬仿真程度高的EDA實驗平臺,同時本文設(shè)計的EDA實驗平臺中增加了對EDA實驗的過程監(jiān)測功能,有效的對用戶開展 EDA實驗的中間過程及所得到的中間結(jié)果及時監(jiān)測,引導(dǎo)用戶按照正確的方法和步驟開展EDA實驗,大幅提高了EDA實驗平臺的綜合利用效果,在實際應(yīng)用中收效明顯。
[1] 孫旭,謝興紅,林凡強,等.單片機、DSP、EDA的綜合實驗系統(tǒng)的設(shè)計[J].實驗科學(xué)與技術(shù),2008,6(06):55-57.
[2] 張曉燕,李洋.EDA技術(shù)在實踐教學(xué)體系中應(yīng)用的探索和實踐[J].實驗室研究與探索,2008,27(12):48-49.
[3] 楊敏.改進(jìn)實驗加強 EDA教學(xué)[J].實驗室研究與探索,2008,27(02):110-112.
[4] 孔棟,鄭建宏.嵌入式TCPIP協(xié)議棧LWIP在ARM平臺上的移植與應(yīng)用[J].通信技術(shù),2008,41(06):38-40.
[5] 肖鐵軍,韓曉茹,張煥春. 基于Internet的虛擬EDA實驗系統(tǒng)[J].電子測量與儀器學(xué)報,2005,19(14):56-60.
[6] 黃慧敏,江姝妍.虛擬儀器在電子實驗教學(xué)中的應(yīng)用[J].實驗室科學(xué),2006(03):69-70.
[7] 王鵬,曹秀英.基于嵌入式系統(tǒng)的無線接入點硬件平臺的設(shè)計與實現(xiàn)[J].信息安全與通信保密,2004(12):45-47.
[8] 楊永,萬曉榆,樊自甫.基于ARM9嵌入式網(wǎng)管系統(tǒng)的設(shè)計與實現(xiàn)[J].通信技術(shù),2008,41(03):68-70.
[9] 段曉華.密碼學(xué)虛擬實驗室的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(03):178-180.
[10] 劉地軍,鐘宏.基于 ARM架構(gòu)的視頻服務(wù)器設(shè)計[J].信息安全與通信保密,2010(12):76-77,80.