Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




bpc-los_09 - Posuv. registry, VHDL-implementace sekv. obvodů

PDF
Stáhnout kompletní materiál zdarma (737.75 kB)

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.

Posuvné registry - příklady 

realizace

Posuvný registr - obecná VHDL implementace

Realizujte obecný posuvný registr (s parametrizovatelnou délkou N), mající 
vstupy pro: asynchronní reset (ARST), sériová vstupní data (SD) vstupující na 
pozici LSB (least significant bit), signál pro paralelní vstupní data (D), signál pro 
synchronní načtení paralelních dat (LOAD). Registr bude obsahovat paralelní 
výstupy (Q[N-1:0]).

Posuvný registr - obecná VHDL implementace

generic_shift_reg

clk

sd

load

arst

D[N-1...0]

Q[N-1...0]

reg[N-1...0]

Realizujte obecný posuvný registr (s parametrizovatelnou délkou N), mající 
vstupy pro: asynchronní reset (ARST), sériová vstupní data (SD) vstupující na 
pozici LSB (least significant bit), signál pro paralelní vstupní data (D), signál pro 
synchronní načtení paralelních dat (LOAD). Registr bude obsahovat paralelní 
výstupy (Q[N-1:0]).

Posuvný registr - obecná VHDL implementace

ENTITY generic_shift_reg IS GENERIC(N: positive := 8);
PORT(
 clk, sd, load, arst: IN std_logic;
 D:        IN std_logic_vector(N-1 DOWNTO 0);
 Q:        OUT std_logic_vector(N-1 DOWNTO 0);
);
END generic_shift_reg;

generic_shift_reg

clk

sd

load

arst

D[N-1...0]

Q[N-1...0]

reg[N-1...0]

Realizujte obecný posuvný registr (s parametrizovatelnou délkou N), mající 
vstupy pro: asynchronní reset (ARST), sériová vstupní data (SD) vstupující na 
pozici LSB (least significant bit), signál pro paralelní vstupní data (D), signál pro 
synchronní načtení paralelních dat (LOAD). Registr bude obsahovat paralelní 
výstupy (Q[N-1:0]).

generic_shift_reg

clk

sd

load

arst

D[N-1...0]

Q[N-1...0]

reg[N-1...0]

Posuvný registr - obecná VHDL implementace

ENTITY generic_shift_reg IS GENERIC(N: positive := 8);
PORT(
 clk, sd, load, arst: IN std_logic;
 D:        IN std_logic_vector(N-1 DOWNTO 0);
 Q:        OUT std_logic_vector(N-1 DOWNTO 0);
);
END generic_shift_reg;

generic_shift_reg

clk

sd

load

arst

D[N-1...0]

Q[N-1...0]

reg[N-1...0]

Posuvný registr - obecná VHDL implementace

ENTITY generic_shift_reg IS GENERIC(N: positive := 8);
PORT(
 clk, sd, load, arst: IN std_logic;
 D:        IN std_logic_vector(N-1 DOWNTO 0);
 Q:        OUT std_logic_vector(N-1 DOWNTO 0);
);
END generic_shift_reg;

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

generic_shift_reg

clk

sd

load

arst

D[N-1...0]

Q[N-1...0]

reg[N-1...0]

ARCHITECTURE Behavioral OF generic_shift_reg IS SIGNAL reg: std_logic_vector(N-1 DOWNTO 0);
BEGIN PROCESS (arst, clk)
BEGIN IF(arst = '1') THEN
reg <= (OTHERS => '0');            -- Async reset
ELSIF(rising_edge(clk)) THEN
IF(load = '1') THEN
reg <= D;                     -- Sync parallel load  
ELSE reg <= reg(N-2 DOWNTO 0) & sd; -- Sync serial shift
END IF;
END IF;
END PROCESS;
Q <= reg;
END Behavioral;

Témata, do kterých materiál patří