高一沅
(福州大學(xué)至誠(chéng)學(xué)院 信息工程系,福建 福州 350002)
?
應(yīng)用型本科專業(yè)FPGA相關(guān)課程教學(xué)模式的探討
高一沅
(福州大學(xué)至誠(chéng)學(xué)院信息工程系,福建福州350002)
摘要:FPGA設(shè)計(jì)是當(dāng)今應(yīng)用型信息電子類專業(yè)方向?qū)W生必須掌握的一門技能。分析現(xiàn)階段FPGA相關(guān)課程教學(xué)現(xiàn)狀,梳理出在理論教學(xué)和實(shí)驗(yàn)實(shí)訓(xùn)方面存在的問題,針對(duì)性地給出改進(jìn)的方案:以實(shí)例帶動(dòng)HDL語(yǔ)法教學(xué),詳細(xì)分解FPGA的設(shè)計(jì)流程和系統(tǒng)搭建 ,設(shè)置多層次的創(chuàng)新實(shí)踐體系。實(shí)踐證明,所提出的措施針對(duì)性強(qiáng),能將FPGA相關(guān)課程教學(xué)效果有效地提高。
關(guān)鍵詞:FPGA;教學(xué)模式;實(shí)踐;應(yīng)用型
可編程邏輯器件(ProgrammableLogicDevice,PLD)設(shè)計(jì)是一門發(fā)展迅速、工程性強(qiáng)、緊密結(jié)合技術(shù)發(fā)展前沿的現(xiàn)代電子設(shè)計(jì)技術(shù)。PLD目前主要以現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray,FPGA)為主,其應(yīng)用領(lǐng)域涵蓋了主要工業(yè)、科學(xué)研究和國(guó)防軍事各個(gè)門類。
因此,F(xiàn)PGA設(shè)計(jì)是當(dāng)今電子工程師基本功,也是作為應(yīng)用型信息電子類專業(yè)方向?qū)W生必須掌握的一門技能。目前許多高等院校都開設(shè)了FPGA相關(guān)內(nèi)容課程,由于是一門發(fā)展的新興課程,還有諸多需要完善的環(huán)節(jié)。
一、現(xiàn)階段邏輯設(shè)計(jì)與FPGA相關(guān)課程教學(xué)現(xiàn)狀分析
1.基礎(chǔ)理論知識(shí)不完善
PLD器件特別是FPGA,由于設(shè)計(jì)流程和傳統(tǒng)的諸如單片機(jī)、嵌入式微處理器相比,對(duì)學(xué)生基礎(chǔ)要求比較高,不僅前序課程諸如數(shù)字電子線路、微機(jī)原理等要求基礎(chǔ)扎實(shí),還要求在學(xué)習(xí)過(guò)程中掌握一門硬件描述語(yǔ)言(HardwareDescriptionLanguage,HDL),諸如VerilogHDL。另外設(shè)計(jì)流程復(fù)雜并且不同于普通微處理器,無(wú)論是基本功還是工程實(shí)際都較以往微處理器要求高,因此學(xué)生普遍感覺偏難。
可編程邏輯器件是一門理論和實(shí)踐要求較高的課程,學(xué)生適合在修完數(shù)字電子電路、微機(jī)原理等信息類專業(yè)基礎(chǔ)課程后進(jìn)行學(xué)習(xí),具體主要有《邏輯設(shè)計(jì)與FPGA》課程,以及后續(xù)相關(guān)一些實(shí)用性更強(qiáng)的實(shí)踐實(shí)訓(xùn)環(huán)節(jié),如《可編程邏輯設(shè)計(jì)實(shí)踐》、《綜合電子設(shè)計(jì)》、畢業(yè)設(shè)計(jì)等。
2.FPGA相關(guān)實(shí)驗(yàn)教學(xué)存在的突出問題
目前在眾多高校中相關(guān)課程普遍采用廠家提供的FPGA實(shí)驗(yàn)箱,優(yōu)點(diǎn)在于教學(xué)規(guī)范,易于學(xué)生和教師上手,但其缺點(diǎn)也十分突出:
(1)這些FPGA實(shí)驗(yàn)箱功能固定,大部分實(shí)驗(yàn)為驗(yàn)證性。實(shí)驗(yàn)所設(shè)計(jì)內(nèi)容與其他微處理器無(wú)異,諸如鍵盤、LED燈、數(shù)碼管顯示等,體現(xiàn)FPGA器件自身結(jié)構(gòu)、功能上獨(dú)有特性的實(shí)驗(yàn)內(nèi)容不多;
(2)實(shí)驗(yàn)過(guò)程中,學(xué)生無(wú)需過(guò)多的了解其硬件組成和連接,無(wú)需動(dòng)手設(shè)計(jì)、裝配和調(diào)試硬件電路,學(xué)生大部分時(shí)間主要在電腦上操作,只需按照實(shí)驗(yàn)參考書的要求按部就班即可。
在這一系列過(guò)程中,學(xué)生并沒有對(duì)整個(gè)FPGA系統(tǒng)深入了解和操作,因此通過(guò)傳統(tǒng)的實(shí)驗(yàn)教學(xué)對(duì)學(xué)生各方面能力提升有限。
因此,目前FPGA教學(xué)各環(huán)節(jié)主要問題也就凸顯出來(lái):
重HDL語(yǔ)法輕系統(tǒng)設(shè)計(jì),重軟件操作輕流程管理,重實(shí)驗(yàn)結(jié)果忽視對(duì)實(shí)驗(yàn)過(guò)程中如何排錯(cuò)糾錯(cuò),因此表現(xiàn)出學(xué)生修完課程后,仍無(wú)法掌握設(shè)計(jì)方法,面對(duì)實(shí)踐的設(shè)計(jì)要求仍是無(wú)從下手,不知所措。
二、FPGA教學(xué)模式的改革與實(shí)踐
針對(duì)傳統(tǒng)教學(xué)模式存在的問題,結(jié)合本院相關(guān)教學(xué)資源,對(duì)FPGA相關(guān)體系課程進(jìn)行系統(tǒng)革新,提出既符合相應(yīng)人才培養(yǎng)方案又針對(duì)相關(guān)專業(yè)學(xué)生的教學(xué)實(shí)踐改進(jìn)方案。
1.不斷做教學(xué)的“新人”
當(dāng)今時(shí)代,高校老師如果僅是當(dāng)書本的“復(fù)讀機(jī)”遠(yuǎn)遠(yuǎn)不夠,哪怕年輕教師,其教學(xué)效果也是“老氣沉沉”。PLD尤其是FPGA相關(guān)領(lǐng)域技術(shù)在不斷前進(jìn),如何不斷地將這一領(lǐng)域的最新技術(shù)引入到課堂教學(xué)中,尤為重要。只有身處在該領(lǐng)域科研第一線,與工程實(shí)際聯(lián)系緊密,承擔(dān)相關(guān)的科研項(xiàng)目,不斷更新自身知識(shí)內(nèi)容才能使所教內(nèi)容不斷緊跟潮流,學(xué)生才能夠在課堂上獲得最接近前沿的資訊和技術(shù)。
2.以實(shí)例帶動(dòng)HDL語(yǔ)言教學(xué)
傳統(tǒng)HDL教學(xué)方法采用是語(yǔ)法書常用的按部就班、逐點(diǎn)、逐條地講解所有的VerilogHDL語(yǔ)法,這樣扁平式語(yǔ)法教學(xué)優(yōu)點(diǎn)在于教學(xué)嚴(yán)謹(jǐn),講解細(xì)致。但也造成語(yǔ)法點(diǎn)松散,內(nèi)容結(jié)構(gòu)性不強(qiáng),作為初學(xué)者的學(xué)生來(lái)說(shuō),看懂語(yǔ)法卻在應(yīng)用時(shí)無(wú)所適從。因此在教學(xué)中以電子線路設(shè)計(jì)為基點(diǎn),從實(shí)例介紹中引出HDL語(yǔ)句語(yǔ)法內(nèi)容。
針對(duì)學(xué)生在HDL語(yǔ)言學(xué)習(xí)過(guò)程中出現(xiàn)的問題,突破傳統(tǒng)的軟件語(yǔ)言教學(xué)模式和流程,采用全新的教學(xué)理念和教學(xué)方式,通過(guò)HDL語(yǔ)言和電子設(shè)計(jì)自動(dòng)化(ElectronicDesignAutomation,EDA)二者有機(jī)融合,采用“以實(shí)例帶動(dòng)HDL語(yǔ)言教學(xué)”,在授課學(xué)時(shí)有效地減少前提下仍能保證良好的教學(xué)效果。
從最簡(jiǎn)單的2路選擇器開始,程序例子規(guī)模由小到大,先對(duì)Verilog程序總體框架結(jié)構(gòu)進(jìn)行分析,再對(duì)每部分語(yǔ)法進(jìn)行講解。在講解過(guò)程中,特別要讓學(xué)生明白每一部分該使用哪些語(yǔ)句,有哪些語(yǔ)句可以選擇使用。在典型示例的說(shuō)明中,自然地給出完整的VerilogHDL語(yǔ)言描述,同時(shí)給出其綜合后的寄存器傳輸級(jí)(RegisterTransferLevel,RTL)電路圖及表現(xiàn)該電路系統(tǒng)功能的時(shí)序波形圖。通過(guò)采用一些簡(jiǎn)單、經(jīng)典的實(shí)例,將VerilogHDL中最核心和基本的內(nèi)容講明白。因此在很短的時(shí)間內(nèi),這種立體式語(yǔ)法實(shí)例教學(xué)可以幫助學(xué)生有效地掌握Verilog語(yǔ)法的主干內(nèi)容,并能快速上手,付諸設(shè)計(jì)。
3.不斷塑造邏輯電路系統(tǒng)框架的概念
VerilogHDL在語(yǔ)法上與C語(yǔ)言相似,因此初次接觸很多學(xué)生采用相同學(xué)習(xí)方法,重掌握語(yǔ)法,忽視了硬件描述語(yǔ)言自身的硬件含義。所以讓學(xué)生在學(xué)習(xí)硬件描述語(yǔ)言中,建立起HDL語(yǔ)句和硬件電路的緊密關(guān)系。
因此在教學(xué)過(guò)程中,在以實(shí)例作為引導(dǎo)前提下,不斷利用數(shù)字電路基本單元作為實(shí)例講授語(yǔ)法,特別強(qiáng)調(diào)哪些是可綜合實(shí)例設(shè)計(jì),強(qiáng)調(diào)設(shè)計(jì)可綜合性的重要。不斷向?qū)W生重復(fù):雖然也和軟件程序員一樣一行行敲代碼,但是大腦中一定要有邏輯電路和系統(tǒng)概念和框架。
4.詳解FPGA的設(shè)計(jì)流程
FPGA的設(shè)計(jì)流程更體現(xiàn)相同于IC集成電路的設(shè)計(jì)方法和流程,這對(duì)于信息類非微電子專業(yè)學(xué)生來(lái)說(shuō),著實(shí)是一個(gè)不小的挑戰(zhàn)。
當(dāng)前無(wú)論是學(xué)生中還是在某些教師的觀念中,把FPGA當(dāng)作一種和單片機(jī)一樣普通的MCU來(lái)看待。因此,對(duì)于FPGA的學(xué)習(xí)簡(jiǎn)單地理解為就是學(xué)習(xí)一門HDL語(yǔ)言和一個(gè)器件對(duì)應(yīng)公司開發(fā)軟件的基本操作,然后把代碼放在實(shí)驗(yàn)箱上跑起來(lái),就算是學(xué)會(huì)了、教完了,而沒有認(rèn)識(shí)到FPGA是一個(gè)不同于以往的開發(fā)實(shí)現(xiàn)工具。
PLD尤其是FPGA設(shè)計(jì)過(guò)程特別強(qiáng)調(diào)流程設(shè)計(jì)和流程管理,因此教學(xué)過(guò)程中始終貫穿系統(tǒng)設(shè)計(jì)各流程的闡述,同時(shí)注意各個(gè)部分流程的內(nèi)在聯(lián)系,使學(xué)生對(duì)所學(xué)內(nèi)容建立起清晰、完整的設(shè)計(jì)流程。
在流程講解中,一些比較生僻的概念也是學(xué)生比較難理解的。諸如,在集成電路設(shè)計(jì)中的“邏輯綜合”(LogicSynthesis)。它是指所設(shè)計(jì)數(shù)字電路的行為級(jí)的描述,經(jīng)過(guò)布爾函數(shù)化繁為簡(jiǎn)并且優(yōu)化后,轉(zhuǎn)換為邏輯門級(jí)別電子網(wǎng)表的過(guò)程。而其中“綜合”這一名詞是從外文synthesis直接翻譯,如果僅字面來(lái)看,無(wú)法由其中文含義去解釋這一過(guò)程。這一過(guò)程類似于軟件編譯,但是又有所不同。諸如此類概念,在講解時(shí)需要教師特別強(qiáng)調(diào)。
5.實(shí)踐教學(xué)的改進(jìn)方案
根據(jù)國(guó)家普通高校尤其是獨(dú)立學(xué)院主要培養(yǎng)應(yīng)用技術(shù)型專業(yè)人才的定位,作為一門非常注重理論聯(lián)系實(shí)踐的學(xué)科,根據(jù)FPGA課程實(shí)踐性強(qiáng)的特點(diǎn),設(shè)計(jì)由淺入深、自主創(chuàng)新等多層次開放類實(shí)驗(yàn)項(xiàng)目。
學(xué)生在通過(guò)課堂語(yǔ)法、理論及軟件工具教學(xué)后,經(jīng)過(guò)幾個(gè)實(shí)驗(yàn)的操作,他們根據(jù)實(shí)驗(yàn)指導(dǎo)書所羅列步驟說(shuō)明引導(dǎo)下“StepbyStep”地操作,完成所要求的一些簡(jiǎn)單基礎(chǔ)模塊實(shí)驗(yàn)。當(dāng)他們面對(duì)一個(gè)實(shí)際的電路設(shè)計(jì)時(shí),卻不知如何從何做起。因此在實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容的組織上,驗(yàn)證性質(zhì)適當(dāng)收縮,為內(nèi)容的多層次化騰出學(xué)時(shí)空間。為此,基于這一設(shè)計(jì)理念,精心設(shè)計(jì)不同層次、不同類型并且側(cè)重點(diǎn)各有不同的多個(gè)實(shí)驗(yàn),除了傳統(tǒng)的驗(yàn)證和設(shè)計(jì)性質(zhì)外,還增設(shè)綜合型和自主型實(shí)驗(yàn)。
前2個(gè)層次的實(shí)驗(yàn)主要是根據(jù)現(xiàn)有購(gòu)置的實(shí)驗(yàn)箱基礎(chǔ)上完成。通過(guò)編寫代碼強(qiáng)化語(yǔ)言運(yùn)用,熟悉開發(fā)軟件的操作。
后2個(gè)實(shí)驗(yàn)實(shí)訓(xùn)層級(jí)屬于自主設(shè)計(jì)或創(chuàng)新拓展性質(zhì)的,融合一些競(jìng)賽課題和工程項(xiàng)目實(shí)例供有能力學(xué)習(xí)的學(xué)生進(jìn)一步探究。在其中,只給基本原理、基本功能、詳細(xì)的各方面技術(shù)指標(biāo)要求和設(shè)計(jì)提示等。借鑒企業(yè)開發(fā)項(xiàng)目書的做法,對(duì)于每個(gè)實(shí)驗(yàn),不再詳細(xì)敘述步驟和設(shè)計(jì)過(guò)程,只提供整個(gè)系統(tǒng)設(shè)計(jì)要求;基于教學(xué)考慮,必要的設(shè)計(jì)思路和相關(guān)難點(diǎn)處仍給出適當(dāng)?shù)奶崾荆瑢W(xué)生根據(jù)要求自己查資料,從設(shè)計(jì)到實(shí)現(xiàn)的全過(guò)程均由學(xué)生獨(dú)立完成。
同時(shí)結(jié)合實(shí)驗(yàn)室的靈活開放制度,調(diào)動(dòng)學(xué)生充分的自由想象,促使學(xué)生積極主動(dòng)思考、規(guī)劃設(shè)計(jì)方案,在這一過(guò)程中能夠有效啟發(fā)和引導(dǎo)學(xué)生綜合運(yùn)用現(xiàn)有的知識(shí)。有時(shí)甚至需要學(xué)生跑圖書館找書籍,上網(wǎng)查資料,自學(xué)一些未教過(guò)的新知識(shí)和技術(shù),自主設(shè)計(jì)、獨(dú)立完成。對(duì)于培養(yǎng)學(xué)生的自主學(xué)習(xí)、自主設(shè)計(jì)能力和創(chuàng)新精神,這一過(guò)程都是一個(gè)很好的鍛煉和促進(jìn)。
實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容涉及數(shù)字邏輯、系統(tǒng)控制以及儀器設(shè)備等不同方向的應(yīng)用;內(nèi)容安排上,循序漸進(jìn)、由淺入深,追求多樣性,并且應(yīng)用性強(qiáng)。在完成規(guī)定的實(shí)驗(yàn)外,學(xué)生可以根據(jù)自身情況,有選擇性地選做難度較大的實(shí)驗(yàn)。通過(guò)這些行之有效的措施才能夠有效引導(dǎo)學(xué)生去主動(dòng)學(xué)習(xí)、思考和探究,并通過(guò)實(shí)踐真正掌握數(shù)字系統(tǒng)的設(shè)計(jì)、仿真及驗(yàn)證方法。
6.積極探索SPOC在實(shí)踐教學(xué)中開展的可能性
在目前條件下,積極利用目前豐富的公共在線視頻和慕課MOOC(AMassiveOpenOnlineCourse,MOOC)/SPOC(SmallPrivateOnlineCourse,小規(guī)模限制性在線課程)平臺(tái)作為實(shí)踐教學(xué)的補(bǔ)充,一些固定教學(xué)內(nèi)容可以利用在線視頻方式保存,采用在線與面授教學(xué)的結(jié)合(混合學(xué)習(xí)),學(xué)生再將自學(xué)過(guò)程中產(chǎn)生的問題和思考帶到面授課堂和實(shí)驗(yàn)具體操作中與老師交流。
三、結(jié)語(yǔ)
課內(nèi)講授與實(shí)驗(yàn),獨(dú)立實(shí)踐實(shí)訓(xùn)設(shè)計(jì)加強(qiáng)相結(jié)合,通過(guò)這種FPGA教學(xué)方式,以往滿堂枯燥的語(yǔ)法內(nèi)容和生硬的器件結(jié)構(gòu)不再占據(jù)全部課堂時(shí)間,進(jìn)而強(qiáng)調(diào)實(shí)踐動(dòng)手開發(fā)的訓(xùn)練。在較短的課堂教學(xué)和實(shí)驗(yàn)實(shí)訓(xùn)過(guò)程中,學(xué)生能夠快速的掌握相關(guān)基本知識(shí)和操作,并且能夠提升學(xué)生的獨(dú)立自主學(xué)習(xí)及設(shè)計(jì)開發(fā)能力,不斷豐富他們的工程經(jīng)驗(yàn)。
通過(guò)一段時(shí)間的實(shí)際運(yùn)行表明,所提出的改進(jìn)方案較好的教學(xué)效果,主要體現(xiàn)在: 第一,針對(duì)以往HDL語(yǔ)言普遍采用的程序語(yǔ)法教條式教學(xué)方法,給以實(shí)例驅(qū)動(dòng),強(qiáng)調(diào)硬件的可綜合性表述和系統(tǒng)概念的教學(xué)方式。第二,改變實(shí)驗(yàn)教學(xué)只是簡(jiǎn)單的驗(yàn)證;綜合型、自主型實(shí)驗(yàn)提升了學(xué)生自主學(xué)習(xí)和工程開發(fā)能力,使創(chuàng)新意識(shí)得以增強(qiáng)。第三,通過(guò)多層級(jí)的創(chuàng)新實(shí)驗(yàn)體系,學(xué)生主動(dòng)學(xué)習(xí)、思考和探究的行為得以有效引導(dǎo),并在實(shí)踐中真正掌握數(shù)字系統(tǒng)的設(shè)計(jì)、仿真和驗(yàn)證方法。
參考文獻(xiàn):
[1]潘松, 黃繼業(yè), 潘明.EDA技術(shù)實(shí)用教程(VerilogHDL版) [M].北京:科學(xué)出版社,2013.
[2]EDA先鋒工作室.ALTERAFPGA/CPLD設(shè)計(jì)[M].北京: 人民郵電出版社,2005.
[3]李兆光. 數(shù)字電子技術(shù)課程中FPGA技術(shù)教學(xué)內(nèi)容的改革[J]. 山西電子技術(shù), 2015,(2): 23~24, 31.
[4] 龐前娟. 應(yīng)用型本科EDA技術(shù)教學(xué)改革的研究[J]. 大學(xué)教育, 2015,(7): 125~126.
[5] 胡靖,杜西亮. 基于FPGA技術(shù)的課程教學(xué)改革探索[J]. 黑龍江教育(高教研究與評(píng)估), 2015 ,(3): 35~36.
文章編號(hào):2095-4654(2016)04-0084-03
收稿日期:2016-02-07
基金項(xiàng)目:福州大學(xué)至誠(chéng)學(xué)院教學(xué)改革研究項(xiàng)目“可編程邏輯器件相關(guān)課程創(chuàng)新型教學(xué)及實(shí)訓(xùn)拓展研究”的資助(ZCJG201406)
中圖分類號(hào):TN702;G642.0
文獻(xiàn)標(biāo)識(shí)碼:A