【verilog】用七段数码管显示二进制编码的十进制数

2024-03-11 08:50

本文主要是介绍【verilog】用七段数码管显示二进制编码的十进制数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验目的

用七段数码管显示0~9,输入为四个信号,这四位二进制数表示十进制的0~9

实验原理与内容

图1 逻辑电路与七段显示器

图2 真值表

  • 根据卡诺图,得出a~g的逻辑表达式:
a=~X2~X0+X1+X2X0+X3b=~X2+~X1~X0+X1X0c=~X1+X2+X0d=~X2~X0+X1~X0+~X2X1+X3+X2X0~X1e=~X2~X0+X1~X0f=~X1~X0+X3+X2~X1+X2~X0g=~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

图7 管脚分配完成窗口

实验体会及改进建议

  1. 在求a~g的逻辑表达式时要细心认真,防止出错、花费大量时间来改正
  2. 这次实验让我对verilog语言在内的quartus软件更加熟练了,再次体会到它的强大和魅力
  3. 确认所求a~g的逻辑表达式是否为最简,电路成本是否最低,如果不是,怎么改进

这篇关于【verilog】用七段数码管显示二进制编码的十进制数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/797322

相关文章

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

C语言中的常见进制转换详解(从二进制到十六进制)

《C语言中的常见进制转换详解(从二进制到十六进制)》进制转换是计算机编程中的一个常见任务,特别是在处理低级别的数据操作时,C语言作为一门底层编程语言,在进制转换方面提供了灵活的操作方式,今天,我们将深... 目录1、进制基础2、C语言中的进制转换2.1 从十进制转换为其他进制十进制转二进制十进制转八进制十进

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效