邱欣寅+袁志騫
摘要:近幾年來,FPGA技術飛速的發展,眾多高校爭相開設FPGA課程,本文通過分析教學過程中出現的問題,提出了結合工程應用的課堂引導教學,以學生團隊為主體的項目實踐性教學,建立輔助教學手段等有效方法,改變了傳統的按部就班、單一的課堂教學模式,提高了教學質量。
關鍵詞:應用型本科;FPGA;教學模式
中圖分類號:G642.0 文獻標 一、前言
FPGA技術經過二十多年的發展,現在已經被廣泛應用到各個領域,并成為越來越多領先技術的系統解決方案。從2000年起FPGA技術開始引入國內電子工程專業的研究生教學中,并在2005年后開始在本科生教學中大面積鋪開[1]。當時由于FPGA剛剛進入中國市場,無論對于教師、企業研發人員,還是本科生、研究生來說,FPGA的教學幾乎都是同時展開的,一切從零開始,摸索著前進。但7年后的今天,FPGA技術已經相當成熟,從當初的僅僅在研究生階段才開設的FPGA課程,到現在各大高校本科階段都爭相開設,FPGA技術的普及程度越來越高。但FPGA作為一種實用技術面臨的最大問題是產品性能更新換代的速度快,從教學內容、教學思想到教學資源都面臨不斷更新的問題。在這里不僅有一個教師如何適應電子技術的發展,自身不斷學習提高的問題,而且還有一個如何將新知識有效傳輸,讓學生學到真本事,使學生在畢業后能夠更快地適應工作的問題。
建設應用型本科為主的獨立學院,面臨的問題很多,但突出實踐教學,跟上技術的進步始終是我們應把握的方向。筆者在這7年中作為學生和教師的雙重身份,見證著FPGA在國內的發展,深深體會著FPGA教學的逐步變化,從不同的角度剖析現有FPGA教學中還存在的諸多問題。現在把教學過程中遇到的主要問題及解決方法與大家探討,希望可以更好地促進FPGA教學的發展。
二、FPGA教學的現狀及問題
長期以來,由于獨立學院實驗室條件有限,FPGA技術的課程教學僅僅局限在理論教學中,導致教學過程中出現了教師難教,學生難學的情況,嚴重影響了教學的效果,最終導致整個課程學習下來學生依舊無法獨立開發FPGA項目,僅僅是紙上談兵。傳統的FPGA教學一般都是先介紹可編程門陣列的結構特點,然后介紹EDA軟件工具的使用,接著花大量的時間講解硬件描述性語言[2]。這種傳統的按部就班式的教學模式,雖然對夯實理論基礎很有幫助,但是畢竟教學課時是有限的,對學生來說現在所學到的東西讓他們沒有方向感,甚至不知道這個FPGA到底怎么用、用在哪。如果一味進行課堂教學,缺少實際的動手操作或者工程實踐,就會造成學生的學習興趣不濃,現在很多學生都對這種傳統的教學模式感到枯燥。目前FPGA課程中硬件描述語言教學通常選擇VHDL語言,國內外教材也大多使用VHDL語言編寫。VHDL由美國軍方組織開發,正由于軍方的優勢,使其在1987年就成為了IEEE標準[3]。VHDL語法規范嚴謹,由于其歷史較長,參考資料及程序范例也更加容易尋找,但不足之處也是顯而易見的,對于學生來講,它是一種全新的、獨立的編程語言,無論對于電子專業或者計算機專業的學生來說都需要從頭學起,增加了學生的學習負擔,容易在一開始打擊學生的自信心。
三、改進FPGA教學的探討
FPGA這門課程的教學目標是要使學生在掌握基本原理的基礎上,能自主實現系統設計,這就需要給學生提供一個真實的系統設計案例,讓學生從中體會和感悟設計思想、設計過程以及分析問題的方法,在教學過程中,利用“逐項引導+項目驅動”的教學模式,培養學生的自主學習能力、系統設計能力和語言表達能力。本文結合我校FPGA課程改革前后的對比,探討FPGA教學模式的改變對FPGA教學所起到的效果。
1.結合工程應用的課堂引導教學。在學生學習FPGA的入門階段,尚未熟悉設計方法與技巧,對于FPGA的應用還一無所知,此時采用案例教學法最為適宜,結合工程應用的課堂引導教學,通過剖析工程案例,引導學生以個人自學、集體討論、小組展示演講等形式,分析和研究工程案例,從而激發帶動學生主動思考,培養學生發現問題、解決問題,歸納和總結問題經驗的能力。例如,在學生第一次操作實驗時,通常都會使用控制LED燈交替閃爍的方式學習對單個管腳的控制。而我在這個實驗的基礎上,引入十字路口交通燈的問題,引導學生分組討論如何利用現有知識實現實際工程應用,在實現的過程中,有何優點與不足,如何加以改進,如何完善功能等,在集體討論中,各組代表介紹本組的方案,其他各組可以提出反駁,引起辯論,最終得出最優方案,集體論證方案的可行性,確定最終方案,并在軟硬件中實現功能。通過這樣的課程學習,學生對FPGA設計的一般流程有了深刻的認識,極大地提高了學生主動學習的興趣,在一正一反的辯論中產生了更多的思想火花,加深了對FPGA應用的理解,解決實際問題的能力得到了極大加強。
2.以學生團隊為主體的項目實踐性教學。我校FPGA教學實驗平臺采用的是Altera公司的DE2-70實驗套件,不論是從性能上,還是擴展能力上,對于學生學習FPGA技術都是綽綽有余的。在采購數量上,我校根據實際各班人數,最終確定購買50套DE2-70實驗套件,其中40套用于課堂教學,另外10套用于學生課外科技活動,組織那些對FPGA技術充滿喜愛同時又有很強的專業動手能力的學生,讓他們以團隊的形式接觸FPGA技術更深入的內容。對于各方面表現較為出色的團隊,可提前進入畢業設計環節,部分優秀的學生加入教師的科研項目團隊中,將會取得更好的學習效果,達到學用結合、學以致用的目的。
由于本課程采取了課內外結合的教學模式,通過一定時間的學習和訓練,學生的動手能力有了很大提高,他們有很多機會參加各類電子設計大賽。例如我系兩屆學生參加“全國大學生電子設計競賽”均取得了令人鼓舞的好成績。反過來,組織學生團隊參加電子設計大賽,為獲獎團隊提供一定的物質獎勵和精神鼓舞,為這些團隊聯系校外實習實踐機會,以賽促學,又可有效激發不同層次學生的學習熱情,培養學生的團隊協作能力、動手能力和創新能力,帶動整個專業學生的學習風氣。endprint
3.建立輔助教學手段,彌補課堂不足。FPGA課程是一門實踐性特別強的課程,要真正學好FPGA,光靠上課這些課時是不夠的,需要學生在課后自主學習和研究。在自學的過程中會產生很多問題,對于不同類型、不同需求的學生,我們需要采用不同的輔助教學手段用以彌補課堂教學的不足。(1)充分利用網絡資源,打造第二教學陣地。巧用即時通信軟件和電子郵件搭建交流平臺,用不同方式滿足不同性格學生的需要。例如有些學生較善于溝通和理解,他們會使用QQ、MSN等方式進行交流,即時提問即時回答。但又有些學生不太善言辭,或者不喜歡即時表達,可以選擇使用電子郵件溝通,在二個工作日內會給予答復。充分利用我校開設的網上課程中心,建立網上教學平臺,提供教學以及相關技術資料和文檔供學生下載查看,并提供留言板供師生交流使用。同時在最大的工程師社區網站CSDN開設公共賬號,供學生使用,用于上傳和下載技術資料。(2)培養教師助手參與教學實踐活動。從優秀團隊中選出能言之人輪流擔任“小老師”,采取與任課教師共同備課、課堂上承擔部分輔導任務、課后教師點評等形式,使教師教學與學生學習相得益彰。因為大家都是學生,可能是同年級的,又或者是學長學姐,都是同學關系,所以很多不好意思問老師的問題,可以在同學間的“教學相長”中逐漸得到掌握,這也在一定程度上掃清了教師教學的盲區,從而提高整體的教學效果。
在實踐環節中,可能許多學生遇到的問題相同,但每位學生的理解卻不同,此時教師需要逐個回答他們的疑惑,影響了教師的教學進度和實踐效果,但在教學助手的協助下,教師可以從中抽離出來,解答更多不同的問題,讓不同程度的學生都可以解決學習中的疑點,提高整體教學質量。
4.從VerilogHDL語言入手,消除不必要的學習障礙。VeriogHDL創建之初是為更便捷、更有效地描述數字硬件電路和仿真而設計的,它的許多關鍵字與語法都繼承了C語言的傳統,只要有C語言基礎,可以很快采用VeriogHDL語言進行簡單的FPGA項目開發。對于教學中硬件描述語言的選擇上,到底是選擇VeriogHDL語言還是選擇VHDL語言,它們各有特點,但從學習的復雜度考慮,更加傾向于選擇VeriogHDL語言,縱觀各大高校歷年FPGA教學大綱,2009年之前主要以VHDL教學為主,但從2009年開始,發現VeriogHDL在中國發展勢頭強勁,以至于許多高校從2010年起把硬件描述語言教學改為了VeriogHDL語言。兩者在程序最終實現效果上差別不大,但是對于僅僅只有C語言基礎的電子專業工科學生來說,VHDL語言顯然是個大負擔。而與C語言有血緣關系的VeriogHDL語言更有優勢,同時也可以省下學時,把時間放到實驗中去[4]。
四、總結
以上只是筆者從事FPGA教學工作后的幾點想法,并通過實踐證明了其中的優點,但FPGA教學過程中仍然存在較多的問題,例如:教學團隊還不夠強大,只能憑著少數幾個教師自己摸索進行FPGA教學的改革試點;市場上適合個人開發學習使用的FPGA開發板種類還較少,同時配套教材更加缺乏等。總之,在有限的教學時間內,入門容易但靈活運用較難,暫且只能做到師傅領進門,修行靠個人的程度。筆者將在接下去的教學過程中繼續探索,爭取把FPGA教學做得更好,為提高應用型本科人才的實踐能力做出貢獻。
參考文獻:
[1]倪曉明.FPGA課程教學的實踐與探索[J].中國電力教育,2011,(35).
[2]趙倩,等.面向電子通信類的EDA技術教學創新研究[J].中國電力教育,2011,(22).
[3]盧慶利.FPGA實驗及課程設計的教學實踐與思考[J].實驗技術與管理,1998,(01).
[4]馬鳴霄,等.基于FPGA的教學方法研究[J].學理論,2010,(35).志碼:A 文章編號:1674-9324(2014)05-0210-02endprint