曲帥 張迪 王宇 陸軍裝甲兵學(xué)院
《電子技術(shù)》課程電氣、通信等專業(yè)非常重要的一門(mén)專業(yè)基礎(chǔ)課。如果沒(méi)能掌握相關(guān)知識(shí)內(nèi)容對(duì)后面專業(yè)課程的學(xué)習(xí)產(chǎn)生一定的影響。電子技術(shù)發(fā)展迅速。而與以往的教學(xué)內(nèi)容現(xiàn)已明顯跟不上現(xiàn)在電子技術(shù)發(fā)展的要求。如何改變這一現(xiàn)狀是我們目前面臨的難題。而FPGA作為當(dāng)前IC設(shè)計(jì)的主流形式之一,如何將FPGA應(yīng)用到電子技術(shù)的教學(xué)實(shí)踐中,讓學(xué)生能夠較短的實(shí)踐內(nèi)不但能夠掌握現(xiàn)代化的科技與知識(shí),同時(shí)又能提高學(xué)生創(chuàng)造能力,具有非常積極的作用。
FPGA(Field Programmable Gate Array)即現(xiàn)場(chǎng)可編程門(mén)陣列,其是基于PAL、GAL、EPLD、CPLD等可編程器件發(fā)展所得。作為ASIC領(lǐng)域中的一種半定制電路,不但能夠彌補(bǔ)了定制電路的缺陷,而且還能夠克服了已有可編程器件門(mén)電路有限的特點(diǎn)。對(duì)于一個(gè)n輸入的邏輯運(yùn)算,無(wú)論屬于與或非運(yùn)算或是異或運(yùn)算等,最大可能存在2n種結(jié)果。因此,如若先前往相同存儲(chǔ)單元內(nèi)存放對(duì)應(yīng)的結(jié)果,便意味著具備了與非門(mén)電路功能。FPGA的原理與其相同,他采取文件燒寫(xiě)的方式來(lái)配置查找表的內(nèi)容,以便于能夠在同一電路下具備各類邏輯功能。查找表簡(jiǎn)稱LUT,LUT其實(shí)就是一個(gè)RAM。FPGA多使用4或者6輸入的LUT,所以一個(gè)LUT可以看成是一個(gè)4或者6位地址線的16×1或者64×1的RAM。通常通過(guò)原理圖或者HDL語(yǔ)言(VHDL或者Verilog)描述了一個(gè)邏輯電路以后,F(xiàn)PGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有結(jié)果,并把真值表事先寫(xiě)入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。
具體的FPGA開(kāi)發(fā)流程包括電路設(shè)計(jì)、設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)、布線后仿真、板級(jí)仿真以及芯片編程等步驟。主要是利用EDA開(kāi)發(fā)工具軟件和編程工具對(duì)FPGA芯片進(jìn)行開(kāi)發(fā)。
電子技術(shù)是一門(mén)實(shí)踐性很強(qiáng)的課程,傳統(tǒng)的教學(xué)方式多是采用多媒體加板書(shū)。學(xué)生缺乏對(duì)電路的主觀認(rèn)識(shí),多數(shù)學(xué)生興趣不高,課堂質(zhì)量不高。特別是在講授觸發(fā)器、時(shí)序邏輯電路分析等難以理解的內(nèi)容時(shí),多數(shù)同學(xué)靠死記知識(shí)點(diǎn)來(lái)應(yīng)付考試。并不理解,更不會(huì)應(yīng)用。對(duì)后續(xù)的專業(yè)課影響較大。若引入FPGA進(jìn)行仿真,就可以幫助同學(xué)更加直觀的去理解概念,激發(fā)同學(xué)學(xué)習(xí)的積極性。
Vivado是Xilinx公司推出的綜合性FPGA/CPLD集成開(kāi)發(fā)環(huán)境。不但含括了邏輯設(shè)計(jì)全部需要的內(nèi)容,并且還有著許多建議的內(nèi)置式工具與向?qū)В笽/O分配、功耗分析、時(shí)序驅(qū)動(dòng)設(shè)計(jì)收斂等關(guān)鍵步驟能夠更加直觀與簡(jiǎn)易。而且在此過(guò)程中不需要使用其他第三方EDA軟件。
在數(shù)字電子技術(shù)課程教學(xué)中,利用Vivado2016.4作為仿真演示平臺(tái),能方便的展示器件功能和對(duì)電路的功能進(jìn)行分析,下面以8-3編碼碼器為例進(jìn)行說(shuō)明。
8-3 編碼器是將輸入的8個(gè)信號(hào)通過(guò)編碼器輸出3位的二進(jìn)制代碼。其真值表如表1所示:
表1 8-3編碼器真值表
因?yàn)槿魏螘r(shí)刻I0-I7僅有一個(gè)取值為1,即輸入變量取值的組合僅有表1列的八種狀態(tài)。一般的設(shè)計(jì)方法就是按照真值表列出邏輯表達(dá)式同時(shí)實(shí)施化簡(jiǎn),然后根據(jù)化簡(jiǎn)結(jié)果畫(huà)出邏輯電路。這種授課方式使學(xué)生對(duì)編碼器沒(méi)有一個(gè)直觀的影響。在實(shí)際的場(chǎng)景中更不會(huì)靈活應(yīng)用。所以我們可以引用FPGA,利用Vivado平臺(tái)進(jìn)行仿真分析,幫助學(xué)生更好的理解。
首先是電路輸入,利用硬件描述語(yǔ)言Verilog進(jìn)行電路的輸入。
然后進(jìn)行編譯綜合,圖1是編譯綜合后的電路圖。輸入是一個(gè)8位的信號(hào),輸出是一個(gè)3位的二進(jìn)制代碼。
圖1 編譯綜合后的電路圖
最后是仿真分析如圖2所示:
圖2 8-3編碼器仿真圖
由圖2可知,當(dāng)輸入端X_0=1時(shí),此時(shí)輸出為000。當(dāng)X_1=1時(shí),此時(shí)輸出為001。以此類推,直到當(dāng)X_7=1時(shí),此時(shí)輸出為111。波形圖很直觀的展現(xiàn)了8-3編碼器的功能。從而加深學(xué)生的理解。除了在課上展示外,學(xué)生課下也可以自己安裝Vivado軟件平臺(tái)。根據(jù)課上學(xué)習(xí)的知識(shí),自己動(dòng)手去分析和設(shè)計(jì)電路。從而去更好的調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,同時(shí)提升其操作能力,為后期專業(yè)知識(shí)的學(xué)習(xí)夯實(shí)基礎(chǔ)。
將FPGA應(yīng)用到電子技術(shù)課程的教學(xué)中,能夠豐富教學(xué)方式,提高學(xué)生學(xué)習(xí)積極性。通過(guò)搭建電路,把抽象的理論形象化。從而加深學(xué)生對(duì)知識(shí)的印象,調(diào)動(dòng)學(xué)生學(xué)習(xí)電子技術(shù)學(xué)習(xí)熱情,增強(qiáng)其操作能力,培養(yǎng)了學(xué)生創(chuàng)新能力。