συγχρονων ακολουθιακων κυκλωματων HY 120 "ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ" Αναλυση και συνθεση συγχρονων ακολουθιακων κυκλωματων (Μερος Β')
Σχεδιαση με αχρησιμοποιητες καταστασεις Ειδαμε σε προηγουμενο παραδειγμα ότι με την ελαχιστοποιηση καταστασεων μειωσαμε τις καταστασεις ενός διαγραμματος από 7 σε 5. Ο αριθμος των απαιτουμενων flip-flops παρα- μενει ο ιδιος δηλαδη 3. Η υπαρξη όμως 3 αδια- φορων καταστασεων (23-5=3) βοηθα στην ελαχιστοποιηση του συνδυαστικου κυκλωματος a d c b 0/0 1/0 e 1/1 a d g c b f e 0/0 1/0 1/1 Κωδικοποιηση a =001 b =011 c =010 d =100 e =101
Παραδειγμα σχεδιασης με αχρησιμοποιητες καταστασεις Ο ελαχιστοποιημενος πινακας καταστασεων του κυκλωματος είναι: Παρουσα Επομενη κατ. Εξοδος κατασταση x=0 x=1 x=0 x=1 ABC ABC ABC a 0 0 1 0 0 1 0 1 0 0 0 b 0 1 0 0 1 1 1 0 0 0 0 c 0 1 1 0 0 1 1 0 0 0 0 d 1 0 0 1 0 1 1 0 0 0 1 e 1 0 1 0 0 1 1 0 0 0 1
Παραδειγμα σχεδιασης με αχρησιμοποιητες καταστασεις (2) Χρειαζονται 3 Flip-flops. Επιλεγεται ο τυπος SR. Με την βοηθεια του πινακα διεγερσης του RS FF, κατασκευαζουμε τον πινακα διεγερσης του κυκλωματος. ΑΒC x ABC SA/RA, SB/RB, SC/RC y Παρουσα κατ. Εισοδος Επομενη κατ. Εισοδοι Flip-flop Εξοδος 001 0 001 0 X 0 X 0 X 0 001 1 010 0 X 1 0 0 1 0 010 0 011 0 X X 0 1 0 0 010 1 011 1 0 0 1 0 X 0 011 0 001 0 X 0 1 X 0 0 011 1 100 1 0 0 1 0 1 0 100 0 101 X 0 0 X 1 0 0 100 1 100 X 0 0 X 0 X 1 101 0 001 0 1 0 X X 0 0 101 1 100 X 0 0 X 0 1 1
Παραδειγμα σχεδιασης με αχρησιμοποιητες καταστασεις (3) Υπαρχουν τρεις αχρησιμοπoιητες καταστασεις οι οποιες σε συνδυασμο με τις δυο τιμες της εισοδου δινουν 6 αδιαφορους ορους, δηλαδη τους ΑΒCx=0000,0001, 1100,1101, 1110,1111. Οι χαρτες Καρνω εχουν ως εξης: ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X 1 X 1 1 X 1 X X X 1 X SB=A'B'x SC=x' SA=Bx ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X X X X 1 X 1 1 1 X 1 1 X X X X 1 1 RA=Cx' RB=Bx+BC RC = x
Παραδειγμα σχεδιασης με αχρησιμοποιητες καταστασεις (4) To λογικο διαγραμμα είναι: y x Α Q Q' S > R Χαρτης Karnaugh για την εξοδο B Q Q' S > R ΑB 00 01 11 10 Cx 00 01 11 10 X X X X X X C Q Q' S > R 1 1 y=Ax CLK
Σχεδιαση με αχρησιμοποιητες καταστασεις Προβλημα: Η αποφυγη αχρησιμοποιητων ή μη εγκυρων καταστασεων. Το κυκλωμα μπορει να παγιδευτει και να παραμενει συνεχως στις αχρησιμοποιητες καταστασεις. Πρεπει να προβλεπεται διεξοδος, όπως: Μια εισοδος "γενικης επαναφορας στο μηδεν" (master reset) με την οποια όλα τα ff επαναφερονται στην κατασταση μηδενισμου (reset)- αν η 00…0 ανηκει στις εγκυρες καταστασεις ή σε καποιαν άλλη εγκυρη κατασταση. Μια καλη τακτικη είναι και η ερευνα για τις επομενες καταστασεις από τις αχρησιμοποιητες καταστασεις. Δηλαδη αφου σχεδιασουμε το κυκλωμα σχηματιζουμε τον πινακα καταστασεων ο οποιος θα περιεχει εκτος από τις εγκυρες και τις αχρησιμοποιητες καταστασεις και προσπαθουμε να ανιχνευσουμε το ενδεχομενο παγιδευσης.
Συμπληρωση του πινακα καταστασεων με τις αχρησιμοποιητες καταστασεις Βρήκαμε ότι SA=Bx, RA=Cx', SB=A'B'x, RB=Bx+BC, SC=x', RC=x. Συμπληρωνουμε τον πινακα καταστασεων με τις αχρησιμοποιητες καταστασεις 000,110 και 111 Παρουσα κατ. Εισοδος Εισοδοι Flip-flop Επομενη κατ. Εξοδος ΑΒC x SA/RA, SB/RB, SC/RC ΑBC y 000 0 0 0 0 0 1 0 001 0 000 1 0 0 1 0 0 1 010 0 110 0 0 0 0 0 1 0 111 0 110 1 1 0 0 1 0 1 100 1 111 0 0 1 0 1 1 0 001 0 111 1 1 0 0 1 0 1 100 1
Ελεγχος αυτοματης διορθωσης και εκκινησης Το πληρες διαγραμμα καταστασεων είναι το εξης: To κυκλωμα είναι αυτοματης διορθωσης (=δεν παγιδευεται) Επισης είναι αυτοματης εκκινησης 001 100 010 011 0/0 1/0 101 1/1 0/0 000 0/0 1/0 111 1/1 0/0 110 1/1
Σχεδιαση μετρητων Ο μετρητης είναι ένα ακολουθιακο κυκλωμα το οποιο διερχεται από μια προδιαγραμμένη ακολουθία καταστάσεων σε συγχρονισμο με τους παλμους του ρολογιου. Οι παλμοι αυτοι λεγονται και "παλμοι μετρησης". Ακολουθια καταστασεων: δυαδικη σειρα μετρησης, δεκαδικη σειρα μετρησης, κλπ. Δυαδικος μετρητης n bit: αν τοκυκλωμα εχει n FF και διερχεται διαδοχικα από τις καταστασεις 00…0 εως 11…1. Δεκαδικος μετρητης (BCD counter): αν εχει 4 FF και διερχεται από τις καταστασεις 0000 εως 1001 Χρηση μετρητων: μετρηση αριθμου συμβαντων δημιουργια ακολουθιων χρονισμου για ελεγχο ψηφιακων κυκλωματων
Σχεδιαση ενός 3 bit δυαδικου μετρητη. 000 001 010 011 111 110 101 100 Διαγραμμα καταστασεων: Ο μετρητης μετραει "προς τα πανω" (Up counter). H μεταβαση από κατασταση σε επομενη κατασταση γινεται με κάθε παλμο του ρολογιου. O πινακας καταστασεων και διεγερσης φαινεται πιο κατω Παρουσα κατ. Επομενη κατ Εισοδοι FF (T τυπου) ΑΒC ABC TA TB TC 000 001 0 0 1 001 010 0 1 1 010 011 0 0 1 011 100 1 1 1 100 101 0 0 1 101 110 0 1 1 110 111 0 0 1 111 000 1 1 1 up Χαρακτηριστικος πινακας Τ flip-flop T Q(t+1) 0 Q(t) 1 Q'(t) Από τον πινακα διεγερσης: ΤC = 1 TB = C TA = A'BC+ABC=(A'+A)BC= = BC
Λογικο διαγραμμα του δυαδικου μετρητη 8 καταστασεων (με T flip-flops) > A Q Q' A T > B Q Q' B 1 T > C Q Q' C CLK
Σχεδιαση μετρητη με 6 καταστασεις Η ακολουθια καταστασεων από τις οποιες διερχεται ο μετρητης φαινεται στο σχημα. Ο Πινακας καταστασεων και διεγερσης για υλοποιηση με JK flip-flops φαινεται πιο κατω: Παρουσα Επομενη Εισοδοι Flip-flop ABC ABC JAKA JBKB JCKC 000 001 0X 0X 1X 001 010 0X 1X X1 010 100 1X X1 0X 100 101 X0 0X 1X 101 110 X0 1X X1 110 000 X1 X1 0X 011 111 000 001 010 110 101 100 111 011 Q(t) Q(t+1) JK 0 0 0X 0 1 1X 1 0 X1 1 1 X0 A 1 BC 00 01 11 10 A 1 BC 00 01 11 10 0 0 X 1 X X X X X X X 1 0 0 X 1 JA=B KA=B 100 11 11 01 A 1 BC 00 01 11 10 A 1 BC 00 01 11 10 000 11 11 01 0 1 X X 1 X X 0 Αυτοματη διορθωση και Αυτοματη εκκινηση JB= C, KB =1 JC =B', KC=1
Λογικο διαγραμμα του μετρητη 6 καταστασεων (με JK flip-flops) > K A Q Q' J > K B Q Q' J > K C Q Q' 1 CLK
Σχεδιαση μετρητη με 6 καταστασεις (2) Mε D Flip-flops: Παρουσα Επομενη Εισοδοι FF ABC ABC DADBDC 000 001 0 0 1 001 010 0 1 0 010 100 1 0 0 100 101 1 0 1 101 110 1 1 0 110 000 0 0 0 011 111 A 1 BC 00 01 11 10 A 1 BC 00 01 11 10 0 0 X 1 1 1 X 0 0 1 X 0 DA=A'B+AB' DB=C A 1 BC 00 01 11 10 D > Α Q Q' 1 0 X 0 DC=B'C' 110 1 1 0 D > B Q Q' 0 1 0 CLK 010 Aυτοματη διορθωση και αυτοματη εκκινηση D > C Q Q'
Σχεδιαση μετρητη με 6 καταστασεις (3) A 1 BC 00 01 11 10 A 1 BC 00 01 11 10 Με SR flip-flop Παρουσα Επομενη Εισοδοι ff ABC ABC SARA SBRB SCRC 000 001 0X 0X 10 001 010 0X 10 01 010 100 10 01 0X 100 101 X0 0X 10 101 110 X0 10 01 110 000 01 01 0X 011 111 0 0 X 1 X X X 0 X X X 0 0 0 X 1 SA=A'B RA=AB A 1 BC 00 01 11 10 A 1 BC 00 01 11 10 0 1 X 0 X 0 X 1 RB=C' SB=C A 1 BC 00 01 11 10 A 1 BC 00 01 11 10 110 10 10 01 1 0 X 0 0 1 X 0 010 01 10 01 SC=B'C' RC=C Αυτοματη διορθωση και αυτοματη εκκινηση
Λογικο διαγραμμα του μετρητη 6 καταστασεων (με SR flip-flops) > R Q Q' A S > R Q Q' B S > R Q Q' C CLK
Παραδειγμα Σχεδιασης: Ανιχνευτης Ακολουθιας Παραδειγμα Σχεδιασης: Ανιχνευτης Ακολουθιας Να σχεδιασθει κυκλωμα που να ανιχνευει την ακολουθια 01 στη ακολουθια δυαδικων ψηφιων που εφαρμοζονται στην εισοδο x σε συγχρονισμο με τους παλμους του ρολογιου, δηλαδη αν x = 0 1 0 1 0 0 0 0 0 1 1 1 1 0 1 τοτε z = 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 BHMA 1o: Διαγραμμα καταστασεων Από αρχικη κατασταση Α με x=1 παραμενουμε στην Α με z= 0 Από την Α με x=0 παμε στην Β με z= 0. Από την Β με x= 0 παραμενουμε στην Β με z=0 ενώ με x=1 γυριζουμε στην Α με z=1 BHMA 2o: To διαγραμμα δεν ελαχιστοποιειται ΒΗΜΑ 3ο: Χρειαζεται 1 flip-flop 0/0 A B 0/0 1/1 1/0
Παραδειγμα Σχεδιασης: Ανιχνευτης Ακολουθιας (2) Παραδειγμα Σχεδιασης: Ανιχνευτης Ακολουθιας (2) BHMA 4o: Κωδικοποιηση Α=0 , Β=1 ΒΗΜΑ 5ο: Πινακας καταστασεων. Μεταβλητη παρουσας καταστασης y. Μεταβλητη επομενης καταστασης Υ Παρουσα Εισοδος Επομενη Εξοδος Εισοδος Τ ff Εισοδοι JK ff Εισοδοι RS ff y x Y z T JK SR 0 0 1 0 1 1X 10 0 1 0 0 0 0X 0X 1 0 1 0 0 X0 X0 1 1 0 1 1 0X 01 z = xy, {T=xy} , {J=x', K=x}, {S=x', R=x} z x J > K Q Q' y y x z T > Q
Παραδειγμα σχεδιασης: Ανιχνευτης της ακολουθιας 1111 Θελουμε να σχεδιασουμε ένα συγχρονο ακολουθιακο κυκλωμα που ανιχνευει στην εισοδο του την ακολουθια 1111 με επαναληψεις: Δηλαδη αν x = 1101111111010 τοτε z = 0000001111000 Ευρεση διαγραμματος καταστασεων: Κωδικοποιηση καταστασεων Χρειαζονται 2 flip-flops Α και Β a=[0 0], b=[0 1], c=[1 0], d=[1 1] 0/0 b 1/0 c 1/0 d 1/0 0/0 1/1 a 0/0 0/0 AB 00 01 11 10 x 0 1 00 01 00 10 00 11 Επομενη κατασταση AB 00 01 11 10 x 0 1 0 0 0 1 Εξοδος Παρουσα Επομενη Εξοδος x=0 x=1 x=0 x=1 AB AB AB z z 00 00 01 0 0 01 00 10 0 0 00 11 0 0 11 00 11 0 1
Παραδειγμα σχεδιασης: Ανιχνευτης της ακολουθιας 1111 (2) Παραδειγμα σχεδιασης: Ανιχνευτης της ακολουθιας 1111 (2) AB 00 01 11 10 x 0 1 AB 00 01 11 10 x 0 1 00 01 00 10 00 11 Επομενη κατασταση AB 00 01 11 10 x 0 1 0 0 0 1 1 0 TA = Ax'+A'Bx AB 00 01 11 10 x 0 1 0 1 1 1 1 0 TB = Bx'+A'x+B'x Σχεδιαση με Τ Flip-flops => 0 0 0 1 Εξοδος z=ABx Σχεδιαση με RS flip-flops => AB 00 01 11 10 x 0 1 0 0 0 1 0 X SΑ=Βx AB 00 01 11 10 x 0 1 X X X 0 1 0 RA = x' AB 00 01 11 10 x 0 1 0 1 0 0 0 X SB = B'x AB 00 01 11 10 x 0 1 X 0 1 1 1 0 RB =x'+A'B
Παραδειγμα σχεδιασης:Ανιχνευτης ακολουθιας δυο ακριβως "0" ακολουθουμενων από "10" Δηλαδη αν x = 001001000010010 τοτε z = 000100100000001 Διαγραμμα καταστασεων: 0/0 a b c d e x 0 1 b/0 a/0 c/0 a/0 e/0 d/0 b/1 a/0 e/0 a/0 Παρουσα Επομενη Εξοδος e 1/0 0/0 b 0/0 c 0/0 d 1/0 1/0 a 1/0 0/1 1/0
Ελαχιστοποιηση καταστασεων με τον πινακα συνεπαγωγης Ελαχιστοποιηση καταστασεων με τον πινακα συνεπαγωγης Πινακας καταστασεων προς ελαχιστοποιηση a b c d e x 0 1 c/1 b/0 c/1 e/0 b/1 e/0 d/0 b/1 e/0 a/1 a b d e x 0 1 b/1 b/0 b/1 e/0 d/0 b/1 e/0 a/1 Ελαχιστοποιημενος πινακας καταστασεων a b c d b c d e X cb,be X X X X ba X Πινακας συνεπαγωγων
Ελαχιστοποιηση καταστασεων με τον πινακα συνεπαγωγης (2) Ελαχιστοποιηση καταστασεων με τον πινακα συνεπαγωγης (2) Πινακας καταστασεων: x 0 1 (a,d)=>a (b,e)=>b (c,f) =>c g h x 0 1 b/0 a/0 a/1 c/0 c/0 a/1 h/1 g/1 c/1 b/1 Ελαχιστοποιημενος πινακας καταστασεων a b c d e f g h e/0 d/0 a/1 f/0 c/0 a/1 b/0 a/0 d/1 c/0 c/0 d/1 h/1 g/1 c/1 b/1 b c d e f g h a b c d e f g Πινακας συνεπαγωγων X X X eb X X X ad,fc X X X X ad X X Χ Χ Χ Χ Χ Χ Χ Χ Χ Χ Χ Χ hc,gb X
Κωδικοποιηση καταστασεων Παραδειγμα: Διδεται ο κατωθι πινακας καταστασεων Κωδικ. ΙΙ Ja=xc'+xb' abc Ka=x+c A=000 Jb=ac'+a'c Β=001 Kb=c+x'a+xa' C=010 Jc=b+x'a' D=011 Kc=1 E=100 z=xac+x'bc F=101 6 OR, 9 AND G=110 1 NOT =16 πυλες Κωδικ. Ι Ja=xb'+cx abc Ka=x+c' A=000 Jb=c Β=001 Kb=c' C=011 Jc=b' D=010 Kc=b E=101 z=c'ba'x'+c'ax F=110 3 OR, 4 AND G=111 1 NOT =8 πυλες 0 1 Α Β C D E F G B/0 E/0 C/0 G/0 D/0 F/0 A/1 A/0 G/0 C/0 A/0 A/1 F/0 D/0 a 1 bc 00 01 11 10 A B C D X E G F a 1 bc 00 01 11 10 A B D C E F X G 3 1 2 x=1 x=0 Aν τοτε οι 1 και 2 πρεπει να είναι γειτονικες 1 2 3 Αν τοτε οι 1 και 2 πρεπει να είναι γειτονικες
ΣΚΙΕΡ Σκιέρ
Καταχωρητες, Μετρητες, Μνημες (Registers, counters, RAMs) ΗY 120 "ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ" Καταχωρητες, Μετρητες, Μνημες (Registers, counters, RAMs)
Συγχρονα ακολουθιακα κυκλωματα σε μορφη ολοκληρωμενου κυκλωματος Συγχρονα ακολουθιακα MSI chips με ff, πολύ κοινα στην αγορα είναι οι Καταχωρητες (registers) Ομαδα ff και συνδυαστικο κυκλωμα για εκτελεση διαφορων λειτουργιων όπως μεταφορα, αποθηκευση και επεξεργασια πληροφοριων. Βασική μοναδα στην σχεδιαση ακολουθιακων κυκλωματων και CPUs Μετρητες (counters) Ομαδα ff με συνδυαστικο κυκλωμα που διατρεχει διαδοχικα μια προκαθορισμενη σειρα καταστασεων σε συγχρονισμο με τους παλμους του ρολογιου. Χρησιμοποιειται για την δημιουργια σηματων χρονισμου Οι μνημες τυχαιας προσπελασης (Random Access Μemories –RAMs) Συνολο στοιχειων μνημης (= flip-flops) μαζι με κυκλωματα εισαγωγης και εξαγωγης πληροφοριας από αυτά. Η RAM διαφερει από την ROM στο ότι μπορουμε ΚΑΙ να αποθηκευουμε πληροφοριες στην RAM
Καταχωρητες Ο απουστερος φαινεται στο σχημα: Αναλογα με το ειδος του flip-flop εχουμε Μανταλωτες Καταχωρητες Οι μανταλωτες (latches) αποτελουνται από flip-flops που αλλαζουν κατασταση όταν εχουμε παλμο του ρολογιου (CLK=1) ενώ όταν CLK=0 οι εξοδοι παραμενουν σταθερες. Καθ' ον χρονον CLK=1 οι εξοδοι ακολουθουν τις εισοδους Αk=Ik. Ετσι εχουμε μεταφορα και αποθηκευση της εισοδου όταν CLK=1 και διατηρηση της ιδιας καταστασης όταν CLK=0. Αν τα ff είναι ακμοπυροδοτητα ή τυπου Master-Slave τοτε για CLK=0 ή 1 οι εξοδοι είναι αμεταβλητοι και παιρνουν τις τιμες των εισοδων οταν CLK ή , αναλογα αν το ff ενεργοποιειται με την ανερχομενη ή την κατερχομενη ακμη του παλμου του ρολογιου. Το κυκλωμα ονομαζεται τοτε Καταχωρητης. Μπορει να αντικαταστησει έναν μανταλωτη αλλα με απωλεια ταχυτητας > Q D A4 I4 > Q D A3 I3 > Q D A2 I2 > Q D A1 I1 CLK
Καταχωρητες με παραλληλη φορτωση (Parallel Load) Φορτωση είναι η μεταφορα νεων πληροφοριων στον καταχωρητη Παραλληλη είναι η φορτωση όταν γινεται ταυτοχρονα για όλα τα ff με την ακμη του CLK. H εισοδος του CLK λεγεται και loading enable. Αν δεν θελουμε η φορτωση να γινεται με κάθε παλμο του ρολογιου Μπορουμε να παρεμβαλουμε στην γραμμη του CLK μια πυλη AND με μια εισοδο ελεγχου φορτωσης Η πρακτικη αυτή μπορει να δημιουρ- γησει προβληματα λογω εισαγωγης καθυστερησης στο CLK. 2. Μπορουμε να επεμβουμε στις εισοδους των ff και να παρεμβαλουμε ένα σημα ελεγχου φορτωσης όπως γινεται στα επομενα σχηματα CLC Cp
Καταχωρητες με ελεγχομενη παραλληλη φορτωση Q Q' S > R A1 Q Q' D > I1 A1 I1 Q Q' S > R A2 I2 Q Q' D > I2 A2 Q Q' S > R A3 I3 Q Q' D > I3 A3 Q Q' S > R A4 I4 Q Q' D > I4 A4 Load CLK Clear Load CLK Clear
Υλοποιηση ακολουθιακου κυκλωματος Ένα ακολουθιακο κυκλωμα αποτελειται από flip-flops και συνδυαστικο κυκλωμα δηλαδη μπορει να υλοποιηθει με έναν καταχωρητη (που παρεχει τα flip-flops) και ένα συνδυαστικο κυκλωμα n Καταχωρητης n Συνδυαστικο κυκλωμα CLK Εξοδος Load Εισοδος
Παραδειγμα υλοποιησης ακολουθιακου κυκλωματος Υλοποιηση με D –τυπου flip-flops Διδεται ο πινακας καταστασεων Παρουσα Εισοδος Επομενη Εξοδος Α1Α2 x Α1Α2 y 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 Εξισωσεις εισοδου των FF D1=A1(t+1)=A1x' D2=A2(t+1)=A2 x'+ A2'x= A2x y= A2x A1 A2 D1 D2 x y Q