解复用器.txt

来自「对微电子的学习和FPGA的开发设计很有帮助」· 文本 代码 · 共 40 行

TXT
40
字号
--
------------------------------------------------------------------------------------
-- DESCRIPTION   :  Demultiplexer
--                  Width: 8
--                  Number of terminals: 4
--                  Output enable active: HIGH
--                  Output active : HIGH
-- Download from :  http://www.pld.com.cn
------------------------------------------------------------------------------------


library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

entity dmux is
	port (
		EN : in STD_LOGIC;
		DATA_OUT0 : out STD_LOGIC_VECTOR (7 downto 0);
		DATA_OUT1 : out STD_LOGIC_VECTOR (7 downto 0);
		DATA_OUT2 : out STD_LOGIC_VECTOR (7 downto 0);
		DATA_OUT3 : out STD_LOGIC_VECTOR (7 downto 0);
		SEL : in STD_LOGIC_VECTOR (1 downto 0);
		DATA_IN : in STD_LOGIC_VECTOR (7 downto 0)
	);
end entity;



architecture dmux_arch of dmux is
constant NON_ACTIVE : STD_LOGIC_VECTOR (7 downto 0) := (others => '0');
begin

	DATA_OUT0 <= DATA_IN when (SEL = 0) and (EN = '1') else NON_ACTIVE;
	DATA_OUT1 <= DATA_IN when (SEL = 1) and (EN = '1') else NON_ACTIVE;
	DATA_OUT2 <= DATA_IN when (SEL = 2) and (EN = '1') else NON_ACTIVE;
	DATA_OUT3 <= DATA_IN when (SEL = 3) and (EN = '1') else NON_ACTIVE;

end architecture;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?