1.优先编码器

1.1定义

为了防止多条线信号同时有效,规定只对序号最高的有效信号线进行编码,相当于该线的优先级别最高,称为优先编码器。

2.例子

真值表如下:

image.png


设计代码:

module encoder8_3(
input [7:0] din,
output reg  [2:0] out);

always@(*) begin
casex(din)
8'bx0: out=3'b000;
8'bx01:out=3'b001;
8'bx011:out=3'b010;
8'bx0111:out=3'b011;
8'bx01111:out=3'b100;
8'bx011111:out=3'b101;
8'bx0111111:out=3'b110;
8'b0111_1111:out=3'b111;
endcase
end



endmodule


 

testbench:

`timescale 1ns/1ns
module encoder8_3_tb;
reg [7:0] din;

wire [2:0]out;

initial begin
din=0;
repeat (20) begin
#10 din=8'b0101_1111;
#15 din=8'b1111_1110;
#10 din=8'b0111_1111;
#5  din=8'b1010_1111;
#20 din=8'b1111_0101;
#10 din=8'b1111_1011;
#7  din=8'b1110_0111;
#9  din=8'b1011_1111;
#8  din=8'b0011_1111;
end
end
encoder8_3 u1( din,out);

endmodule


 

仿真波形图:

image.png



————————————————

版权声明:本文为CSDN博主「小菜鸡-木子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_57520386/article/details/128754347