用Veirlog编写三八译码器
一、用logisim设计三八译码器
实验原理:
基本的译码器是多输入,多输出,并且输入少于输出。输入端为2进制编码,输出端为2^n 中取一码(此码输出为真,其余均为假)。通过分析实验目的,列出真值表,进而根据真值表写出输出表达式并化简,再利用逻辑电路即可实现此电路。
3-8译码器的输入信号共有3个,也就是可以输入8种不同的二进制编码,分别是000、001、010、011、100、101、110和111。对于每一种输入信号,3-8译码器都会产生对应的输出信号,输出信号共有8个,分别标识为Y0到Y7。
具体来说,当输入的二进制编码为000时,输出信号Y0为高电平,其它输出信号都为低电平;当输入的二进制编码为001时,输出信号Y1为高电平,其它输出信号都为低电平;以此类推,依次对应不同的输入信号。
二、用quartus编写三八译码器
代码如下:
module my_3_8( a , b , c , out);
input a ;
input b ;
input c ;
output reg [7:0]out ;
always@(a, b, c)
begin
case({a,b,c})
3'b000: out = 8'b0000_0001;
3'b001: out = 8'b0000_0010;
3'b010: out = 8'b0000_0100;
3'b011: out = 8'b0000_1000;
3'b100: out = 8'b0001_0000;
3'b101: out = 8'b0010_0000;
3'b110: out = 8'b0100_0000;
3'b111: out = 8'b1000_0000;
default : out = 1111_11111;
endcase
end
endmodule