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.

• Pokud v daném běhu procesu nezměníme hodnotu signálu, 

hodnota zůstává zachována (tzv. 

implicitní paměť), což 

budeme využívat.

• Neplatí, že sekvenční příkazy se používají pouze pro 

modelování sekvenčních obvodů. Lze s nimi realizovat i 
obvody kombinační!

• Příkazy uváděné uvnitř procesu: 

• příkazy s klíčovými slovy: (IF-THEN-ELSIF-ELSE),

• příkazy s klíčovými slovy: (CASE-WHEN),

• příkazy cyklů a příkazy pro jejich řízení: (LOOPNEXTEXIT), 

příkaz NULL.

Opakování předchozích znalostí 3/3

• Podpora jazyka VHDL pro modelování sekvenčních obvodů:

• Sekvenční charakter příkazů (sequential statements).

• Pokud v daném běhu procesu nezměníme hodnotu signálu, 

hodnota zůstává zachována (tzv. 

implicitní paměť), což 

budeme využívat.

• Neplatí, že sekvenční příkazy se používají pouze pro 

modelování sekvenčních obvodů. Lze s nimi realizovat i 
obvody kombinační!

• Příkazy uváděné uvnitř procesu: 

• příkazy s klíčovými slovy: (IF-THEN-ELSIF-ELSE),

• příkazy s klíčovými slovy: (CASE-WHEN),

• příkazy cyklů a příkazy pro jejich řízení: (LOOPNEXTEXIT), 

příkaz NULL.

• Definice funkce jako dalšího možného bloku se sekvenčním 

vykonáváním příkazů, definice pomocí klíčových slov: 
(FUNCTIONRETURNEND FUNCTION).

Opakování předchozích znalostí 3/3

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY register_d_arst IS PORT(
     d, clk, arst: IN  std_logic;
     q, nq:       OUT std_logic;
);
END register_d_arst;

Obvod D (register) včetně 

asynchronního resetu

Qt = Dt−1

AR D Qt Qt

1

X

0

1

0

0

0

1

0

1

1

0

D

Q

Q

C

AR

C

ARCHITECTURE Behavioral OF register_d_arst IS
BEGIN PROCESS (clk, arst) -- Signál clk nebo arst spouští proces
BEGIN
        IF 
(arst = '1') THEN q <= '0'; nq <= '1'; -- resetujeme
ELSIF rising_edge(clk) THEN -- funkce ze std_logic_1164
q <= d;
nq <= NOT d;
END IF;-- Neuvedením větve else generujeme impl. paměť
END PROCESS;
END
Behavioral;

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY register_d_arst IS PORT(
     d, clk, arst: IN  std_logic;
     q, nq:       OUT std_logic;
);
END register_d_arst;

Obvod D (register) včetně 

asynchronního resetu

Qt = Dt−1

AR D Qt Qt

1

X

0

1

0

0

0

1

0

1

1

0

D

Q

Q

C

AR

C

Příklad, vložení komponenty

D

Q

Q

C

AR

D

Q

Q

C

AR

D

Q

Q

C

AR

shiftClk

shiftARst

shiftD

shiftQ

Shift_register

Příklad, vložení komponenty

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