正文 基於FPGA平台的計算機硬件實踐教學探索(2 / 3)

3.2選好切入點,從硬件基礎課程開始改革

數字邏輯課程是計算機科學與技術專業的專業基礎課程,是學生係統學習計算機組成與係統結構的前提,我們最早在FPGA平台上對數字邏輯實驗進行了改革。

我們學校數字邏輯實驗是獨立設課的實驗課程,多年來一直不斷探索改革的方法,也做了一些改動,逐步減少驗證操作型實驗項目,增加綜合設計型實驗項目,但是限於硬件平台和實驗技術的限製,效果一直不是很明顯,隻是量的變化而沒有質的改變。隨著EDA/SOPC聯合實驗室的建立,引進先進的EDA技術,使數字邏輯實驗課程發生了根本變化,對於培養軟硬件協調設計能力很有幫助。

在聯合實驗室現有資源基礎上,我們開發新的實驗技術,在Quartus II仿真設計軟件環境下設計、綜合、仿真邏輯電路,然後下載到Cyclone係列FPGA器件上進行運行,通過實驗箱外圍輸出模塊觀察電路現象[5]。在這種實驗模式下,我們經過幾年不斷改進和完善,目前開出了七段譯碼顯示電路、十進製計數器等基本邏輯功能模塊實驗,BCD加法器、9人表決電路、代碼發生器、搶答器、彩燈發生器等邏輯電路設計實驗,更主要的是開發了數字鍾、交通燈控製器、乒乓球遊戲機、自動售票機、密碼鎖等綜合電路設計實驗[7]。通過幾屆學生的教學過程,不斷豐富綜合實驗項目,並且正式出版了實驗指導教材。

實驗課程雖然獨立設課,但是終歸要以理論課程為基礎,因此,二者的改革是分不開的。新技術和新平台的應用也帶動了數字邏輯理論課程教學的改革。根據需要,數字邏輯理論教學中增加了硬件描述語言的學習[8],並在組合電路和時序電路的設計部分進行了訓練,使學生具備了一定的硬件描述語言編程能力和電路設計基礎,能夠更有效地利用有限的實驗課程學時。

3.3以點帶麵,逐步進行全麵改革

經過數字邏輯實驗課程的學習,學生掌握了硬件描述語言的基本應用能力,熟悉了Quartus II 設計仿真軟件,了解了FPGA平台下載、調試電路的方法。但是作為一項技能,單憑幾次實驗是不能掌握的,需要更深入的學習。

組成原理實驗是我們運用EDA技術進行教學的第二門課程。我們都知道,計算機是基於超大規模集成電路進行設計的,這個過程也運用了EDA技術。計算機組成原理實驗要求學生掌握運算器、存儲器、控製器、CPU、中斷控製器、接口等常用邏輯器件、部件的原理以及各個部件之間的關聯關係,懂得簡單、完備的單台計算機的基本組成原理[2]。運用EDA技術來完成實驗,學生可以選擇使用邏輯器件通過圖形方式搭建計算機部件,也可以通過硬件描述語言根據計算機部件功能自己編寫實現,這樣實驗更加靈活,通過親自設計計算機部件更加深刻地理解部件功能和工作原理。

基於FPGA平台進行的計算機組成原理實踐教學分為計算機組成原理實驗課和計算機組成原理課程設計兩個部分。其中,組成原理實驗課程主要設置了寄存器、暫存器、運算器、存儲器部件的設計以及各部件之間的數據通路綜合實驗;計算機組成原理課程設計則在實驗課基礎上設計控製器部件,最終完成模型機的設計。

以前的計算機專業培養計劃中計算機組成原理實驗課程和課程設計是分兩個學期進行的,間隔時間太長,學生相當於重新設計一遍基本部件,增加了負擔,效果還不好。經過修改培養計劃,從2007級開始,計算機組成原理實驗和課程設計安排在了一個學期內完成,增強了連貫性,受到學生歡迎。

利用聯合實驗室,不僅對獨立設課的實驗課程進行了改革,像數字係統設計等課程也在該平台開設了課內實驗。這樣,經過數字邏輯實驗、數字係統設計、計算機組成原理等一係列課程的學習,學生逐步深入掌握了FPGA平台下的EDA技術,在大三、大四的嵌入式係統課程設計、畢業設計等自主選擇平台的實踐環節中,越來越多的同學選擇在FPGA平台上進行,更好地培養了創新實踐能力,最終真正掌握這門先進技術。

3.4開設創新實踐課程,逐漸形成基於PFGA平台的硬件實踐課程群

經過多年應用,除了現有的課程越來越多的運用FPGA平台之外,老師們還積極利用FPGA平台開設新的實踐課程,比如在學校創新學分製度出台後,逐步開設出了一些創新實踐課程。隨著我們新實驗台的更新,將會開出更豐富的實踐項目,形成FPGA平台下包含各個層次課程的課程群。

4硬件實踐教學改革的進一步思考

基於FPGA平台對計算機硬件實踐課程進行改革,解決了實驗平台和實驗技術落後的問題;將一係列硬件實踐課程整合到FPGA平台上也充分利用了實驗室資源,並且增強了課程之間的聯係,學生在學習中有了連貫性,通過多門課程實踐學生將EDA技術真正轉化為自己的技能和能力;校企聯合也為實踐教學老師提供了更多掌握行業前沿技術的機會。實踐證明,基於FPGA平台改革計算機硬件實踐課程的思路很大程度上能夠改變計算機硬件實踐教學存在的問題,提高教學質量。