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.
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
I0
I1
I2
S0 S1 S0 S0
S1 S2 S0 S1
S2 S2 S0 S0
PROCESS(Q, X) --Komb.obvod č.1 (vstup)
BEGIN next_Q <= Q;
CASE Q IS WHEN S0 =>
IF(X = I0) THEN next_Q <= S1;
END IF;
WHEN S1 =>
IF(X = I0) THEN
next_Q <= S2;
ELSIF(X = I1) THEN next_Q <= S0;
END IF;
WHEN S2 =>
IF(X = I1 OR X = I2) THEN next_Q <= S0;
END IF;
WHEN OTHERS =>
next_Q <= Q;
END CASE;
END PROCESS;
Tabulka přechodů KSA:
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
I0
I1
I2
S0 S1 S0 S0
S1 S2 S0 S1
S2 S2 S0 S0
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
Kombinační
obvod č. 1
Klopné
obvody
Kombinační
obvod č. 2
X
Q
Y
PROCESS(CLK, CLR) --Paměťová(reg.) část
BEGIN IF(CLR = '1')
Q <= S0;
ELSIF(rising_edge(CLK)) THEN Q <= next_Q;
END IF;
END PROCESS;
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
Kombinační
obvod č. 1
Klopné
obvody
Kombinační
obvod č. 2
X
Q
Y
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
Tabulka výstupů KSA:
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
I0
I1
I2
S0 O0 O1 O1
S1 O2 O2 O0
S2 O2 O0 O0
PROCESS(Q, X) --Komb. obv.2 (výstup)
BEGIN CASE Q IS WHEN S0 =>
IF(X = I0) THEN Y <= O0;
ELSEY <= O1;
END IF;
WHEN S1 =>
IF(X = I0 OR X = I1) THEN Y <= O2;
ELSEY <= O0;
END IF;
WHEN S2 =>
IF(X = I0) THEN Y <= O2;
ELSEY <= O0;
END IF;
WHEN OTHERS =>
NULL;
END CASE;
END PROCESS;
Tabulka výstupů KSA:
S1
S0
S2
I1+I2 / O1
I0 / O0
I1 / O2
I0 / O2
I1+I2 / O0
I0 / O2
I2 / O0
Mealy KSA:
I0
I1
I2
S0 O0 O1 O1
S1 O2 O2 O0
S2 O2 O0 O0
VHDL implementace KSA - shrnutí
Výsledná realizace (stejně jako u čítačů) mohou obsahovat (pro
generování výstupních signálů) kombinační obvody, které
mohou generovat hazardy.