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