【上海大学数字逻辑实验报告】三、组合电路(二)

news2024/12/23 7:06:19

一、实验目的

  1. 掌握8421码到余3码的转换。
  2. 掌握2421码到格雷码的转换。
  3. 进一步熟悉组合电路的分析和设计方法。
  4. 学会使用Quartus II设计8421码到余3码的转换电路逻辑图。
  5. 学会使用Quartus II设计2421码到格雷码的转换电路逻辑图。

二、实验原理

  1. 8421码是最常用的BCD码,在这种编码方式中,每一位二进制代码的“1”都代表一个固定数值。将每位“1”所代表的二进制数加起来就可以得到它所代表的十进制数字。
  2. 2421码是一种有权码,从左到右,第一位“1”代表“2”,第二位“1”代表“4”,第三位“1”代表“2”,第四位“1”代表“1”。
  3. 余3码是由8421BCD码加上0011形成的一种无权码,其特点为当两个十进制数的和是9时,相应的余3码的和正好是15,于是可自动产生进位信号,而不需修正。
  4. 8421码与余3码之间的关系:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 2421码与Gray码之间的关系:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三、实验内容

实验任务一:设计8421码到余3码的转换电路

(1) 实验步骤
  1. 用Quartus II设计出如下电路:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 编译通过后进行波形仿真,验证电路逻辑功能:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 仿真通过后,参照原理图定义引脚:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 生成编程并将文件下载到FPGA。
  2. 将开关连接对应的输入引脚,输出引脚连接到发光二极管:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 用开关和发光二极管测试FPGA的功能。
  2. 记录测试结果。
(2) 实验现象

当输入一个8421BCD码时,电路总是能输出对应的余3码。

(3) 数据记录、分析与处理

8421码到余3码转换电路的输入输出状态记录表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(4) 实验结论

通过使用Quartus II设计工具,我们成功地设计并测试了一个8421码到余3码的转换电路。该电路的功能包括输入一个8421BCD码,并产生相应的余3码。实验结果表明,电路在各种输入条件下都表现出良好的性能,符合预期行为。

实验任务二:设计2421码到Gray码的转换电路

(1) 实验步骤
  1. 用Quartus II设计出如下电路:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 编译通过后进行波形仿真,验证电路逻辑功能:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 仿真通过后,参照原理图定义引脚:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 生成编程并将文件下载到FPGA。
  2. 将开关连接对应的输入引脚,输出引脚连接到发光二极管:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 用开关和发光二极管测试FPGA的功能。
  2. 记录测试结果。
(2) 实验现象

当输入一个2421码时,电路总是能输出对应的格雷码。

(3) 数据记录、分析与处理

2421码到Gray码转换电路的输入输出状态记录表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(4) 实验结论

通过使用Quartus II设计工具,我们成功地设计并测试了一个2421码到Gray码的转换电路。该电路的功能包括输入一个2421BCD码,并产生相应的Gray码。实验结果表明,电路在各种输入条件下都表现出良好的性能,符合预期行为。

四、建议和体会

  1. 在实验前,深入理解编码系统和逻辑门的工作原理是非常重要的。
  2. 在设计电路时,要确保逻辑门的连接和布局正确无误,以避免错误输出。
  3. 在测试阶段,使用不同的8421码输入组合来验证电路的正确性。
  4. 波形模拟的结果对于评估电路的正确性非常重要。
  5. 这个实验有助于加深对编码系统和逻辑电路设计原理的理解,同时也提供了一个实际的编程和模拟测试经验。为后续进行更复杂的电路设计打下基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1277836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5算法进阶改进(7)— 将主干网络SPPF更换为SimSPPF / SPP-CSPC / SPPF-CSPC

前言:Hello大家好,我是小哥谈。SimSPPF是YOLOv6中提出的一种改进的空间金字塔池化方法,它是SPPF的升级版。SimSPPF通过在不同尺度上使用不同大小的池化核来提取特征,从而提高了检测器的性能。与SPPF相比,SimSPPF可以在不增加计算成本的情况下提高检测器的性能。本节课就教…

Nacos源码解读01——服务注册

Nacos 2.0 架构设计及新模型 参考 https://zhuanlan.zhihu.com/p/344572647 使用GRPC注册临时实例流程图 SpringBoot自动注入 注入对应服务注册的Bean 监听Tomcat启动事件 NacosAutoServiceRegistration 继承了AbstractAutoServiceRegistration 而 AbstractAutoServiceR…

Oracle忘记所有密码怎么办

最近遇到一个Oracle的问题,密码要过期了,但是除了用户密码,其他密码都不知道了,修改不了密码怎么办呢? 试了各种方法,最终下面的方式生效了: 首先,使用orapwd生成新的密码文件&…

NIO网络编程

Netty学习之NIO基础 - Nyimas Blog 1、阻塞 阻塞模式下,相关方法都会导致线程暂停 ServerSocketChannel.accept 会在没有连接建立时让线程暂停SocketChannel.read 会在通道中没有数据可读时让线程暂停阻塞的表现其实就是线程暂停了,暂停期间不会占用 c…

说一说Java中的JUC

JUC 1.什么是JUC 2.进程和线程 进程 : cpu资源分配的最小单位 线程 : cpu调度和执行的最小单位 并发是指多个任务在同一个时间段内交替执行,通过时间片轮转等方式实现任务间的切换。换句话说,并发是指多个任务能够同时存在,但不一定同时…

树和二叉树的基本概念和堆的实现

树的概念及结构 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 1.有一个特殊的结点&#…

深度学习 -- 卷积神经网络

1、卷积神经网络的结构 大卫休伯尔( David Hunter Hubel ) 等人研究发现,猫的视皮层上 存在简单细胞( simple cell )和复杂细胞( complex cell ),简单细胞会对 感受野中特定朝向的线段做出反应,而复杂细胞对于特定朝向的钱段移动也能做出反应…

使用mybatis-plus框架:@Autowired报错Could not autowire. No beans of ‘XXX‘ type found

使用mybatis-plus框架,使用xxmapper报错: 解决办法是:在mapper中添加注解: Repository Mapper 也可以使用 AutowiredSysRoleMenuService sysRoleMenuService;替代 AutowiredSysRoleMenuMapper sysRoleMenuMapper;方法名不同,但…

工业机器视觉megauging(向光有光)使用说明书(十三,资源发现bug,已经更新)

megauging(向光有光)旧资源有bug,已经更新,如下: 第一工具,combox默认0,选择后,鼠标点击“获取结果”,相机就取一帧图像处理后显示出来: 第一工具&#xff0…

计算机网络之网络传输,三次握手和四次挥手

网络传输通过高低电压 流 基本类型数组 低电压转高电压,通过网卡 传输模式: 全双工:互相传输且能同时传输 半双工:互相传输但是不能同时传输 单工:单向传输,(键盘,显示器&#…

LIN TP

LIN总线为了解决多帧场景,也像CAN一样有TP协议。 主机发送请求PDU,从机发送应答PDU。 分为单帧(Single Frame,SF)、首帧(First Frame,FF)和续帧(Consecutive Frames,CF)三种。 PDU结构 包含节点地址(NAD)、协议控制…

C语言-预处理与库

预处理、动态库、静态库 1. 声明与定义分离 一个源文件对应一个头文件 注意&#xff1a; 头文件名以 .h 作为后缀头文件名要与对应的原文件名 一致 例&#xff1a; 源文件&#xff1a;01_code.c #include <stdio.h> int num01 10; int num02 20; void add(int a, in…

08-中介者模式-C语言实现

中介者模式&#xff1a; Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly,and it lets you vary their interaction independently.&#xff08;用一个中介对…

【Python3】【力扣题】383. 赎金信

【力扣题】题目描述&#xff1a; 题解&#xff1a; 两个字符串ransomNote和magazine&#xff0c;ransomNote中每个字母都在magazine中一一对应&#xff08;顺序可以不同&#xff09;。 即分别统计两个字符串中每个字母出现的次数&#xff0c;ransomNote中每个字母的个数小于等…

分享83个节日PPT,总有一款适合您

分享83个节日PPT&#xff0c;总有一款适合您 83个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1xX4tVpl3sSW-d2nlFzN-mg?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志

文章目录 openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志137.1 检查操作系统日志137.2 检查openGauss运行日志137.3 清理运行日志 openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志 日志是检查系统运行及故障定位的关键手段。建议按…

R语言实验三

1、读取一个文件并进行如下操作。 ①使用命令清空工作空间&#xff0c;使用read.table读取exam_1.txt文件&#xff0c;将文件保存到data变量中&#xff0c;数据第一行设置为列名&#xff0c;第一列是行名。 ②判断对象data是否为矩阵。 ③将对象转换为矩阵&#xff0c;记为d…

pyqt5使用pyqtgraph实现动态热力图

pyqt5使用pyqtgraph实现动态热力图 一、效果图 二、流程 1、打开Designer创建一个UI界面 2、把UI转成py 3、创建一个main.py文件 4、在main文件中渲染画布、创建初始数据、画热力图、创建更新数据线程、绑定按钮触发事件三、UI界面 其中h_map.py代码如下: # -*- coding: ut…

【多线程】-- 09 线程同步之三大不安全案例举例

多线程 6 线程同步 “多个线程操作同一个资源” 处理多线程问题时&#xff0c;多个线程访问同一个对象&#xff0c;并且某些线程还想修改这个对象&#xff0c;这时候就需要线程同步。线程同步其实就是一种等待机制&#xff0c;多个需要同时访问此对象的线程进入这个对象的等…

1.0 十大经典排序算法

分类 算法 本系列算法整理自&#xff1a;https://github.com/hustcc/JS-Sorting-Algorithm 同时也参考了维基百科做了一些补充。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#…