编码器和译码器设计——Verilog HDL

编码器设计 ——Verilog HDL语言

//设计一个输入输出均为高电平有效的3位二进制优先编码器
//I[7]的优先权最高,I[0]的优先权最低
module encoder8_3_test(I,Y);
input [7:0] I;
output reg[2:0] Y;

// 请在下面添加代码,完成设计任务
/* Begin */
always @(I)
begin
if(I[7]) Y = 3'b111;
else if(I[6]) Y = 3'b110;
else if(I[5]) Y = 3'b101;
else if(I[4]) Y = 3'b100;
else if(I[3]) Y = 3'b011;
else if(I[2]) Y = 3'b010;
else if(I[1]) Y = 3'b001;
else Y = 3'b000;
end
/* End */
endmodule

译码器设计——Verilog HDL语言

//设计具有一位使能端的3线-8线译码器。当使能端为0时,8位输出信号全为0;
//如果一位使能信号为1,则输出高电平有效的译码信号。
module decoder3e_test(a,ena,y);
  input [2:0] a;
  input ena;
  output reg [7:0] y; 

  // 请在下面添加代码,完成设计任务
/* Begin */
always @(a,ena)
begin
case({ena,a})
4'b0000,4'b0001,4'b0010,4'b0011,4'b0100,4'b0101,4'b0110,4'b0111:y = 8'b00000000;
4'b1000:y = 8'b00000001;
4'b1001:y = 8'b00000010;
4'b1010:y = 8'b00000100;
4'b1011:y = 8'b00001000;
4'b1100:y = 8'b00010000;
4'b1101:y = 8'b00100000;
4'b1110:y = 8'b01000000;
4'b1111:y = 8'b10000000;
endcase
end

/* End */
endmodule
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值