bpc-los_09 - Posuv. registry, VHDL-implementace sekv. obvodů
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
generic_shift_reg
clk
sd
'0'
arst
"0000000"
Q[7...0]
reg[7...0]
shiftClk
shiftARst
shiftD
shiftQ
Shift_register
data[7]
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
COMPONENT generic_shift_reg IS GENERIC(N: positive := 8);
PORT(
clk, sd, load, ares: IN std_logic;
D: IN std_logic_vector(N-1 DOWNTO 0);
Q: OUT std_logic_vector(N-1 DOWNTO 0);
);
END COMPONENT generic_shift_reg;
BEGIN shift_reg0: generic_shift_reg
GENERIC MAP(N => 8)
PORT MAP(clk => shiftClk, sd => shiftD, arst => shiftARst, load => '0',
D => (OTHERS => '0'), Q => data);
shiftQ <= data(7);
END Structural;
Přímé vložení komponenty
ENTITY Shift_register IS PORT(
shiftD, shiftClk, shiftARst: IN std_logic;
shiftQ: OUT std_logic;
);
END Shift_register;
ARCHITECTURE Structural OF Shift_register IS SIGNAL data: std_logic_vector(7 DOWNTO 0);
generic_shift_reg
clk
sd
'0'
arst
"0000000"
Q[7...0]
reg[7...0]
shiftClk
shiftARst
shiftD
shiftQ
Shift_register
data[7]
Obousměrný posuvný registr - obecná VHDL
implementace
Realizujte obecný obousměrný posuvný registr (s parametrizovatelnou délkou
N), mající vstupy pro: asynchronní reset (ARST), sériová vstupní data (SD),
synchronní signál pro definici směru posuvu (DIR). Při DIR=1, sériová data z SD
vstupují na pozici LSB a probíhá posun vlevo, jinak probíhá posun vpravo a
sériová data vstupují na pozici MSB (most significant bit). Registr bude
obsahovat paralelní výstup (Q).
Obousměrný posuvný registr - obecná VHDL
implementace
generic_bidir_shift_reg
clk
sd
dir
arst
Q[N-1...0]
reg[N-1...0]
Realizujte obecný obousměrný posuvný registr (s parametrizovatelnou délkou
N), mající vstupy pro: asynchronní reset (ARST), sériová vstupní data (SD),
synchronní signál pro definici směru posuvu (DIR). Při DIR=1, sériová data z SD
vstupují na pozici LSB a probíhá posun vlevo, jinak probíhá posun vpravo a
sériová data vstupují na pozici MSB (most significant bit). Registr bude
obsahovat paralelní výstup (Q).
Obousměrný posuvný registr - obecná VHDL
implementace
ENTITY generic_bidir_shift_reg IS GENERIC(N: positive := 8);
PORT(
clk, sd, dir, arst: IN std_logic;
Q: OUT std_logic_vector(N-1 DOWNTO 0);
);
END generic_bidir_shift_reg;
generic_bidir_shift_reg
clk
sd
dir
arst
Q[N-1...0]
reg[N-1...0]
Realizujte obecný obousměrný posuvný registr (s parametrizovatelnou délkou
N), mající vstupy pro: asynchronní reset (ARST), sériová vstupní data (SD),
synchronní signál pro definici směru posuvu (DIR). Při DIR=1, sériová data z SD
vstupují na pozici LSB a probíhá posun vlevo, jinak probíhá posun vpravo a
sériová data vstupují na pozici MSB (most significant bit). Registr bude
obsahovat paralelní výstup (Q).