Verilog写83编码器

module encode_83 (
	input wire[7:0] x,
	output reg[2:0] y,
	output reg e
);

	integer i;
	integer j=0;
	always @(*) begin //***
		for (i=0;i<8;i=i+1) begin
			if (x[i]==1)
				y<=i;
			else 
				j=j+1;
			end
			if (j==8) 
				e<=1;
			else
				e<=0;
		end
endmodule
module encode83_tb;
	reg[7:0] x;
	wire [2:0] y;
	wire e;
	encode_83 E(.x(x),
							.y(y),
							.e(e)
							);
							
	initial begin
		
		x=8'b00000000;#100;
		x=8'b00000001;#100;
		x=8'b00000010;#100;
		x=8'b00000100;#100;
		x=8'b00001000;#100;
		x=8'b00010000;#100;
		x=8'b00100000;#100;
		x=8'b01000000;#100;
		x=8'b10000000;#100;
		
		
	end
endmodule
		
		


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值