kongtiao

【连载】 FPGA Verilog HDL 系列实例 

Verilog HDL 之 8-3 BCD七段显示译码器

一、原理

  7段数码管是利用不同发光段组合的方式来显示不同的数码,为了试数码管能将数码所代表的数显示出来,必须将数码经译码器译出,然后经驱动器点亮对用的段。结构图如下图1.1。  比如要显示数值5,须将a, f, g, c, d各段点亮。   

 

                  表1.2    3-8译码器真值表

二、实现

在设计文件中输入Verilog代码

 1  `timescale 1 ns / 1 ps
2
3 module bcd7seg ( Y ,A );
4
5 input [3:0] A ;
6 wire [3:0] A ;
7
8 output [6:0] Y ;
9 wire [6:0] Y ;
10 assign Y =~Y_r;
11 reg [6:0] Y_r;
12
13 always @(A )
14 begin
15 Y_r = 7\'b1111111;
16 case (A )
17 4\'b0000: Y_r = 7\'b0111111; // 0
18 4\'b0001: Y_r = 7\'b0000110; // 1
19 4\'b0010: Y_r = 7\'b1011011; // 2
20 4\'b0011: Y_r = 7\'b1001111; // 3
21 4\'b0100: Y_r = 7\'b1100110; // 4
22 4\'b0101: Y_r = 7\'b1101101; // 5
23 4\'b0110: Y_r = 7\'b1111101; // 6
24 4\'b0111: Y_r = 7\'b0000111; // 7
25 4\'b1000: Y_r = 7\'b1111111; // 8
26 4\'b1001: Y_r = 7\'b1101111; // 9
27 4\'b1010: Y_r = 7\'b1110111; // A
28 4\'b1011: Y_r = 7\'b1111100; // b
29 4\'b1100: Y_r = 7\'b0111001; // c
30 4\'b1101: Y_r = 7\'b1011110; // d
31 4\'b1110: Y_r = 7\'b1111001; // E
32 4\'b1111: Y_r = 7\'b1110001; // F
33 default: Y_r = 7\'b0000000;
34 endcase
35 end
36
37 endmodule

 

 

 

 

 

 

 

 

 

 

 

分类:

技术点:

相关文章:

  • 2021-12-02
  • 2022-02-28
  • 2021-12-01
  • 2021-07-31
  • 2022-01-18
  • 2021-12-10
  • 2021-09-13
  • 2021-05-19
猜你喜欢
  • 2021-09-18
  • 2021-06-10
  • 2021-12-04
  • 2021-09-18
  • 2021-12-04
  • 2021-10-02
相关资源
相似解决方案