【连载】FPGA Verilog HDL系列实例
Verilog HDL的8-3 BCD分段显示解码器
一、原理
7段数码管利用不同的发光bmdls方式显示不同的数字。 为了使数码管能够显示数字的代表性数量,必须用编解码器翻译数字,用驱动程序点亮配对用的字段。 结构图如下图1.1所示。 例如,要显示数值5,必须点亮a、f、g、c、d各段。
表1.2 3-8解码器真值表
二、实现
在设计文件中输入Verilog代码
1 `时间比例1 ns/1 PS
2
3模块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
13Always@(a )。
14 begin
15 Y_r=7'b1111111;
16情况(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
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
14(b11103360y_r=7) b1111001; //E
24(b11113360y_r=7) b1110001; //F
33 default: Y_r=7'b0000000;
34 endcase
35结束
36
37结束模块
转载于:https://www.cn blogs.com/kongtiao/archive/2011/08/25/2151127.html