Elektronik og Kommunikation dele med funktion
Denne programmer er eksempler på god og ingen fejl, og kører programmet med en korrekt og har en pålidelig udgange.
--- Shifter-venstre- -
bibliotek IEEE;
bruge IEEE.STD_LOGIC_1164.ALL;
bruger IEEE.STD_LOGIC_ARITH.ALL;
bruger IEEE.STD_LOGIC_UNSIGNED.
ALL;
enhed shiftleft_8 er
Port (A, B: i STD_LOGIC_VECTOR (7 downto 0);
outleft: ud STD_LOGIC_VECTOR (7 downto 0);
zeroact: out std_logic)
ende shiftleft_8;
arkitektur strukturel af shiftleft_8 er
signal signa6, signa7, zact: STD_LOGIC_VECTOR (7 downto 0);
komponent shifter_stage1 er
Port (in25: i STD_LOGIC_VECTOR (7 downto 0);
stage1: i STD_LOGIC;
out10: ud STD_LOGIC_VECTOR (7 downto 0) )
ende komponent;
komponent shifters_stage2 er
Port (in27: i STD_LOGIC_VECTOR (7 downto 0);
stage2: i STD_LOGIC;
out12: ud STD_LOGIC_VECTOR (7 downto 0)),
ende komponent;
komponent shifters_stage4 er
Port (in29: i STD_LOGIC_VECTOR (7 downto 0 )
stadium4: i STD_LOGIC;
out14: ud STD_LOGIC_VECTOR (7 downto 0)),
ende komponent;
begynde
< p> shiftleft0: shifter_stage1 port kort (A, B
(0), signa6)
shiftleft1: shifters_stage2 port kort (signa6, B
(1), signa7)
shiftleft2: shifters_stage4 havn kortet (signa7, B
(2), zact),
outleft
zeroact
, når zact = "00000000"
ellers '0';
ende strukturelle,
--- shifter-højre ---
bibliotek IEEE;
bruger IEEE.
STD_LOGIC_1164.ALL;
bruger IEEE.STD_LOGIC_ARITH. ALLE;
bruge IEEE.STD_LOGIC_UNSIGNED.ALL;
enhed shiftright_8 er
Port (D, E: i STD_LOGIC_VECTOR (7 downto 0);
decideret: out STD_LOGIC_VECTOR (7 downto 0);
zeroact: out std_logic)
ende shiftright_8;
arkitektur strukturel af shiftright_8 er
signal signa15 , signa16, zact: STD_LOGIC_VECTOR (7 downto 0);
komponent shiftersright_stage1 er
Port (in31: i STD_LOGIC_VECTOR (7 downto 0);
stage1right: i STD_LOGIC;
out16: ud STD_LOGIC_VECTOR (7 downto 0)),
ende komponent;
komponent shiftersright_stage2 er
Port (in33: i STD_LOGIC_VECTOR (7 downto 0),
stage2right: i STD_LOGIC;
out18: ud STD_LOGIC_VECTOR (7 downto 0)),