亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “FPGA原理及應(yīng)用”的教學(xué)案例分析

        2021-11-29 07:23:08張慶平郭玉祥
        關(guān)鍵詞:編程語(yǔ)法電路

        張慶平,郭玉祥

        (安慶師范大學(xué)電子工程與智能制造學(xué)院,安徽安慶 246133)

        FPGA全稱為現(xiàn)場(chǎng)可編程邏輯門(mén)陣列,是廣泛用于高速通訊和數(shù)字信號(hào)處理等領(lǐng)域的芯片[1]。該芯片使用硬件描述語(yǔ)言(HDL)進(jìn)行編程,常用編程語(yǔ)言有Verilog和VHDL?!癋PGA原理及應(yīng)用”課程是電子類的專業(yè)課,主要內(nèi)容有[1-3]硬件編程語(yǔ)言介紹和FPGA硬件開(kāi)發(fā)實(shí)操,兩者是循序漸進(jìn)的關(guān)系,前者是后者的基礎(chǔ)。HDL語(yǔ)言的學(xué)習(xí)難度較大,相比于以C語(yǔ)言為代表的軟件編程語(yǔ)言,HDL這類硬件語(yǔ)言無(wú)論從編程思路還是開(kāi)發(fā)流程上都有明顯不同。HDL是學(xué)習(xí)FPGA的基礎(chǔ),HDL代碼仿真、FPGA開(kāi)發(fā)流程、開(kāi)發(fā)軟件的使用、開(kāi)發(fā)板的調(diào)試,這些實(shí)踐性很強(qiáng)的教學(xué)內(nèi)容,是課程的重點(diǎn)和難點(diǎn)。大量教學(xué)經(jīng)驗(yàn)表明,學(xué)生親自走通整個(gè)實(shí)驗(yàn)過(guò)程后,對(duì)書(shū)本理論的理解更透徹,處理實(shí)際編程中遇到的問(wèn)題也更得心應(yīng)手。針對(duì)課程特點(diǎn)、學(xué)生實(shí)際情況以及現(xiàn)行教法的不足,個(gè)人總結(jié)了幾點(diǎn)教學(xué)經(jīng)驗(yàn)和改進(jìn)方法。

        1 講解知識(shí)點(diǎn)時(shí),突出“硬件”這一主線

        Verilog語(yǔ)言的初衷是描述硬件電路和進(jìn)行電路仿真,所有語(yǔ)法的設(shè)計(jì)均圍繞這一目的展開(kāi)。講解各類語(yǔ)法時(shí),不僅要介紹其格式,還應(yīng)從硬件特性的角度分析為什么要這樣設(shè)計(jì)。這不僅有助于學(xué)生理解知識(shí)點(diǎn),更能幫助學(xué)生領(lǐng)會(huì)Verilog編程的思想和方法。有了這層鋪墊,“綜合與不可綜合語(yǔ)法的區(qū)分”和“C語(yǔ)言與Verilog語(yǔ)言的異同”這些難點(diǎn),學(xué)生更易理解和接受。下面舉兩個(gè)教學(xué)案例加以說(shuō)明。

        案例1不可綜合語(yǔ)法的總結(jié)歸納

        這類語(yǔ)法之所以不可綜合,與硬件電路的特性直接相關(guān),主要有以下幾種。

        1)形如$time、$display、$fopen、$readmemb等任務(wù)。很明顯,熟悉了FPGA的內(nèi)部結(jié)構(gòu)后就能看出,因?yàn)樾酒瑳](méi)有對(duì)應(yīng)的電路支持這些操作,此類語(yǔ)法只用于仿真,用途是輸入仿真數(shù)據(jù)或輸出仿真結(jié)果。

        2)時(shí)間延遲。不同于單片機(jī)的時(shí)延函數(shù),Verilog的時(shí)延只能用于仿真。從硬件角度看,F(xiàn)PGA內(nèi)沒(méi)有現(xiàn)成的計(jì)時(shí)器等電路構(gòu)造,所以不可綜合。同時(shí)提醒學(xué)生,為達(dá)到可綜合的時(shí)延效果,應(yīng)采用變通的方案,如構(gòu)建高速時(shí)鐘驅(qū)動(dòng)的移位寄存器來(lái)實(shí)現(xiàn)。

        3)開(kāi)關(guān)級(jí)MOS管。因FPGA的最小可編程單元的層次在MOS管之上,即Verilog代碼無(wú)法在FPGA內(nèi)配置出基于MOS管所搭建的電路,故無(wú)法綜合。

        4)形如wait、forever、repeat、while 等高級(jí)語(yǔ)法。講解時(shí),著重強(qiáng)調(diào)HDL 是硬件描述語(yǔ)言,而非硬件設(shè)計(jì)語(yǔ)言,高級(jí)語(yǔ)法難以直接對(duì)應(yīng)硬件電路,綜合工具基本都不支持。

        5)initial初始化。這一語(yǔ)法用于仿真時(shí)給參數(shù)賦初值,無(wú)法直接對(duì)應(yīng)實(shí)際電路。課堂上可引導(dǎo)學(xué)生思考如何達(dá)到可綜合的初始化效果,給出兩種解決方法:狀態(tài)機(jī)和在代碼的復(fù)位if語(yǔ)句段內(nèi)給寄存器賦初值。由此提醒學(xué)生,可綜合的電路是通過(guò)變通的辦法實(shí)現(xiàn)寄存器初始化,而非直接使用initial語(yǔ)法。

        6)循環(huán)次數(shù)不固定的for循環(huán)。教學(xué)時(shí)需強(qiáng)調(diào),for循環(huán)是個(gè)特例,循環(huán)次數(shù)固定的for循環(huán)可以被綜合成電路。課堂上結(jié)合硬件特征加以解釋,因?yàn)閒or循環(huán)的綜合,本質(zhì)是將循環(huán)體逐次展開(kāi)成電路,若循環(huán)次數(shù)不固定,自然無(wú)法展開(kāi)成確定的電路。

        7)形如always@(posedge clk or negedge clk)的雙沿觸發(fā)。結(jié)合數(shù)字電路課程所學(xué)的DQ 觸發(fā)器的特點(diǎn),觸發(fā)沿只能是上升沿和下降沿之一,不能同時(shí)觸發(fā),故不可綜合。

        教學(xué)情況表明,加入硬件特性的分析后,相關(guān)知識(shí)點(diǎn)無(wú)需死記硬背。學(xué)生知其然更知其所以然,教學(xué)效果更佳。學(xué)生初學(xué)語(yǔ)法的第一印象就對(duì)是否可綜合有清晰明確的認(rèn)知,實(shí)際編程時(shí)避免走彎路。

        案例2Verilog與C語(yǔ)言執(zhí)行方式的差異

        C語(yǔ)言代碼按書(shū)寫(xiě)順序執(zhí)行(goto語(yǔ)句除外),而Verilog本質(zhì)上是并行化的,教學(xué)時(shí)需強(qiáng)調(diào)背后的硬件背景。C 語(yǔ)言編譯得到二進(jìn)制指令碼,執(zhí)行機(jī)構(gòu)是CPU,硬件特點(diǎn)是逐個(gè)取指令-指令譯碼-執(zhí)行指令。而對(duì)于FPGA,其內(nèi)部不是CPU的構(gòu)造,各Verilog模塊綜合得到的電路,上電后同時(shí)運(yùn)行,與書(shū)寫(xiě)順序無(wú)關(guān)。教學(xué)實(shí)踐表明,不僅要在緒論部分講解這一要點(diǎn),還要在后續(xù)講解各類語(yǔ)法時(shí),對(duì)比Verilog和C語(yǔ)言語(yǔ)法的異同。這樣,學(xué)生初學(xué)時(shí)就有“軟件編程與硬件編程只是形式上類似,編程思路上截然不同”的觀念,寫(xiě)代碼時(shí)從硬件電路的原理及工作方式的角度考慮,錯(cuò)誤率會(huì)降低。

        2 結(jié)合講授的知識(shí)點(diǎn),穿插復(fù)習(xí)“數(shù)字電路”課程

        數(shù)字電路作為電子類專業(yè)的基礎(chǔ)課,極為重要,本課程是數(shù)字電路的延伸。教學(xué)中,穿插復(fù)習(xí)數(shù)字電路的相關(guān)知識(shí)點(diǎn),既能鞏固前期所學(xué),查漏補(bǔ)缺,同時(shí)也為介紹Verilog或FPGA的相關(guān)知識(shí)點(diǎn)做鋪墊。在講解Verilog代碼的同步和異步復(fù)位寫(xiě)法之前,簡(jiǎn)要復(fù)習(xí)數(shù)字電路中的同步復(fù)位和異步復(fù)位概念,這照顧了遺忘相關(guān)知識(shí)點(diǎn)的學(xué)生。實(shí)踐表明,引入這一環(huán)節(jié)后,學(xué)生的學(xué)習(xí)效果更佳。

        3 作業(yè)題中引入改錯(cuò)題

        如前所述,Verilog語(yǔ)法與C語(yǔ)言的貌合神離,學(xué)生初學(xué)時(shí)容易混淆。除了必要的編程習(xí)題外,另設(shè)計(jì)了改錯(cuò)題。此類題型,主體是一段完整的代碼,劃分為10段,每段為一小題,其中若干段的語(yǔ)法或注釋有誤,答題時(shí),先判斷每段的對(duì)錯(cuò),若有誤則改正。這一新題型,不僅鍛煉學(xué)生代碼閱讀和理解能力,也能從側(cè)面提醒學(xué)生留意編程中的易錯(cuò)點(diǎn)。作業(yè)效果顯示較理想。

        4 注重知識(shí)點(diǎn)的梳理和系統(tǒng)總結(jié)

        Verilog語(yǔ)法較為繁瑣,知識(shí)點(diǎn)都零散分布于各個(gè)章節(jié)之中,需學(xué)生自行總結(jié)。結(jié)合本校學(xué)生情況,為達(dá)到更好的教學(xué)效果,在學(xué)完語(yǔ)法后,將重要的知識(shí)點(diǎn)做系統(tǒng)的歸納整理,幫助學(xué)生快速掌握要點(diǎn)。將學(xué)過(guò)的語(yǔ)法按可綜合與不可綜合分類,板書(shū)和課件中專門(mén)列出,學(xué)生一目了然。再如,Verilog語(yǔ)法格式中,哪些和C語(yǔ)言意義近似,哪些又有所區(qū)別,哪些是Verilog為描述硬件而特有的,都可以在學(xué)完語(yǔ)法后,以專題的形式總結(jié)。這對(duì)學(xué)生掌握硬件編程的難點(diǎn)大有幫助。

        5 涉及軟硬件操作的理論課時(shí),建議在機(jī)房授課

        傳統(tǒng)課堂大多安排在多媒體教室,通過(guò)投影儀演示軟件操作,但教學(xué)經(jīng)驗(yàn)表明這樣的方式收效不佳。原因是投影儀分辨率有限,軟件菜單文字和工具欄圖標(biāo)較小,學(xué)生不易看清楚。另外,學(xué)生只是走馬觀花地看了一遍操作,而等到動(dòng)手實(shí)驗(yàn)又隔了一段時(shí)間,課堂所講的操作要點(diǎn)已然淡忘。為此,直接將這類課時(shí)安排到機(jī)房,教師在投影儀上演示,學(xué)生同步上機(jī)跟進(jìn),邊學(xué)邊練手,效果更佳。

        6 結(jié)合學(xué)生實(shí)際,合理設(shè)計(jì)實(shí)驗(yàn)內(nèi)容

        為提高學(xué)生的技能,拓展就業(yè)面,不僅要開(kāi)設(shè)Verilog仿真類實(shí)驗(yàn),還需開(kāi)設(shè)開(kāi)發(fā)板調(diào)試的實(shí)驗(yàn)。鑒于各高校學(xué)生的理解和接受能力不一,實(shí)驗(yàn)教學(xué)不能照搬外校的內(nèi)容。本校以往的FPGA實(shí)驗(yàn),大多是上機(jī)做modelsim仿真,學(xué)生很少接觸開(kāi)發(fā)板。新實(shí)驗(yàn)的安排,一方面精簡(jiǎn)仿真類實(shí)驗(yàn),一方面增設(shè)開(kāi)發(fā)板綜合實(shí)驗(yàn)。本著難易適中、兼顧趣味性和實(shí)驗(yàn)條件的要求,設(shè)計(jì)了頻率計(jì)、簡(jiǎn)易電子琴、奏樂(lè)電路、數(shù)字電壓表、象棋比賽計(jì)時(shí)電路等若干必做的綜合性實(shí)驗(yàn)。這些實(shí)驗(yàn),代碼規(guī)模適度,突出了自頂向下的整體設(shè)計(jì)思路,全面覆蓋了重要的Verilog語(yǔ)法及知識(shí)點(diǎn),且最終都上開(kāi)發(fā)板調(diào)試,實(shí)驗(yàn)完成后能明顯看出成果。

        此外,為貼近實(shí)際應(yīng)用,設(shè)計(jì)了“數(shù)字濾波電路”、“matlab的HDL-Coder模塊使用”、“coordic算法求正弦和余弦值”等若干偏算法的選做實(shí)驗(yàn),供有興趣的學(xué)生完成。將綜合實(shí)驗(yàn)分為必做和選做,更符合因材施教的方針。

        7 總結(jié)

        針對(duì)FPGA課程的教學(xué),同仁已總結(jié)出一系列行之有效的教學(xué)方法[4-6]。結(jié)合本校學(xué)生的實(shí)際情況,為進(jìn)一步提高教學(xué)質(zhì)量,有幾點(diǎn)值得改進(jìn)和完善。一,強(qiáng)調(diào)和區(qū)分可綜合與不可綜合語(yǔ)法。根據(jù)編程及教學(xué)經(jīng)驗(yàn),只有明確區(qū)分了這兩類語(yǔ)法,才能寫(xiě)出合乎要求的、可以綜合出硬件電路的代碼,否則寫(xiě)出的代碼因無(wú)法綜合出電路而被開(kāi)發(fā)軟件忽略,導(dǎo)致較隱蔽的錯(cuò)誤。這類錯(cuò)誤初學(xué)者較難排查,勢(shì)必影響學(xué)習(xí)效率和積極性。二,突出Verilog語(yǔ)言與C語(yǔ)言在語(yǔ)法及理解方式上的異同。

        猜你喜歡
        編程語(yǔ)法電路
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        電路的保護(hù)
        解讀電路
        跟蹤導(dǎo)練(二)4
        KEYS
        巧用立創(chuàng)EDA軟件和Altium Designer軟件設(shè)計(jì)電路
        電子制作(2019年24期)2019-02-23 13:22:20
        基于MATLAB模擬混沌電路
        電子制作(2018年17期)2018-09-28 01:56:44
        国产真实夫妇视频| 男女男在线精品免费观看| 青青草免费在线手机视频| 中文字幕文字幕一区二区| 一区二区三区在线少妇| 成人欧美一区二区三区黑人| 性猛交╳xxx乱大交| 久久久精品人妻一区二区三区蜜桃 | 久久综合狠狠综合久久综合88| 黑色丝袜秘书夹住巨龙摩擦| 大陆极品少妇内射aaaaa| 在线观看av中文字幕不卡| 人妻精品久久中文字幕| 亚洲一区极品美女写真在线看 | 女人被狂c躁到高潮视频| 日日躁夜夜躁狠狠躁超碰97| 狠狠色综合播放一区二区| av大片在线无码永久免费网址| 在线观看播放免费视频| 在线观看麻豆精品视频| 五月综合激情婷婷六月| 欧洲女人性开放免费网站| 国产精品女同一区二区| 中文字幕精品一二三区| av资源在线永久免费观看| 亚洲乱码中文字幕一线区| 欧美牲交a欧美牲交aⅴ免费下载| 亚洲精品久久久久久久久久吃药| 小sao货水好多真紧h视频| 无码天堂亚洲国产av麻豆| av网址大全在线播放| 人妻蜜桃日产一本久道综合在线| 亚洲专区在线观看第三页| 日韩亚洲精选一区二区三区| 色婷婷精品久久二区二区蜜臀av| 国产精品欧美久久久久久日本一道| 久久99精品国产99久久6尤物| 久久久久久久久久久熟女AV| 精品丝袜国产在线播放| 国产一区二区三区18p| 日本道色综合久久影院|