劉春玲
(黑龍江信息技術(shù)職業(yè)學(xué)院,黑龍江 哈爾濱 150025)
FPGA教學(xué)的實(shí)踐研究
劉春玲
(黑龍江信息技術(shù)職業(yè)學(xué)院,黑龍江 哈爾濱 150025)
FPGA是目前電子設(shè)計(jì)中的熱點(diǎn)之一。在教學(xué)中,如何調(diào)動學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的創(chuàng)造能力,是教育者應(yīng)該思考的問題。文章從FPGA教學(xué)實(shí)踐出發(fā),對教學(xué)改革進(jìn)行了探索和嘗試,介紹了一些觀點(diǎn)和具體做法。
FPGA教學(xué);數(shù)字系統(tǒng)設(shè)計(jì);電子設(shè)計(jì)自動化
FPGA(Field-Programmable Gate Array)即現(xiàn)場可編程門陣列,一種半定制的集成電路,主要用在航空航天等高端領(lǐng)域。隨著技術(shù)的進(jìn)步和成本的降低,F(xiàn)PGA性價比越來越高、集成度越來越大,可編程性能方面呈現(xiàn)出快速構(gòu)建系統(tǒng)(System-In-Weeks)的優(yōu)勢,逐步滲透至計(jì)算機(jī)、通信、控制、消費(fèi)電子和汽車電子等民用領(lǐng)域。尤其是在數(shù)據(jù)通信、無線通信、先進(jìn)消費(fèi)電子領(lǐng)域,F(xiàn)PGA更是已經(jīng)取代了一些處理器,成為新一代的系統(tǒng)級的硬件開發(fā)平臺,各高校也紛紛開設(shè)了FPGA課程。
FPGA是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。由于涉及門電路、時序電路以及硬件描述語言開發(fā),因此,學(xué)習(xí)這門技術(shù)之前,應(yīng)對數(shù)字電路課程和計(jì)算機(jī)軟件編程有一定程度的認(rèn)識。此外,這門技術(shù)的實(shí)踐性較強(qiáng),應(yīng)給與足夠的實(shí)驗(yàn)課時,以培養(yǎng)學(xué)生的動手能力和創(chuàng)造力。通過對FPGA的學(xué)習(xí),應(yīng)能使學(xué)生了解FPGA器件結(jié)構(gòu)、特性,掌握設(shè)計(jì)方法,最終達(dá)到能進(jìn)行簡單的數(shù)字系統(tǒng)設(shè)計(jì),并能對所設(shè)計(jì)的電子系統(tǒng)進(jìn)行模擬仿真或在實(shí)驗(yàn)開發(fā)板上硬件實(shí)現(xiàn)。
(1)遵循學(xué)習(xí)規(guī)律,教學(xué)內(nèi)容應(yīng)循序漸進(jìn)給出新知識點(diǎn)。以學(xué)生為主體,強(qiáng)調(diào)“學(xué)習(xí)者取向”。教學(xué)內(nèi)容的安排應(yīng)從最簡單的數(shù)字電路設(shè)計(jì)和已經(jīng)掌握的基本的語言語法開始,讓初學(xué)者不知不覺中掌握了一種新技術(shù),利用所學(xué)過的數(shù)字電路知識和C語言類似的基本Verilog語句就能實(shí)現(xiàn)。然后在此基礎(chǔ)之上安排一些新的電路設(shè)計(jì)點(diǎn)和介入Verilog HDL語法。例如,在講述半加器電路設(shè)計(jì)時可以采用數(shù)字電路中的設(shè)計(jì)方式,使用兩個門(與門和或門)就可以實(shí)現(xiàn)半加器的設(shè)計(jì)。然后分析電路的行為,完全可以使用拼接符去實(shí)現(xiàn),并重點(diǎn)從功能角度講述。即:兩個一位數(shù)相加,結(jié)果最多為兩位,結(jié)果中高位即為進(jìn)位位,低位則為和輸出位。語法實(shí)現(xiàn)為assign{co,s}=a+b,一方面引入了新的語法(拼接符{}),另一方面從“行為”角度講述了半加器的工作,避開了數(shù)字電路中的化簡過程,且符合學(xué)生思考解決問題的思路,課堂教學(xué)效果很好。
(2)教學(xué)內(nèi)容應(yīng)盡可能結(jié)合應(yīng)用或者結(jié)合應(yīng)用的構(gòu)成部分。FPGA是一項(xiàng)實(shí)用技術(shù),在小的電路設(shè)計(jì)系統(tǒng)中經(jīng)常作為外設(shè)的譯碼電路,可以結(jié)合多路譯碼器電路進(jìn)行設(shè)計(jì)應(yīng)用,在實(shí)驗(yàn)過程中盡可能采用此類內(nèi)容作為實(shí)驗(yàn)。在較大型的設(shè)計(jì)中可能會涉及到DSP算法或者復(fù)雜的通信協(xié)議,結(jié)合學(xué)生已經(jīng)掌握的知識點(diǎn)設(shè)計(jì)一些內(nèi)容進(jìn)行講授。如:奇偶校驗(yàn),在串行口的通信中校驗(yàn)是基本的功能之一,在Verilog HDL中使用一條簡單的語句“assign P= ^D;”就可以實(shí)現(xiàn)。一方面實(shí)現(xiàn)了使用邏輯門電路很難實(shí)現(xiàn)的算法,另一方面也增加了新語法(“^”為縮位異或運(yùn)算)的應(yīng)用。再如:并串轉(zhuǎn)換和串并轉(zhuǎn)換,是現(xiàn)在串行通信中幾乎不可缺少的組成部分,大多數(shù)教材講述的方法不具有實(shí)用價值,應(yīng)該結(jié)合應(yīng)用時的通信技術(shù),增加部分控制信號,使講述的內(nèi)容能夠直接應(yīng)用到系統(tǒng)中。
(3)入門知識點(diǎn)要盡可能簡單,最好使用所學(xué)知識引導(dǎo)進(jìn)入新的知識點(diǎn),然后擴(kuò)展至知識面,最后達(dá)到全面掌握本課程全部知識點(diǎn)的范疇。現(xiàn)有教學(xué)內(nèi)容的入門教學(xué)方式不符合思維方式,它采用的方法為從抽象化到具體化的安排過程?,F(xiàn)有的教材內(nèi)容一般在第一章介紹EDA技術(shù)領(lǐng)域的一些新概念,發(fā)展過程和擴(kuò)展至系統(tǒng)級中的一些內(nèi)容,例如IP的概念、固核硬核軟核等。這些內(nèi)容在基礎(chǔ)類教學(xué)中往往不會涉及,有些即使涉及了,學(xué)生也不明白和前面的概念之間的聯(lián)系,不利于教學(xué)的開展。按照常規(guī)的思維方式,教學(xué)的入門可以從一個熟悉的知識點(diǎn)入手,進(jìn)而輻射至其他的新知識點(diǎn)、新概念。在教學(xué)內(nèi)容安排上,可以從與門電路設(shè)計(jì)開始,然后引入兩個門電路同時實(shí)現(xiàn),并給出HDL并行執(zhí)行的概念,有利于重點(diǎn)突出HDL的特點(diǎn),激發(fā)學(xué)生學(xué)習(xí)FPGA的積極性。
(4)簡化邏輯產(chǎn)生過程,注重輸入輸出之間的行為關(guān)系。部分FPGA教學(xué)內(nèi)容安排在數(shù)字電路設(shè)計(jì)之后。受數(shù)字電路設(shè)計(jì)思想的影響,很多學(xué)生認(rèn)為HDL僅僅是用于描述門級電路的,而實(shí)際上HDL能夠從更高的系統(tǒng)級角度描述電路行為。以N位全加器為例,不需要知道內(nèi)部電路構(gòu)成的細(xì)節(jié),從行為級角度就可以直接描述出電路。再如:在教學(xué)內(nèi)容的后期設(shè)計(jì)一個簡單的CPU。CPU是復(fù)雜數(shù)字電路的代表,通過CPU的設(shè)計(jì)一方面可以使學(xué)生掌握CPU的基本原理和設(shè)計(jì)方法,另一方面可以讓學(xué)生們了解,即使再復(fù)雜的電路都可以使用HDL描述,讓學(xué)生們有系統(tǒng)級的概念,為今后進(jìn)行更加復(fù)雜的系統(tǒng)設(shè)計(jì)打下思想基礎(chǔ)。
(5)仿真要與物理綜合結(jié)果相結(jié)合。從物理意義上講解,注重設(shè)計(jì)綜合細(xì)節(jié)的說明。EDA仿真工具一般有專用仿真工具和廠家軟件自帶的仿真工具兩類。專業(yè)的仿真工具,如modelsim,嚴(yán)格遵守Verilog HDL仿真語法要求;而廠家的仿真一般會結(jié)合綜合效果,不完全符合HDL語言本身的要求。例如,若有always@(a)c=a&b;在modelsim中進(jìn)行仿真結(jié)果和QuartusII中的仿真結(jié)果不同。在modelsim中,若b信號發(fā)生了變化,仿真結(jié)果不會出現(xiàn)變化,而在QuartusII中若b變化了,c輸出也會跟著變化的(規(guī)律是與門的規(guī)律)。從語法角度上講,若b信號變化,但它不在敏感信號列表里,所以不會觸發(fā)always塊,因此modelsim仿真結(jié)果不變;而QuartuII認(rèn)為,這個代碼就是用來描述一組合電路-與門的,它會按照與門的輸入輸出關(guān)系變化仿真結(jié)果,實(shí)際教學(xué)中應(yīng)注意兩者仿真的不同,并對學(xué)生進(jìn)行科學(xué)的解釋。當(dāng)然,教學(xué)過程中應(yīng)盡可能引導(dǎo)學(xué)生把這類代碼寫成完整的形式:always@(a,b)c=a&b,避免出現(xiàn)不必要的錯誤結(jié)果。
The FPGA Teaching Practice Research
LIU Chun-ling
(Information Technology Vocational College in Heilongjiang Province,Harbin,Heilongjiang 150025,China)
At present,the FPGA is one of the hot spots of electronic design.Educators should reflects on how to arouse students'interest in learning and cultivate the students'creative ability in the process of teaching.This article,starting from the practiceof the FPGA teaching,exploresand attempts the teaching reform,introducessome ideasand specificmethods.
the FPGA teaching;digitalsystem design;electronic design automation
G434
A
2095-980X(2016)08-0135-01
2016-07-14
劉春玲(1985-),女,湖北宜昌人,大學(xué)本科,講師,主要研究方向:FPGA實(shí)踐研究。