VHDL-kieli FPGA-suunnittelussa/Multiplekseri
|
Lue ensin Digitaalipiirit / Tulo- ja lähtövalitsimet (Multiplexers-Demultiplexers) |
Tulovalitsin eli multiplekseri [muokkaa]
Alla on 8-tuloisen multiplekserin eli tulovalitsimen Logiikka kaavio jossa on 8 data-tuloa (a, b, c, d, e, f, g ja h), yksi 3-bittinen valintatulovektorin (Sel) ja yksi lähtösignaalin (Output).
Multiplekserin toteutus VHDL-kielellä [muokkaa]
Alla oleva VHDL-koodi toteuttaa yllä olevan kuvan mukaisen 8-tuloisen multiplekserin eli tulovalitsimen toiminnan. Suunnitteluyksikön esittely (entity) määrittelee logiikan tulot jä lähdöt. Toiminta toteutetaan arkkitehtuurissa olevan kombinaatiologiikkaprosessin sisällä olevalla case-lauseella, joka ohjaa logiikan lähtöön (Output) valintasignaalilla (Sel) valitun tulosignaali (a, b, c, d, e, f, g tai h).
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Multiplexer_VHDL is port (a, b, c, d, e, f, g, h : in std_logic; Sel : in_std_logic_vector (2 downto 0); Output : out std_logic); end Multiplexer_VHDL; architecture Beh of Multiplexer_VHDL is begin process (a, b, c, d, e, f, g, h, Sel) begin case Sel is when "000" => Output <= a; when "001" => Output <= b; when "010" => Output <= c; when "011" => Output <= d; when "100" => Output <= e; when "101" => Output <= f; when "110" => Output <= g; when others => Output <= h; end case; end process; end Beh;
Simulaatiotulos [muokkaa]
Molemmat edellä esitetyt multiplekserin toteutukset (piirikaavio- ja VHDL-toteus) tuottavat alla olevan kuvan mukaisen simulaatiotuloksen.
Tehtäviä [muokkaa]
Katso myös [muokkaa]
- Digitaalipiirit
- Ohjelmoitava logiikka
- Multiplekseri Wikipediassa
- Digitaalipiirit Wikipediassa
- Laitteistokuvauskieli Wikipediassa
- VHDL en-Wikipediassa
Lähteet [muokkaa]
- Seppo Haltsonen, Jaakko Levomäki, Esko T. Rautanen: Digitaalitekniikka. Edita, 2004. ISBN 951-37-3886-8.