当前位置: 首页 > news >正文

【FPGA】VHDL:八段码到8421BCD码转换电路

目录

EDA设计基础练习题 :

实验要求如下:

代码

八段码到8421BCD码转换电路

8421BCD码到八段码转换电路

八段码到8421BCD~运行结果展示

8421BCD转八段码~运行结果展示

特别注意


软件:Quartus II 13.0 (64-bit)

语言:VHDL


EDA设计基础练习题

4、八段码到8421BCD码转换电路(以共阳极数码管为例)。

58421BCD码到八段码转换电路(以共阴极数码管为例)。


实验要求如下:

1、程序设计:编写完整实验程序;注明端口名称及意义;

2、仿真验证:编辑程序、编译、仿真;提交全部程序、文件及工程建立结果界面、编译成功界面、功能仿真结果波形图;注意仿真图需能够看出来工作过程及实现的功能

编码对象

8421BCD

共阳极八段码

共阴极八段码

Q8Q4Q2Q1

dpgfedcba

dpgfedcba

0

0000

11000000

00111111

1

0001

11111001

00000110

2

0010

10100100

01011011

3

0011

10110000

01001111

4

0100

10011001

01100110

5

0101

10010010

01101101

6

0110

10000010

01111101

7

0111

11111000

00000111

8

1000

10000000

01111111

9

1001

10010000

01101111

其他情况

1111

10111111

01000000


代码

八段码到8421BCD码转换电路

CASE-WHEN语句编写码转换电路比较方便,对比C语言中switch-case语句

-- 编写程序4  八段码到8421BCD码转换电路(以共阳极数码管为例)
-- 码转换 -case语句library IEEE;
USE IEEE.STD_logic_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_logic_unsigned.ALL;-- 实体声明
ENTITY ShiYan7 IS PORT( input_Yang	 : IN		STD_logic_vector(7 downto 0); output_8421BCD :out		STD_logic_vector(3 downto 0));	 
END ShiYan7;--结构体说明
ARCHITECTURE behave OF ShiYan7 ISBEGINPROCESS (input_Yang)BEGIN--八段码到8421BCD码转换电路(以共阳极数码管为例)CASE input_Yang ISWHEN "11000000"  => output_8421BCD <= "0000";WHEN "11111001"  => output_8421BCD <= "0001";WHEN "10100100"  => output_8421BCD <= "0010";WHEN "10110000"  => output_8421BCD <= "0011";WHEN "10011001"  => output_8421BCD <= "0100";WHEN "10010010"  => output_8421BCD <= "0101";WHEN "10000010"  => output_8421BCD <= "0110";WHEN "11111000"  => output_8421BCD <= "0111";WHEN "10000000"  => output_8421BCD <= "1000";WHEN "10010000"  => output_8421BCD <= "1001";when others => output_8421BCD <= "1111";END CASE;END PROCESS;
END behave; 

8421BCD码到八段码转换电路

-- 编写程序 5、8421BCD码到八段码转换电路(以共阴极数码管为例)。
-- 码转换 -case语句library IEEE;
USE IEEE.STD_logic_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_logic_unsigned.ALL;-- 实体声明
ENTITY ShiYan7 IS PORT( Input_8421BCD : IN		STD_logic_vector(3 downto 0); Output_Yin	 : OUT		STD_logic_vector(7 downto 0));	 
END ShiYan7;--结构体说明
ARCHITECTURE behave OF ShiYan7 ISBEGINPROCESS (Input_8421BCD)BEGIN--5、8421BCD码到八段码转换电路(以共阴极数码管为例)CASE Input_8421BCD ISWHEN "0000" => Output_Yin <= "00111111";WHEN "0001" => Output_Yin <= "00000110";WHEN "0010" => Output_Yin <= "01011011";WHEN "0011" => Output_Yin <= "01001111";WHEN "0100" => Output_Yin <= "01100110";  WHEN "0101" => Output_Yin <= "01101101";WHEN "0110" => Output_Yin <= "01111101";WHEN "0111" => Output_Yin <= "00000111";WHEN "1000" => Output_Yin <= "01111111";WHEN "1001" => Output_Yin <= "01101111";when others => Output_Yin <= "01000000";END CASE;END PROCESS;
END behave; 

编译通过

八段码到8421BCD~运行结果展示

8421BCD转八段码~运行结果展示

这个运行结果可以自行实验


特别注意

工程名要和实体名相同


IF-ELSE语句写法

IF 条件句 THEN顺序语句;
END IF;
第一种if语句用于门闩控制,就只有一个条件句,是最简单的if语句
----------IF 条件句 THEN顺序语句;
ELSE 顺序语句;
END IF;
第二种if语句多用于二选一电路,也很简单啦
----------IF 条件句 THEN顺序语句;
ELSLF 条件句 THEN 顺序语句;.....(这里可以有很多elsif语句)
ELSE(最后一句是ELSE,要注意)顺序语句;
END IF;
第三种多用于多选择的控制,这里一定一定要注意是"**ELSIF**"而不是ELSEIF
----------IF 条件句 THENIF 条件句 THEN顺序语句;END IF;
END IF;
第四种是if语句嵌套使用,多用于多个情况组合判断,例如clk电路
------------------------IF 条件句 THEN顺序语句;
END IF;
IF 条件句 THEN顺序语句;
END IF;
第五种是if语句并行执行

CASE-WHEN语句写法

CASE 多值表达式 ISWHEN 选择值 => 被赋值变量 <=赋值变量;WHEN 选择值 => 被赋值变量 <=赋值变量;WHEN 选择值 => 被赋值变量 <=赋值变量;...WHEN OTHERS =>被赋值变量 <=赋值变量;
END CASE

本代码纯自己手敲,拒绝白嫖!

参考文章:http://t.csdnimg.cn/h4KK1

相关文章:

【FPGA】VHDL:八段码到8421BCD码转换电路

目录 EDA设计基础练习题 &#xff1a; 实验要求如下&#xff1a; 代码 八段码到8421BCD码转换电路 8421BCD码到八段码转换电路 八段码到8421BCD~运行结果展示 8421BCD转八段码~运行结果展示 特别注意 软件&#xff1a;Quartus II 13.0 (64-bit) 语言&#xff1a;VHDL E…...

docker安装、运行

1、安装 之前有docker的话&#xff0c;需要先卸载旧版本&#xff1a; sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 安装之前需要安装yum工具&#xff1a; sud…...

新型RedAlert勒索病毒针对VMWare ESXi服务器

前言 RedAlert勒索病毒又称为N13V勒索病毒&#xff0c;是一款2022年新型的勒索病毒&#xff0c;最早于2022年7月被首次曝光&#xff0c;主要针对Windows和Linux VMWare ESXi服务器进行加密攻击&#xff0c;到目前为止该勒索病毒黑客组织在其暗网网站上公布了一名受害者&#x…...

qt-C++笔记之判断一个QLabel上有没有load图片

qt-C笔记之判断一个QLabel上有没有load图片 code review! 在Qt框架中&#xff0c;QLabel是用来显示文本或者图片的一个控件。如果你想判断一个QLabel控件上是否加载了图片&#xff0c;你可以检查它的pixmap属性。pixmap属性会返回一个QPixmap对象&#xff0c;如果没有图片被加…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Menu组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Menu组件 以垂直列表形式显示的菜单。 子组件 包含MenuItem、MenuItemGroup子组…...

vue三种路由守卫详解

在 Vue 中&#xff0c;可以通过路由守卫来实现路由鉴权。Vue 提供了三种路由守卫&#xff1a;全局前置守卫、全局解析守卫和组件内的守卫。 全局前置守卫 通过 router.beforeEach() 方法实现&#xff0c;可以在路由跳转之前进行权限判断。在这个守卫中&#xff0c;可以根据用…...

【Linux】线程概念和线程控制

线程概念 一、理解线程1. Linux中的线程2. 重新定义线程和进程3. 进程地址空间之页表4. 线程和进程切换5. 线程的优点6. 线程的缺点7. 线程异常8. 线程用途9. 线程和进程 二、线程控制1. pthread 线程库&#xff08;1&#xff09;pthread_create()&#xff08;2&#xff09;pth…...

maven创建webapp+Freemarker组件的实现

下载安装配置maven Maven官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘123云盘为您提供Maven最新版正式版官方版绿色版下载,Maven安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装https://www.123pan.com/s/9QRqVv-TcUY.html链接为3.6.2-3.6.3的版本 下载解…...

Stable Diffusion 模型下载:Samaritan 3d Cartoon SDXL(撒玛利亚人 3d 卡通 SDXL)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十...

Oracle系列之十:Oracle正则表达式

Oracle正则表达式 1. 基本语法2. POSIX字符类3. 正则表达式函数4. 常用正则表达式 正则表达式 (Regular expression) 是一种强大的文本处理工具&#xff0c;Oracle数据库自9i版本开始引入了正则表达式支持&#xff0c;可帮助开发者快速而准确地匹配、查找和替换字符串&#xff…...

php基础学习之运算符(重点在连接符和错误抑制符)

运算符总结 在各种编程语言中&#xff0c;常用的运算符号有这三大类&#xff1a; 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%位运算符&#xff1a;&&#xff0c;|&#xff0c;^&#xff0c;<<&#xff0c;>>赋值运算符&…...

【CC工具箱1.2.0】更新_免费无套路,60+个工具,原码放出

CC工具箱目前已经更新到1.2.0版本&#xff0c;完全免费无套路。 适用版本ArcGIS Pro 3.0及以上。 欢迎大家使用&#xff0c;反馈bug&#xff0c;以及提出需求和意见&#xff0c;时间和能力允许的话我会尽量满足要求。 如有关于工具的使用问题和需求建议&#xff0c;可以加下…...

Java 将TXT文本文件转换为PDF文件

与TXT文本文件&#xff0c;PDF文件更加专业也更适合传输&#xff0c;常用于正式报告、简历、合同等场合。项目中如果有使用Java将TXT文本文件转为PDF文件的需求&#xff0c;可以查看本文中介绍的免费实现方法。 免费Java PDF库 本文介绍的方法需要用到Free Spire.PDF for Java…...

Sketch 99.1 for macOS

Sketch 99.1 for macOS 概述 这个程序是对矢量绘图的创新性和焕然一新的看法。它特意采用了极简主义的设计&#xff0c;基于一个大小无限、图层自由的绘图空间&#xff0c;没有调色板、面板、菜单、窗口和控件。 此外&#xff0c;它提供了强大的矢量绘图和文本工具&#xff0c;…...

Apache 神禹(shenyu)源码阅读(一)——Admin向Gateway的数据同步(Admin端)

源码版本&#xff1a;2.6.1 单机源码启动项目 启动教程&#xff1a;社区新人开发者启动及开发防踩坑指南 源码阅读 前言 开了个新坑&#xff0c;也是第一次阅读大型项目源码&#xff0c;写文章记录。 在写文章前&#xff0c;已经跑了 Divide 插件体验了一下&#xff08;体…...

Prompt Tuning:深度解读一种新的微调范式

阅读该博客&#xff0c;您将系统地掌握如下知识点&#xff1a; 什么是预训练语言模型&#xff1f; 什么是prompt&#xff1f;为什么要引入prompt&#xff1f;相比传统fine-tuning有什么优势&#xff1f; 自20年底开始&#xff0c;prompt的发展历程&#xff0c;哪些经典的代表…...

Unity3d Shader篇(五)— Phong片元高光反射着色器

文章目录 前言一、Phong片元高光反射着色器是什么&#xff1f;1. Phong片元高光反射着色器的工作原理2. Phong片元高光反射着色器的优缺点优点缺点 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三、效果四、总…...

sql求解连续两个以上的空座位

Q&#xff1a;查找电影院所有连续可用的座位。 返回按 seat_id 升序排序 的结果表。 测试用例的生成使得两个以上的座位连续可用。 结果表格式如下所示。 A:我们首先找出所有的空座位&#xff1a;1&#xff0c;3&#xff0c;4&#xff0c;5 按照seat_id排序&#xff08;上面已…...

【链表】-Lc146-实现LRU(双向循环链表)

写在前面 最近想复习一下数据结构与算法相关的内容&#xff0c;找一些题来做一做。如有更好思路&#xff0c;欢迎指正。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.双向循环链表3.代码 写在后面 一、场景描述 运用你所掌握的数据结构&#xff0c;设计和实现一个 LRU (…...

MYSQL学习笔记:MYSQL存储引擎

MYSQL学习笔记&#xff1a;MYSQL存储引擎 MYSQL是插件式的存储引擎 存储引擎影响数据的存储方式 存储引擎是用来干什么的&#xff0c;innodb和myisam的主要区别–数据存储方式----索引 mysql> show engines; ----------------------------------------------------------…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...