【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

相关文章

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`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

如何将二进制文件流转化为MockMultipartFile文件

《如何将二进制文件流转化为MockMultipartFile文件》文章主要介绍了如何使用Spring框架中的MockMultipartFile类来模拟文件上传,并处理上传逻辑,包括获取二进制文件流、创... 目录一、名词解释及业务解释1.具体业务流程2.转换对象解释1. MockMultipartFile2

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问