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