zxopenluyutong 发表于 2021-4-19 09:41:33

多路选择器


多路选择器分类

多路选择器常见分类有4选1数据选择器(见下图)、8选1数据选择器(型号为74151、74LS151、74251、74LS152)、16选1数据选择器(可以用两片74151连接起来构成)等之分。多路选择器还包括总线的多路选择,模拟信号的多路选择等,相应的器件也有不同的特性和使用方法.具体可以查找相关网站。




   


FPGA中多路选择器结构

典型的 FPGA 器件主要包含 3 类基本资源:可编程逻辑块(configurable logic block,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 晶体管实现。

   


2选1

EDA和VHDL代码

library ieee

use ieee.std_logic_1164.all;

entity data is

port(in0,in1,se1:in std_logic;

output:out std_logic);

architecture one of data is

begin

output<=in0 when se1='0'else in1;

end architecture one;

   


16位选择器

VHDL语言

16位的多路选择器,其功能是能够试16位的信号同时附加到data1和data2上。

其VHDL语言如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity selc is

port(s:in std_logic_vector(1 downto 0);

data:in std_logic_vector(15 downto 0);

data1:out std_logic_vector(15 downto 0);

e: out std_logic;

data2:out std_logic_vector(15 downto 0));

end selc;

architecture fun of selc is

begin

process(s)

begin

case s is

when "00" => data1<=data;e<='1';

when "01" => data2<=data;e<='1';

when others => null;

end case;

end process;

end fun;

大鹏 发表于 2021-4-20 12:19:00

多路选择器   
页: [1]
查看完整版本: 多路选择器