常用组合逻辑电路模块(3):数据选择器

2024-04-12 23:52

本文主要是介绍常用组合逻辑电路模块(3):数据选择器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据选择器概述

数据选择:指经过选择,将多路数据中的某一路数据传到公共数据线上。(相当于多个输入的单刀多掷开关)

数据选择器:能实现数据选择功能的逻辑电路。也称多路选择器或多路开关。如下图为4选1数据选择器:

06a7cd0684d3401dafcef64498c8332d.jpg

对于4选1数据选择器,最常见的芯片为74LS153,其内部有两个4选1数据选择器。

工作原理:给A1、A0一组信号,比如10,就相当于给了一个二进制数字2,也就相当于选通了D2这个输入端,此时Y输出的就是D2的信号;D2是什么,Y就输出什么。

真值表

地址输入输出
A1A0Y
00D0
01D1
10D2
11D3

逻辑表达式:

Y=\bar{A_{1}}\bar{A_{0}}D_{0}+\bar{A_{1}}A_{0}D_{1}+A_{1}\bar{A_{2}}D_{0}+A_{1}A_{0}D_{3}

其符号为:

应用:可构成FPGA器件内部查找表(LUT)的基本单元;用于移位运算的移位器也由数据选择器构成;一些数据选择器还具有三态输出功能。


8选1数据选择器

以74HC151芯片为例,框图如下:

821d596fa774421eb2018e81a51caa46.jpg

地址输入端S:上图所示A2、A0、A1为地址输入端,也称选择输入端。它决定了输出F等于哪一个D。

对于4选1数据选择器有两个地址输入端,2选1数据选择器有一个。

使能端E:当E为有效电平时,数据选择器开始工作。


数据选择器实现逻辑函数

对于数据选择器,其输入(n个)与输出关系可表达为:

Y=\sum_{i=0}^{n}m_{i}D_{i}

当D为1时,地址输入端对应的最小项出现在表达式中;当D=0时,对应最小项就不出现。通常将需要实现的逻辑函数展开成最小项之和的形式,然后进行判断。

例如:利用4选1数据选择器实现L=AC'+BC。选定A、B为地址输入端,对逻辑函数进行展开(可利用香农展开定理):

L=A\bar{C}+BC=AB\bar{C}+A\bar{B}\bar{C}+ABC+\bar{A}BC=\bar{A}\bar{B}(0)+\bar{A}B(C)+A\bar{B}(\bar{C})+AB(1)

对于A'B',上式未出现,便可看作其与0进行与运算;对于AB,其对应项为AB(C+C')=AB1。

由上式便容易得出逻辑电路图,如下所示:

这篇关于常用组合逻辑电路模块(3):数据选择器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1