湖北民族學(xué)院信息工程學(xué)院 黃雙林 景愛(ài)霞 劉 嵩湖北民族學(xué)院科技學(xué)院 徐 建
?
基于FPGA的組合邏輯電路教學(xué)實(shí)驗(yàn)融合研究
湖北民族學(xué)院信息工程學(xué)院 黃雙林 景愛(ài)霞 劉 嵩
湖北民族學(xué)院科技學(xué)院 徐 建
【摘要】FPGA技術(shù)為數(shù)字電路的教學(xué)和實(shí)驗(yàn),既帶來(lái)靈活性又帶來(lái)了挑戰(zhàn)?;谟布枋稣Z(yǔ)言(HDL)的FPGA正深入地改變傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念。本文對(duì)數(shù)字電路教學(xué)中組合邏輯部分內(nèi)容進(jìn)行了基于硬件描述語(yǔ)言(HDL)的FPGA改造,有利于克服傳統(tǒng)數(shù)字電路教學(xué)實(shí)驗(yàn)中的缺點(diǎn)。這種硬件設(shè)計(jì)軟件化設(shè)計(jì)模式有利于培養(yǎng)學(xué)生創(chuàng)新能力、增強(qiáng)綜合素質(zhì)和提高教學(xué)質(zhì)量,促使學(xué)生盡早掌握數(shù)字系統(tǒng)硬件設(shè)計(jì)軟件化發(fā)展的新趨勢(shì),提高學(xué)習(xí)興趣。
【關(guān)鍵詞】數(shù)字電路;FPGA;數(shù)字系統(tǒng)設(shè)計(jì);硬件描述語(yǔ)言
《數(shù)字電子技術(shù)基礎(chǔ)》是電氣信息類(lèi)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課程,具有很強(qiáng)的實(shí)踐性[1]。傳統(tǒng)數(shù)字電路教學(xué)注重?cái)?shù)字系統(tǒng)分析設(shè)計(jì)的所有細(xì)節(jié),對(duì)于初學(xué)者來(lái)說(shuō)比較繁雜,難以掌握和設(shè)計(jì)復(fù)雜度較高的數(shù)字系統(tǒng)。在實(shí)際教學(xué)中,教師往往以簡(jiǎn)單實(shí)例引導(dǎo)學(xué)生,逐步理解和掌握數(shù)字邏輯電路分析設(shè)計(jì)的一般步驟和方法。對(duì)于較復(fù)雜的數(shù)字系統(tǒng)設(shè)計(jì),對(duì)于學(xué)生學(xué)習(xí)和教師教學(xué)都存在著很大的挑戰(zhàn)以及難以逾越的障礙?;贔PGA技術(shù)[2],就可以讓教師只需要向?qū)W生教授數(shù)字邏輯問(wèn)題的分析和設(shè)計(jì)思路,從頂層開(kāi)始,逐步分解復(fù)雜問(wèn)題直至基本的簡(jiǎn)單的數(shù)字邏輯問(wèn)題。然后,通過(guò)HDL語(yǔ)言將這問(wèn)題和思路描述出來(lái)。最后將綜合分析后的目標(biāo)文件下載到FPGA器件就可以觀察設(shè)計(jì)結(jié)果。
近年來(lái),基于FPGA的數(shù)字系統(tǒng)設(shè)計(jì)已經(jīng)走入了高校電子信息專(zhuān)業(yè)數(shù)字電路教學(xué)環(huán)節(jié)和實(shí)驗(yàn)室實(shí)踐環(huán)節(jié)。文獻(xiàn)[3]認(rèn)為,采用FPGA技術(shù),改造高校數(shù)字電路實(shí)驗(yàn)方法和手段,對(duì)促進(jìn)教學(xué)內(nèi)容的知識(shí)更新,順應(yīng)國(guó)際電子設(shè)計(jì)及應(yīng)用技術(shù)發(fā)展需求,引入計(jì)算機(jī)EDA技術(shù)的設(shè)計(jì)和仿真手段,加強(qiáng)學(xué)生的綜合設(shè)計(jì)能力和直觀分析效率,使學(xué)生的學(xué)習(xí)和實(shí)驗(yàn)訓(xùn)練與現(xiàn)代技術(shù)發(fā)展相一致,具有一重要的意義和迫切性。文獻(xiàn)[4]分別通過(guò)組合邏輯和時(shí)序邏輯設(shè)計(jì)實(shí)例比較了傳統(tǒng)設(shè)計(jì)方法存在的問(wèn)題和現(xiàn)代邏輯設(shè)計(jì)方法的優(yōu)勢(shì)。文獻(xiàn)[5]闡述了FPGA在數(shù)字電路實(shí)驗(yàn)教學(xué)中的重要地位和作用。文獻(xiàn)[6]通過(guò)對(duì)現(xiàn)有課程中不同部分的內(nèi)容進(jìn)行分析,嘗試提取適應(yīng)發(fā)展的部分,重新構(gòu)成一個(gè)自洽的課程內(nèi)容體系。并認(rèn)為HDL的設(shè)計(jì)應(yīng)該將速度的評(píng)價(jià)融入到電路結(jié)構(gòu)的描述中,并通過(guò)仿真工具的應(yīng)用使這一評(píng)價(jià)能夠推廣到大系統(tǒng)中。
然而,關(guān)于如何將基于FPGA的現(xiàn)代EDA技術(shù)與傳統(tǒng)數(shù)字電路課堂教學(xué)融合的研究非常少,而且現(xiàn)有的研究工作尚處于起步階段。接下來(lái),本文將以組合邏輯電路為例,研究和討論在數(shù)字電路課程教學(xué)中如何將基于FPGA的現(xiàn)代EDA技術(shù)與數(shù)字電路傳統(tǒng)課堂教學(xué)相融合的方法和步驟。
組合邏輯電路的設(shè)計(jì):根據(jù)實(shí)際邏輯問(wèn)題,求出所要求邏輯功能的最簡(jiǎn)單邏輯電路。
2.1傳統(tǒng)設(shè)計(jì)思路
組合邏輯電路的設(shè)計(jì)步驟如下:
①邏輯抽象:根據(jù)實(shí)際邏輯問(wèn)題的因果關(guān)系確定輸入、輸出變量,并定義邏輯狀態(tài)的含義;②根據(jù)邏輯描述列出真值表;③由真值表寫(xiě)出邏輯表達(dá)式;④簡(jiǎn)化和變換邏輯表達(dá)式,畫(huà)出邏輯圖。
2.2基于FPGA的設(shè)計(jì)思路
基于FPGA的組合邏輯電路的設(shè)計(jì)步驟如下:
①根據(jù)實(shí)際邏輯問(wèn)題的因果關(guān)系確定輸入、輸出變量,并定義邏輯狀態(tài)的含義,并確定頂層模塊;②采用HDL語(yǔ)言描述邏輯問(wèn)題;③通過(guò)EDA工具進(jìn)行綜合分析、仿真和FPGA在線測(cè)試。
傳統(tǒng)的數(shù)字系統(tǒng)組合邏輯電路設(shè)計(jì)需要人工列出真值表,由真值表寫(xiě)出邏輯函數(shù)表達(dá)式,再簡(jiǎn)化和變換邏輯表達(dá)式,畫(huà)出邏輯圖。最后還需要購(gòu)買(mǎi)各種相應(yīng)的門(mén)電路或者集成電路器件,制作相應(yīng)的實(shí)際印制板電路,才可以進(jìn)行實(shí)際數(shù)字系統(tǒng)的測(cè)試。這整個(gè)過(guò)程對(duì)于剛剛接觸數(shù)字邏輯電路的學(xué)生來(lái)說(shuō),將是一項(xiàng)困難大、耗時(shí)長(zhǎng)和難以逾越的障礙。因此傳統(tǒng)的數(shù)字電路教學(xué)和實(shí)驗(yàn)需要占用大量的課時(shí),但是效果卻難以令人滿意。
基于硬件描述語(yǔ)言和FPGA的數(shù)字電路設(shè)計(jì)能夠大大簡(jiǎn)化初始入門(mén)者的學(xué)習(xí)門(mén)檻,輕松進(jìn)行數(shù)字電路實(shí)驗(yàn)和進(jìn)行實(shí)際數(shù)字系統(tǒng)的仿真測(cè)試。
3.1注重分析和設(shè)計(jì)思路
在實(shí)際教學(xué)中,首先向?qū)W生傳輸傳統(tǒng)的組合邏輯電路分析設(shè)計(jì)思想,然后再講解基于FPGA和HDL語(yǔ)言的設(shè)計(jì)思路。通過(guò)對(duì)比教學(xué),激發(fā)學(xué)生學(xué)習(xí)先進(jìn)設(shè)計(jì)方法、理念和EDA開(kāi)發(fā)工具。
在對(duì)比教學(xué)中,注重問(wèn)題的分析,突出如何從問(wèn)題中提煉出基本邏輯問(wèn)題,理清各個(gè)邏輯變量的內(nèi)在因果聯(lián)系,確定輸入、輸出邏輯變量,并定義邏輯狀態(tài)的含義。在此基礎(chǔ)上,用HDL語(yǔ)言對(duì)于問(wèn)題進(jìn)行描述。最后,通過(guò)EDA工具進(jìn)行綜合分析、仿真和FPGA在線測(cè)試。
在這個(gè)過(guò)程中,無(wú)論是初始針對(duì)原始問(wèn)題的分析以確定內(nèi)在因果邏輯關(guān)系,還是采用HDL語(yǔ)言對(duì)于問(wèn)題進(jìn)行描述和設(shè)計(jì),都只需要教師和學(xué)生著眼于問(wèn)題分析和設(shè)計(jì)思路。這大大簡(jiǎn)化整個(gè)設(shè)計(jì)過(guò)程、加快實(shí)際電路設(shè)計(jì)速度,降低設(shè)計(jì)門(mén)檻,并且通過(guò)FPGA實(shí)驗(yàn)板可以馬上驗(yàn)證實(shí)際效果。
3.2典型數(shù)字集成電路與HDL描述相結(jié)合
在組合數(shù)字邏輯電路教學(xué)中,對(duì)于典型數(shù)字集成電路的教學(xué)可以與HDL描述相結(jié)合。首先介紹典型數(shù)字集成電路的原理、功能、邏輯電路圖、真值表以及典型期間等;在此基礎(chǔ)上,接著討論采用HDL語(yǔ)言描述的編程模塊,以及仿真和實(shí)際測(cè)試效果。這樣的教學(xué)有利于學(xué)生更加注重模塊邏輯功能和設(shè)計(jì)思路,減少學(xué)生學(xué)習(xí)器件以及器件連接的枯燥,即時(shí)的實(shí)際效果展示又可以進(jìn)一步激發(fā)學(xué)生學(xué)習(xí)興趣,強(qiáng)化學(xué)生求知欲望。在接下來(lái)部分,本文將以三八譯碼器為實(shí)例進(jìn)行說(shuō)明。
譯碼的功能是將具有特定含義的二進(jìn)制碼進(jìn)行辨別,并轉(zhuǎn)換成控制信號(hào),具有譯碼功能的邏輯電路稱(chēng)為譯碼器。譯碼器在數(shù)字系統(tǒng)中有廣泛的應(yīng)用,不僅用于代碼的轉(zhuǎn)換、終端的數(shù)字顯示,還用于數(shù)據(jù)分配,存貯器尋址和組合控制信號(hào)等。不同的功能可選用不同種類(lèi)的譯碼器。譯碼是編碼的逆過(guò)程,它能將二進(jìn)制碼翻譯成代表某一特定含義的信號(hào) (即電路的某種狀態(tài))。具有譯碼功能的邏輯電路稱(chēng)為譯碼器。
圖1 波形仿真
三八譯碼器有三個(gè)地址輸入端A、B、C,它們共有8種狀態(tài)的組合,即可譯出8個(gè)輸出信號(hào)Y0~Y7。另外它還有三個(gè)使能輸入端E1、E2、E3。實(shí)現(xiàn)3-8譯碼器的Verilog HDL代碼如下:
圖1是三八譯碼器的波形仿真。從仿真波形中,可以直觀地看出輸入和輸出之間的邏輯關(guān)系。在波形仿真之后,可以很快通過(guò)下載線下載目標(biāo)文件到FPGA實(shí)驗(yàn)板,在課堂上就可以觀察實(shí)際電路的運(yùn)行效果。
本文思考如何將基于HDL語(yǔ)言的FPGA實(shí)驗(yàn)板與傳統(tǒng)數(shù)字電路教學(xué)相結(jié)合。這種思路無(wú)疑能夠豐富課堂教學(xué)手段,開(kāi)拓學(xué)生視野,激發(fā)學(xué)生興趣,強(qiáng)化學(xué)生求知欲望。數(shù)字電路是一門(mén)實(shí)踐性很強(qiáng)的課程,通過(guò)課程講授、結(jié)合虛擬實(shí)驗(yàn)和實(shí)物實(shí)驗(yàn)將使學(xué)生的創(chuàng)新精神、動(dòng)手能力得到較大的提高,進(jìn)一步鞏固所學(xué)的理論知識(shí),提高教學(xué)質(zhì)量。在厚基礎(chǔ)、寬口徑的應(yīng)用人才培養(yǎng)模式指導(dǎo)下,我們的課堂教學(xué)中應(yīng)該注重知識(shí)的復(fù)合性、現(xiàn)時(shí)性和應(yīng)用性,培養(yǎng)學(xué)生應(yīng)用科學(xué)理論解決實(shí)際問(wèn)題的綜合能力、實(shí)踐能力及創(chuàng)新能力。
參考文獻(xiàn)
[1]康華光,秦臻,張林.電子技術(shù)基礎(chǔ)–數(shù)字部分[M].北京:高等教育出版社,2014.
[2]王金明.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M].北京:電子工業(yè)出版社,2014.
[3]朱明程,董爾令.應(yīng)用FPGA技術(shù)改造數(shù)字電路實(shí)驗(yàn)[J].電工教學(xué),1995,17(3):29-34.
[4]雙凱,蔡洪明.基于CPLD/FPGA的數(shù)字電路設(shè)計(jì)方法變革必要性研究[J].現(xiàn)代電子技術(shù),2014,4,37(7):139-142.
[5]丁健,杜瀟君,張景鳳.基于FPGA的數(shù)字電路實(shí)驗(yàn)教學(xué)的探討[J].信息技術(shù)教學(xué)與研究,2011,60:158-159.
[6]姜書(shū)艷,張鷹,蔣寧,唐軍,李力.數(shù)字電路教學(xué)體系改革的研究[J].教育教學(xué)論壇,2014.2,6:165-166.
通訊作者:徐建。
基金項(xiàng)目:湖北民族學(xué)院博士啟動(dòng)基金(MY2013B015);湖北民族學(xué)院科技學(xué)院教學(xué)研究項(xiàng)目(KYJY201507)。