mux decoder selector详解
本篇博客的主要内容是解释mux、decoder、selector的概念以及它们之间的关系,平时学习过程中的一些总结,方便自己翻阅,也希望对大家有用。
mux & decoder & selector
- 1. decoder(解码器)
- 1.1 什么是decoder ?
- 1.2 decoder电路的实现方式
- 1.3 decoder with enable
- 2. Multiplexer(mux)
- 2.1 什么是mux ?
- 2.2 如何实现n-1 mux ?
- 2.3. 如何实现bus mux ?
- 2.4 对于使用mux tree的优化方法
- 2.5 参考资料
1. decoder(解码器)
1.1 什么是decoder ?
decoder是一种具有n个输入2^n个输出的电路,在这里以2-4 decoder为例,电路图如下,具有两个输入,2^2个输出:
电路的真值表如下,通过真值表我们可以对于输出的每一项进行化简,化简后的结果分别入图中所示。
通过结果可以发现,对于n个输入的电路而言,decoder输出的每一项就是2^n个最小项之一。
1.2 decoder电路的实现方式
同样以2-4 decoder为例,通过输出没输出一个最小项的表达式构建出2-4 decoder电路的门级电路图如下所示,每一个输出分别对应每一个最小项。
同理,通过同样的方式可以构造出其他decoder电路的电路图,在这里以3-8线decoder为例,
1.3 decoder with enable
一个标准的decoder通常来说会有一个额外的输入,称作enable端口,在这里依然以2-4线decoder为例,电路图如下,
只有当enable端口为高电平时,电路才会输出1,否则全部输出0,实现的方式也很简单,将enable信号端口输入到每一个AND gate的输入即可。
2. Multiplexer(mux)
2.1 什么是mux ?
mux是一种具有多个输入,但是只具有一个输出的器件,在这里以2-1mux为例,电路结构以及电路表达式如下,S被称为选择端,D被称为数据端。
更加广泛通用的定义如下:
2.2 如何实现n-1 mux ?
- 举例
以上是最简单的2-1 mux,如何和decoder selector联系起来不明显,接下来以4-1 mux 为例进行解释,
其中c0c1是一个2-bit的二进制数,根据不同的值决定输入i0~i3哪一个会被输出到ouput d端,共有2^2种可能,那么选择端可以通过一个2位输入的decoder来实现,此时的电路图会变成以下结构,
decoder只会有一个最小项生效,所以决定了d端同时i0~i3中只有一个结果会输出,除了decoder结构以外的电路被称作selector,这也是mux常用的实现方式,即使用decoder&selector结构。
- 实现方式
通过以上的例子,可以知道了mux的实现方式之一是decoder&selector,这里会更加具体的介绍n-1 mux的两种实现方式,
- decoder based implementation,通过decoder和selector实现,电路结构如下,
- mux-tree based implementation
基于mux tree的电路结构如下,例如,对于一个8-1的mux,可以通过两个4-1的mux实现,而4-1mux可以通过两个2-1mux实现,以此类推,做出的结构会形成一个tree,称作mux tree。
哪种实现方式可以取得更好的效果取决于优化算法和engine。
2.3. 如何实现bus mux ?
前面已经讲述了如何去实现n-1mux,接下来会通过两张图片对比让我们一起更好的了解如何实现bus mux,话不多说见下图,
2.4 对于使用mux tree的优化方法
area&delay oriented optimization method for mux based n-1mux
Efficient Multiplexer Synthesis Techniques优化FPGA中的MUX
Multiplexer Restructuring for FPGA Implementation Cost Reduction
2.5 参考资料
- decoder & mux
- mux intro
mux decoder selector详解相关推荐
- Scrapy之Selector详解
目录 一.简介 二.xpath 三.获取值 四.css选择 五.xpath扩展 一.简介 前面介绍了scrapy命令和Scrapy处理流程与重要组件 这里介绍一下Scrapy的Selector,Scr ...
- Java NIO Selector 详解
Selector 允许一个单一的线程来操作多个 Channel,如果我们的应用程序中使用了多个 Channel,那么使用 Selector 很方便的实现这样的目的,但是因为在一个线程中使用了多个 Ch ...
- NIO详解(九):Selector详解
1. 概述 Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件.这样,一个单独的线程可以管理多个channel,从而管理多个网络连 ...
- 高并发核心Selector详解
Selector设计 笔者下载得是openjdk8的源码, 画出类图 比较清晰得看到,openjdk中Selector的实现是SelectorImpl,然后SelectorImpl又将职责委托给了具体 ...
- jms message组成和jsm selector详解(二)
JMS Message组成 进入正题,Message主要由三部分组成,分别是Header,Properties和Body, 解释如下 Header: 消息头,所有类型的这部分格式都是一样的. Prop ...
- Java NIO SocketChannel+Buffer+Selector 详解(含多人聊天室实例)
一.Java NIO 的核心组件 Java NIO的核心组件包括:Channel(通道),Buffer(缓冲区),Selector(选择器),其中Channel和Buffer比较好理解 简单来说 N ...
- Netty导学之NIO,Channel、Buffer、Selector详解
介绍 NIO可翻译为Non-Blocking IO非阻塞IO,也可以称其为New IO 因为其是JDK1.4新出现的. java中的流要么是输入流,要么是输出流,不可能都是,它面向流编程.而在NIO中 ...
- Java NIO Selector详解(含多人聊天室实例)
一.Java NIO 的核心组件 Java NIO的核心组件包括:Channel(通道),Buffer(缓冲区),Selector(选择器),其中Channel和Buffer比较好理解 简单来说 NI ...
- 5.Selector详解
- Java网络编程(6)NIO - Channel详解
前言 NIO的三个核心组件:Buffer.Channel.Selector Java网络编程(4)NIO的理解与NIO的三个组件完成了大概的了解 Java网络编程(5)NIO - Buffer详解详细 ...
最新文章
- Linux下getopt_long函数的使用
- error: RPC failed; curl 18 transfer closed with outstanding read
- 阿里云低代码行业智能开放平台开拓行业AI应用新方法
- Exchange 2016部署实施案例篇-01.架构设计篇(上)
- idea提高调试超时_如何提高您的调试技能
- django 创建mysql失败_创建表时出现Django MySQL错误
- 随手记_英语_学术写作_研究概述/范围/方法/结果/结论介绍句型
- Android内存优化之——static使用篇
- 2、Kmeans算法处理出租车数据
- 通过 HttpClient 下载 文件
- LeNet论文阅读笔记
- 科技开发规划VBS屌丝暗色调
- 三维尺寸链计算和公差分析软件-DTAS-功能
- 宏转录组研究成果荣登10分JHM
- 英语新闻听力之专有名词
- html链接怎么恢复,Word文档中目录的超链接取消后怎么样恢复?
- prometheus服务配置Altermanager监控告警
- 云手机互联网点评系列-华为云手机云服务cloud+初评
- 激烈竞争环境下,数字资产交易所们该如何突破?
- Visformer: The Vision-friendly Transformer实现transformer和基于卷积的模型中的设计特性
热门文章
- idear怎么设置自动导包
- 印象笔记中可以使用html语言吗,印象笔记使用方法
- linux安装redis 完整步骤 主从结构 和 cluster 集群搭建
- 67 2020:我的总结和给圈友的话【2020-12-31 0003】
- FreeMind 思维导图的使用
- PiscisOS开发笔记_1_PiscisOS的诞生和系统特性简介
- 图像处理之计算二值连通区域的质心
- blender使用stereoscopy渲染输出VR图片和视频
- unity获取android内存大小,使用SystemInfo类获取Unity3D运行设备的各类信息(CPU类型,显卡类型等)...
- 基于FPGA的DDS混频及原理