龍惠民 劉桂華 徐峰
摘要:通過對多個專業的學生前修課程知識點和學生培養方案的分析,本文提出FPGA技術教學可分為三個階段,按步驟、有目標地進行。合理設計各階段的設計課題,明確各個課題應該達到的教學目的,由淺入深,由小模塊設計到較大系統設計的逐步推進,力圖保持學生的學習興趣,為學生的后續專業課學習打下良好基礎。
關鍵詞:FPGA;分階段;實踐環節設計
中圖分類號:G642 文獻標識碼:A 文章編號:1007-9416(2018)04-0150-02
隨著微電子技術的發展,FPGA芯片的可編程邏輯資源更加豐富,性價比得到極大提升,FPGA成為實現數字電路系統的重要平臺[1]。FPGA技術也成為《數字電子技術》等基礎課程的內容,是電子類相關專業的重要基礎課[2]。由于課程在大二、大三的時候開設,學生的專業素養不夠深厚,學生較難理解這門課在培養方案,職業發展中的位置、作用。
FPGA技術是實踐性很強的課程[3],在實踐環節的設計上,既要能引導學生順利過渡到FPGA的學習,也要培養工程設計基本功,為后續專業課程打下良好基礎。根據學生專業基礎和專業方向的不同,可分為三個階段進行工程訓練。
1 第一階段
任務:前修課程過渡到FPGA;熟悉EDA軟件;理解FPGA實現基本原理。
FPGA教學中采用門級建模,HDL描述的方式引導學生以FPGA為平臺,設計在《數字電子技術》實驗中用分離元器件搭建的電路,讓學生體會到FPGA設計的簡便、可靠、集成化。
為熟練操作EDA軟件,教師以課堂演示、帶領學生設計的方式,以課堂練習、課后設計作業的形式進行教學。設計題目見表1。
學生容易理解語句順序執行的概念,但Verilog HDL作為硬件描述語言,其執行帶有并行特性,分析FPGA芯片的主要組成單元:查找表(LUT),可編程連線,可編程端口的具體電路,幫助學生理解這一概念。
2 第二階段
是FPGA進階設計訓練階段,根據各個專業共同理論基礎,設計課題。
學生具有初步的HDL語法知識和設計經歷,但對采用“自頂向下”設計方法,進行較復雜任務的分析,還經常停留在“無從下手”的階段,編程能力,編程風格也還需培養。
以一周一個設計題目的形式布置設計題,設計參考題目見表2。
以序列檢測模塊設計為例,說明本階段設計的訓練目標。
設計要求:給定一個8比特數據,當串行數據與給定數據一致,flag輸出置1,否則置0。題目分析要點:
(1)題目背景:串行傳輸序列的同步字節是傳輸協議中定位數據的重要標識。(2)有限狀態圖的繪制:面對各種可能的串行輸入數據,按給定數據繪制狀態轉換圖。(3)硬件測試方案設計。系統圖如圖1。
數據讀出模塊:例化ROM IPCore,為后續模塊提供串行數據。串行檢測模塊:實現有限狀態轉移圖。數碼管顯示模塊根據檢測模塊輸出的結果,驅動數碼管顯示。
這個實驗讓學生經歷較復雜系統的完整設計流程,使設計能力更上新臺階。
3 第三階段
根據不同專業的需求,建設有專業特點的FPGA課程設計體系,使FPGA技術與專業學習有效的結合。設計參考題目見表3。
以基于DVB-S的信道編碼技術實現為例,闡述本階段的訓練目標。
設計要求:用FPGA實現DVB-S標準的信道編碼。即:實現擾碼,RS編碼,卷積交織,卷積編碼級聯的系統。
設計步驟:理解四種編碼技術;在matlab環境里進行算法實現,確認對算法理解的正確性,為FPGA設計提供仿真數據;學生四人一組,分別完成四種編碼模塊的設計;例化子模塊,構成系統,用matlab提供的輸入、輸出數據,驗證設計的正確性。
通過這個實驗,通信專業的學生可以更好理解《通信原理》中的信道編碼理論,熟悉用matlab進行通信系統仿真,深入理解FPGA對通信系統實現的支持,鍛煉FPGA設計能力與團隊合作工作能力。
4 結語
按照以上三個階段的分解,在《FPGA技術》課程上進行第一,第二階段的學習,在課程設計環節進行第三階段的訓練。這種結合學生實際學習情況的教學設計,能有效引導學生過渡到FPGA學習中,幫助他們保持良好的學習興趣;促進他們自己編寫、調試代碼,逐步掌握FPGA技術,為后續專業課的學習打下良好的基礎。
參考文獻
[1]劉桂華,羅亮.基于FPGA 的現代數字系統設計[M].西安:西安電子科技大學出版社,2012.
[2]潘松,黃繼業,潘明.EDA 技術實用教程( Verilog HDL 版)[M].北京:科學出版社,2013.
[3]薛禮妮,崔維新. 基于FPGA的通信系統設計性實踐教學[J].電氣電子教學學報,2009:86-87.