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_08 - Metastabilita, VHDL-popis sekv. obvodů

PDF
Stáhnout kompletní materiál zdarma (495.58 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.

+Dt ⋅ Qt

Dále uvedené zdrojové texty jsou založeny na použití procesu s 
příkazy IF-THEN, které neobsahují část s příkazem ELSE
Není-li splněna podmínka, (a nebyla-li hodnota v těle procesu jinde 
nepodmínečně modifikována) zůstává hodnota signálu v obvodu 
zachována (je vložena tzv. 

implicitní paměť), což právě vyžadujeme.

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

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

Hladinový synchronní klopný 

obvod D (latch)

D

Q

Q

C

Qt = Dt−1

D

Qt

Qt

0

0

1

1

1

0

C

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

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

Hladinový synchronní klopný 

obvod D (latch)

D

Q

Q

C

Qt = Dt−1

D

Qt

Qt

0

0

1

1

1

0

C

ARCHITECTURE Behavioral OF latch_d IS
BEGIN PROCESS (d, clk) -- Musí zde být oba signály
BEGIN IF (clk = '1') THEN 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 IS PORT(
     d, clk: IN  std_logic;
     q, nq:  OUT std_logic;
);
END register_d;

Hranový synchronní klopný 

obvod D (register)

Qt = Dt−1

D

Qt

Qt

0

0

1

1

1

0

D

Q

Q

C

C

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

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

Hranový synchronní klopný 

obvod D (register)

Qt = Dt−1

D

Qt

Qt

0

0

1

1

1

0

D

Q

Q

C

C

ARCHITECTURE Behavioral OF register_d IS
BEGIN PROCESS (clk) -- Pouze signál clk spouští proces
BEGIN IF (clk'event AND clk = '1') THEN 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

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;

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