实验目的
用七段数码管显示0~9,输入为四个信号,这四位二进制数表示十进制的0~9
实验原理与内容
图1 逻辑电路与七段显示器
图2 真值表
- 根据卡诺图,得出a~g的逻辑表达式:
a=~X2~X0+X1+X2X0+X3
b=~X2+~X1~X0+X1X0
c=~X1+X2+X0
d=~X2~X0+X1~X0+~X2X1+X3+X2X0~X1
e=~X2~X0+X1~X0
f=~X1~X0+X3+X2~X1+X2~X0
g=~X2X1+X2~X1+X2~X0+X3
硬件描述语言:
module exp2(X3,X2,X1,X0,a,b,c,d,e,f,g);
input X3,X2,X1,X0;
output a,b,c,d,e,f,g;
assign a=(~X2&~X0)|X1|(X2&X0)|X3;
assign b=(~X2)|(~X1&~X0)|(X1&X0);
assign c=~X1|X2|X0;
assign d=(~X2&~X0)|(X1&~X0)|(~X2&X1)|X3|(X2&X0&~X1);
assign e=(~X2&~X0)|(X1&~X0);
assign f=(~X1&~X0)|X3|(X2&~X1)|(X2&~X0);
assign g=(~X2&X1)|(X2&~X1)|(X2&~X0)|X3;
endmodule
实验过程
图4 代码编译成功
图5 电路图
图6 仿真波形
表1 端口管脚分配表
端口 |
使用模块信号 |
对应FPGA管脚 |
功能说明 |
X3 |
拨动开关K1 |
Pin_W6 |
控制输入的四个信号的高低电平 |
X2 |
拨动开关K2 |
Pin_Y4 |
|
X1 |
拨动开关K3 |
Pin_U7 |
|
X0 |
拨动开关K4 |
Pin_V3 |
|
a |
Hseg_D0 |
Pin_AB9 |
7-segment displays “a” |
b |
Hseg_D1 |
Pin_AA8 |
7-segment displays “b” |
c |
Hseg_D2 |
Pin_AA7 |
7-segment displays “c” |
d |
Hseg_D3 |
Pin_AA4 |
7-segment displays “d” |
e |
Hseg_D4 |
Pin_AB5 |
7-segment displays “e” |
f |
Hseg_D5 |
Pin_AB8 |
7-segment displays “f” |
g |
Hseg_D6 |
Pin_AB7 |
7-segment displays “g” |
文章来源:https://www.toymoban.com/news/detail-424603.html
图7 管脚分配完成窗口文章来源地址https://www.toymoban.com/news/detail-424603.html
实验体会及改进建议
- 在求a~g的逻辑表达式时要细心认真,防止出错、花费大量时间来改正
- 这次实验让我对verilog语言在内的quartus软件更加熟练了,再次体会到它的强大和魅力
- 确认所求a~g的逻辑表达式是否为最简,电路成本是否最低,如果不是,怎么改进
到了这里,关于【verilog】用七段数码管显示二进制编码的十进制数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!