Lattice MXO2: 3-8譯碼器

 行業(yè)動(dòng)態(tài)     |      2023-10-19 09:24:20    |      作者

在這個(gè)實(shí)驗(yàn)里我們將學(xué)習(xí)如何用Verilog來(lái)實(shí)現(xiàn)組合邏輯。

硬件說(shuō)明


組合邏輯電路是數(shù)字電路的重要部分,電路的輸出只與輸入的當(dāng)前狀態(tài)相關(guān)的邏輯電路,常見(jiàn)的有選擇器、比較器、譯碼器、編碼器、編碼轉(zhuǎn)換等等。在本實(shí)驗(yàn)里以最常見(jiàn)的3-8譯碼器為例說(shuō)明如何用Verilog實(shí)現(xiàn)。3-8譯碼器的真值表如下:

從前面的實(shí)驗(yàn)可以知道,當(dāng)FPGA輸出信號(hào)到LED為高電平時(shí)LED熄滅,反之LED變亮。同時(shí)我們可以以開(kāi)關(guān)的信號(hào)模擬3-8譯碼器的輸入,這樣控制開(kāi)關(guān)我們就能控制特定的LED變亮。

Verilog代碼


//******************************************************************** //>>>>>>>>>>>>>>>>>>>>>>>>>COPYRIGHTNOTICE<<<<<<<<<<<<<<<<<<<<<<<<< //******************************************************************** //Filename:decode38.v //Modulename:decode38 //Author:STEP //Description:3-8decodecontrolLED //Web:www.stepfpga.com // //-------------------------------------------------------------------- //CodeRevisionHistory: //-------------------------------------------------------------------- //Version:|Mod.Date:|ChangesMade: //V1.0|2017/03/02|Initialver //-------------------------------------------------------------------- //ModuleFunction:利用3路開(kāi)關(guān)的狀態(tài)作為輸出,通過(guò)3-8譯碼實(shí)現(xiàn)控制LED燈的顯示。 moduledecode38(sw,led); input[2:0]sw; //開(kāi)關(guān)輸入信號(hào),利用了其中3個(gè)開(kāi)關(guān)作為3-8譯碼器的輸入 output[7:0]led; //輸出信號(hào)控制特定LED reg[7:0]led; //定義led為reg型變量,在always過(guò)程塊中只能對(duì)reg型變量賦值 //always過(guò)程塊,括號(hào)中sw為敏感變量,當(dāng)sw變化一次執(zhí)行一次always中所有語(yǔ)句,否則保持不變 always@(sw) begin case(sw)//case語(yǔ)句,一定要跟default語(yǔ)句 3'b000: led=8'b0111_1111; //條件跳轉(zhuǎn),其中“_”下劃線只是為了閱讀方便,無(wú)實(shí)際意義 3'b001: led=8'b1011_1111; //位寬'進(jìn)制+數(shù)值是Verilog里常數(shù)的表達(dá)方法,進(jìn)制可以是b、o、d、h(二、八、十、十六進(jìn)制) 3'b010: led=8'b1101_1111; 3'b011: led=8'b1110_1111; 3'b100: led=8'b1111_0111; 3'b101: led=8'b1111_1011; 3'b110:led=8'b1111_1101; 3'b111: led=8'b1111_1110; default:; endcase endendmodule

引腳分配


綜合(synthesize)完成之后一定要配置FPGA的引腳到相應(yīng)的外設(shè)。

下載完程序后就可以實(shí)現(xiàn)3個(gè)開(kāi)關(guān)控制不同LED燈的顯示,3-8譯碼器完成。

小結(jié)


實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的組合邏輯3-8譯碼器,在下一個(gè)數(shù)碼管顯示實(shí)驗(yàn)我們將學(xué)習(xí)如何通過(guò)譯碼實(shí)現(xiàn)控制數(shù)碼管的顯示。