赞
踩
真值表:D0-D3为输入,Q0-Q1为输出。
代码:
module encoder(
input [3:0]D,
output reg[1:0]Q
);
always@*
begin
case(D)
4'b0111:Q=2'b11;
4'b1011:Q=2'b10;
4'b1101:Q=2'b01;
4'b1110:Q=2'b00;
default:Q=2'bzz; //高阻
endcase
end
endmodule
仿真:
module Test(); reg [3:0]D; wire [1:0]Q; initial begin D=4'b0111; #100 //延时 D=4'b1011; #100 //延时 D=4'b1101; #100 //延时 D=4'b1110; #100 D=4'b0000; end encoder test( .D(D), .Q(Q) ); endmodule
波形:
真值表与4-2线编码器相同,只是输入输出是反的。
代码:
module lab( input [1:0]Q, output reg[3:0]D ); always@* begin case(Q) 2'b11:D=4'b0111; 2'b10:D=4'b1011; 2'b01:D=4'b1101; 2'b00:D=4'b1110; default:D=4'bzzzz; //高阻 endcase end endmodule
仿真:
module Test(); reg [1:0]Q; wire [3:0]D; initial begin #100 Q=2'b11; #100 //延时 Q=2'b10; #100 //延时 Q=2'b01; #100 //延时 Q=2'b00; end lab test( .Q(Q), .D(D) ); endmodule
波形:
RTL原理图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。