//8-3线优先编码器
module cy4(input[7:0] I,input EI,//输入端口声明output reg[2:0] Y,//输出端口声明output reg GS,//输出端口及变量的数据类型声明output reg EO//输出端口及变量的数据类型声明);
always @(EI, I)
if(EI == 0) beginY <= 3'b000;GS = 1'b0;EO = 1'b0;end
else //当EI=1时,实现优先编码器的功能
beginGS = 1; EO = 0;//编码器的输入信号有效时,设定GS、EO的输出值casex(I)//逻辑值x表示输入信号中那些位可以为任意值8'b1000_0001: Y <= 3'b000;8'b0100_001x: Y <= 3'b001;8'b0010_01xx: Y <= 3'b010;8'b0001_1xxx: Y <= 3'b011;8'b0001_xxxx: Y <= 3'b100;8'b001x_xxxx: Y <= 3'b101;8'b01xx_xxxx: Y <= 3'b110;8'b1xxx_xxxx: Y <= 3'b111;default:beginY <= 3'b000;GS <= 0;EO <= 1;end//处理编码器输入信号无效的情况endcase
end
endmodule
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!