蔚瑞華, 余有靈, 張 偉, 沈潤杰, 徐和根
(同濟大學 電子與信息工程學院, 上海 201804)
?
基于模塊化思想的FPGA綜合實驗項目設計
蔚瑞華, 余有靈, 張偉, 沈潤杰, 徐和根
(同濟大學 電子與信息工程學院, 上海201804)
結合課程教學實踐,針對傳統可編程器件課程教學中的不足,提出了基于模塊化思想的FPGA綜合實驗項目設計。該文從項目建設的總體思路、項目建設的內容等方面進行探索,著眼于提高學生分析、解決問題的能力和創新思維能力,激發學生的學習興趣。實踐證明,該項教學改革適應了當前技術發展的趨勢,提高了學生的工程實踐和創新能力。
現場可編程門陣列; 模塊化設計; 教學改革
現場可編程門陣列(fieldprogrammablegatearray,FPGA)是在可編程邏輯器件(programmablelogicdevice,PLD)的基礎上進一步發展起來的半定制電路,既解決了定制電路需要反復驗證和調整設計的不足,又克服了原有可編程器件門電路智能實現小規模電路的缺點,使得可編程器件的集成度更高、靈活性更強、功能也更豐富[1]。由于可編程器件能使系統設計人員在不改變系統硬件結構的前提下修改完善甚至重新設計系統的硬件功能,使電子系統的硬件具有了“柔性”。以硬件描述語言(Verilog或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至FPGA上進行測試。FPGA在短短20多年里從電子設計的外圍器件逐漸演變為數字系統的核心,在計算機硬件、通信、航空航天和汽車電子等諸多領域有著廣泛的應用[2],是現代集成電路設計驗證的技術主流。學生通過應用FPGA不僅可以掌握數字電路的組合邏輯和時序邏輯電路[3],而且還可以實現芯片設計和高級的應用:如實現片上系統[4]和數字信號處理器[5]。
隨著大規模可編程器件在工程上的應用越來越廣泛,社會對掌握FPGA技術的畢業生需求逐年增加。為滿足社會需求,電氣信息類的各專業越來越多地采用可編程邏輯器件作為其教學和實踐平臺[6-9]。目前,同濟大學電子與信息工程學院有Xilinx公司的Spartan3和Digilent公司的Nexys4(基于Artix7)開發板作為電子科學系、信通系、自動化系本科學生學習數字電路、微機原理與仿真技術、可編程器件、嵌入式系統等課程的硬件仿真平臺。
項目建設以同濟大學“卓越工程師培養計劃”為指導,旨在培養學生的工程實踐能力和創新能力。項目緊跟技術發展的潮流,采用“教師引導、學生主體”[10]教學模式,貼合數字邏輯電路、可編程芯片等課程的重要知識點,通過精心設計一系列針對性實驗,使學生在熟練掌握軟件應用和硬件調試能力的同時增加對課程知識點的感性認識。同時還設定了綜合性的實驗項目和具有拓展性及創新性的課程設計來加強學生的實踐和創新能力的培養。項目基于模塊化的思想,使得學生在模塊的基礎上可以進行重新組合設計,增加了理論教學的趣味性,培養學生自主學習、研究的積極性和主動性,提高學習的目的性和積極性,為今后有針對性地進一步深入研發打下基礎。
實踐教學是培養學生動手能力、 科研能力、 創新能力的重要環節[11],以往的基于FPGA的實踐教學旨在讓學生熟悉FPGA的設計流程、設計步驟,進行一些組合邏輯電路、時序邏輯電路的分析和硬件仿真。這些對于學生的工程實踐能力和創新能力的培養還遠遠不夠。因此,我們在原有的實踐教學基礎上,進行基于模塊化的綜合實踐和創新設計,旨在構建“基礎—提高—應用— 創新—研究”和“仿真—設計—綜合—工程”的多層次模塊化的實驗教學體系[12]。改革這門課程實踐環節的總體思路是:
(1) 探索理論與實踐如何更好地結合,將新的FPGA技術應用于教學中,使學生在工程實踐的基礎上,更深入地理解教學內容。這就要求教師在課堂上對理論知識點進行更進一步的梳理,明確實驗目的,強化學生對課堂內容的理解。學生在理論學習的同時,結合實驗能較好地了解、掌握可編程器件的設計方法、仿真手段以及可編程器件與外圍接口電路的設計。
(2) 培養學生系統級的觀念以及模塊化思想,對系統功能和實現進行模塊劃分,確定模塊間的連接關系,并且對已有模塊進行充分利用。
(3)FPGA提供了創新平臺,教學應充分激發學生的想象和創造力。堅持以工程創新為主題培養學生,在現有功能模塊的基礎上,學生可以充分發揮想象,基于組合模塊的思想對所需解決的工程問題提出創新性的設計方案和解決措施。
(4) 制訂新的實踐環節評價標準。改變了以往教學模式中僅以任務完成度為考核的評價模式,轉向以學生在項目中完成任務的創新性、任務復雜程度以及綜合展示來進行綜合評價。在此過程中,提高了學生的分析解決問題能力,也強化了學生的團隊合作意識及溝通能力。
如表1所示,項目建設主要圍繞基本技能培養、工程綜合技能培養和創新能力培養進行,從各項實驗的目的、設置實驗的主要類別以及實驗形式方面進行梳理,以達到“層層遞進、逐步深化”的效果,形成貫穿課程的實踐教學體系[13]。

表1 項目建設的目的和形式
(1) 軟件的基本操作及仿真的一般流程。在此階段,遵循由淺入深、循序漸進的原則,教師進行軟硬件仿真流程的演示,強調系統概念和模塊劃分。綜合實驗軟件設計流程和硬件仿真流程分別見圖1和圖2。讓學生在實踐之初就樹立系統的總體意識,以及模塊化的概念,為更加深入的系統設計奠定基礎。

圖1 模塊化FPGA綜合實驗軟件設計流程

圖2 模塊化FPGA綜合實驗硬件仿真流程
(2) 各功能模塊應用與功能調試。根據系統的功能模塊劃分,具體實現各功能模塊(分頻模塊、七段LED數碼管顯示模塊、計數模塊、按鍵識別模塊等),并進行功能模塊的調理和測試。在此階段,著重要求學生熟練掌握軟硬件仿真的具體操作,并完成各功能模塊的調試。
(3) 模塊綜合和系統調試。在各功能模塊調試的基礎上,進行模塊綜合和系統調試,實現既定的項目任務。緊緊圍繞模塊化及系統綜合的理念,要求學生將所調試的模塊進行收集并整理。比如圖3所示的“數字計時器”實驗的連接示例。
圖3中,包含了諸多功能模塊,學生需要調用分頻模塊、計數模塊、數碼管顯示模塊,從系統功能綜合的角度,還需要考慮各模塊之間的連接關系,如數碼管顯示時掃描的問題。

圖3數字計時器模塊化連接示例
此外,FPGA還提供了豐富的IP(intellectualpropertycore)內核資源,使得基于模塊化的設計理念得到更為深入的應用。IP核將一些在電路中常用、但比較復雜的功能塊,如FIR濾波器、總線傳輸以及微處理單元等設計成可修改參數的模塊,學生按照示例即可進行模塊的調用,并在此基礎上進行系統設計。
(4) 案例教學與綜合實踐。教師帶領學生對系統功能進行總體設計和模塊劃分,并擬定實現的總體框架,在系統功能劃分的基礎上,確定各功能模塊功能和連接關系,深化工程設計的思想。使學生在今后的設計過程中,明白系統設計的一般流程及設計思路,為系統化思想奠定基礎[14-15]。
該實踐教學改革,通過實驗案例為學生提供項目開發設計和創新的平臺,并且充分激發學生的創新才能,增強學生的自主探索能力,使培養方案及培養模式具有科學性和創新性,提高人才培養質量,培養具有工程能力和創新能力的卓越人才。
(5) 創新性項目環節。在創新性項目實現環節中,要求學生在完成前期實驗的基礎上,自行擬定綜合性的設計題目并組隊完成,在此環節中,著重考察學生的綜合項目實踐、創新能力和團隊協作及溝通能力。學生從最初的功能設定、方案實現、模塊調試和系統綜合都進行了全方面的鍛煉。例如,一組學生創新課題是用3塊FPGA開發板相互通信實現“打地鼠游戲”,如圖4所示,其中中間開發板用于進行計時、控制同步、判別勝負,左右兩塊開發板用于接收兩個選手的游戲并進行計數。在此創新實踐中,不僅充分用到了之前的功能模塊(諸如分頻、計數、數碼管顯示等),而且進行了外設的拓展,完成實現了信息的傳輸和交互,在實踐過程中,還會遇到板間數據通信問題、按鍵消抖、隨機數產生的問題。學生通過此環節的實踐,總體感覺雖然難度系數大,但收獲頗豐,在實踐中鍛煉了實踐和創新能力,也加強了對系統及工程實踐的整體認識。

圖4 打地鼠游戲演示
該實驗項目以示范案例為基礎,讓學生在全面掌握FPGA開發的一般流程基礎上,進一步以模塊化思想拓展實驗和進行課程設計,學生在實驗項目中不僅獲得了一般的工程項目設計流程的直觀體驗,也培養了完整的系統理念,掌握了設計、應用和調試方法,而且具有創新性,激發了學生學習興趣和創新能力。
考核方式以綜合評定的方式給出,依據學生的課堂實驗和課程設計給予評分,全面反映其在實驗過程中的表現與最終設計結果,突出考察其動手能力、創新能力、綜合運用能力和發散思維能力。
經過兩年的建設與實踐,該項目已具有了自己的特色,獲得了教師、學生的一致認可。學生在此期間,總共完成的自主性設計性項目多達30多項,為平臺建設提供了寶貴的資源。同時,學生自身的工程綜合設計能力與科技創新研究能力也得到了很大提高。
References)
[1] 何賓.XilinxFPGA設計權威指南[M].北京:清華大學出版社,2012.
[2] 楊海鋼,孫嘉斌,王慰.FPGA器件設計技術發展綜述[J].電子與信息學報 ,2010, 32(3):714-723.
[3] 高艷,富坤,羅淑貞,等.基于FPGA模型機的組合邏輯控制器[J].實驗室研究與探索,2015,34(4):86-91.
[4] 孟憲元.可編程器件實現片上系統[J].測控技術, 2000,19(10): 43-46.
[5] 范振洋,郝順義,翁大慶,等.基于DSP/FPGA的光纖捷聯航姿系統設計[J].計算機測量與控制,2015,20(3):764-767.
[6] 尹光明,張建萍,楊楠.可編程邏輯器件實驗教學研究[J].實驗室科學,2015,18(2):86-88.
[7] 林華,王友仁.數字電路與系統設計課程的教材體系改革[J].電氣電子教學學報,2015,35(6):117-118.
[8] 盛建倫,劉淑霞,王勇,等.數字邏輯實驗技術改革的研究[J].實驗技術與管理,2015,32(4):216-219.
[9] 王美玲,陶濤鑫君,江澤民,等.基于PSoC的數字電子技術教學改革探索[J].實驗室研究與探索,2014,33(8):162-165,189.
[10] 李旭,張為公.基于科研項目的數字電路創新型實驗教學改革[J].實驗室研究與探索,2015,34(1):168-171,209.
[11] 葉朝輝,華成英,趙彥博.基于PSoC的“電子系統設計”教學改革[J].實驗技術與管理 ,2009, 26(6):69-71.
[12] 王莉麗,艾欣,宋金鵬.國家級電氣工程專業實驗教學示范中心建設與實踐[J].實驗技術與管理,2014,31(12):124-127.
[13] 王潔, 侯剛,周寬久,等.基于FPGA的課程群一體化實踐教學體系與平臺[J].實驗技術與管理,2015,32(9):208-211.
[14] 陳捷.可編程器件的綜合實驗項目建設[J].實驗科學與技術,2015, 13(4): 125-127.
[15] 秦進平,劉海成,張凌志,等.電類專業數字系統綜合實驗平臺研制[J].實驗技術與管理 , 2012,29(6):75-78,93.
DesignofFPGAsyntheticexperimentprojectbasedonideaofmodularization
WeiRuihua,YuYouling,ZhangWei,ShenRunjie,XuHegen
(SchoolofElectronicsandInformationEngineering,TongjiUniversity,Shanghai201804,China)
ThispaperpresentsthesyntheticexperimentdesignoftheFPGAprojectbasedontheideaofmodularization.Aimingatimprovingthestudents’abilityofpracticeandinnovation,theexplorationhasbeenmadeontheoverallcoursereformprincipleandthedetailedconstructioncontent.Ithasbeenprovedthatthiscoursereformcanadapttothetrendofthedevelopmentofthecurrenttechnology,greatlyimprovingthestudents’engineeringpracticalandinnovativeability.
FPGA(fieldprogrammablegatearray);modularizationdesign;teachingreform
DOI:10.16791/j.cnki.sjg.2016.05.014
2015- 11- 17修改日期:2016- 01- 08
同濟大學校級第八期精品實驗項目(0800104190 )
蔚瑞華(1979—),女,山西交城,博士,講師,主要研究方向為可編程器件、嵌入式系統.
E-mail:weiruihua@tongji.edu.cn
TN47;G641.423
A
1002-4956(2016)5- 0044- 04