袁宇丹,吳桂興,李 曦
(1.中國(guó)科學(xué)技術(shù)大學(xué)蘇州研究院,江蘇 蘇州 215123;2.中國(guó)科學(xué)技術(shù)大學(xué)軟件學(xué)院,安徽 合肥 230051)
隨著集成電路技術(shù)的迅速發(fā)展,可編程器件應(yīng)運(yùn)而生,尤其是FPGA(現(xiàn)場(chǎng)可編程邏輯門陣列),已發(fā)展為電子領(lǐng)域的一個(gè)熱點(diǎn),廣泛應(yīng)用于航天航空、通信電子、工業(yè)控制等領(lǐng)域。可編程技術(shù)也成為電子類相關(guān)技術(shù)人員的一項(xiàng)必備技能。為適應(yīng)產(chǎn)業(yè)發(fā)展、彌補(bǔ)人才缺口,很多高校開設(shè)了與可編程器件相關(guān)的課程。
以中國(guó)科學(xué)技術(shù)大學(xué)軟件學(xué)院為例,該學(xué)院作為一所國(guó)家示范性軟件學(xué)院,以培養(yǎng)和輸出高層次實(shí)用型人才為己任,以國(guó)內(nèi)外信息產(chǎn)業(yè)的發(fā)展情況和人才需求為考量,開設(shè)了嵌入式系統(tǒng)設(shè)計(jì)專業(yè),并把“可編程器件應(yīng)用”作為該專業(yè)的工程實(shí)踐專業(yè)課程[1]。
目前,已有相關(guān)學(xué)者進(jìn)行了該課程的教學(xué)研究,但研究方向主要集中在該課程的教學(xué)內(nèi)容、教學(xué)方法、實(shí)驗(yàn)平臺(tái)等方面[2-4],具體探討工程碩士教學(xué)的文獻(xiàn)尚不多見。
本文結(jié)合工程碩士的特點(diǎn),從教學(xué)內(nèi)容、教學(xué)過程和實(shí)驗(yàn)環(huán)節(jié)三方面,探討工程型人才培養(yǎng)過程中提高教學(xué)質(zhì)量的途徑。
“可編程器件應(yīng)用”是一門專業(yè)性和應(yīng)用性很強(qiáng)的課程,它以數(shù)字電路和硬件描述語(yǔ)言為基礎(chǔ),要求學(xué)生了解FPGA的結(jié)構(gòu)和工作原理,熟練運(yùn)用硬件描述語(yǔ)言,充分利用硬件資源設(shè)計(jì)出合理的數(shù)字電路系統(tǒng)。而工程碩士研究生跨專業(yè)現(xiàn)象十分普遍,基礎(chǔ)知識(shí)存在較大差異,這給教學(xué)帶來(lái)了巨大的挑戰(zhàn)。
以中國(guó)科學(xué)技術(shù)大學(xué)軟件學(xué)院2013級(jí)“可編程器件應(yīng)用”選課學(xué)生為例,本科專業(yè)為計(jì)算機(jī)類的學(xué)生占15%,電子信息類的學(xué)生占36%,電氣和自動(dòng)化類的學(xué)生占28%,其他理工類的學(xué)生占20%,非理工類的學(xué)生占1%。所以,合理安排教學(xué)內(nèi)容顯得尤為重要。針對(duì)以上特點(diǎn),本課程的教學(xué)主要包括以下內(nèi)容。
課程通過介紹可編程邏輯器件的發(fā)展、分類以及FPGA的結(jié)構(gòu)、工作原理和應(yīng)用,使學(xué)生對(duì)可編程器件有一個(gè)大致的了解。
考慮到大部分學(xué)生電路基礎(chǔ)知識(shí)較差,在課程初期,先回顧邏輯門、卡諾圖、組合邏輯模塊、鎖存器、觸發(fā)器、有限狀態(tài)機(jī)等基礎(chǔ)電路知識(shí)和Verilog HDL語(yǔ)言的基本語(yǔ)法,為后續(xù)課程進(jìn)行鋪墊。
課程詳細(xì)講解FPGA設(shè)計(jì)流程中的各個(gè)步驟——確定技術(shù)指標(biāo)、設(shè)計(jì)輸入、功能仿真、邏輯綜合、設(shè)計(jì)實(shí)現(xiàn)(轉(zhuǎn)換、映射、布局布線)、時(shí)序仿真、下載與調(diào)試,使學(xué)生從理論上掌握FPGA的設(shè)計(jì)流程。
時(shí)序是FPGA設(shè)計(jì)中的一個(gè)重要內(nèi)容,也是該課程的重點(diǎn)和難點(diǎn)。時(shí)序關(guān)系的正確與否決定著設(shè)計(jì)的成敗。本課程通過講解時(shí)序概念、時(shí)序路徑類型、時(shí)序約束種類和語(yǔ)法、時(shí)序分析器,加深學(xué)生對(duì)時(shí)序的認(rèn)識(shí)和理解,幫助他們提高自身的設(shè)計(jì)能力。
選取與產(chǎn)業(yè)緊密聯(lián)系的FPGA開發(fā)實(shí)例,在課堂上演示完整的開發(fā)過程,并且講解開發(fā)過程中涉及的每一個(gè)知識(shí)點(diǎn),幫助學(xué)生形成完整、系統(tǒng)的知識(shí)體系。
工程碩士研究生在校學(xué)習(xí)時(shí)間為1年,這期間課程多、任務(wù)重,而該課程的教學(xué)內(nèi)容多、教學(xué)課時(shí)有限。為讓學(xué)生迅速掌握FPGA的理論知識(shí)和基本應(yīng)用,教師在上課時(shí)需要根據(jù)不同的教學(xué)內(nèi)容,采用不同的教學(xué)方法,活躍課堂氣氛,激發(fā)學(xué)生學(xué)習(xí)興趣,來(lái)提高課堂教學(xué)質(zhì)量。
在介紹數(shù)字電路和Verilog語(yǔ)言時(shí),采用案例教學(xué)法。比如,以設(shè)計(jì)交通信號(hào)燈為例,教師可以詳細(xì)講解整個(gè)設(shè)計(jì)過程,從確定輸入和輸出端口、狀態(tài)機(jī)轉(zhuǎn)換圖和轉(zhuǎn)換表、狀態(tài)編碼,到電路設(shè)計(jì)、編寫Verilog代碼、仿真驗(yàn)證等,使學(xué)生從設(shè)計(jì)身邊熟悉的事物過程中掌握基礎(chǔ)知識(shí)。
教師可以采用比較教學(xué)法來(lái)介紹FPGA設(shè)計(jì)流程。對(duì)FPGA與ASIC的設(shè)計(jì)流程進(jìn)行比較,教師在教學(xué)時(shí)強(qiáng)調(diào)它們之間的異同,并指出它們之間的差異是由各自特點(diǎn)決定的。這種教學(xué)法不僅使學(xué)生掌握了FPGA的設(shè)計(jì)流程,而且加深了學(xué)生對(duì)FPGA特點(diǎn)的認(rèn)識(shí)和理解。
針對(duì)課程的重點(diǎn)、難點(diǎn),教師以課后作業(yè)的形式布置學(xué)生預(yù)習(xí)新課,學(xué)生通過自主學(xué)習(xí)了解基本概念,這有助于培養(yǎng)學(xué)習(xí)興趣,提高學(xué)習(xí)的積極性和主動(dòng)性。例如,在講解時(shí)序這個(gè)知識(shí)點(diǎn)之前,教師可以給學(xué)生布置以下幾個(gè)問題:什么是時(shí)間裕量?時(shí)序路徑有哪幾種?各種時(shí)序路徑分別需要滿足什么條件?
可編程技術(shù)不僅要求具備基本的理論知識(shí),而且需要豐富的實(shí)際技能。然而,工程碩士研究生的基礎(chǔ)知識(shí)和動(dòng)手能力參差不齊,故任課教師需要緊密結(jié)合理論知識(shí),分層次設(shè)計(jì)實(shí)驗(yàn)環(huán)節(jié),逐步提高學(xué)生理論與實(shí)踐相結(jié)合的能力,以及培養(yǎng)他們的專業(yè)技能和動(dòng)手能力。
該課程以Xilinx Virtex-5 FPGA開發(fā)板作為實(shí)驗(yàn)平臺(tái),實(shí)驗(yàn)主要包括以下內(nèi)容。
給學(xué)生提供一個(gè)計(jì)數(shù)器的Verilog代碼、正確的用戶約束文件和IO配置文件,要求學(xué)生使用Xilinx ISE集成開發(fā)環(huán)境完成整個(gè)設(shè)計(jì)流程,再把數(shù)據(jù)流下載到開發(fā)板上觀察LED燈的閃爍情況。
給學(xué)生提供常用電路模塊的Verilog代碼,要求學(xué)生使用Synplify Pro和XST 2種綜合工具,并采取不同的綜合策略對(duì)電路進(jìn)行綜合,以此加深學(xué)生對(duì)RTL級(jí)電路結(jié)構(gòu)的認(rèn)識(shí)和理解。
給學(xué)生提供一個(gè)計(jì)數(shù)器的Verilog代碼和需要改進(jìn)的用戶約束文件,要求學(xué)生學(xué)會(huì)使用時(shí)序分析器來(lái)完成時(shí)序分析、查看分析報(bào)告、找到造成時(shí)序違反的原因并將其糾正。
要求學(xué)生使用Verilog語(yǔ)言,經(jīng)過功能仿真、邏輯綜合、布局布線、時(shí)序分析等一系列設(shè)計(jì)流程,設(shè)計(jì)1個(gè)異步FIFO,并對(duì)其速度、面積、功耗進(jìn)行優(yōu)化。其中,前3個(gè)實(shí)驗(yàn)屬于驗(yàn)證型實(shí)驗(yàn),最后1個(gè)實(shí)驗(yàn)屬于設(shè)計(jì)型實(shí)驗(yàn)。這樣的安排有助于學(xué)生通過不同層次的實(shí)踐,逐步實(shí)現(xiàn)從單一的技能訓(xùn)練到綜合的實(shí)踐創(chuàng)新的轉(zhuǎn)變。
嵌入式系統(tǒng)設(shè)計(jì)專業(yè)的工程碩士研究生作為電子工程設(shè)計(jì)領(lǐng)域的主力軍,只有掌握了可編程技術(shù)才能跟上當(dāng)前電子技術(shù)的發(fā)展步伐。為此,針對(duì)工程碩士的“可編程器件應(yīng)用”課程改革是一項(xiàng)長(zhǎng)期而艱巨的工作。只有不斷深化教學(xué)內(nèi)容、教學(xué)過程和實(shí)驗(yàn)環(huán)節(jié)改革,才能培養(yǎng)出與可編程技術(shù)發(fā)展現(xiàn)狀相適應(yīng)的高素質(zhì)應(yīng)用型人才。
[1]中國(guó)科學(xué)技術(shù)大學(xué)軟件學(xué)院,中國(guó)科學(xué)技術(shù)大學(xué)研究生院.創(chuàng)新的全日制軟件工程碩士培養(yǎng)探索之路[J].學(xué)位與研究生教育,2010(2):13 -16.
[2]張黎,李明,宋文龍,等.FPGA入門級(jí)教材內(nèi)容的探索與實(shí)踐[J].中國(guó)電力教育,2014(21):113-114.
[3]周莉莉,周淑閣,井娥林.FPGA課程教學(xué)方法的探討與研究[J].實(shí)驗(yàn)室科學(xué),2013,16(3):65 -66.
[4]劉莉宏.基于可編程器件的實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,13(1):32-37.