硬件描述语言范例 下载本文

内容发布更新时间 : 2024/5/1 23:46:42星期一 下面是文章的全部内容请认真阅读。

硬件描述语言范例

硬件描述语言语言设计实例 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