VHDL-kieli FPGA-suunnittelussa/Multiplekseri
Lue ensin Digitaalipiirit / Tulo- ja lähtövalitsimet (Multiplexers-Demultiplexers) |
Tulovalitsin eli multiplekseri
muokkaaAlla 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ä
muokkaaAlla 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
muokkaaMolemmat edellä esitetyt multiplekserin toteutukset (piirikaavio- ja VHDL-toteus) tuottavat alla olevan kuvan mukaisen simulaatiotuloksen.
Tehtäviä
muokkaa
Katso myös
muokkaaLähteet
muokkaa- Seppo Haltsonen, Jaakko Levomäki, Esko T. Rautanen: Digitaalitekniikka. Edita, 2004. ISBN 951-37-3886-8.