三人表決器的邏輯功能框架圖
verilog代碼:
module A4_Vote4
{
//輸入端口
KEY1,KEY2,KEY3,
//輸出端口
LED1,LED2,LED3,SEG_DATA,SEG_EN
};
input KEY1,KEY2,KEY3;//按鍵
output LED1,LED2,LED3;//led
output [5:0] SEG_EN;//數碼管使能管腳
output reg [6:0] SEG_DATA;//數碼管數據管腳
parameter SEG_NUM0=7'h3f,//數字0
SEG_NUM1=7'h06,//數字1
SEG_NUM2=7'h5b,//數字2
SEG_NUM3=7'h4f;//數字3
always @(*)
begin
case({KEY3,KEY2,KEY1})
3'b000:SEG_DATA=SEG_NUM0;
3'b001:SEG_DATA=SEG_NUM1;
3'b010:SEG_DATA=SEG_NUM1;
3'b011:SEG_DATA=SEG_NUM2;
3'b100:SEG_DATA=SEG_NUM1;
3'b101:SEG_DATA=SEG_NUM2;
3'b110:SEG_DATA=SEG_NUM2;
3'b111:SEG_DATA=SEG_NUM3;
default:SEG_DATA=SEG_NUM0;
endcase
end
assign LED1=!KEY1;
assign LED2=!KEY2;
assign LED3=!KEY3;
assign SEG_EN=6'b011111;
endmodule