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.

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

generic_bidir_shift_reg

clk

sd

dir

arst

Q[N-1...0]

reg[N-1...0]

ARCHITECTURE Behavioral OF generic_bidir_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(dir = '1') THEN
reg <= reg(N-2 DOWNTO 0) & sd; -- Sync serial shift left
ELSE reg <= sd & reg(N-1 DOWNTO 1); -- Sync serial shift right
END IF;
END IF;
END PROCESS;
Q <= reg;
END Behavioral;

Obousm. posuvný registr - obecná VHDL impl.

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;

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

generic_bidir_shift_reg

clk

sd

dir

arst

Q[N-1...0]

reg[N-1...0]

Posuvné registry se zpětnou 

vazbou

Registry se zpětnou vazbou - kruhový reg.

V případě, že je na sériový vstup posuvného registru přiveden signál z některých 
jeho výstupů, (ať už přímo nebo po zpracování kombinačním obvodem), vzniká 
zpětná vazba, díky které získává posuvný registr nové vlastnosti.

Základní realizací je tzv. 

kruhový registr (ring counter), zpětná vazba je 

realizována dle obrázku. Data, předem vložená do posuvného registru, potom 
neustále rotují o jeden bit s každým hodinovým impulzem. 
Data lze do registru vložit buď postupně bit po bitu 

sériově nebo paralelně 

prostřednictvím paralelních vstupu. Výsledná realizace nemusí obsahovat obě 
varianty. Volbou vhodné konstanty lze zajistit až periodu danou počtem bitů 
posuvného registru (N).

Q[0]

Q[n-1]

0
1

SD

CLK

sLOAD

sData

pLOAD

pData[0]

pData[n-1]

Zajímavý efekt vznikne při zpětné vazbě z negovaného výstupu MSB.

Tato realizace představuje tzv. 

Johnsonův čítač (twisted ring counter), zpětná 

vazba je realizována dle obrázku. 
Volbou vhodné konstanty obsahující ve všech bitech stejné hodnoty, lze zajistit 
až periodu danou dvojnásobným počtem bitů posuvného registru .

Q[0]

Q[n-1]

0
1

SD

CLK

sLOAD

sData

pLOAD

pData[0]

pData[n-1]

1

Registry se zpětnou vazbou - Johnsonův čítač

Ve zpětné vazbě může být zapojen i složitější kombinační obvod. Využívanou 
variantou kombinačního obvodu je zapojení se členy XOR (nonekvivalence).

Takové zapojení se nazývá tzv. 

lineární čítač (Linear-feedback shift register LFSR).

Platí pravidlo, že pro libovolnou délku lze nalézt alespoň jednu kombinaci 
"odboček" do funkce XOR tak, že posloupnost kombinací výstupů je dlouhá 2N-1. 
Je to tzv. 

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