牛軍浩,胡 聰,殷賢華
(桂林電子科技大學電子工程與自動化學院,廣西桂林541004)
EDA技術融合多學科于一體,又滲透于各學科之中,打破了軟件和硬件的壁壘,代表了電子設計技術的發展方向,在各個領域得到廣泛應用[1,2]。
在高校電子信息類專業的教學中,數字電路設計是整個教學的核心主干課程之一。隨著半導體生產工藝的提高,以CPLD和FPGA為主導的可編程邏輯器件規模和性能都在不斷提高,知識產權核IP、片上系統SOC和片上網絡NOC等新概念及新的分析方法不斷涌現,使高校電子信息類專業的數字電路課程的教學及實驗面臨著新的挑戰。
改革和整合現存的數字電路教學內容,將新技術、新方法引入EDA技術課程的教學中,形成新的不同層次的課程教學體系,這對于培養學生的電子系統設計能力和適應各學科領域對高層次電路設計人員需求是十分必要的[3]。
本文以ASIC為設計目標,以“數字邏輯”、“模擬電子技術”和“單片機原理及應用”等主干課程為基礎,研究并分析了EDA技術相關知識,將課程教學內容按設計難度劃分為三個層次:基礎層、應用層和系統層。其結構如圖1所示。

圖1 EDA教學內容分層結構
在所分三層結構中,基礎層為EDA技術基礎知識的講授,首先是EDA發展過程及應用領域,然后講述CPLD和FPGA結構、原理和工藝等相關技術。具有代表性的有Altera公司的MAX7000系列CPLD及CycloneII系列的FPGA。我們結合EDA設計實例,如多路選擇器、計數器、譯碼器和全加器等,進行VHDL語言程序的設計,使學生通過基礎知識的學習并完成推薦的實驗后,能初步了解和掌握EDA的基本知識及VHDL語言的基本構成和設計方法。
在應用層中,我們結合“電子測量”、“編碼技術”和“智能技術”等專業課程內容以及各種電子大賽題目,采用EDA技術,設計面向應用的電子系統,如高速A/D采集控制器、點陣液晶控制器、任意波形發生器和頻率計等,使學生能夠根據具體內容,正確理解設計要求。他們可合理劃分功能組成,并通過層次設計方法,采用IP核和宏功能模塊等技術進行面向應用的電子系統設計。
在系統層中,我們結合“單片機原理”、“DSP原理及應用”、“總線技術”和“嵌入式系統”等專業課程內容,介紹SOC技術在系統級專用集成電路設計中的應用,如Altera公司的片上可編程系統SOPC是一種靈活高效的SOC解決方案。該系統將處理器、存儲器、I/O口和LVDS等系統設計需要的功能模塊集成到一個PLD器件上,構建一個可編程的片上系統。通過系統級學習及設計,學生可以掌握基于FPGA的嵌入式系統設計方法。
在傳統的EDA實驗教學中,大都安排了基礎類和應用類電路實驗?;A類實驗有譯碼器、計數器和邏輯運算等,而設計類實驗主要有數字秒表設計、頻率計設計和序列信號發生器設計等。對于完整的EDA技術層次來說,缺少系統級實驗內容,部分院校使用的實驗系統采用的FPGA型號規模較小、資源不充足,無法滿足SOC的實驗環境要求。
為了使學生掌握更加完整全面的EDA技術,應加強EDA教學實驗環境建設,升級實驗系統核心部件,并在原來實驗內容基礎上開設系統級實驗,如采用NIOS嵌入式處理器、Avalon總線以及SOPC Builder軟件工具,實現數據采集、運算和顯示等功能,設計一個完整的嵌入式系統。
1)EDA技術在基礎類課程中的應用
在傳統的“數字電路技術”教學中,理論知識以基本門電路進行講解;然后在實驗室環境下,通過跳線和插座等方式,將各種74XX系列器件組合起來,實現要求的電路功能;使用LED、示波器和頻率計等對電路功能進行驗證;最后,在課程設計時,使用Protel等電子電路CAD工具畫原理圖、布PCB板,通過制版和焊接元器件,實現完整的設計任務。
EDA技術引入以后,實驗室環境可通過EDA工具來代替,如Altera的QuartusII和Xilinx的ISE集成開發環境[4]。借助EDA工具可以在計算機上快速設計數字電路系統,并及時進行仿真驗證,原理圖的輸入方式更加符合數字電路的授課方法,更容易理解和閱讀;實驗者借助仿真工具,在沒有目標芯片、示波器和頻率計等任何硬件環境的情況下,僅借助計算機和EDA軟件即可完成電路的功能仿真和時序仿真。
2)EDA技術在專業類教學課程中的應用
“智能儀器”是電子信息類專業的專業必修課之一,講述采用主機電路、模擬量輸入輸出通道、人機接口和通信接口等設計具有人機交互能力的智能化儀器。傳統的主機電路主要是采用單片機作為主機電路,如C51、PIC和AVR等。
而在以CPLD/FPGA為代表的EDA硬件芯片上,可以通過IP核及宏功能調用方法,快速方便的實現單片機的功能,管腳、外部資源可以隨意定義和刪減,極大的方便了外部電路的連接和擴展。另外,采用EDA技術作為智能儀器的輔助設計,可以實現更加高速、準確的控制和處理能力。
3)EDA技術在系統設計課程中的應用目前,在高校課程設置中的嵌入式系統類課程,主要是基于ARM和DSP等架構,操作系統包括Linux、μCOS和WinCE等。
以上以控制器為載體的嵌入式系統有個共同的特點,軟件系統可通過移植操作系統和相關程序進行設計,具有可裁剪的特點。但是,硬件系統卻是需要更加具體需要進行不同的設計,具有獨特性。而以FPGA為載體的片上可編程系統同時具有軟、硬件可編程的能力,除了潛入的控制器可按要求進行裁剪擴充外,FPGA的可編程資源依然可以根據用戶需要進行設計,從而在片上實現軟硬件同時可編程的能力,實現不同的系統功能。它提高了FPGA在不同應用場合的適應能力,是在數字電路系統設計中理想的嵌入式系統方案。
4)EDA技術在實踐課程中的應用
在課程設計和畢業設計中,學生可綜合運用所學的數字電路技術、單片機技術、智能儀器技術和嵌入式系統原理等知識,采用EDA的PLD器件作為控制器、譯碼器和數字接口電路等,在更小的面積上,實現功能更多、速度更快和功耗更低的系統設計。
EDA技術在高校教學中的正確分層應用,可以為數字電路技術和數字信號處理等課程提高開發工具和手段,又可以在智能儀表和自動控制等課程中作為控制器進行使用,既減少了原來在面包板上組構電路所造成的時間消耗,又為學生的設計創新創造了條件。通過分層教育模式在EDA教學與實踐中的應用,在我校電子信息類專業學生創新實踐能力培養上已初見成效。
[1] 邱軍興,郭東道.EDA技術在電路設計中的地位和作用[J] .西安:西安文理學院學報,2005,8(1)
[2] 潘松,黃繼業.EDA技術實用教程(第3版)[M] .北京:科學出版社,2007.08
[3] 朱正偉,周炯如.EDA技術在硬件課程體系教學改革中的應用[J] .南京:電氣電子教學學報,2010,28(5)
[4] 蔡春曉,張國慶.EDA教學在數字電路實驗中的實踐與探索[J] .南寧:高教論壇,2010,(11)