You are on page 1of 65

Ardl Devre Modeli

giriler Kombinezonsal Devre klar

imdiki durum Bellek Elemanlar

Sonraki durum

imdiki durum daha nceki girilere baldr.


1

Senkron Ardl Devreler


aretler bellek elemanlarn zamann ayrk anlarnda etkilerler. Ayrk anlar senkronizasyon gerektirir. Senkronizasyon ortak bir saat ile salanr. Saat reteci periyodik darbe dizisi reten bir devredir. Bellek elemanlarnn durumu her saat darbesinde gncellenir.

Senkron Ardl Devreler


Bellek elemanlar 1-bitlik bilgi saklayabilen flipflop lardr.
giriler Kombinezonsal Devre klar

imdiki durum Flip-Floplar saat

Sonraki durum

Latch ler
Temel bellek elemanlar Bir latch ikili durumunu sonsuza kadar koruyabilen bir bellek elemandr. Latch ler asenkron devrelerdir ve almak iin saat iaretine ihtiyalar yoktur. Bu sebeple senkron ardl devrelerde dorudan kullanlmazlar. Flip-flop lar elde etmek iin kullanlrlar.
4

SR-Latch
R Q1

S S 0 0 0 1 1 R 0 0 1 0 1 Q1 0 1 0 1 X Q2 1 0 1 0 X

Q2

Q1= (R + Q2)=R Q2 Q2= (S + Q1)=S Q1 Q1= Q2 Tanmsz


5

SR-Latch
S Q Q= (S Q)=S + Q Q= (R Q)=R + Q R S 0 0 1 1 1 R 0 1 0 1 1 Q x 1 0 1 0 Q x 0 1 0 1 Q

Tanmsz

Kontrol Girili SR-Latch


S Q C Q R Q= ((S C)Q)=SC + Q Q= ((R C)Q)=RC + Q

C 0 1 1 1 1

S X 0 0 1 1

R X 0 1 0 1

Q Deime yok Deime yok Q=0 Q=1

Reset durumu Set durumu


7

Tanmsz

D-Latch
Tanmsz hal devrede kararszla sebep olabilecei iin SR latch ler sk kullanlmaz. zm: D-latch ler
D C R Q S Q

Bu devre S ve R girilerinin her zaman birbirlerinin tmleyeni olmasn salar.


8

D-Latch
C 0 1 1 D X 0 1 Qnun sonraki durumu Deiim yok Q = 0; reset durumu Q = 1; set durumu

C=1 iken D girii rneklenir.


S R SR-latch Q Q D C D-latch
9

Q Q

Saklama eleman olarak D-Latch


Dlatch ler geici saklama iin kullanlabilirler. C = 1 olduu srece D-latch girii ka aktarlr. C = 0 olduu srece bilgi korunur. Latch ler seviye tetiklemeli olarak adlandrlr.
C lojik-1 seviyesinde kald srece veri giriindeki deiim durumu ve latch kn deitirir.

Bellek elemanlarnn durumlar senkron olarak deimeli. Den veya ykselen kenar tetiklemeli bellek elemanlarna flip-flop lar denir.
10

Kenar Tetiklemeli D Flip-Flop


Kenar tetiklemeli D flip-flop iki D latch kullanlarak yaplabilir.
D
Q D D latch (master) C

Q D D latch (slave) C

clk

clk clk

Y=D

Q=Y=D

Den kenar tetiklemeli D flip-flop

clk

11

Ykselen Kenar Tetiklemeli D Flip-Flop


D clk clk
Q D D latch (master) C

Q D D latch (slave) C

clk Y= D clk Y deimez Q=Y=D clk

12

D Flip-Flop Sembolleri
D D FF Q

clk

Ykselen kenar tetiklemeli D Flip-Flop

D D FF

clk

Den kenar tetiklemeli D Flip-Flop

Karakteristik denklem
Q(t+1) = D
13

JK Flip-Flop lar
J C K Q

J 0 0 1 1

K 0 1 0 1

Q(t+1) Q(t) 0 1 Q(t)

Sonraki durum Deiim yok Reset Set Tmleyen

Karakteristik Tablo

Karakteristik denklem
Q(t+1) = JQ(t) + KQ(t)

14

T (Toggle) Flip-Flop
T
T C Q

Q(t+1) Q(t) Q(t)

next state no change Complement

0 1

Karakteristik Tablo

Karakteristik denklem
Q(t+1) = T Q = TQ + TQ T
J C K Q

D C

15

Senkron Ardl Devrelerin Analizi


Ama:
Senkron ardl devrelerin davrann bulmak. Davran
Giriler klar Flip-flop larn durumlar kullanlarak elde edilir.

k ve sonraki durumun Boole fonksiyonlarn bulmak.


k ve durum denklemleri

(durum) tablosu (durum) diyagram


16

Senkron Ardl Devrelerin Analizi


t anndaki imdiki durum flip-flop dizisinde saklanr. (t+1) anndaki sonraki durum durum ve girilerin oluturduu bir Boole fonksiyonu. t anndaki klar imdiki durumlar ve bazen de girilere bal Boole fonksiyonlar.
Giriler Bellek elemanlar

Kombine zonsal Devre


Durum

klar

Sonraki durum

CLK

Durum Denklemleri
Ayn zamanda gei denklemleri de denir.
Sonraki durumu imdiki durum ve girilerin bir fonksiyonu olarak verir.

rnek
y1(t+1) x
D C Q

y1 y1 y2 y2 z

y2(t+1)

D C

clk

18

k ve Durum Denklemleri
A(t+1) =(AB)x B(t+1) =xB y = ABx
y1(t+1) x
D C Q

y1 y1 y2 y2 z

Y2(t+1)

D C

clk

19

rnek: Durum (Gei) Tablosu


A(t+1) = ?
imdiki Durum
y1 y2

B(t+1) = ?
Giri x 0 1 0 1 0 1 0 1 Sonraki Durum
Y1 Y2

y=?

k z 0 0 0 0 0 0 0 1

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 0 0 1 0 1 0 0

0 1 0 0 0 1 0 0

m FF ve n girii olan senkron ardl bir devrenin durum tablosunda 2m+n satr vardr. 20

rnek: Durum Diyagram


0/0 1/1
imdiki Durum y1 y2 0 0 1 1 0 0 1 1 0 0 0 0 Giri x 0 1 0 1 0 1 0 1 Sonraki Durum Y1 0 0 0 1 0 1 0 0 Y2 0 1 0 0 0 1 0 0 k z 0 0 0 0 0 0 0 1

00

0/0

11

1/0

0/0

0/0

1/0

1 1 1 1

01
1/0

10

Durum diyagram ile durum tablosu ayn bilgiyi verir.


21

JK tipi Flip-Flop lar ile Analiz


D tipi flip-flop da durum denklemi flip-flop un giri denklemi ile ayn
Q(t+1) = D

JK tipi flip-flop larda bu iki denklem farkl


Amacmz durum denklemlerini bulmak. Yntem
1. Flip-flop giri denklemlerinin bulunmas 2. Her giri denkleminin doruluk tablosu oluturulmas 3. Flip-flop larn karakteristik tablosu kullanlarak durum tablosundaki sonraki durum deerlerinin belirlenmesi
22

rnek: JK tipi Flip-Flop lar ile Analiz


x
J1 K1
J C K Q

y1

J2

J D C C K

y2

clk 1
K2

Flip-flop input equations


J1 =xy2 J2 = x ve ve K1 =x+ y2 K2 = 1
23

rnek: JK tipi Flip-Flop lar ile Analiz


J1 =xy2 J2 = x
imdiki Durum y1 y2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1

ve ve
Giri x 0 1 0 1 0 1 0 1

K1 =x+ y2 K2 = 1
Sonraki Durum

Y1 0 0 0 1 0 1 0 0

Y2 0 1 0 0 0 1 0 0

FF girileri J1 K1 J2 K2 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1

24

rnek: JK tipi Flip-Flop lar ile Analiz


Karakteristik Denklemler
Y1 = J1y1 + K1y1 Y2 = J2y2 + K2y2

Flip-flop giri denklemleri


J1 =xy2 J2 = x ve ve K1 =x+ y2 K2 = 1

Durum denklemleri
Y1 = xy2y1 + (x+ y2)y1 = xy2y1 + xy2y1 = x(y2 y1) Y2 = xy2 + 1y2 = xy2
25

Durum Diyagram
0/0 1/1

00

0/0

11

imdiki Durum y1 0 y2 0 0 1 1 0 0 1 1

Giri x 0 1 0 1 0 1 0 1

Sonraki Durum Y1 0 0 0 1 0 1 0 0 Y2 0 1 0 0 0 1 0 0

k z 0 0 0 0 0 0 0 1

1/0

0/0

0/0

1/0

0 0 1

01
1/0

10

1 1 1

Devre ne yapyor?
26

T tipi Flip-Flop lar ile Analiz


Yntem ayn rnek
x T1
T C Q

T1 = xy0 T2 = x y1

T0 clk reset

T D C C

y0

27

rnek: T tipi Flip-Flop lar ile Analiz


Karakteristik Denklemleri
Y0 = T0 y0 Y1 = T1 y1

Flip-flop giri denklemleri


T1 = x y0 T0 = x

Durum denklemleri
Y0 = x y0 Y1 = x y0 y1
28

Durum Tablosu ve Diyagram


Y0 = x y0 Y1 = x y0 y1
imdiki Durum Giri y1 0 0 0 0 1 1 1 1 y0 0 0 1 1 0 0 1 1 x 0 1 0 1 0 1 0 1
Sonraki Durum

k y1 0 0 0 0 1 1 1 1 y0 0 0 1 1 0 0 1 1

00/00

01/01

Y1 Y0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0

11/11

10/10 0
29

Moore ve Mealy Modelleri


Senkron ardl devreler veya senkron makinalar ayn zamanda sonlu durum makinalar (Finite State Machines (FSMs)) olarak adlandrlrlar. ki tip model vardr:
Moore Modeli E. F. Moore tarafndan ortaya atlmtr. klar SADECE durumlara baldr. klar durum diyagramnda durumlarn zerinde gsterilir. Mealy Modeli G. Mealy tarafndan ortaya atlmtr. klar girilere VE durumlara baldr. klar durum diyagramnda durum gei izgilerinin zerinde gsterilir.

rnek: Mealy ve Moore Makinalar


x y clock reset
D C Q

Mealy makinas x ve y girileri senkron deiller. Bu sebeple, klar ksa sreli yanl deerler alabilirler. Giriler saat iareti ile senkron hale getirilmelidir veya klar sadece saatin ykselen kenarnda rneklenmelidir. 31

rnek: Moore Makinas


x
T C Q

T D

clk reset

C C

klar saat iareti ile senkron olarak alr.


32

Moore ve Mealy rnek Diyagramlar


Mealy Modeli durum diyagram x=1/z=0 x=0/z=0 0 x=0/z=0 Moore Modeli durum diyagram 1 x=1/z=1

x=0 0/0 x=1 x=0 1/0 x=1 2/1

x=0 x=1

Moore ve Mealy rnek Durum Tablolar


Moore Model durum tablosu
imdiki Sonraki Durum Durum x=0 x=1 0 0 1 1 0 2 2 0 2 k 0 0 1

Mealy Model durum tablosu


imdiki Durum 0 1
Sonraki Durum

x=0 x=1 0 1 0 1

k x=0 x=1 0 0 0 1

Senkron Ardl Devre Tasarm

35

rnek: Senkron Ardl Devre Tasarm


Szle tanm
1. Adm: 1-bitlik giriinden ard arda 3 tane veya daha fazla 1 geldiini sezen devreyi tasarlaynz. Giri: herhangibir uzunluktaki bit dizisi k:
1 : eer devre istenen diziyi yakalamsa 0 : dier hallerde

36

rnek: Durum Diyagram


2. Adm: Durum diyagramnn izilmesi 0/0

Balang 0/0 111 geldi 0/0

1/0

1 geldi 1/0 11 geldi

0/0 1/1

1/1

37

D Tipi Flip-Floplar ile tasarm


3. Adm: Durum indirgeme
Mmkn deil
0/0

00
Balang 0/0 111 geldi 0/0

1/0

01
1 geldi 1/0 11 geldi

4. Adm: Flip-flop says


4 durum ? flip-flop

0/0 1/1

11
1/1

5. Adm: Durum kodlama

10

38

D Tipi Flip-Floplar ile tasarm


6. Adm: Durum tablosunun karlmas
imdiki Durum y1 y2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Giri x 0 1 0 1 0 1 0 1 Sonraki Durum Y1 Y2 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 k z 0 0 0 0 0 0 1 1
39

D Tipi Flip-Floplar ile tasarm


7. Adm: Flip-floplarn tipinin belirlenmesi
D tipi flip-floplar

8. Adm: Boole Fonksiyonlarnn elde edilmesi


D1 ve D2 iin Boole fonksiyonlar
y2x y1 0 1

00

01

11

10

0 0

0 1

1 1

0 0

y2x y1 0 1

00

01

11

10

0 0

1 1

0 1

0 0

D1 = y1x + y2x

D2 = y1x + y2x
40

D Tipi Flip-Floplar ile tasarm


Z iin Boole fonksiyonu
y2x y1 0 1 00 01 11 10

0 0

0 0

0 1

0 1

z = y1y2

41

D Tipi Flip-Floplar ile tasarm


9. Adm: Boole fonksiyonlarnn gereklenmesi
D1 = y1x + y2x
x

D2 = y1x + y2x
D1

z = y1y2
D C R Q

y1

z D2
D C R Q

y2

clock

reset

42

JK Tipi Flip-Floplar ve MUX ile tasarm


Durum says= 6 Durum deikeni says= 3 Flip-flop says= 3 Giri says= 0 k says= 6

6 tane kayan k

= lojik-1
O= lojik-0
43

Durum Diyagram ve Tablosu


000
D0

001

D1

D2

010

Y = Jy + Ky
J 0 K 0 1 0 1 Y y 0 1 Q

101

D5

D4

100

D3

011

0 1 1

imdiki Durum

y2 y1 y0

Sonraki Durum

Y2 Y1 Y0

Flip-flop girileri J2 K2 J1 K1 J0 K0

klar z5 z4 z3 z2 z1 z0

0 0 0 0 1 1

0 0 1 1 0 0

0 1 0 1 0 1

0 0 0 1 1 0

0 1 1 0 0 0

1 0 1 0 1 0

0 0 0 1 k k

k k k k 0 1

0 1 k k 0 0

k k 0 1 k k

1 k 1 k 1 k

k 1 k 1 k 1

1 0 0 0 0 0

1 1 0 0 0 1

1 1 1 0 1 1

0 1 1 1 1 1

0 0 1 1 1 0

44

0 0 0 1 0 0

Flip-flop giri Denklemlerinin Gereklenmesi


y1y0 y2 0 1 y1y0 y2 0 1 y1y0 y2 0 1 00 00 00 01 11 10 y2 0 1 y1y0 10 y2 0 1 y1y0 10 y2 0 1 00 00 y1y0 00 01 11 10

0 k

0 k

0 k

1 k

k 0

k 1

k k

k k

J2 = y1y0
01 11

K2 = y0
01 11 10

0 0

1 0
01

k k
11

k k

k k

k k
01

1 k
11

0 k
10

J1 = y2y0 1 1 k k J0 = 1 k k 1 k

K1 = y0 k k 1 1 K1 =1 1 k k k

Flip-flop k Denklemlerinin Gereklenmesi


y0 0 0 0 y2 y1 1 y0 1 0 y2 y1
z3=y2y1y0+y2y1y0+y2y1y0+y2y1y0+y2y1y0+k(y2y1y0+y2y1y0)
46

1 0 y0 0 y2 y1

z5=y2y1y0+k(y2y1y0+y2y1y0) z4=y2y1y0+y2y1y0+y2y1y0+k(y2y1y0+y2y1y0)

Flip-flop k Denklemlerinin Gereklenmesi


y0 1 1 0 y2 y1
z2=y2y1y0+y2y1y0+y2y1y0+y2y1y0+y2y1y0+k(y2y1y0+y2y1y0)

0 1 y0 0 y2 y1
z1=y2y1y0+y2y1y0+y2y1y0+k(y2y1y0+y2y1y0)
47

Flip-flop k Denklemlerinin Gereklenmesi


0 y0 0 0 y2 y1
z0=y2y1y0+k(y2y1y0+y2y1y0)

48

Lojik diyagram
J2 = y1y0 K2 = y0 J1 = y2y0 K1 = y0 J0 = 1 K1 =1

J C K

Q Q

J D C C K

J D C C K

y2
Q

y1

y0
49

T Tipi Flip-Floplar ile tasarm


rnek: 3-bit ikili sayc
0 1 2 ... 7
D0 D1 D7

2
Ka flip-flop? Durum kodlama: D0 D1 D2 ... D7 000 001 010 111

D2

D6

D3 D4

D5

Durum Diyagram

50

T Tipi Flip-Floplar ile tasarm


Durum tablosu
imdiki Durum y2 y1 y0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Sonraki Durum Y2 Y1 Y0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 FF girileri T2 T1 T0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1
51

T Tipi Flip-Floplar ile tasarm


Flip-Flop giri denklemleri
y1 y0 y2 0 1 00 01 11 10 y2 0 1 y1 y0 00 01 11 10

0 0

0 0

1 1

0 0

0 0

1 1

1 1

0 0

T2 = y1y0 T0 = 1

T1 = y0

52

T Tipi Flip-Floplar ile tasarm


Devre
T2 = y1y0 T1 = y0 T0 = 1
T1
T C R Q

lojik-1

T0

T C R

y0

y1

T2 saat reset

T C R

y2

53

Kullanlmayan Durumlar
D0 D1 D4

Modulo-5 sayc

D2 imdiki Durum y2 0 0 0 0 1 y1 0 0 1 1 0 y0 0 1 0 1 0 Y2 0 0 0 1 0

D3 Sonraki Durum Y1 0 1 1 0 0 Y0 1 0 1 0 0
54

Kullanlmayan Durumlar
imdiki Durum y2 0 0 0 0 1 y1 0 0 1 1 0 y0 0 1 0 1 0 Sonraki Durum Y2 0 0 0 1 0 Y1 0 1 1 0 0 Y0 1 0 1 0 0 y1y0 01 1 X 11 0 X 10 1 X y2 0 1 00 1 0 01 0 X 11 0 X 10 1 X y1y0 y2 00 0 1 0 0 01 0 X 11 1 X 10 0 X

Y2 = y1y0

y1y0 y2 00 0 1 0 0

Y1 = y1 y0 + y1y0 = y1 y0

Y0 = y2 y0
55

Kullanlmayan Durumlar
imdiki Durum y2 0 0 0 0 1 1 1 1 y1 0 0 1 1 0 0 1 1 y0 0 1 0 1 0 1 0 1 Sonraki Durum Y2 0 0 0 1 0 0 0 1 Y1 0 1 1 0 0 1 1 0 Y0 1 0 1 0 0 0 0 0 101 110 010 011 001 100 000 111

Y2 = y1y0 Y1 = y1 y0 Y0 = y2 y0

Devre kilitlenen trden deil.


56

Tasarm rnei
1 bitlik giriinden son 1010 geldiinde k 1 olan devreyi tasarlaynz. rnek: x= 1010 1011 ise z= 0001 0000 1/0 0/0
1/0 0/0 0/1 11 101 geldi 1/0 1/0 0/0 10 geldi 10 1 geldi

00

Balang

01

Meally makinas

57

Durum Tablosu
imdiki Durum y1 y2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Giri x 0 1 0 1 0 1 0 1 Sonraki Durum Y1 Y2 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 k z 0 0 0 0 0 0 1 0
58

VHDL Kodu
library IEEE; use IEEE.STD_LOGIC_1164 .ALL; entity MeallyMachine is Port ( x : in STD_LOGIC; y : out STD_LOGIC; clk : in STD_LOGIC; rst : in STD_LOGIC); end MeallyMachine; architecture Behavioral of MeallyMachine is type state_type is (BD,Bir,Bir0,Bir01); signal durum : state_type; Begin process(clk) begin if clk'event and clk='1' then if rst='1' then durum <= BD; y <= '0'; else case durum is when BD => y <= '0'; if x='1' then durum <= Bir; else durum <= BD; end if; when Bir=> y <= '0'; if x='1' then durum <= Bir; else durum <= Bir0; end if; when Bir0 => y <= '0'; if x='1' then durum <= Bir01; else durum <= BD; end if; when Bir01=> if x='1' then durum <= Bir; y <= '1; else durum <= Bir0; y <= '0; end if; end case; end if; end if; end process; 59 end Behavioral;

Devre emas

60

Zamanlama Diyagram

deal Hal: Gecikmeler = 0

deal Olmayan Hal: Gecikmeler 0


61

Moore makinas
1 1 1 0
101 geldi k=0

000
1010 geldi k=1

Balang k=0 0

1 geldi k=0 1 0 10 geldi k=0

001

100

011 1

010

62

VHDL Kodu
architecture Behavioral of MooreMachine is type state_type is (BD,Bir,Bir0,Bir01,Bir010); signal durum : state_type; Begin process(clk) begin if clk'event and clk='1' then if rst='1' then durum <= BD; y <= '0'; else case durum is when BD => y <= '0'; if x='1' then durum <= Bir; else durum <= BD; end if; when Bir => y <= '0'; if x='1' then durum <= Bir; else durum <= Bir0; end if; when Bir0 => y <= '0'; if x='1' then durum <= Bir01; else durum <= BD; end if; when Bir01 => y <= '0'; if x='1' then durum <= Bir; else durum <= Bir010; end if; when Bir010 => y <= '1'; if x='1' then durum <= Bir; else durum <= BD; end if; end case; end if; end if; end process; end Behavioral; 63

library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity MooreMachine is Port ( x : in STD_LOGIC; y : out STD_LOGIC; clk : in STD_LOGIC; rst : in STD_LOGIC); end MooreMachine;

Devre emas

64

Zamanlama Diyagram

deal Hal: Gecikmeler = 0

deal Olmayan Hal: Gecikmeler 0


65

You might also like