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_11 - Speciální čítače, KSA

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

PROCESS(CLK, CLR) -- Paměťová (registrová) část
END PROCESS;

PROCESS(Q)        -- Kombinační obvod č.2 (výstup)
END PROCESS;
END Behavioral;

Kombinační

obvod č. 1 

Klopné

obvody

Kombinační

obvod č. 2 

X

Q

Y

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

TYPE TInput IS (I0, I1, I2);
TYPE TOutput IS (O0, O1, O2, O3);

ENTITY Moore IS
PORT
(X     : IN TInput;
Y       : OUT TOutput;
CLK, CLR : IN  std_logic
);
END Moore;

ARCHITECTURE Behavioral OF Moore IS TYPE TState IS (S0, S1, S2, S3);
SIGNAL Q, next_Q: TState := S0;
BEGIN
PROCESS(Q, X)     -- Kombinační obvod č.1 (vstup)
END PROCESS;

PROCESS(CLK, CLR) -- Paměťová (registrová) část
END PROCESS;

PROCESS(Q)        -- Kombinační obvod č.2 (výstup)
END PROCESS;
END Behavioral;

Kombinační

obvod č. 1 

Klopné

obvody

Kombinační

obvod č. 2 

X

Q

Y

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

Tabulka přechodů KSA:

I0

I1

I2

S0 S1 S0 S1
S1 S2 S0 S3
S2 S2 S0 S2
S3 S3 S3 S3

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

PROCESS(Q, X) --Komb.obvod č.1 (vstup)
BEGIN next_Q <= Q;
CASE Q IS WHEN S0 =>
IF(X = I0 OR X = I2) THEN next_Q <= S1;
END IF;
WHEN S1 =>
IF(X = I0) THEN
next_Q <= S2;
ELSIF(X = I1) THEN next_Q <= S0;
ELSIF(X = I2) THEN next_Q <= S3;
END IF;
WHEN S2 =>
IF(X = I1) THEN next_Q <= S0;
END IF;
WHEN S3 =>
next_Q <= S3;
WHEN OTHERS =>
next_Q <= Q;
END CASE;
END PROCESS;

Tabulka přechodů KSA:

I0

I1

I2

S0 S1 S0 S1
S1 S2 S0 S3
S2 S2 S0 S2
S3 S3 S3 S3

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

PROCESS(CLK, CLR) --Paměťová(reg.) část
BEGIN IF(CLR = '1')
Q <= S0;
ELSIF(CLK'event AND CLK = '1') THEN Q <= next_Q;
END IF;
END PROCESS;

PROCESS(Q) --Komb.obvod č.2 (výstup)
BEGIN CASE Q IS WHEN S0 =>
Y <= O0;
WHEN S1 =>
Y <= O1;
  WHEN S2 =>
Y <= O2;
WHEN S3 =>
Y <= O3;
WHEN OTHERS =>
            NULL;
END CASE;
END PROCESS;

Moore KSA:

S1

S0

S2

S3

O0

O1

O2

O3

I1

I0+I1+I2 

I0

I2

I0+I2 

I1

I1

I0+I2 

S0 O0

S1 O1
S2 O2
S3 O3

Tabulka výstupů KSA:

PROCESS(CLK, CLR) --Paměťová(reg.) část
BEGIN IF(CLR = '1')
Q <= S0;
ELSIF(CLK'event AND CLK = '1') THEN Q <= next_Q;
END IF;
END PROCESS;

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