李琳琳, 任家富, 吳建平, 周四春, 陳光柱
(成都理工大學(xué) 核技術(shù)與自動(dòng)化工程學(xué)院,四川 成都 610059)
隨著EDA技術(shù)的迅速發(fā)展,社會(huì)對(duì)電子電氣類學(xué)生的EDA設(shè)計(jì)水平提出了更高要求[1-3],多學(xué)科交叉的、具有一定難度的、綜合性EDA實(shí)驗(yàn)項(xiàng)目的開展[4],對(duì)于提升學(xué)生的設(shè)計(jì)水平具有重要意義[5-6]。要提升EDA實(shí)驗(yàn)教學(xué)質(zhì)量,除了從硬件建設(shè)上花大力氣加大實(shí)驗(yàn)室資金投入之外,如何利用已有實(shí)驗(yàn)室條件另辟蹊徑,改革EDA實(shí)驗(yàn)?zāi)J剑蔀樘嵘龑?shí)驗(yàn)教學(xué)質(zhì)量和學(xué)生創(chuàng)新能力的難點(diǎn)問題。
目前EDA實(shí)驗(yàn)課程主要是基于EDA實(shí)驗(yàn)箱和EDA集成開發(fā)軟件(Quartus II或ISE)及仿真軟件(ModelSim)[7-8],通過實(shí)驗(yàn)箱搭建外圍電路,在集成開發(fā)軟件的環(huán)境中進(jìn)行編程、編譯和下載[9],可以滿足EDA實(shí)驗(yàn)課程的基本的驗(yàn)證性和設(shè)計(jì)性實(shí)驗(yàn)[10]。另外,ModelSim仿真軟件在EDA的實(shí)驗(yàn)課程中也有所涉及,主要用于彌補(bǔ)EDA實(shí)驗(yàn)硬件平臺(tái)型號(hào)的單一性[11],完成與平臺(tái)無關(guān)的HDL語言仿真,在實(shí)驗(yàn)過程中,學(xué)生主要通過仿真軟件進(jìn)行簡(jiǎn)單的內(nèi)部邏輯及時(shí)序電路的調(diào)試。然而,在進(jìn)行較大規(guī)模的設(shè)計(jì)中,尤其是在涉及到算法設(shè)計(jì)和驗(yàn)證時(shí),目前的實(shí)驗(yàn)手段無法直接提供參考模型與實(shí)際運(yùn)行結(jié)果進(jìn)行對(duì)比分析,需要另外編寫復(fù)雜的驗(yàn)證代碼或者更高級(jí)的檢測(cè)分析設(shè)備支撐結(jié)果的驗(yàn)證過程[12]。在通常的EDA實(shí)驗(yàn)室配備條件下,學(xué)生難以在實(shí)驗(yàn)課中快速的對(duì)功能設(shè)計(jì)的正確性進(jìn)行直觀的判斷。這無疑會(huì)影響此類拓展性實(shí)驗(yàn)的開展,也勢(shì)必會(huì)制約學(xué)生創(chuàng)新性思維的發(fā)展。
由此可見,目前“EDA實(shí)驗(yàn)箱+集成開發(fā)軟件(Quartus II或ISE)+仿真工具(ModelSim)”的實(shí)驗(yàn)?zāi)J饺鄙賹?duì)復(fù)雜實(shí)驗(yàn)結(jié)果正確性的驗(yàn)證步驟和方法,與生產(chǎn)實(shí)踐中的EDA設(shè)計(jì)及驗(yàn)證流程脫節(jié),已明顯落后于學(xué)生提高EDA設(shè)計(jì)水平的要求。
Matlab作為一種強(qiáng)大的數(shù)學(xué)軟件,在算法開發(fā)、組件建模、可視化分析、聯(lián)合編程等方面優(yōu)勢(shì)明顯,在近年來的軟件發(fā)展上,它提供了更廣泛的與各行業(yè)專業(yè)軟件無縫接口的聯(lián)合仿真途徑[13],將其新版本與EDA相關(guān)軟件的交互功能靈活應(yīng)用于EDA實(shí)驗(yàn)教學(xué),必將成為改革和創(chuàng)新實(shí)驗(yàn)教學(xué)手段、提升實(shí)驗(yàn)教學(xué)效果的利器。
基于Matlab的EDA實(shí)驗(yàn)新模式在保留原有的設(shè)計(jì)步驟的基礎(chǔ)上,增加了Matlab與ModelSim聯(lián)合仿真驗(yàn)證環(huán)節(jié),充分利用Matlab的數(shù)據(jù)分析和可視化的強(qiáng)大優(yōu)勢(shì),將EDA設(shè)計(jì)輸出的結(jié)果與參考模型進(jìn)行比對(duì)分析,從而使EDA綜合性實(shí)驗(yàn)形成了完整的設(shè)計(jì)、驗(yàn)證、再設(shè)計(jì)的閉環(huán)過程,更貼近實(shí)際應(yīng)用需求。
新版本Matlab/Simulink仿真工具中,提供了EDA Simulator Link接口擴(kuò)展模塊,它是與EDA硬件設(shè)計(jì)無縫連結(jié)的聯(lián)合仿真模塊[14]。通過EDA Simulator Link可以實(shí)現(xiàn)Matlab與ModelSim之間的快速、雙向的聯(lián)合仿真。這種聯(lián)合仿真方法可以支持內(nèi)存共享和TCP/IP通信兩種方式,實(shí)現(xiàn)單臺(tái)或多臺(tái)計(jì)算機(jī)間,甚至是跨網(wǎng)絡(luò)的聯(lián)合仿真。
聯(lián)合仿真實(shí)驗(yàn)的技術(shù)方案以培養(yǎng)學(xué)生的創(chuàng)新思維為主旨,以完成EDA設(shè)計(jì)的功能驗(yàn)證為目的,為實(shí)現(xiàn)Matlab/Simulink與ModelSim仿真器之間的聯(lián)合仿真設(shè)計(jì)了以下三種模式[15],分別見圖1~3。
2.1.1Matlab作驗(yàn)證測(cè)試平臺(tái)
HDL模塊作為組件,其仿真流程如下:
圖1 Matlab作驗(yàn)證測(cè)試平臺(tái)
圖2 HDL作驗(yàn)證測(cè)試平臺(tái),Matlab M函數(shù)作為組件
圖3 Simulink作驗(yàn)證測(cè)試平臺(tái)[16]
(1) 啟動(dòng)Matlab,用hdldaemon命令開啟通信方式;
(2) 在Matlab中編寫驗(yàn)證平臺(tái)函數(shù)(如:modsimrand_plot);
(3) 啟動(dòng)ModelSim,編譯HDL代碼,用vsimmatlab加載HDL實(shí)例(如:vsimmatlab work. modsimrand);
(4) 在ModelSim中調(diào)用EDA Simulator Link命令matlabtb,初始化ModelSim中HDL實(shí)例與Matlab中M函數(shù)的鏈接。如:matlabtb modsimrand-mfunc modsimrand_plot-rising /modsimrand/clk;
(5) 在ModelSim中運(yùn)行run命令,啟動(dòng)仿真;
(6) 在Matlab中對(duì)HDL模塊的輸出進(jìn)行分析對(duì)比,結(jié)束仿真。
2.1.2HDL作驗(yàn)證測(cè)試平臺(tái)
Matlab M文件(函數(shù))作為組件,替代還沒未完成的HDL模塊或作為HDL模塊的參考模型,如圖2所示。此模式下的仿真流程與上一種模式的仿真流程相似,只是步驟(4)用matlabcp初始化ModelSim與Matlab的鏈接。如:matlabcp osc_top.u_osc_filter-mfunc oscfilter。
2.1.3Simulink作驗(yàn)證測(cè)試平臺(tái)
HDL模塊通過Cosimulation模塊集成到Simulink測(cè)試驗(yàn)證平臺(tái)中,圖3所示仿真流程如下:
(1) 啟動(dòng)ModelSim,編譯HDL代碼;
(2) 在ModelSim中用vsimulink命令加載HDL實(shí)例。如:vsimulink work.manchester;
(3) 啟動(dòng)Matlab,搭建Simulink的驗(yàn)證平臺(tái),通過Simulink模型庫中的Cosimulation模塊,設(shè)置與HDL模塊的映射關(guān)系,相當(dāng)于將待驗(yàn)證的HDL模塊在Simulink驗(yàn)證平臺(tái)中實(shí)例化;
(4) 在Simulink中啟動(dòng)仿真,對(duì)HDL模塊的輸出進(jìn)行顯示、分析及對(duì)比,結(jié)束仿真。
EDA新實(shí)驗(yàn)?zāi)J揭肓薓atlab分析工具,可支撐大量的與數(shù)據(jù)處理和算法實(shí)現(xiàn)相關(guān)的EDA實(shí)驗(yàn),具有一定代表性的綜合性實(shí)驗(yàn)項(xiàng)目如表1所示。從表中實(shí)驗(yàn)項(xiàng)目不難看出,新實(shí)驗(yàn)?zāi)J桨研盘?hào)與系統(tǒng)、數(shù)字信號(hào)處理、通信原理、電機(jī)學(xué)、自動(dòng)控制原理等多門課程中的代表性知識(shí)點(diǎn)納入進(jìn)來,實(shí)驗(yàn)課的綜合性水平實(shí)現(xiàn)了質(zhì)的飛躍。
表1 新增綜合性實(shí)驗(yàn)項(xiàng)目
與傳統(tǒng)的EDA實(shí)驗(yàn)過程不同,新模式下由于實(shí)驗(yàn)難度有所提升,因此其實(shí)驗(yàn)過程顯得更貼近于實(shí)際生產(chǎn)的設(shè)計(jì)過程:
(1) 學(xué)生要對(duì)不同的實(shí)驗(yàn)題目做需求分析,明確其中的EDA設(shè)計(jì)及驗(yàn)證中所涉及的核心問題及其解決思路;
(2) 編寫HDL模塊;
(3) 設(shè)計(jì)驗(yàn)證方式(上述的三種Modelsim與Matlab的聯(lián)合仿真接口方式);
(4) 搭建聯(lián)合仿真平臺(tái),編寫驗(yàn)證代碼,進(jìn)行聯(lián)合仿真驗(yàn)證。發(fā)現(xiàn)設(shè)計(jì)中存在的問題,并返回步驟(2)進(jìn)行修改,然后重新驗(yàn)證;
(5) 在硬件電路中的實(shí)現(xiàn)與驗(yàn)證;
(6) 完成整體設(shè)計(jì),撰寫實(shí)驗(yàn)設(shè)計(jì)報(bào)告
基于Matlab的EDA實(shí)驗(yàn)新模式緊跟學(xué)科領(lǐng)域內(nèi)的軟件發(fā)展前沿,將Matlab的新功能用于完善EDA實(shí)驗(yàn)流程,實(shí)現(xiàn)了一個(gè)包含了完整EDA設(shè)計(jì)流程的實(shí)驗(yàn)新模式,在不增加實(shí)驗(yàn)室硬件投入的前提下,擴(kuò)充了EDA綜合性實(shí)驗(yàn)教學(xué)的內(nèi)容。實(shí)踐證明,新的實(shí)驗(yàn)?zāi)J绞箤W(xué)生在實(shí)驗(yàn)課程中便可直觀快速的檢驗(yàn)復(fù)雜的設(shè)計(jì)結(jié)果,為創(chuàng)新性的設(shè)計(jì)和實(shí)驗(yàn)提供了平臺(tái),提升了實(shí)驗(yàn)教學(xué)的品質(zhì),具有重要的推廣價(jià)值。
[1] 井新宇.電子設(shè)計(jì)自動(dòng)化技術(shù)教學(xué)改革的研究與實(shí)踐——“七階段”教學(xué)法的應(yīng)用與推廣[J].實(shí)驗(yàn)室研究與探索,2010,29(12):202-205.
JING Xin-yu.Research and Practice of EDA Technology Teaching Innovation——Promotion and Application of "Seven Stages" Teaching Method[J]. Research and Exploration in Laboratory, 2010,29(12):202-205.
[2] 洪 瀾,蔡修奮,陳 敏.開放式電子實(shí)驗(yàn)與 EDA 技術(shù)結(jié)合的探索[J].實(shí)驗(yàn)室研究與探索,2011,30(8):307-308.
HONG Lan,CAI Xiu-fen,CHEN Min.EDA Technology in Open Electronic Experiment[J].Research and Exploration in Laboratory,2011,30(8):307-308.
[3] 高圣偉,劉雪莉,羅 菁.加強(qiáng)EDA實(shí)踐教學(xué)初探[J].實(shí)驗(yàn)室研究與探索,2011(3):369-371.
GAO Sheng-wei,LIU Xue-li,LUO Jing.Preliminary Study on Strengthening the EDA Practice Teaching[J]. Research and Exploration in Laboratory, 2011(3):369-371.
[4] 徐彥凱,雙 凱,姜 珊.EDA課程設(shè)計(jì)課題的開發(fā)和體會(huì)[J].實(shí)驗(yàn)室研究與探索,2011,30(2):114-116.
XU Yan-kai,SHUANG Kai,JIANG Shan .Exploitation and Experience for Curriculum Design of EDA[J].Research and Exploration in Laboratory,2011,30(2):114-116.
[5] 尹廷輝,徐志軍.提高EDA實(shí)驗(yàn)教學(xué)質(zhì)量的實(shí)踐與探索[J].電氣電子教學(xué)學(xué)報(bào),2003(2):76-77,80.
YIN Ting-hui,XU Zhi-jun.Practice and Exploration on EDA Experiment Teaching[J]. Journal of Electrical & Electronic Engineering Education,2003(2):76-77+80.
[6] 趙海龍,王金玉,付光杰.合理利用EDA實(shí)驗(yàn)教學(xué)提高學(xué)生創(chuàng)新能力[J].價(jià)值工程,2013(12):1-2.
ZHAO Hai-long,WANG Jin-yu,FU Guang-jie.To Improve Students’ Innovation Ability with Rational Use of EDA Experimental Teaching[J].Value Engineering, 2013(12):1-2.
[7] 周澤華,譚 敏.EDA實(shí)驗(yàn)教學(xué)綜述[J].科技視界,2012(3):20-21.
ZHOU Ze-hua,TAN Min.Survey of EDA Experimental Teaching[J].Science & Technology Vision, 2012(3):20-21.
[8] 秦磊華,王小蘭,管 軍.EDA仿真在組成原理設(shè)計(jì)性實(shí)驗(yàn)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2009(4):79-82.
QIN Lei-hua,WANG Xiao-lan,GUAN Jun.Application of EDA Simulation in Designing Experiments of Computer Organization[J].Research and Exploration in Laboratory, 2009(4):79-82.
[9] 夏宇聞,胡燕祥,刁嵐松,等.Verilog HDL數(shù)字設(shè)計(jì)與綜合[M].2版.北京:電子工業(yè)出版社,2007.
[10] 林連冬.EDA技術(shù)開放實(shí)驗(yàn)室研究型實(shí)驗(yàn)的教學(xué)探索[J].實(shí)驗(yàn)室研究與探索,2013,32(5):216-218.
LIN Lian-dong.Teaching Exploration and Practice in the Open Laboratory of EDA Technology[J].Research and Exploration in Laboratory, 2013,32(5):216-218.
[11] 黃衛(wèi)華,賈歷程.基于FPGA的EDA實(shí)驗(yàn)系統(tǒng)改革與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2012,31(4):203-206.
HUANG Wei-hua,JIA Li-cheng.Practice and Reform of EDA Experiment System Based on FPGA[J].Research and Exploration in Laboratory, 2012,31(4):203-206.
[12] 仲婷婷,王長松,周曉敏,等.基于FPGA的卡爾曼濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2008(8):20-23,26.
ZHONG Ting-ting,WANG Chang-song,ZHOU Xiao-min,etal.Design and Implemention of Kalman Filter Based on FPGA[J].Application of Electronic Technique, 2008(8):20-23,26.
[13] 張 亮,郭仕劍.MATLAB7.X系統(tǒng)建模與仿真[M].北京:人民郵電出版社,2006.
[14] 高 峰,周永川.MATLAB中多EDA軟件實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)[J].無線電通信技術(shù),2010(3):31-33.
GAO Feng,ZHOU Yong-chuan.Implementation of Digital System Design by Multiple EDA Software Programs in MATLAB[J].Radio Communications Technology, 2010(3):31-33.
[15] EDA Simulator Link User’s Guide 2011b[Z]. The MathWorks, Inc.2011.
[16] 李琳琳,秦 敏.音頻異步采樣率轉(zhuǎn)換IP的設(shè)計(jì)及聯(lián)合仿真[J].電子技術(shù)應(yīng)用,2013(6):121-123.
Li Lin-lin,Qin Min.The Design and Co-simulation of Audio Asynchronous Sample Rate Conversion IP[J].Application of Electronic Technique,2013(6):121-123.