【上海大学数字逻辑实验报告】四、组合电路(三)
一、 实验目的
- 掌握多路选择器74LS151的原理。
- 掌握译码器74LS138的原理。
- 学会在Quartus II上使用多路选择74LS151设计电路。
- 学会在Quartus II上使用译码器74LS138设计电路。
二、 实验原理
- 多路选择器又称数据选择器或多路开关,它是一种多路输入单路输出的组合逻辑电路,其逻辑功能是从多个输入中选出一个,并把它的信息传送到输出。输出对输入的选择受选择控制变量的控制。对于一个有2n个输入和一个输出的多路选择器,在n个选择控制信号作用下,把其中一个信号传送到输出端。本次实验使用的八选一选择器74151的逻辑符号如下图所示:
- 译码器是一种多输出组合逻辑部件,它能将n个输入变量变换成2n个输出函数,并且每个输出对应于n个输入变量的一个最小项。因此,二进制译码器具有n个输入端,2n个输出端和一个(或多个)使能输入端。本次实验使用的3线-8线译码器74138的逻辑电路图和逻辑符号如下图所示:
- 74138的真值表:
- 74151的真值表:
三、实验内容
实验任务一:用多路选择器实现逻辑函数:
(1) 实验步骤
- 用Quartus II设计出如下电路:
- 编译通过后进行波形仿真,验证电路逻辑功能:
- 仿真通过后,参照原理图定义引脚:
- 生成编程并将文件下载到FPGA。
- 将开关连接对应的输入引脚,输出引脚连接到发光二极管:
- 用开关和发光二极管测试FPGA的功能。
- 记录测试结果。
(2) 实验现象
无论A0A1A2怎么输入,电路总是能根据逻辑函数输出对应的结果。
(3) 数据记录、分析与处理
(4) 实验结论
通过使用Quartus II设计工具,我们成功地用74LS151设计并测试了一个能够实现逻辑函数的电路。实验结果表明,电路在各种输入条件下都表现出良好的性能,符合预期行为。
实验任务二:用译码器实现逻辑函数:
(1) 实验步骤
- 用Quartus II设计出如下电路:
- 编译通过后进行波形仿真,验证电路逻辑功能:
- 仿真通过后,参照原理图定义引脚:
- 生成编程并将文件下载到FPGA。
- 将开关连接对应的输入引脚,输出引脚连接到发光二极管:
- 用开关和发光二极管测试FPGA的功能。
- 记录测试结果。
(2) 实验现象
无论ABCD怎么输入,电路总是能根据逻辑函数输出对应的结果。
(3) 数据记录、分析与处理
(4) 实验结论
通过使用Quartus II设计工具,我们成功地用74LS138设计并测试了一个能够实现逻辑函数的电路。实验结果表明,电路在各种输入条件下都表现出良好的性能,符合预期行为。
四、建议和体会
- 在实验前,要理解并掌握用最小项表达逻辑函数的方法。
- 在设计电路时,注意接地。
- 将文件下载到FPGA后,接线时注意最低位和最高位不要接反。
- 不要一味用真值表的结果和波形模拟的结果进行对比,因为最高位最低位的顺序不同可能导致波形模拟的结果正好相反。
- 本实验有助于加深对多路选择器和译码器原理的理解,同时也提供了一个实际的编程和模拟测试经验。为后续进行更复杂的电路设计打下基础。
相关文章:

【上海大学数字逻辑实验报告】四、组合电路(三)
一、 实验目的 掌握多路选择器74LS151的原理。掌握译码器74LS138的原理。学会在Quartus II上使用多路选择74LS151设计电路。学会在Quartus II上使用译码器74LS138设计电路。 二、 实验原理 多路选择器又称数据选择器或多路开关,它是一种多路输入单路输出的组合逻…...
centos安装node 、npm 、nvm
你好,这是Bing。我可以帮你用nodejs写一个http服务器。😊 根据我的搜索结果,你需要使用 require 指令来加载和引入 http 模块,然后使用 http.createServer 方法来创建一个服务器实例,最后使用 listen 方法来监听一个端…...

年终福利|鹅厂重磅AI绘画训练营带你玩转SD
2023年,AI绘画火遍全网,站在12月的中旬回望,这个AI时代必备技能你get了吗?如何掌握图像生成方法?怎样基于Stable Diffusion打造个人专属AI绘画模型,落地项目应用? 腾讯云开发者社区联合腾讯云AI…...
arXiv学术速递笔记12.8
文章目录 一、GSGFormer: Generative Social Graph Transformer for Multimodal Pedestrian Trajectory Prediction(GSGFormer:用于多通道行人轨迹预测的产生式社会图转换器)二、AnimateZero: Video Diffusion Models are Zero-Shot Image An…...

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航
文章目录 1. 前言2. WAVE SUMMIT五载十届,AI开发者热血正当时3. 酷炫前沿、星河共聚!大模型技术生态发展正当时 1. 前言 回望2023年,大语言模型或许将是科技史上最浓墨重彩的一笔。从技术、产业到生态,大语言模型在突飞猛进中加速…...

基于conda环境使用mamba/conda安装配置QIIME 2 2023.9 Amplicon扩增子分析环境,q2cli主要功能模块介绍及使用
QIIME 2 2023.9 Amplicon Distribution介绍: 概述 qiime团队专门针对高通量扩增子序列分析退出的conda集成环境,包括了主要和常见的扩增子分析模块,用户可以单独使用各个模块,也可以使用各模块组成不同的分析流程。从2023.09版本…...

腾讯-轻量应用服务器centos7中宝塔安装MySQL8.0出现内存不足
目录 前言 出现的问题: 解决方法: 编译安装: 极速安装 其他 我的其他博客 前言 说实话,本人也就是个穷学生买不起啥大的服务器啥的,整了个2核 2内存的服务器 用宝塔按mysql5.5是没问题的,一切换8.0就提醒内存不足…...

调用Win10隐藏的语音包
起因 在做一个文本转语音的Demo的时候,遇到了语音包无法正确被Unity识别的问题。明明电脑上安装了语音包但是代码就是识别不出来 原因 具体也不是非常清楚,但是如果语言包是在的话,大概率是Win10系统隐藏了。 确定语言包 首先查看%windi…...
【WPF】应用程序和已知安卓设备的局域网IP之间进行通信
要在WPF应用程序和已知安卓设备的局域网IP之间进行通信,可以使用Socket通信。以下是一个基本的示例: 在WPF应用程序中创建一个Socket对象并连接到安卓设备的IP地址和端口号: using System.Net.Sockets;// 创建一个Socket对象 Socket socket…...

linux Ubuntu下,第一个C++程序访问数据库,遇到的问题,及解决办法
在ubuntu下安装了mysql,mysql以后,编写了第一个访问数据库的程序: #include <iostream> #include <string> #include <cstdlib> //for system #include <mysql.h>using namespace std;int main() {mysqlpp::Connect…...
【Flink on k8s】- 7 - 在本地运行第一个 flink wordcount job
目录 1、环境准备 2、代码开发 3、启动运行 4、在控制台找到 web ui,查看监控...
velocity-engine-core是什么?Velocity模板引擎的使用
velocity-engine-core是什么?Velocity模板引擎的使用 1. 常见的模板引擎2. Velocity 的语法3.Velocity的使用 相信在日常开发中或多或少都听过或者使用过模板引擎,比如熟知的freemarker, thymeleaf等。而模板引擎就是为了实现View和Data分离而产生的。 而…...
【华为od】存在一个m*n的二维数组,其成员取值范围为0,1。其中值为1的元素具备扩散性,每经过1S,将上下左右值为0的元素同化为1。
存在一个m*n的二维数组,其成员取值范围为0,1。其中值为1的元素具备扩散性,每经过1S,将上下左右值为0的元素同化为1。将数组所有成员初始化为0,将矩阵的[i, j]和[m,n]位置上元素修改成1后,在经过多长时间所有元素变为1。 输入描述 输入的前两个数字是矩阵大小。后面是数字…...

docker学习(七、搭建mysql8.2主从)
一、主库搭建 1.构建主库镜像 # 运行mysql镜像,配置端口3307为主库 docker run -p 3307:3306 --name mysql-master --privilegedtrue -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc…...

消费升级:无人零售的崛起与优势
消费升级:无人零售的崛起与优势 随着人们生活水平的提高,消费内容正在从生存型消费转向以精神体验和享乐为主的发展型消费。社会居民的消费结构不断变迁,明显呈现消费升级趋势。个性化和多元化消费势头正在崛起,特别是无人零售的自…...
【开题报告】基于SpringBoot的煤炭企业安全宣传学习平台的设计与实现
1.选题背景 煤炭企业作为我国能源行业的重要组成部分,承担着国民经济的支撑和推动作用。然而,煤炭生产过程中存在较高的安全风险,煤矿事故频发,给人员生命财产安全带来严重威胁,也给社会稳定和经济发展带来不利影响。…...

机器连接和工业边缘计算
软件应用和IT创新是制造业投资的主要驱动力。解决方案架构应围绕特定标准进行整合,并采用架构蓝图和最佳实践来满足最终用户的需求。此外,边缘计算(Edge Computing)也将在制造业中加速部署。 边缘计算是制造业的下一个变革驱动力。…...

java系列-LinkedHashMap
1.插入新节点时,会将该节点加到链表尾部 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{/*** The head (eldest) of the doubly linked list.*/transient LinkedHashMapEntry<K,V> head;/*** The tail (young…...

【linux】查看CPU和内存信息
之前咱们一起学习了查看内存的和CPU的命令。 mpstat : 【linux】 mpstat 使用 uptime:【Linux】 uptime命令使用 CPU的使用率:【linux】查看CPU的使用率 nmon :【linux】nmon 工具使用 htop :【linux】htop 命令…...

【产品经理】产品专业化提升路径
产品专业化就是上山寻路,梳理一套作为产品经理的工作方法。本文作者从设计方法、三基座、专业强化、优秀产品拆解、零代码这五个方面,对产品经理的产品专业化进行了总结归纳,一起来看一下吧。 产品专业化就是上山寻路,梳理一套作为…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...