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