王華東 晏中華 何 豐
(重慶郵電大學光電工程學院 重慶 400065)
數字電路課程作為電子相關專業的專業基礎課程,其課程建設和教學方法一直高校相關專業教師關注的重點。然而,隨著信息技術和微電子技術的飛速發展,基于傳統74 系列中規模芯片為基礎的數字電路課程教學內容已經無法滿足新形勢下電子工程相關專業教學的要求。為解決當前數字電路課程教學面臨的難題,更好地滿足新工科以及專業工程對數字電路的要求,許多高校數字電路課程團隊都做出了很多很好的課程改革工作,極大提升了數字電路課程教學的效果。[1-6]
在這些實踐中,將FPGA 引入數字電路課程,取代傳統的74 系列模塊已經成為目前大多數數電課程團隊的共識,并且基于FPGA 平臺,提出了很多新的教學方法和考核手段,使得數字電路課程的教學更加注重學生的實踐能力培養和創新思維的鍛煉。為解決目前我校數字電路課程教學中存在的問題,參考兄弟院校的改革經驗,對如何將FPGA引入數字電路課程的教學工作,展開了探索研究。[5-7]
選擇引入FPGA,需要選擇FPGA 設計電路的方式。多數兄弟院校采用VHDL 等邏輯語言的方式設計邏輯電路,但基于實際情況,數字電路課程學時有限,采用VHDL 進行數字邏輯電路對絕大多數學生不具備可行性,[7]因此采用原理圖設計的方式進行邏輯電路設計。這種方法的好處是和傳統的邏輯電路設計方法兼容,學生易于學習掌握,無需額外學習新的語言。FPGA 開發板選擇小腳丫開發板,開課后發給學生,供學生課后學習使用,學期末課程結束后回收開發板。目前教學試點進行了兩期,具體總結如下。
第一期課程試點的主要措施有:(1)制作EDA軟件和FPGA開發板的教學視頻,要求學生通過課后自行觀看教學視頻來掌握如何使用EDA軟件通過原理圖的方式設計和仿真邏輯電路;(2)布置兩次FPGA 課程設計作業,分別布置組合邏輯電路題目和時序邏輯電路題目。每次學生可以從多道題目中任選一道完成,課程設計題目考核結果計入平時成績,占總平時成績的30%,每次占15%。FPGA 開發板及EDA 軟件的相關學習資料放在QQ 群共所有同學下載。
試點結果顯示,大多數學生對于FPGA開發板用于數字電路課程學習都表現出較大的興趣。此外,在學習EDA 軟件使用方法中,學生會遇到各種問題,但大多數問題都高度相似,實際上可以通過總結常見問題來幫助學生快速掌握EDA軟件和FPGA 開發板的使用。這個結果實際上表明在不過分增加學生負擔的情況下,將FPGA 用于數字電路課程是可行的。這也是第一期試點的最大收益。試點中也出現了很多問題。首先是由于沒有約束,大多數學生在短暫的FPGA 學習后,很快便放棄學習,最后采用抄襲的方式完成FPGA 課程設計。其次,期末測試結果顯示,進行這種教學改革的班級,其數字電路課程的期末測試成績相比較未進行改革的班級并未得到提升,表明直接將FPGA開發板引入數字電路理論教學的實際,并沒有達到初始的預期。
對于第一次課程教學改革試點的結果進行分析總結,發現未達到預期結果的因素可能包括以下幾個方面,第一:由于監督未到位,實際上FPGA 學習流于形式,因此導致教學效果不理想。第二:FPGA 學習與傳統課程內容獨立,試點增加了學生的學習負擔,但并沒有對理論課程學習帶來幫助。
為解決第一期試點中存在的問題,又開展了第二期教學試點工作。本期試點在前期方案基礎上進行了一些改進,主要有以下幾點:(1)在理論教學過程中,減少了部分傳統74 系列芯片使用的教學內容,以減輕學生學習負擔;(2)所有的設計作業均要求學生在EDA 軟件和FPGA 開發板上完成,并驗證自行設計數字電路是否正確。(3)將兩次課程項目設計改成固定題目和自選題目,固定題目要求單人完成,考核由助教檢查完成情況;自選題目采用分組完成的方式,考核采用學生自行演示設計,各組之間相互打分,按分數排序給出最終成績的考核方式,以發揮學生主觀能動性,減少抄襲。
試點結果顯示,有接近一半左右的學生在課程中基本能夠掌握相關EDA 軟件的開發板的使用,主動完成相應的邏輯電路設計題目。其次,自主選題確實能夠有效激勵學生的主觀能動性和創新能力。如在考核中,部分同學基于FPGA 開發板,完成了諸如呼吸燈、翻閱障礙小游戲、斗地鼠、二人猜拳等有趣的FPGA 設計,達到了一定的預期。當然,考核中也出現了相同的設計題目,對此,在考核打分時制定了特殊的規則,所有成績在排序前需要進行加權處理,如果一個題目是該組獨有,加權系數為1,如果有兩組相同,加權系數為0.9,三組相同為0.85,四組及以上為0.8,希望能夠對抄襲現象有所懲罰。
在第二期試點發現了一些新的問題,主要有以下幾點:第一,由于設計作業均要求學生在FPGA 內完成,使得作業的檢查很困難,作業完成完全依賴于學生的自覺性。后期檢查顯示接近一半的同學在無監督的情況下,課程后期不會去主動完成設計作業。第二,傳統理論教學內容和FPGA 學習存在一定的不兼容,前者重視74 系列模塊的使用方法,而后者的電路設計非常靈活,并不拘泥具體模塊的使用技巧。第三,在試點過程中,由于事先沒有對數字電路課程理論教學和實驗教學進行良好的協調,導致在教學內容和教學方法上都產生了沖突,降低了學生的學習效率,也弱化了試點的效果。
前期的試點,證實FPGA技術能夠應用于數字電路課程的理論教學當中,并且具有相比較傳統方法獨有的優勢。然而實踐表明,要想讓FPGA 技術在數電課程能發揮更大作用,還需要解決很多現實的問題。在分析總結試點中存在的問題基礎之上,我們對如何開展下一階段數字電路課程改革探索有了初步的思路。具體包含以下幾個方面:
第一,數字電路課程理論教學和實驗教學涉及FPGA部分的內容進行統一規劃,并根據理論教學和實驗教學自身的特點,重新分配教學內容和考核內容。譬如,將EDA 軟件的教學以及FPGA開發板的使用方法學習放在課后和實驗課上,并且實驗室提供資源更為豐富功能更為強大的FPGA 開發板以提供學生進行更深入的學習研究。
第二,對數字電路課程理論教學內容進行優化調整,減少傳統教學中的74 芯片使用方法的相關內容,增加模塊化設計邏輯電路的內容。在不增加學生學習負擔的基礎上,調整學習重點,培養學生的數字邏輯電路設計能力,同時激發學生的創新意識,為學生后續課程學習及相關電子競賽打下好的基礎。
第三,優化數字電路課程的考核方案。新的考核方案將繼承目前FPGA 測試中一些證明有效的方案(如學生FPGA 項目自主選題,學生自主對項目打分等),并且結合傳統書面考核(如作業和測試)和FPGA 題目兩種方式,盡量發揮其各自的優點,相互補充比較。此外,希望在未來進一步采用網絡手段,來提升考核測試的效率,降低教師的工作量。此外,解決如何有效監督學生的學習是需要考慮解決的問題。
可以看到,今后的數字電路課程將從目前的74 系列芯片體系轉移到FPGA 體系。如何適應這種變化是目前所有高校數字電路課程教學團隊面臨的挑戰。本文介紹了我們在將FPGA 引入數字電路課程理論教學試點過程中的一些嘗試,總結了課程改革試點中的經驗,也對試點中存在的問題展開了分析,并介紹了后續進一步課程改革的思路,希望能夠得到相關同行對我們工作的建議和指導,使得我們能更好地開展今后的數字電路課程的改革工作。