0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文解析多路选择器的工作原理及电路实现

姚小熊27 来源:网络整理 2018-04-27 08:46 次阅读

什么是多路选择器

多路选择器是数据选择器的别称。在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。

FPGA中多路选择器结构

典型的FPGA器件主要包含3类基本资源:可编程逻辑块(configurablelogicblock,CLB)、布线资源和可编程输入/输出模块。可编程逻辑块四周被预制的布线资源通道包围,可编程输入/输出模块分布在FPGA四周,除了上述3种资源以外,通常在FPGA中还包含块RAM、乘法器等可选资源。

在FPGA各种资源中,可编程逻辑块是实现用户功能的基本单元,每个可编程逻辑块包含1个互连开关矩阵和4个SLICEs,其中每个SLICE包括2个查找表(Look-Up-Table,LUT)、2个触发器和一些多路选择器。互连开关矩阵主要由不同长度导线和多个布线开关组成,典型的布线开关结构如图1所示。

一文解析多路选择器的工作原理及电路实现

由图1可见:每个布线开关由多路选择器、缓冲器和一些可编程的SRAM单元构成。其中多路选择器是连接各布线轨道和可编程逻辑块的桥梁,其结构对FPGA的性能和功耗都有较大的影响。根据多路选择器所驱动的导线长度不同,FPGA中多路选择器的规模从4选1到30选1不等。图2所示为16选1的多路选择器晶体管级电路结构。

一文解析多路选择器的工作原理及电路实现

多路选择器的左边是 16 条输入线,用于连接布线轨道或可编程逻辑块等资源,S1~S6 代表 6 个可编程SRAM 单元,通过配置 SRAM 单元的内容可以从 16条输入线中选出 1 条作为有效输入端,例如,当 S1~S6存储单元的存储值为“000100”时,输入线 I3被选择中,信号所经过的有效路径如图 2 中虚线所示。多路选择器的主体部分是传输晶体管,由于 NMOS 晶体管载流子的迁移效率高,电路速度快,因此,多路选择器中的传输晶体管均采用 NMOS 晶体管实现。

多路选择器工作原理

常用的多路选择器有4选1、8选1、16选1等多种类型。下面以4选1数据选择器为例介绍数据选择器的工作原理。根据前面介绍的数据选择器的功能,可以列出4选1数据选择器的逻辑功能表,如表5-7-1所示。其中D0~D3为数据输入端,A0、A1为数据选择端。

一文解析多路选择器的工作原理及电路实现

由逻辑功能表可以写出输出与输入之间的表达式为

一文解析多路选择器的工作原理及电路实现

由逻辑表达式画出4选1数据选择器逻辑电路2所示。

一文解析多路选择器的工作原理及电路实现

74LS153是一种集成的双4选1数据选择器逻辑器件。图3所示为74LS153的逻辑电路图和框图。

一文解析多路选择器的工作原理及电路实现

由图3(a)可知,74LS153的逻辑电路中包含两个4选1数据选择器,它们的数据输入端分别为D10、D11、D12、D13和D20、D21、D22、D23,数据输出端分别为Y1和Y2。它们有公共的地址选择输入端A0、A1。除此之外,还各自有有一个使能控制端一文解析多路选择器的工作原理及电路实现。由图3(a)可以写出输入与输出之间的逻辑函数式为

一文解析多路选择器的工作原理及电路实现

由式(2)可以看出,只有当使能控制端一文解析多路选择器的工作原理及电路实现时,数据选择器才能正常工作,否则数据输出端锁定在低电平。故使能控制端为低电平有效。

74LS153的逻辑功能表如表2所示。

表2 74LS153的逻辑功能表
一文解析多路选择器的工作原理及电路实现

多路选择器的应用

(1)多路选择器的扩展应用

可以用多片少数据输入的数据选择器设计多数据输入的多路选择器。

例1:用74LS153设计一个8选1的数据选择器。

解:74LS153是一个双4选1多路选择器。有两个公用的地址选择输入端,8个数据输入端。8选1数据选择器需要3个地址输入端(23=8),因此需要用使能控制端来补充地址输入端的不足。用双4选1数据选择器芯片74LS153设计的8选1数据选择器的电路如图4所示。

一文解析多路选择器的工作原理及电路实现

当A2=0时,上边的4选1数据选择器工作,根据地址输入端A0、A1的状态,输出端Y1选择输出D0~D3,此时Y2=0,故Y=Y1;当A2=1时,下边的4选1数据选择器工作,根据地址输入端A0、A1的状态,输出端Y2选择输出D4~D7,此时Y1=0,故Y=Y2。逻辑函数式为

一文解析多路选择器的工作原理及电路实现

也可以添加使能控制端对所接成的8选1数据选择器的工作状态进行控制。添加使能控制端的8选1数据选择器的电路如图5所示。

一文解析多路选择器的工作原理及电路实现

由图5可知,当=0时,8选1数据选择器正常工作;当=1时,8选1数据选择器的输出被锁定在低电平。

(2)用多路选择器设计组合逻辑电路

由表2可知,具有两位地址输入A0、A1的4选1数据选择器,当使能控制端=0时,输出与输入之间的逻辑关系式为

一文解析多路选择器的工作原理及电路实现

若将A0、A1作为两个输入变量,同时令D0~D3为第三个变量的适当状态(包括原变量、反变量、0和1),就可以用4选1数据选择器实现任何形式的三变量组合逻辑函数。

同理,用由n位地址输入端的多路选择器可以实现任何形式的变量数不大于n+1的组合逻辑函数。

例2:用4选1数据选择器实现以下组合逻辑函数:

一文解析多路选择器的工作原理及电路实现

解:将式(4)化成与式(5)相对应的形式:

一文解析多路选择器的工作原理及电路实现

将式(6)与式(4)比较可知,只要令数据选择器的数据输入端为

一文解析多路选择器的工作原理及电路实现

则多路选择器的输出就是所要表达的组合逻辑函数。

多路选择器的设计实现

设计一个二位4路选择器,由于选择器使用条件触发的方法对应真值表进行匹配输出与输入,因此可以联想到在C程序设计中的条件语句“If”和“Case”两种,那么这两种设计从硬件的角度出发有什么不同呢?

代码如下:

一文解析多路选择器的工作原理及电路实现

为了区别两种设计的不同,可以查看ISE提供的综合报告,操作如下:

一文解析多路选择器的工作原理及电路实现

综合报告对比:

一文解析多路选择器的工作原理及电路实现

使用Case条件语句 使用IF条件语句

由综合报告查看可知,if语句运用的元器件多于case语句运用的元器件,同时,if语句中每一个分支之间具有优先级(串行),得到类似级联的结构;而case语句所有分支处于同一优先级(并行),综合可以得到一个多路选择器。因此,对于设计多路选择器而言,if语句所造成的延时往往比case语句的大,所以对于多路选择器而言,运用case语句的效果会更好。

Case语句下可能出现锁存器。注释case条件下的case语句块的某一行可以得到不完整的case语句下的2位四路选择器。由不完整case语句下的2位四路选择器可知:由于case语句所有分支处于同一优先级,所以当条件不完整时,对于处理结果,它不取决于语句的先后顺序,只取决于待处理信号,而处理结果为与待处理信号相差1’b1的信号的处理结果,在这一条件下相当于与待处理信号相差1’b1的信号的处理结果得到了锁存,锁存器因此产生。

对与锁存器而言,锁存器在待处理信号存在Glitch的情况下,可能会对Glitch产生锁存,从而导致锁存出现严重错误,是目标信号处理结果与预期目的产生极大的偏差,因此锁存器存在不稳定因素,所以在使用锁存器时,要牢记优先消除待处理信号的Glitch。

测试文件:

initial begin

// Initialize Inputs

d0 = 0;

d1 = 1;

d2 = 2;

d3 = 3;

select = 0;

#100;

select = 1;

#100;

select = 2;

#100;

select = 3;

#100;

// Add stimulus here

end

仿真结果:

一文解析多路选择器的工作原理及电路实现

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据选择器
    +关注

    关注

    2

    文章

    114

    浏览量

    16332
  • 多路选择器
    +关注

    关注

    1

    文章

    22

    浏览量

    6437
收藏 人收藏

    评论

    相关推荐

    教你学Vivado—以2选1多路选择器为例

    在EGO1开发板上实现2选1多路选择器
    的头像 发表于 10-02 15:58 1380次阅读
    教你学Vivado—以2选1<b class='flag-5'>多路</b><b class='flag-5'>选择器</b>为例

    FPGA基础学习笔记--组合逻辑电路-多路选择器多路分解

    1.2多路选择器1.2.1不带优先级的多路选择器四路选择器如下代码如下:module multiplexer (input iA,input
    发表于 02-16 15:01

    数据选择器

    。具体来说,在多路数据传送过程中,能够根据需要将其中任意路选出来的电路,叫做数据选择器,也称多路选择器
    发表于 05-30 17:38

    EDA四选一多路选择器的设计

    多路选择器(又称为数据选择器)①功能在选择变量控制下,从多路输入数据中选中某路数据送至输出端。
    发表于 04-12 09:17

    熟悉中规模集成电路数据选择器工作原理和逻辑功能

    中规模集成电路加法器的工作原理及其逻辑功能。二、 实验原理① 数据选择器数据选择器又称多路选择器
    发表于 07-29 07:53

    4选1多路选择器是什么?

    Verilog数字系统设计三简单组合逻辑实验2章目录Verilog数字系统设计三前言、4选1多路选择器是什么?二、编程1.要求:2.always块
    发表于 02-09 06:00

    基于FPGA的多路选择器设计(附代码)

    实战应用,这种快乐试试你就会懂的。话不多说,上货。 多路选择器设计 多路选择器是数据选择器的别称。在
    发表于 03-01 17:10

    多路选择器有哪些_多路选择器分类介绍

    本文开始介绍了多路选择器的分类与多路选择器的4选1原理图,其次介绍了多路选择器的典型芯片,最后介
    的头像 发表于 04-27 09:13 3.2w次阅读
    <b class='flag-5'>多路</b><b class='flag-5'>选择器</b>有哪些_<b class='flag-5'>多路</b><b class='flag-5'>选择器</b>分类介绍

    4选1多路选择器电路图(四款多路选择器电路

    本文主要介绍了四款4选1多路选择器电路图。多路选择器是数据选择器的别称。在
    发表于 04-27 09:37 13.2w次阅读
    4选1<b class='flag-5'>多路</b><b class='flag-5'>选择器</b><b class='flag-5'>电路</b>图(四款<b class='flag-5'>多路</b><b class='flag-5'>选择器</b><b class='flag-5'>电路</b>)

    设计一个1位的二选一多路选择器及其VHDL描述

    本文首先介绍了二选一多路选择器真值表,其次介绍了1位二选一多路选择器设计及其VHDL描述,最后介绍了它的逻辑表达式实现
    的头像 发表于 04-27 09:52 2.8w次阅读
    设计一个1位的二选一<b class='flag-5'>多路</b><b class='flag-5'>选择器</b>及其VHDL描述

    eda四选一多路选择器的设计

    本文开始对多路选择器进行了详细介绍,其中包括了多路选择器功能、典型芯片及应用,另外还详细介绍了eda四选一多路
    发表于 04-27 10:13 3w次阅读
    eda四选一<b class='flag-5'>多路</b><b class='flag-5'>选择器</b>的设计

    8选1多路选择器电路图(五款8选1多路选择器电路)

    多路选择器又称数据选择器。8选1数据选择器(型号有74151、74LS151、74251、74LS152),下面就以74LS151为例子,介绍几款
    发表于 04-28 17:25 12w次阅读
    8选1<b class='flag-5'>多路</b><b class='flag-5'>选择器</b><b class='flag-5'>电路</b>图(五款8选1<b class='flag-5'>多路</b><b class='flag-5'>选择器</b><b class='flag-5'>电路</b>)

    二选一数据选择器的系统设计框架图分析

    数据选择器是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现数据选择功能的逻辑电路称为数据
    的头像 发表于 11-20 07:10 1.2w次阅读

    写出一个包含触发器和多路选择器的子模块

    我们用3个包含触发器和多路选择器的子模块来实现图中电路。题目要求我们写出包含一个触发器和一个多路选择器
    的头像 发表于 11-17 09:37 752次阅读

    基于FPGA的多路选择器设计

    组合逻辑电路的输出信号只与当前时刻的输入信号有关,与其他时刻的输入状态无关,无存储电路或反馈电路多路选择器是在
    的头像 发表于 05-12 12:47 866次阅读
    基于FPGA的<b class='flag-5'>多路</b><b class='flag-5'>选择器</b>设计