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