FPGA组合逻辑——3-8译码器

1.理论学习

       译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和
显示译码两类。变量译码器一般是一种较少输入变为较多输出的器件,常见的有 n 线-2^n
线译码和 8421BCD 码译码两类;显示译码器用来将二进制数转换成对应的七段码,一般其
可分为驱动 LED 和驱动 LCD 两类。

 2.实验设计

读取输入信号,可以从按键知道其对应的译码值。

2.1系统框图

2.2硬件说明

     in1、in2、in3分别对应硬件电路key1、key2、key3

     seg_duan对应数码管段选

2.3代码

`timescale  1ns/1ns
  						
module  decoder3_8
#(
    parameter   
	            SEG_0 = 8'hc0,   SEG_1 =8'hf9,
                SEG_2 = 8'ha4,   SEG_3 = 8'hb0,  
                SEG_4 = 8'h99,   SEG_5 = 8'h92,
                SEG_6 = 8'h82,   SEG_7 = 8'hf8
               
)              
(
    input   wire    key1,    
    input   wire    key2,          
    input   wire    key3,          

    output   reg  [7:0]  seg_duan,
	output   wire         seg_wei
);                                

wire   [2:0]   key; 

assign key = {key1,key2,key3};
assign seg_wei = 1'b1;       //位选给高电平点亮
  
always@(*)
    case(key)
         3'd7  : seg_duan = SEG_0;
         3'd6  : seg_duan = SEG_1;
		 3'd5  : seg_duan = SEG_2;
		 3'd4  : seg_duan = SEG_3;
		 3'd3  : seg_duan = SEG_4;
		 3'd2  : seg_duan = SEG_5;
		 3'd1  : seg_duan = SEG_6;
		 3'd0  : seg_duan = SEG_7;
        default: seg_duan = SEG_0;    
    endcase
endmodule                        

猜你喜欢

转载自blog.csdn.net/m0_72885897/article/details/128093337