bpc-los_11 - Speciální čítače, KSA
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.
PULSE <= '1' WHEN (COUNT = MAX) ELSE
'0';
CEO <= '1' WHEN (COUNT = MAX AND CE = '1') ELSE
'0';
END Behavioral;
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic
);
END counter;
CLK
CEO
PULSE
CE
Synchronní čítač VHDL implementace
ARCHITECTURE Behavioral OF counter IS SIGNAL COUNT: natural RANGE 0 TO MAX := 0; -- omezení na: <0 - MAX>
BEGIN PROCESS(CLK)
BEGIN IF(rising_edge(CLK)) THEN IF(CE = '1') THEN
COUNT <= COUNT + 1;
END IF;
END IF;
END PROCESS;
PULSE <= '1' WHEN (COUNT = MAX) ELSE
'0';
CEO <= '1' WHEN (COUNT = MAX AND CE = '1') ELSE
'0';
END Behavioral;
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic
);
END counter;
CLK
CEO
PULSE
CE
Synchronní čítač VHDL implementace
ARCHITECTURE Behavioral OF counter IS SIGNAL COUNT: natural RANGE 0 TO MAX := 0; -- omezení na: <0 - MAX>
BEGIN PROCESS(CLK)
BEGIN IF(rising_edge(CLK)) THEN IF(CE = '1') THEN
COUNT <= COUNT + 1;
END IF;
END IF;
END PROCESS;
PULSE <= '1' WHEN (COUNT = MAX) ELSE
'0';
CEO <= '1' WHEN (COUNT = MAX AND CE = '1') ELSE
'0';
END Behavioral;
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic
);
END counter;
CLK
CEO
PULSE
CE
Sekvenční příkazy
Souběžné příkazy
Synchronní čítač VHDL implementace
ARCHITECTURE Behavioral OF counter IS SIGNAL COUNT: natural RANGE 0 TO MAX := 0; -- omezení na: <0 - MAX>
BEGIN PROCESS(CLK)
BEGIN IF(rising_edge(CLK)) THEN IF(CE = '1') THEN
COUNT <= COUNT + 1;
END IF;
END IF;
END PROCESS;
PULSE <= '1' WHEN (COUNT = MAX) ELSE
'0';
CEO <= '1' WHEN (COUNT = MAX AND CE = '1') ELSE
'0';
END Behavioral;
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic
);
END counter;
CLK
CEO
PULSE
CE
CLK
CEO
PULSE
CE
t
t
Clk
CE
00
t
01
10
11
00
Q[1:0]
t
t
PULSE
CEO
Synchronní čítače v kaskádě
CLK
CEO
PULSE
CE
Synchronní čítače v kaskádě
CLK
CEO
PULSE
CE
'1'
CLK
CEO1 = CE2
PULSE2
CEO2
CLK
PULSE1
CLK
CEO
PULSE
CE
Synchronní čítače v kaskádě
CLK
CEO
PULSE
CE
t
CLK
00
t
01
10
11
00
Q1[1:0]
t
t
CEO1
PULSE1
CE2
01
10
11
00
PULSE2
CEO2
10
Q2[1:0]
11
00
t
t
'1'
CLK
CEO1 = CE2
PULSE2
CEO2
CLK
PULSE1
VHDL implementace čítače - shrnutí
Výsledná realizace obsahuje na výstupech PULSE a CEO
kombinační obvody, které
mohou generovat hazardy.