【摘要】本文分析了EDA技術(shù)的特點和傳統(tǒng)教學(xué)中存在的諸多問題,從教學(xué)內(nèi)容選取、理論課堂設(shè)計和實驗教學(xué)三個環(huán)節(jié)探討了電子信息工程專業(yè)(嵌入式方向)EDA課程的教學(xué)改革實踐。
【關(guān)鍵詞】 EDA;數(shù)字電路;數(shù)字系統(tǒng)設(shè)計;課程教學(xué)改革
【中圖分類號】G642.0 【文獻(xiàn)標(biāo)識碼】B 【文章編號】2095-3089(2017)19-0020-02
EDA(Electronic Design Automation)是現(xiàn)代電子設(shè)計領(lǐng)域中的一門核心技術(shù),具體來說,它是以計算機(jī)為工作平臺,EDA工具軟件為開發(fā)環(huán)境,可編程邏輯器件或?qū)S眉呻娐窞槟繕?biāo)器件設(shè)計實現(xiàn)數(shù)字系統(tǒng)的一種技術(shù)。在多數(shù)高校教學(xué)體系中,EDA課程是繼電路分析、模擬電子技術(shù)、數(shù)字邏輯與電路等電路課程之后的一門電子信息類專業(yè)必修課程,為數(shù)字信號處理、數(shù)字圖像處理、通信原理等后續(xù)課程提供了一種設(shè)計實現(xiàn)工具。
EDA課程的教學(xué)內(nèi)容十分廣泛,若簡單的按書本章節(jié)開展教學(xué),不僅耗費大量課時,教學(xué)效果也不佳。以EDA設(shè)計語言VerilogHDL教學(xué)為例,如果照搬Java、C等軟件程序設(shè)計語言的教學(xué)思路,按照傳統(tǒng)方法按部就班地從講解語言的結(jié)構(gòu)、數(shù)據(jù)類型、變量常量定義、運算操作符及各類語句等語法入手,體現(xiàn)不出硬件描述語言的特色,教學(xué)效率也欠佳。
EDA技術(shù)本身是數(shù)字電路設(shè)計的一種先進(jìn)實現(xiàn)方法,和基于自底向上設(shè)計理念的手工技術(shù)相比,它不僅能用來設(shè)計各種簡單的分立元件,更適用于開發(fā)系統(tǒng)級的數(shù)字產(chǎn)品。因此,若在教學(xué)中簡單地將先修課數(shù)字邏輯與電路課程中的各個單元電路拿來用Verilog重復(fù)設(shè)計一遍,并不能充分體現(xiàn)EDA的強(qiáng)大功能,也不能說明EDA技術(shù)之所以成為業(yè)界主流技術(shù)的原因。
在傳統(tǒng)的電路實驗教學(xué)中,各節(jié)課的實驗內(nèi)容往往是針對一個獨立單元電路設(shè)計的。這樣的實驗教學(xué)安排使得理論課上講解的各電路模塊沒有銜接起來,僅停留在電路功能驗證的層面上,既無法使學(xué)生在動手實踐過程中融會貫通理論課上學(xué)習(xí)的各個知識點,也沒有給予學(xué)生綜合運用以前所學(xué)各門課程知識的機(jī)會來提高自己電子設(shè)計的實際能力。
總之,傳統(tǒng)的教學(xué)內(nèi)容安排和課堂設(shè)計僅僅讓學(xué)生熟悉了具體的EDA工具軟件,而不是先進(jìn)的設(shè)計理念,學(xué)生只是機(jī)械地理解和掌握EDA開發(fā)工具。
我校電子信息工程專業(yè)主要培養(yǎng)嵌入式方向軟硬件兼通的電子設(shè)計人才,在學(xué)習(xí)本課程之前,學(xué)生從先修電路類課程掌握了基本的電路知識;通過微機(jī)原理與接口技術(shù)、單片機(jī)原理與應(yīng)用等嵌入式類課程學(xué)習(xí)了處理器的工作原理。通過本課程的學(xué)習(xí),學(xué)生應(yīng)能用簡單的電路和集成芯片搭建嵌入式硬件平臺,完成軟硬件的協(xié)同設(shè)計。
實際教學(xué)中,考慮到上述情況,我們在教學(xué)內(nèi)容選取方面把握四個原則:首先必須圍繞一個完整的項目,包含了EDA技術(shù)的各個知識點;第二,涵蓋了數(shù)字電路的各個方面,既有同步時序電路,又有異步時序電路;第三,注意與先修電路類、嵌入式處理器類課程的銜接,實現(xiàn)各門課的融會貫通;最后,設(shè)計規(guī)??煽?,功能易擴(kuò)展,便于學(xué)生自主優(yōu)化設(shè)計。因此,我們選擇現(xiàn)場可編程門陣列FPGA作為硬件實現(xiàn)平臺,以一個8位精簡指令集MiniCPU的設(shè)計作為本課程教學(xué)內(nèi)容實施的載體。
基于現(xiàn)代數(shù)字系統(tǒng)多采用的自頂向下設(shè)計理念,根據(jù)MiniCPU的電路特點,我們將整個項目劃分成六個子模塊,分別是算術(shù)邏輯運算(ALU)模塊、時鐘管理模塊、指令存儲與譯碼模塊、數(shù)據(jù)寄存和輸入輸出接口模塊、時序控制模塊、系統(tǒng)整合和調(diào)試模塊。每個子模塊各自涵蓋了部分Verilog語法和部分經(jīng)典單元電路。通過ALU模塊的學(xué)習(xí),學(xué)生學(xué)習(xí)到了各類組合電路的設(shè)計方法;通過時鐘管理模塊的學(xué)習(xí),學(xué)生可以掌握時鐘頻率、相位的處理和亞穩(wěn)態(tài)的消除方法;指令存儲與譯碼、數(shù)據(jù)寄存和輸入輸出接口模塊介紹了各類存儲器、緩沖器和總線的設(shè)計;在時序控制模塊的學(xué)習(xí)中,學(xué)生可以學(xué)到有限狀態(tài)機(jī)設(shè)計復(fù)雜時序電路的各種技巧;最后,在系統(tǒng)整合和調(diào)試模塊中,學(xué)生學(xué)習(xí)到了層次化、系統(tǒng)化接口的設(shè)計和EDA軟硬件整體仿真調(diào)試的方法。通過六個模塊的學(xué)習(xí),學(xué)生不僅可以學(xué)到EDA技術(shù)的所有知識點,還可以融會貫通電路類和嵌入式類先修課程的核心知識。
具體到每堂理論課的教學(xué)上,我們綜合使用了典型案例教學(xué)法和任務(wù)驅(qū)動教學(xué)法。教師在課堂上講解各模塊中涉及的基本概念,剖析子模塊中單元電路的經(jīng)典設(shè)計方法,從典型案例的介紹中自然地引出VerilogHDL語句語法內(nèi)容,將其中最核心、最基本的內(nèi)容解釋清楚,使學(xué)生在很短的時間內(nèi)就能有效地掌握EDA技術(shù)的主要內(nèi)容,并付諸設(shè)計實踐;然后再進(jìn)一步引導(dǎo)學(xué)生查閱資料,自己動手優(yōu)化典型案例中的電路設(shè)計,此時教師的職責(zé)由教學(xué)轉(zhuǎn)向?qū)W(xué),學(xué)生由被動接受轉(zhuǎn)化為主動參與、分析和探究。
在實驗課堂上,按照由淺入深的原則,將各實驗分成三個層次。第一層次實驗是對理論課堂上經(jīng)典案例中典型電路的驗證性實驗,幫助學(xué)生快速入門;第二層次實驗是在上一層次實驗的基礎(chǔ)上提出改進(jìn)、優(yōu)化、完善的要求,學(xué)生自主發(fā)揮;第三層次是MiniCPU功能擴(kuò)展和接口應(yīng)用方面的創(chuàng)新開放性實驗。從第一個實驗開始,學(xué)生完成經(jīng)典單元電路驗證并自主改進(jìn)、優(yōu)化設(shè)計,逐步建立起自己的元件庫;對于較為復(fù)雜的電路,學(xué)生將合作完成,按照事先分工設(shè)計各自的電路模塊,并撰寫包括電路功能說明、接口說明和工作時序說明等圖文并茂的詳細(xì)說明文檔,然后據(jù)此連接成一個完整系統(tǒng)并完成最終測試。
綜上所述,我們在實際教學(xué)中打破了傳統(tǒng)的課程內(nèi)容安排方式,把EDA課程的內(nèi)容分散融入到一個具體的MiniCPU設(shè)計中,又把這個大的設(shè)計項目分為六個子模塊,這六個子模塊一起涵蓋了EDA技術(shù)的各個重要知識點,突出了能力培養(yǎng),使學(xué)生能在具體的應(yīng)用中學(xué)習(xí)課程的主要內(nèi)容,取得了良好的教學(xué)效果。
參考文獻(xiàn)
[1]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計[M].北京航空航天大學(xué)出版社,2008.
[2]潘松,陳龍,黃繼業(yè).數(shù)字電子技術(shù)基礎(chǔ)[M].科學(xué)出版社,2014.
[3]鐘旭.基于FPGA的電子設(shè)計課程體系改革探討[J].科技經(jīng)濟(jì)導(dǎo)刊,2016(32):169.endprint