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