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