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ý 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;

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;

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;

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;

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