Multiplexers Section 3 7 Mano Kime Multiplexers Demultiplexers
- Slides: 48
Multiplexers Section 3 -7 Mano & Kime
Multiplexers & Demultiplexers • Multiplexers (Selectors) • Lab 1 – Behavioral VHDL -- Multiplexers • MUX as a Universal Element
4– to– 1 - Line Multiplexer
4–to– 1 -Line Multiplexer with Transmission Gates
Quadruple 2–to– 1 -Line Multiplexer
Typical uses
Multiplexers • Multiplexers (Selectors) • Lab 1 – Behavioral VHDL -- Multiplexers • MUX as a Universal Element
Combinational Circuit Example n-line 2 -to-1 Multiplexer a(n-1: 0) b(n-1: 0) n-line 2 x 1 MUX sel y(n-1: 0) sel 0 1 y a b
An n-line 2 x 1 MUX a(n-1: 0) n-line 2 x 1 MUX y(n-1: 0) library IEEE; use IEEE. std_logic_1164. all; b(n-1: 0) entity mux 2 g is sel generic (width: positive); port ( a: in STD_LOGIC_VECTOR(width-1 downto 0); b: in STD_LOGIC_VECTOR(width-1 downto 0); sel: in STD_LOGIC; y: out STD_LOGIC_VECTOR(width-1 downto 0) ); end mux 2 g;
Entity Each entity must begin with these library and use statements library IEEE; use IEEE. std_logic_1164. all; generic statement defines width of bus entity mux 2 g is generic (width: positive); port ( a: in STD_LOGIC_VECTOR(width-1 downto 0); b: in STD_LOGIC_VECTOR(width-1 downto 0); sel: in STD_LOGIC; y: out STD_LOGIC_VECTOR(width-1 downto 0) ); end mux 2 g; port statement defines inputs and outputs
Entity Mode: in or out library IEEE; use IEEE. std_logic_1164. all; entity mux 2 g is generic (width: positive); port ( a: in STD_LOGIC_VECTOR(width-1 downto 0); b: in STD_LOGIC_VECTOR(width-1 downto 0); sel: in STD_LOGIC; y: out STD_LOGIC_VECTOR(width-1 downto 0) ); end mux 2 g; Data type: STD_LOGIC, STD_LOGIC_VECTOR(width-1 downto 0);
Standard Logic library IEEE; use IEEE. std_logic_1164. all; type std_ulogic is ( ‘U’, ‘X’ ‘ 0’ ‘ 1’ ‘Z’ ‘W’ ‘L’ ‘H’ ‘-’); -- Uninitialized -- Forcing unknown -- Forcing zero -- Forcing one -- High impedance -- Weak unknown -- Weak zero -- Weak one -- Don’t care
Standard Logic Type std_ulogic is unresolved. Resolved signals provide a mechanism for handling the problem of multiple output signals connected to one signal. subtype std_logic is resolved std_ulogic;
Architecture architecture mux 2 g_arch of mux 2 g is begin mux 2_1: process(a, b, sel) begin a(n-1: 0) if sel = '0' then y <= a; b(n-1: 0) else y <= b; end if; end process mux 2_1; end mux 2 g_arch; n-line 2 x 1 MUX y(n-1: 0) sel Note: <= is signal assignment
Architecture entity name process sensitivity architecture mux 2 g_arch of mux 2 g is list begin mux 2_1: process(a, b, sel) begin Sequential statements if sel = '0' then (if…then…else) must y <= a; be in a process else y <= b; end if; end process mux 2_1; end mux 2 g_arch; Note begin…end in architecture Note begin…end in process
Digilab 2 – DIO 1 Boards Pushbutton bn Four 7 -segment displays 4 Pushbuttons BTN Spartan II FPGA 8 LEDs LD 8 Switches SW 74 HC 373 latch ldg <= ‘ 1’
Top-level Design – Lab 1
library IEEE; use IEEE. std_logic_1164. all; entity lab 1 is port ( SW: in STD_LOGIC_VECTOR (1 to 8); BTN 4: in STD_LOGIC; ldg: out STD_LOGIC; LD: out STD_LOGIC_VECTOR (1 to 4) ); end lab 1;
architecture lab 1_arch of lab 1 is component mux 2 g generic(width: positive); port ( a: in STD_LOGIC_VECTOR (width-1 downto 0); b: in STD_LOGIC_VECTOR (width-1 downto 0); sel: in STD_LOGIC; y: out STD_LOGIC_VECTOR (width-1 downto 0) ); end component; constant bus_width: positive : = 4; begin ldg <= '1'; -- enable 74 HC 373 latch SWmux: mux 2 g generic map(width => bus_width) port map (a => SW(1 to 4), b => SW(5 to 8), sel => BTN 4, y => LD); end lab 1_arch;
An n-line 4 x 1 multiplexer a(n-1: 0) b(n-1 : 0) c(n-1 : 0) d(n-1 : 0) 8 -line 4 x 1 MUX sel(1: 0) y(n-1 : 0) Sel “ 00” “ 01” “ 10” “ 11” y a b c d
An 8 -line 4 x 1 multiplexer library IEEE; use IEEE. std_logic_1164. all; entity mux 4 g is generic(width: positive); port ( a: in STD_LOGIC_VECTOR (width-1 downto 0); b: in STD_LOGIC_VECTOR (width-1 downto 0); c: in STD_LOGIC_VECTOR (width-1 downto 0); d: in STD_LOGIC_VECTOR (width-1 downto 0); sel: in STD_LOGIC_VECTOR (1 downto 0); y: out STD_LOGIC_VECTOR (width-1 downto 0) ); end mux 4 g;
Example of case statement architecture mux 4 g_arch of mux 4 g is begin Note implies operator => process (sel, a, b, c, d) begin case sel is Sel y when "00" => y <= a; “ 00” a when "01" => y <= b; “ 01” b when "10" => y <= c; when others => y <= d; “ 10” c end case; “ 11” d end process; end mux 4 g_arch; Must include ALL posibilities in case statement
VHDL Architecture Structure architecture name_arch of name is Signal assignments begin Processes contain sequential Concurrent statements, but execute concurrently within the Process 1 architecture body Concurrent statements Process 2 Concurrent statements end name_arch;
VHDL Process P 1: process (<sensitivity list) <variable declarations> begin <sequential statements> end process P 1; Within a process: Variables are assigned using : = Optional process label and are updated immediately. Signals are assigned using <= and are updated at the end of the process.
Multiplexers • Multiplexers (Selectors) • Lab 1 – Behavioral VHDL -- Multiplexers • MUX as a Universal Element
Multiplexer as universal combinational module • connect input variables x to select inputs of multiplexer s • set data inputs to multiplexer equal to values of function for corresponding assignment of select variables • using a variable at data inputs reduces size of the multiplexer
Implementing a Boolean Function with a Multiplexer
Implementing a Four- Input Function with a Multiplexer
Networks with 2 -input multiplexers
Implementation of SFs with network of MUXes
Design of networks with MUXes
Example
Ordering of variables in subtrees affects the number of MUXes
Example of Shannon’s Decomposition F = x 3(x 1 + x 2 x 0) Implemented using a multiplexer network
F = x 3(x 1 + x 2 x 0) Start with any variable - x 0 for example x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2)
F = x 3(x 1 + x 2 x 0) Then x! for example x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3
F = x 3(x 1 + x 2 x 0) Then x 2 for example x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3 x 2 = 0 F=0 x 2 = 1 F = x 3
F = x 3(x 1 + x 2 x 0) Inputs x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3 x 2 = 0 F=0 x 2 = 1 F = x 3
F = x 3(x 1 + x 2 x 0) MUX Select Lines x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3 x 2 = 0 F=0 x 2 = 1 F = x 3
x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3 x 2 = 0 F=0 x 2 = 1 F = x 3 x 1 0 F 1 x 3(x 1 + x 2) sel x 0
x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3 x 2 = 0 F=0 x 2 = 1 F = x 3 x 1 0 0 x 3 1 sel x 1 The branch for x 0 = 0 0 F 1 x 3(x 1 + x 2) sel x 0
x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 1 = 0 F = x 3 x 2 x 1 = 1 F = x 3 The branch for x 0 = 1 x 2 = 0 F=0 x 2 = 1 F = x 3 x 1 0 0 x 3 1 sel x 1 0 F 1 x 3 x 2 0 x 3 1 sel x 0 x 3(x 1 + x 2)
x 0 = 0 F = x 3 x 1 x 0 = 1 F = x 3(x 1 + x 2) x 1 = 0 F=0 x 1 = 1 F = x 3 x 2 = 0 F=0 x 1 = 0 F = x 3 x 2 = 1 F = x 3 x 1 = 1 F = x 3 The branch for x 1 = 0 x 3 x 1 0 0 x 3 1 sel x 1 0 0 0 F 1 sel 0 x 3 1 sel x 2 x 3 1 sel x 1 x 0 x 3(x 1 + x 2)
F = x 3(x 1 + x 2 x 0) • Starting with x 0 • Shannon’s Decomposition 0 0 • 4 x 3 1 Multiplexers sel x 1 0 0 0 F 1 sel 0 x 3 1 sel x 2 x 3 1 sel x 1 x 0
F = x 3(x 1 + x 2 x 0) • Starting with x 1 • Shannon’s Decomposition • 3 Multiplexers 0 0 0 x 3 1 0 1 sel 0 x 0 F sel x 2 x 3 1 sel x 1
16 -input tree multiplexer
- Http://www.biografiasyvidas.com
- Decoder in computer organization
- Decoders and multiplexers
- Multiplexers and decoders
- Multiplexers and decoders
- Mutlak gelir
- Adalet evrenin ruhudur ömer hayyam
- Alkolik kime denir
- Ergen kime denir
- Ryan kime
- Sosyal uzaklık ölçeği nedir
- Edebi edepsizlerden öğrendim kimin sözü
- Eşik yöntemi örnek
- Onap vs mano
- Camisetas hechas a mano
- Mano familia de palabras
- Impianto frenante pneumoidraulico
- Moto rotatorio
- Rumbo
- Mateo 14 19-22
- Normas de seguridad de destornillador
- Padrino cresima mano sulla spalla
- ¿qué es mano de obra directa ejemplos?
- Numeros a mano alzada
- Maniobra de glenard
- Onap mano
- Prendete in mano la vostra vita e fatene un capolavoro
- ¿qué es mano de obra directa ejemplos?
- Pisotera
- What is interrupt driven
- Huesos del carpo
- Legge biot savart
- Columna vertebral y torax
- Semiologia logo
- Sõz ma'nosi qanday kõchiriladi
- Indefinite article for mano
- Region de la mano
- Manó matek
- Nfv
- Mano
- Letra mi mano esta llena de su bendicion
- Mano open source
- Los amigos del merengue
- Mano lavada salud bien guardada
- Gmux
- Escápula hueso
- Caracteristicas renacimiento
- Forza di lorentz regola della mano destra
- Artrosis de mano