嚴(yán)海洲
摘要:組合邏輯電路設(shè)計(jì)實(shí)驗(yàn)是《數(shù)字邏輯》課程的重要實(shí)驗(yàn)項(xiàng)目。教師通過便捷、緊跟業(yè)界技術(shù)發(fā)展的口袋實(shí)驗(yàn)室,提出一個基礎(chǔ)的組合邏輯電路設(shè)計(jì)實(shí)驗(yàn),讓學(xué)生在掌握基礎(chǔ)實(shí)驗(yàn)的內(nèi)容后進(jìn)一步自主設(shè)計(jì)實(shí)驗(yàn)內(nèi)容。教師在課堂上的主要工作隨之轉(zhuǎn)移到引導(dǎo)學(xué)生自主設(shè)計(jì)實(shí)驗(yàn),延伸學(xué)生的認(rèn)識和思維過程、引導(dǎo)和開發(fā)學(xué)生的創(chuàng)新能力。從而培養(yǎng)嵌入式專業(yè)方向本科生的實(shí)踐技能和創(chuàng)新思維。
關(guān)鍵詞:口袋實(shí)驗(yàn)室;數(shù)字邏輯;組合邏輯電路;嵌入式系統(tǒng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)28-0268-03
口袋實(shí)驗(yàn)室,又稱無墻實(shí)驗(yàn)室,就是讓學(xué)生人手一個迷你“口袋實(shí)驗(yàn)箱”,上課帶來、下課帶走,課程結(jié)束時(shí)歸還。學(xué)生有了一個小的實(shí)驗(yàn)平臺,就可以結(jié)合課程內(nèi)容,隨時(shí)隨地進(jìn)行課程實(shí)驗(yàn);同時(shí),激蕩在學(xué)生頭腦中的創(chuàng)新想法可以即時(shí)得到驗(yàn)證,激發(fā)他們主動學(xué)習(xí)的興趣。
口袋實(shí)驗(yàn)室這種形式使實(shí)驗(yàn)設(shè)備突破了實(shí)驗(yàn)室的限制、實(shí)驗(yàn)課時(shí)的限制,能夠把最新的技術(shù)補(bǔ)充到學(xué)生的課余學(xué)習(xí)中,讓學(xué)生隨時(shí)隨地都能進(jìn)行實(shí)驗(yàn),從而最大程度地實(shí)現(xiàn)了實(shí)驗(yàn)室的開放。
目前口袋實(shí)驗(yàn)室理念在國內(nèi)多所高校已得到廣泛的認(rèn)可和貫徹,如清華大學(xué)、北京大學(xué)、哈爾濱工業(yè)大學(xué)、復(fù)旦大學(xué)、同濟(jì)大學(xué)、上海交通大學(xué)、東南大學(xué)、華中科技大學(xué)等都建起了數(shù)量、規(guī)模各異的口袋實(shí)驗(yàn)室。
本組合邏輯電路設(shè)計(jì)就是基于Xilinx(賽靈思公司)Basys3口袋實(shí)驗(yàn)室的。在性能更好的NEXYS4或ZYBO實(shí)驗(yàn)板上也可實(shí)現(xiàn)。
1 口袋實(shí)驗(yàn)室之核心硬件Basys3
Basys3 實(shí)驗(yàn)板(見圖1)是一款采用Xilinx最新7系列的數(shù)字電路入門級開發(fā)平臺,該平臺主芯片為Xilinx Artix系列中的最小型號 XC7A35T。它包含5200個slice資源,相當(dāng)于33,280個邏輯單元。每個slice包含4個6輸入查找表(LUT),8個觸發(fā)器 。容量為1800kb的塊狀RAM 以及5個時(shí)鐘管理單元,每個單元帶有一個鎖相環(huán)。Basys3同時(shí)也是一款入門級的FPGA實(shí)驗(yàn)板,專門針對Vivado Design Suite而設(shè)計(jì),具有Xilinx Artix-7 FPGA架構(gòu)。Basys3包含了所有Basys系列板卡的標(biāo)準(zhǔn)功能:完備的硬件規(guī)格,大 量的板載IO設(shè)備,所有需要FPGA支持的電路,以及免費(fèi)的開發(fā)工具,上手即用。
采用Basys3 可以實(shí)施更貼近嵌入式方向?qū)I(yè)要求的數(shù)字邏輯實(shí)驗(yàn)項(xiàng)目,形成符合嵌入式方向?qū)I(yè)要求的數(shù)字邏輯實(shí)驗(yàn)課程??山鉀Q現(xiàn)有《數(shù)字邏輯》實(shí)驗(yàn)課程的教學(xué)要求與嵌入式方向?qū)I(yè)要求相比有些偏低的問題。同時(shí)可以解決現(xiàn)有面向嵌入式方向的基礎(chǔ)實(shí)驗(yàn)課程實(shí)驗(yàn)平臺各異,實(shí)驗(yàn)內(nèi)容不夠貫通的問題。
2 口袋實(shí)驗(yàn)室之核心軟件Vivado
賽靈思在全球業(yè)界第一個發(fā)貨和量產(chǎn)28nm 7系列器件后,2012年又推出了“Vivado”這一全新的FPGA設(shè)計(jì)套件,很可能在將來取代已經(jīng)面世18年之久的賽靈思ISE設(shè)計(jì)套件。Vivado的推出,不僅僅是讓設(shè)計(jì)的界面更加漂亮(如圖2所示),更重要的是它帶給行業(yè)的那種體現(xiàn)在設(shè)計(jì)手段和設(shè)計(jì)方法上的的創(chuàng)新。眾所周知,對于電子設(shè)計(jì)工程師來說,一方面要求FPGA能實(shí)現(xiàn)所有的數(shù)字系統(tǒng)功能,包括:數(shù)字邏輯、嵌入式系統(tǒng)和數(shù)字信號處理等等;另一方面又要求基于FPGA的設(shè)計(jì)就像他們使用“C”語言給CPU、MCU編程那樣的簡單。Vivado將這兩個看起來相互矛盾的夢想變成了現(xiàn)實(shí)。
在Vivado 2014.3環(huán)境下如同前期的ISE環(huán)境,可以非常方便地運(yùn)用Verilog HDL語言的編程開發(fā)流程,包括源程序的輸入、編譯、模擬仿真及程序下載。
通過學(xué)習(xí)Verilog硬件描述語言,以及利用Verilog HDL進(jìn)行數(shù)字電路設(shè)計(jì)和FPGA開發(fā)的方法??勺寣W(xué)生初步掌握代表當(dāng)今數(shù)字邏輯設(shè)計(jì)前沿的FPGA開發(fā)的設(shè)計(jì)流程。除基本組合邏輯電路實(shí)驗(yàn)外,還可以追加時(shí)序邏輯電路的設(shè)計(jì)實(shí)驗(yàn)、。
3 口袋實(shí)驗(yàn)室之組合邏輯電路設(shè)計(jì)實(shí)驗(yàn)
本實(shí)驗(yàn)所用口袋實(shí)驗(yàn)室為Basys3電路板,板上的LED燈是共陰極的連接方式,當(dāng)輸入高電平‘1時(shí),LED亮;當(dāng)撥動開關(guān)靠近數(shù)字標(biāo)稱端輸出為低電平‘0。
3.1 簡單門電路的實(shí)現(xiàn)
在數(shù)字電路中,二輸入與門電路、或門電路、非門電路、與非門電路、或非門電路和異或門電路的邏輯表達(dá)式如下所示,真值表如表1。
下面分別給出這些門電路的行為描述方式(Behavioral)和邏輯寄存器傳輸描述方式(Register Transfer Level,RTL)??梢钥闯觯袨槊枋龇绞胶瓦壿嫳磉_(dá)式十分接近,而寄存器傳輸描述方式則是以真值表為依據(jù)進(jìn)行編寫的。 具體操作步驟如下:
(1) 利用向?qū)?,建立一個新項(xiàng)目,工程名為expe1,頂層文件名也指定為gate。
(2) 新建一個Verilog HDL文件。
(3) 在Verilog HDL文件中輸入程序:
a 行為描述方式源程序:
module gate(a,b,c1,c2,c3,c4,c5,c6);
input a,b;
output c1,c2,c3,c4,c5,c6;
assign c1=a&b;
assign c2=a|b;
assign c3=~a;
assign c4=~(a&b);
assign c5=~(a|b);
assign c6=a^b;
endmodule
b 寄存器傳輸描述方式源程序:
module gate(a,b,c1,c2,c3,c4,c5,c6);
input a,b;
output c1,c2,c3,c4,c5,c6;
reg c1,c2,c3,c4,c5,c6;
always@(a or b) begin
case({a,b})
2b00:
begin
c1<=0;c2<=0;c3<=1;c4<=1;c5<=1;c6<=0;
end
2b01:
begin
c1<=0;c2<=1;c3<=1;c4<=1;c5<=0;c6<=1;
end
2b10:
begin
c1<=0;c2<=1;c3<=0;c4<=1;c5<=0;c6<=1;
end
2b11:
begin
c1<=1;c2<=1;c3<=0;c4<=0;c5<=0;c6<=0;
end
default:
begin
c1<=0;c2<=0;c3<=0;c4<=0;c5<=0; c6<=0;
end
endcase
end
endmodule
(1) 進(jìn)行語法檢查和綜合編譯。
(2) 編寫testbench,進(jìn)行時(shí)序仿真。
(3) 分配管腳,生成*.bit文件(管腳分配可參照后續(xù)實(shí)驗(yàn)結(jié)果部分)。
(4) 下載。
3.2 三態(tài)門電路的實(shí)現(xiàn)
在數(shù)字電路中,三態(tài)門電路是在普通門電路的基礎(chǔ)上附加控制電路構(gòu)成的。三態(tài)門主要用于可編程邏輯器件管腳的雙向口設(shè)置。三態(tài)門的邏輯電路圖如圖3所示,真值表如表2。
根據(jù)三態(tài)門的邏輯電路圖和真值表,不難看出三態(tài)門電路的基本工作原理是:當(dāng)控制端口的輸入使能信號EN=1,那么直接將輸入端口的數(shù)據(jù)送到輸出端口上;當(dāng)控制端口的輸入使能信號EN=0,那么這時(shí)輸出端口呈高阻狀態(tài)。 具體操作步驟如下:
(1) 利用向?qū)?,建立一個新項(xiàng)目,工程名為expe2,頂層文件名也指定為tri_gate。
(2) 新建一個Verilog HDL文件。
(3) 在Verilog HDL文件中輸入程序:
module tri_gate(din,en,dout);
input din,en;
output dout;
reg dout;
always@(din or en) begin
if(en==1) dout<=din;
else dout<=1bz;
end
endmodule
(4) 進(jìn)行語法檢查和綜合編譯。
(5) 進(jìn)行時(shí)序仿真。
(6) 重新分配管腳,生成*.bit文件(管腳分配可參照實(shí)驗(yàn)結(jié)果部分)。
(7) 下載。
3.3 實(shí)驗(yàn)結(jié)果
1) 兩輸入與門電路的管腳分配表和實(shí)驗(yàn)結(jié)果對照表見表3、表4。
2) 二輸入或門電路、非門電路、與非門電路、或非門電路和異或門電路的管腳分配表和實(shí)驗(yàn)結(jié)果對照表見表5、表6。
3) 三態(tài)門電路的管腳分配表和實(shí)驗(yàn)結(jié)果對照表見表7、表8。
4 結(jié)束語
本組合邏輯電路設(shè)計(jì)是基于Xilinx(賽靈思公司)Basys3口袋實(shí)驗(yàn)室實(shí)現(xiàn)的,主要內(nèi)容為簡單門電路和三態(tài)門電路。在此口袋實(shí)驗(yàn)室的電路板上還可以實(shí)現(xiàn)編碼/譯碼器,比較器,全加器等組合邏輯功能。項(xiàng)目中使用的口袋實(shí)驗(yàn)室由于其優(yōu)秀的軟、硬件平臺,在本科教學(xué)中有多方面的應(yīng)用價(jià)值。
1)在Vivado 2014.3環(huán)境下,可推動Verilog HDL基本語法的學(xué)習(xí),有利于學(xué)生掌握Verilog HDL編程設(shè)計(jì)的基礎(chǔ)。 而Verilog HDL和VHDL并稱為業(yè)界最流行的兩種硬件描述語言,其重要性不言而喻。
2)在本科嵌入式方向的《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》三門課程間有一條銜接與貫通的主線:即由計(jì)算機(jī)組成基礎(chǔ)部件到單/多周期CPU和中斷/IO處理CPU,再到基本流水線CPU。本實(shí)驗(yàn)平臺可直接應(yīng)用于這三門課程。不僅能節(jié)約學(xué)生熟悉實(shí)驗(yàn)平臺的時(shí)間,而且同一實(shí)驗(yàn)平臺有利于他們溫故而知新。
3)讓嵌入式方向的學(xué)生開始學(xué)習(xí)滿足較高專業(yè)需求的實(shí)驗(yàn)內(nèi)容。打通面向嵌入式方向的基礎(chǔ)實(shí)驗(yàn)課程的教學(xué)內(nèi)容,有利于學(xué)生較系統(tǒng)、深刻地掌握滿足專業(yè)要求的軟硬件知識,鍛煉他們的系統(tǒng)設(shè)計(jì)能力。
參考文獻(xiàn):
[1] 白中英,謝松云等.數(shù)字邏輯[M].6版.北京:科學(xué)出版社,2013.
[2] RichardE.Haskell著,鄭利浩譯.FPGA數(shù)字邏輯設(shè)計(jì)教程—Verilog[M].北京:電子工業(yè)出版社,2013.
[3] 何賓.Xilinx FPGA設(shè)計(jì)權(quán)威指南:Vivado集成設(shè)計(jì)環(huán)境[M].北京:清華大學(xué)出版社,2014.
[4] 何賓.Xilinx FPGA權(quán)威設(shè)計(jì)指南:Vivado 2014集成開發(fā)環(huán)境[M].北京:清華大學(xué)出版社,2015.
[5] 孟憲元.Xilinx新一代 FPGA設(shè)計(jì)套件:Vivado應(yīng)用指南[M].北京:清華大學(xué)出版社,2014.