bpc-los_09 - Posuv. registry, VHDL-implementace sekv. obvodů
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.
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
Synchronní čítač VHDL implementace
Synchronní čítač VHDL implementace
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic;
);
END counter;
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;
Synchronní čítač VHDL implementace
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic;
);
END counter;
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;
Synchronní čítač VHDL implementace
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic;
);
END counter;
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;
Sekvenční příkazy
Souběžné příkazy
Synchronní čítač VHDL implementace
ENTITY counter IS GENERIC (MAX : positive);
PORT (
CLK, CE : IN std_logic;
PULSE, CEO : OUT std_logic;
);
END counter;
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;