多路选择器
多路选择器分类
多路选择器常见分类有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; 多路选择器
页:
[1]