内容发布更新时间 : 2025/1/6 18:41:14星期一 下面是文章的全部内容请认真阅读。
硬件描述语言范例
硬件描述语言语言设计实例 1、8-3编码器
module encode_verilog ( a ,b ); input [7:0] a ; //编码器输入 wire [7:0] a ;
output [2:0] b ; //编码器输出 reg [2:0] b; always @ ( a ) begin
case ( a ) //编码器某一输入端口为高电平输出相应的3位二进制数
8'b0000_0001 : b<=3'b000; //0 8'b0000_0010 : b<=3'b001; //1 8'b0000_0100 : b<=3'b010; //2 8'b0000_1000 : b<=3'b011; //3 8'b0001_0000 : b<=3'b100; //4 8'b0010_0000 : b<=3'b101; //5 8'b0100_0000 : b<=3'b110; //6 8'b1000_0000 : b<=3'b111; //7
default : b<= 3'b000; //其他情况编码器输出3’b000 endcase end
2
endmodule
2、8-3优先编码器
module p_encode_verilog ( A ,I ,GS ,EO ,EI ); //编码器以低为有效 input [7:0] I ; //编码器输入 wire [7:0] I ;
input EI ; //输入使能,EI=0时,编码器正常工作 wire EI ;
output [2:0] A ; //编码器输出 reg [2:0] A ;
output GS ; //优先编码器工作状态标志,编码器的八个输入端有信号输入时,GS=0 reg GS ;
output EO ; //输出使能, reg EO ;
always @ ( I or EI )
if ( EI ) //使用if、else if表明条件的优先级顺序 begin A <= 3'b111; GS <= 1; EO <= 1;
3