- 基于NI Multisim 11的PLD/PIC/PLC的仿真設計
- 聶典 李北雁等編著
- 668字
- 2019-03-01 13:31:26
2.4 1對4解任務器
解多任務器功能恰恰與多任務器相反。解多任務器可將單一輸入線上的信號傳送到很多可能的輸出線上,加入控制信號,可將輸入信號傳送到所要的輸出線上。解多任務器主要分為三部分:控制線,數據線與輸出線。例如1對4解多任務器有2條控制線,1條數據線,4條輸出線。在此以1對4解多任務器電路作為范例。
NI Multisim 11中“1對4解任務器”電路如圖1.2.12所示。

圖1.2.12 “1對4解任務器”電路
NI Multisim 11中產生的“1對4解任務器”的VHDL代碼如下所示。
--------------------------------------------------- -- Source File: -- Sheet: 1_uc15bf94_uc489e34efb52a15668 -- RefDes: PLD1 -- Part Number: -- Generated By: NI Multisim -- -- Author: ni -- Date: Friday, August 27 09:23:21, 2010 --------------------------------------------------- --------------------------------------------------- -- Use: This file defines the top-level of the design -- Use With File: --------------------------------------------------- library ieee; use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; library work; use work.1_uc15bf94_uc489e34efb52a15668_pkg.ALL; entity \1_uc_uc15bf94_uc_uc489e34efb52a15668\ is port ( S1 : in std_logic; S0 : in std_logic; D : in std_logic; Y0 : out std_logic; Y1 : out std_logic; Y2 : out std_logic; Y3 : out std_logic ); end \1_uc_uc15bf94_uc_uc489e34efb52a15668\; architecture behavioral of \1_uc_uc15bf94_uc_uc489e34efb52a15668\ is component AND3_NI port ( C : in STD_LOGIC := ' X' ; B : in STD_LOGIC := ' X' ; A : in STD_LOGIC := ' X' ; Y : out STD_LOGIC := ' U' ); end component; component AUTO_IBUF port( I : in std_logic; O : out std_logic ); end component; component AUTO_OBUF port( I : in std_logic; O : out std_logic ); end component; component BUF_INV_NI port ( A : in STD_LOGIC := ' X' ; Y : out STD_LOGIC := ' U' ); end component; signal \1\ : std_logic; signal \2\ : std_logic; signal \3\ : std_logic; signal \4\ : std_logic; signal \5\ : std_logic; signal \6\ : std_logic; signal \7\ : std_logic; signal \8\ : std_logic; signal \9\ : std_logic; begin S1_AUTOBUF : AUTO_IBUF port map( I => S1, O => \2\ ); S0_AUTOBUF : AUTO_IBUF port map( I => S0, O => \1\ ); D_AUTOBUF : AUTO_IBUF port map( I => D, O => \3\ ); Y0_AUTOBUF : AUTO_OBUF port map( I => \6\, O => Y0 ); Y1_AUTOBUF : AUTO_OBUF port map( I => \7\, O => Y1 ); Y2_AUTOBUF : AUTO_OBUF port map( I => \8\, O => Y2 ); Y3_AUTOBUF : AUTO_OBUF port map( I => \9\, O => Y3 ); U1 : BUF_INV_NI port map( Y => \5\, A => \1\ ); U2 : BUF_INV_NI port map( Y => \4\, A => \2\ ); U3 : AND3_NI port map( A => \4\, B => \5\, C => \3\, Y => \6\ ); U4 : AND3_NI port map( A => \4\, B => \1\, C => \3\, Y => \7\ ); U5 : AND3_NI port map( A => \2\, B => \5\, C => \3\, Y => \8\ ); U6 : AND3_NI port map( A => \2\, B => \1\, C => \3\, Y => \9\ ); end behavioral;
NI Multisim 11中“1對4解任務器”電路的仿真實例如圖1.2.13所示。

圖1.2.13 “1對4解任務器”電路的仿真實例
波形圖如圖1.2.14所示。

圖1.2.14 “1對4解任務器”輸出波形圖