牛客网Verilog刷题——VL15

牛客网Verilog刷题——VL15

题目

  根据下图中的真值表,实现8-3优先编码器。

在这里插入图片描述

信号类型输入/输出位宽
IwireIntput4
EIwireIntput1
YwireOutput3
GSwireOutput1
EOwireOutput1

答案

`timescale 1ns/1ns

module encoder_83(
   input      [7:0]       I   ,
   input                  EI  ,
   
   output wire [2:0]      Y   ,
   output wire            GS  ,
   output wire            EO    
);
reg	[2:0]	sr_Y;
reg			sr_GS,sr_EO;

always @(*)
begin
	casex(I)
		8'b0000_0000:begin sr_Y=3'd0; sr_GS=1'b0; sr_EO=1'b1; end
		8'b1xxx_xxxx:begin sr_Y=3'd7; sr_GS=1'b1; sr_EO=1'b0; end
		8'b01xx_xxxx:begin sr_Y=3'd6; sr_GS=1'b1; sr_EO=1'b0; end
		8'b001x_xxxx:begin sr_Y=3'd5; sr_GS=1'b1; sr_EO=1'b0; end
		8'b0001_xxxx:begin sr_Y=3'd4; sr_GS=1'b1; sr_EO=1'b0; end
		8'b0000_1xxx:begin sr_Y=3'd3; sr_GS=1'b1; sr_EO=1'b0; end
		8'b0000_01xx:begin sr_Y=3'd2; sr_GS=1'b1; sr_EO=1'b0; end
		8'b0000_001x:begin sr_Y=3'd1; sr_GS=1'b1; sr_EO=1'b0; end
		8'b0000_0001:begin sr_Y=3'd0; sr_GS=1'b1; sr_EO=1'b0; end
		default:begin sr_Y=3'd0; sr_GS=1'b0; sr_EO=1'b1; end
	endcase
end

assign Y = (EI) ? sr_Y : 3'b0;
assign GS = (EI) ? sr_GS : 1'b0;
assign EO = (EI) ? sr_EO : 1'b0;
endmodule
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值