ΛΟΓΙΚhΣΧΕΔΙΑΣhΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική...

267
ΛΟΓΙΚH ΣΧΕΔΙΑΣH ΙΙ Καλώς ήλθατε

Upload: others

Post on 26-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΛΟΓΙΚH ΣΧΕΔΙΑΣH ΙΙ

Καλώς ήλθατε

Page 2: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Τα τυπικά (1/3)

• Ωρολόγιο Πρόγραμμα

(2 ώρες παραδόσεις – 1 ώρα φροντιστήριο) x 13

Παρασκευή 09:00 –12:00, ΒΑ

Στην αρχή μόνο παραδόσεις

• Τελική εξέταση :

Γραπτώς, με ανοικτές σημειώσεις

Θα περιλαμβάνει Verilog για ακολουθιακά κυκλώματα

Page 3: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Τα τυπικά (2/3)

• Ιστοσελίδα του μαθήματος :

http://pc-vlsi18.ceid.upatras.gr/logic_design_ii.html

(Διαφάνειες, εκφωνήσεις, θέματα)

• Ερωτήσεις – Απορίες :

• Ε-mail :

[email protected]

[email protected]

• Ωρες γραφείου : κάθε πρωί 08.30 – 12.30

Page 4: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Τα τυπικά (3/3)

• Το μάθημα έχει 2 ενότητες : Θεωρητική &

Εργαστηριακή

• Για την εργαστηριακή ενότητα υπεύθυνος είναι ο κ. Αλεξίου

• Ο βαθμός σας στο μάθημα θα υπολογιστεί Τελικός βαθμός = 0,6 * Βαθμός θεωρητικής + 0,4 * Βαθμός εργαστηριακής

αν και μόνο αν

Βαθμός εργαστηριακής 5,0 και

Βαθμός θεωρητικής > 4,0

• Ο βαθμός θεωρητικής δεν κρατιέται για επόμενη εξέταση αν αποτύχετε στο εργαστήριο δεν υπάρχει λόγος προσέλευσης στην θεωρητική εξέταση.

Page 5: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Bιβλιογραφία & Υλη

• M. Morris Mano, Digital Design, 5th edition !!!Εξεταζόμενη ύλη : κεφάλαια 1-8 (όχι ΑSM), 9 (αν παραδοθεί)

• J. F. Wakerly, Digital Design : Principles and Practices, 3rd

edition Όλο το βιβλίο πλην του κεφαλαίου 3, ABEL & VHDL

• Recommended :J. F. Wakerly, Digital Design : Principles and Practices, 4th edition

Page 6: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Λογική Σχεδίαση Ι με μια ματιά

Συνδυαστικά κυκλώματα =>

Συνδυαστικά στοιχεία =>

Λογικές πράξεις πάνω σε δυαδικές μεταβλητές =>

Δίτιμη άλγεβρα Βοοle.

Page 7: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΛΣ ΙΙ : Γιατί ???

ΑΞΙΩΜΑΤΑ :

• Όσο πιο "έξυπνη" είναι μια συσκευή => κόστος => κέρδος

• Κάθε "έξυπνη" συσκευή έχει ένα ή πολλά "πολύπλοκα" κυκλώματα

Υπάρχει ολοένα & μεγαλύτερη ζήτηση σχεδιαστών "πολύπλοκων" κυκλωμάτων με ολοένα και μεγαλύτερους μισθούς

Πόσους απέλυσε η Xilinx μετά το κραχ των χρηματιστηρίων το 1999 ? Πόσους η Microsoft ?

Πόσος ο μέσος μισθός του C programmer ? Πόσος του test engineer ?

=> Είναι καλό να μάθετε να σχεδιάζετε αυτά τα "πολύπλοκα" κυκλώματα.

Page 8: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Nαι, αλλά στο ΛΣ Ι έμαθα να σχεδιάζω …

– ΜΑΘΑΤΕ ΜΟΝΟ ΤΗ ΘΕΩΡΙΑ ΓΙΑ ΝΑ ΣΧΕΔΙΑΖΕΤΕ ΜΙΚΡΑΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

– ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ :• Κανένα χρήσιμο κύκλωμα σήμερα δεν είναι μόνο

συνδυαστικό (ακολουθεί παράδειγμα)• Τα σημερινά κυκλώματα για να προσδώσουν "εξυπνάδα" στο

τελικό προϊόν είναι εξαιρετικά πολύπλοκα • Ευτυχώς που χρειάζονται πιο "έξυπνους" σχεδιαστές και πιο

"έξυπνους" τρόπους σχεδιασμού. Ίσως γι' αυτό και είναι το μόνο κομμάτι της

επιστήμης μας χωρίς εξωτερικό ανταγωνισμό

Page 9: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Στα συνδυαστικά κυκλώματα οι έξοδοι σε κάθε χρονική στιγμήεξαρτώνται αποκλειστικά και μόνο από τις εισόδους οι οποίεςεφαρμόζονται την συγκεκριμένη εκείνη στιγμή. Δεν εξαρτώνται ούτε απότην σειρά με την οποία αυτές οι είσοδοι εφαρμόσθηκαν, ούτε από τηνκατάσταση του κυκλώματος πριν αυτές εφαρμοσθούν.

ΠΡΟΒΛΗΜΑ: Να σχεδιασθεί ψηφιακό σύστημα το οποίο να επιτρέπει τηνεκκίνηση της μηχανής του αυτοκινήτου μόνον εφόσον ο οδηγός καθίσεικαι δέσει την ζώνη ασφαλείας του καθίσματός του.

ΛΥΣΗ ΑΔΑΟΥΣ ΣΧΕΔΙΑΣΤΗ : Μια πύλη ΑΝD από ένα sensor στη ζώνη καιέναν στο κάθισμα του αυτοκινήτου

Μη συνδυαστικό κύκλωμα ? Που χρειάζεται ?

Page 10: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΥΛΗ ΛΣ ΙΙ– Στοιχεία μνήμης / Ακολουθιακά κυκλώματα

• Latches• Flip-flops

– FSMs σε υλικό– Verilog για ακολουθιακά κυκλώματα– Συνήθη ακολουθιακά κυκλώματα : καταχωρητές, ολισθητές,

μετρητές– Μνήμες και προγραμματιζόμενα ολοκληρωμένα– Τεχνολογίες ψηφιακών ολοκληρωμένων κυκλωμάτων– Ασύγχρονα ακολουθιακά κυκλώματα

Page 11: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜΕΡΟΣ Ι

ΑΚΟΛΟΥΘΙΑΚΑ ΣΤΟΙΧΕΙΑ

Page 12: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Συνδυαστικά vs Ακολουθιακά– Συνδυαστικά : οι έξοδοι εξαρτώνται σε κάθε χρονική στιγμή αποκλειστικά και

μόνο από τις εισόδους που εφαρμόζονται. Δεν εξαρτώνται ούτε από τη σειράεφαρμογής, ούτε από τη κατάσταση του κυκλώματος πριν εφαρμοστούν.

– Ακολουθιακά : οι έξοδοι κάθε χρονική στιγμή εξαρτώνται όχι μόνο από τις τιμέςτων εισόδων εκείνη τη στιγμή αλλά και από τις τιμές των εισόδων όλες τιςπροηγούμενες χρονικές στιγμές. Οι τελευταίες έχουν επιβάλλει μια κατάστασηστο κύκλωμα.

– Η κατάσταση αποθηκεύεται σε στοιχεία με ικανότητα μνήμης. Τα στοιχεία αυτάονομάζονται ακολουθιακά στοιχεία. Ένα κύκλωμα που περιέχει ακολουθιακάστοιχεία είναι ένα ακολουθιακό κύκλωμα.

– Υπάρχουν 2 μεγάλες κατηγορίες ακολουθιακών κυκλωμάτων : σύγχρονα καιασύγχρονα κυκλώματα. Στα σύγχρονα οι αλλαγές της κατάστασης γίνονται σεδιακριτές στιγμές χρόνου.

Page 13: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σύγχρονα vs Ασύγχρονα

Σύγχρονα• Οι τιμές σε συγκεκριμένες

(διακριτές) τιμές χρόνου τοπεριγράφουν πλήρως

• Συγχρονισμός επιτυγχάνεταιμέσω ενός σήματοςχρονισμού, γνωστό ως ρολόιπου έχει μια περιοδικήπαλμοσειρά.

• Δε παρουσιάζουν αστάθεια.

Ασύγχρονα• Οι τιμές εξαρτώνται από τη

σειρά εναλλαγής των σημάτωνεισόδου. Νέα τιμή μπορεί ναπροκύψει ανά πάσα χρονικήστιγμή.

• Ένα συνδυαστικό κύκλωμα μεανατροφοδότηση (feedback)είναι ένα ασύγχρονοακολουθιακό κύκλωμα.

• Αστάθεια.

Θα μελετήσουμε αρχικά τα σύγχρονα κυκλώματα, μιαςκαι τα ασύγχρονα τείνουν να εξαλειφθούν εντελώς από εμπορικούς σχεδιασμούς.

Page 14: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Γενικό μοντέλο ενός πλήρους κυκλώματος

Στοιχεία Μνήμης(Ακολουθιακά)

Συνδυαστικά Κυκλώματα

ΕίσοδοιΕξοδοι

Page 15: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ακολουθιακά στοιχεία / στοιχεία μνήμης - γενικά

– Εστω το σήμα χρονισμού :

– Υπάρχουν δύο (2) κατηγορίες :• Αυτά που είναι ενεργά βάσει μιας στάθμης δυναμικού :

• Το στοιχείο αυτό μπορεί να αλλάζει κατάσταση διαρκώς όσο το σήμα χρονισμού βρίσκεται στην ενεργή στάθμη.

• Τα στοιχεία αυτής της κατηγορίας ονομάζονται μανταλωτές (latches)

Page 16: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ακολουθιακά στοιχεία / στοιχεία μνήμης – γενικά - 2

• Αυτά που είναι ενεργά μόνο κατά την μία ακμή αλλαγής δυναμικού

• Τα στοιχεία αυτής της κατηγορίας ονομάζονται flip-flops

Θετική ακμοπυροδότηση

Αρνητική ακμοπυροδότηση

Page 17: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Το πρώτο κύκλωμα με μνήμη !

Vcc

Gnd

s Y Q Gnd0 1 0

Vcc

1 0 1 Gnd0 0 1

– Το κύκλωμά μας απέκτησε μνήμη !– "Θυμάται" ότι κάποτε η είσοδος πήγε στο 1.– Το κύκλωμα δεν επανέρχεται !!!

Page 18: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S-R latch χωρίς χρονισμό

s sr

Q' Q

R

S

Q

Q'

– Eστω ότι κάποια χρονική στιγμή έχουμε κατορθώσει να θέσουμε Q=a και Q'=~a.

– Το κύκλωμα θα θυμάται αυτή τη κατάσταση επ’ άπειρον αν S=R=0.

Page 19: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S-R latch χωρίς χρονισμό -2R

S

Q

Q'

– Oρίζουμε τις καταστάσεις Q=1 και Q'=0 (κατάσταση θέσης) και Q=0και Q'=1 (κατάσταση μηδενισμού)ως τις δύο χρήσιμες καταστάσεις του κυκλώματός μας.

R=0

S=1

Q=1

Q'=0

R=0

S=0

Q=1

Q'=0

– Mε S=1 και R=0 θέτουμε το στοιχείο. Επαναφορά σε S=R=0 διατηρεί τη κατάσταση θέσης !

Page 20: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S-R latch χωρίς χρονισμό -3R=1

S=0

Q=0

Q'=1

R=0

S=0

Q=0

Q'=1

– Mε S=0 και R=1 καθαρίζουμε (μηδενίζουμε / επαναφέρουμε) το latch. Επαναφορά σε S=R=0 διατηρεί τη κατάσταση καθαρισμού !

– Άρα έχουμε καταφέρει να φτιάξουμε ένα στοιχείο που μπορεί να αποθηκεύει (θυμάται) δύο διαφορετικές καταστάσεις => ένα βασικό στοιχείο δυαδικής μνήμης.

Page 21: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S-R latch χωρίς χρονισμό -4R=1

S=1

Q=0

Q'=0

R=0

S=0

Q=X

Q'=X

– Mε S=1 και R=1, παίρνουμε Q=Q'=0. Λόγω της μη συμπληρωματικότητας των εξόδων αυτή η κατάσταση είναι "περίεργη".

– Επιστρoφή στο S=R=0 θα οδηγήσει το κύκλωμά μας σε μία από τις χρήσιμες καταστάσεις !!!

– Σε ποια από τις δύο εξαρτάται από τη χρονική σειρά απενεργοποίησης των S, R.

– Η παράληλη ενεργοποίηση των S, R, πρέπει να αποφεύγεται.

Page 22: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S-R latch χωρίς χρονισμό με πύλες ΝΑΝD~R

~S

Q'

Q

H αρχή λειτουργίας είναι ακριβώς αντίστοιχη με αυτή του S-R latch που φτιάχνεται με πύλες NOR.

– Το κύκλωμα θυμάται τη προηγούμενη κατάστασή του όταν ~S=~R=1.

– Θέση με ~S=0 και ~R=1. Καθαρισμός με ~S=1 και ~R=0.– H είσοδος ~S=~R=0 πρέπει να αποφεύγεται.

Page 23: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S

QR

Q'

SQ

R

Q'

S R Q Q’0 0 Q Q’ ηρεμία (μνήμη)

0 1 0 1 Reset (Q=0)1 0 1 0 Set (Q=1)1 1 0 0 απροσδιοριστία

~S ~R Q Q’

0 0 1 1 απροσδιοριστία

0 1 1 0 Set (Q=1)

1 0 0 1 Reset (Q=0)

1 1 Q Q’ ηρεμία (μνήμη)

~

~

Πρέπει να θυμάστε (1)

Page 24: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

S-R latch με είσοδο επίτρεψης

Q'

Q

S

R

C(clk)

~S

~R

Δύο επιπλέον NAND και την είσοδο ελέγχου C.Η είσοδος ελέγχου καθορίζει πότε οι τιμές των S και R θα περάσουν στο χωρίς χρονισμό latch

C S R Q (next state)

0 X X Q (t-1)

1 0 0 Q (t-1)

1 0 1 0 (μηδενισμός)

1 1 0 1 (θέση)

1 1 1 Απροσδιοριστία

Page 25: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D latch : το πρώτο μας ακολουθιακό στοιχείο

Q'

Q

D

C(clk)

C D Q (next state)

0 X Q (t-1)

1 0 0 (μηδενισμός)

1 1 1 (θέση)

Εξαλείφουμε τη κατάσταση απροσδιοριστίας με το να μην επιτρέπουμε S, R να πάρουν ταυτόχρονα τη τιμή 1.Μπορούμε εναλλακτικά να πούμε ότι η τιμή στην είσοδο D, δειγματοληπτείται διαρκώς όσο το C είναι στο 1.

Page 26: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D latch -2

– Πολλές φορές το D latch αναφέρεται και ως διαφανές (transparent).

– Nα θυμάστε : To D latch αντιγράφει την είσοδο στην έξοδό του όταν το C είναι σε κατάσταση επίτρεψης ΔΙΑΡΚΩΣ

Page 27: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Q'

Q0

0

1

1

1

Μεταστάθεια : το πρόβλημα

Q'

Q

0->1

0->1

1

1->0

1->0

Πρόβλημα : αυτή η μετάβαση καθυστερεί περισσότερο από τις άλλες

Q'

Q

1

1

0

0

1

Κατάσταση απροσδιοριστίας !!!

Page 28: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μεταστάθεια : η λύση – Απαιτείται συγχρονισμός στις αλλαγές των γραμμών D και C.– Oρίζουμε δύο χρονικά διαστήματα που θα πρέπει να τηρούνται

ευλαβικά από κάθε σχεδιαστή ώστε να μην εμφανιστεί ποτέ το πρόβλημα της μεταστάθειας.

– Setup time (χρονικό διάστημα προετοιμασίας). Χρόνος που το D πρέπει να έχει σταθερή τιμή πρίν την αλλαγή του C στην κατάσταση επίτρεψης.

– Hold time (χρονικό διάστημα αποκατάστασης). Χρόνος που το D πρέπει να διατηρήσει την ίδια τιμή μετά την αλλαγή του C στην κατάσταση επίτρεψης.

Page 29: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Flip-flops– Aντίθετα με τα latches που ενεργοποιούνται με τη στάθμη

δυναμικού της εισόδου επίτρεψης (level-triggered) τα flip-flops είναι ακμοπυροδότητα (edge triggered) !

– Δειγματοληπτούν την είσοδό τους δηλαδή σε κάποια από τις δύο ακμές του ρολογιού.

– Αν χρησιμοποιούν τη θετική ακμή, ονομάζονται θετικής πυροδότησης

– Αν χρησιμοποιούν την αρνητική ακμή ονομάζονται αρνητικής ακμοπυροδότησης.

Page 30: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D

clk

Q flip-flop

Q latch

Latches vs Flip-flops

Page 31: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Γιατί χρειάζονται τα flip-flops ?

Στοιχεία Μνήμης(Ακολουθιακά)

ΣυνδυαστικάΚυκλώματα

ΕίσοδοιΕξοδοι

O χρονισμός αυτού του μονοπατιού θα ήταν προβληματικός χωρίς flip-flops

– ΣΥΜΠΕΡΑΣΜΑ : η έξοδος ενός latch δε θα πρέπει ποτέ αυτούσια ή μέσω ενός συνδυαστικού κυκλώματος να συνδέεται σαν είσοδος στο ίδιο ή άλλα latches που έχουν το ίδιο ρολόι.

Page 32: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πως φτιάχνεται ένα θετικά ακμοπυροδότητο D flip-flop ?

QD

C D

C

Q

Q'Q'

D

C

Q D

C

QD

CLK

Q' Q'MASTER SLAVE

Δύο D latches(master and slave)

Mε συμπληρωματικά ρολόγια

Page 33: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D

C

Q D

C

QD

CLK

Q' Q'MASTER SLAVE

Λειτουργία ενός D flip-flop

– CLK = LOW => Master ενεργό, Slave ανενεργό. Η είσοδος αντιγράφεται στην έξοδο του Master. Η έξοδος του Slave διατηρεί τη προηγούμενη κατάσταση

– CLK = ΗIGH => Master ανενεργό και συνεπώς διατηρεί τη προηγούμενη κατάσταση. Το Slave ενεργό και αντιγράφει την έξοδο του Μaster στην έξοδο του κυκλώματος.

– Αφού η έξοδος του Master δεν αλλάζει όσο το ρολόι είναι στο 1, και η έξοδος του Slave δεν αλλάζει όσο το ρολόι είναι στο 0 ότι δειγματοληπτήθηκε στην ανοδική ακμή του CLK θα είναι η έξοδος του κυκλώματος μέχρι την επόμενη ανοδική ακμή.

Page 34: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πίνακας αληθείας και παράδειγμα λειτουργίας

D CLK Q Q'

0 0 11 1 0X 0 Q(t-1) Q'(t-1)X 1 Q(t-1) Q'(t-1)

D

C

Q D

C

QD

CLK

Q' Q'MASTER SLAVE

QM

Page 35: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Συμβολισμοί και χρόνοι ενδιαφέροντος

D

CLK

Q

Q'

Θετικά ακμοπυροδοτούμενο

D flip-flop

D

CLK

Q

Q'

Αρνητικά ακμοπυροδοτούμενο

D flip-flop

Page 36: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Αρνητικά ακμοπυροδότητο D flip-flop

D

C

Q D

C

QD

CLK

Q' Q'MASTER SLAVE

QM

D CLK Q Q'

0 0 11 1 0X 0 Q(t-1) Q'(t-1)X 1 Q(t-1) Q'(t-1)

Page 37: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πιο οικονομική υλοποίηση ενός D-FF

6 πύλες έναντι 8 της προηγούμενης περίπτωσης

– 2 μανταλωτές εξαρτώνται από τις τιμές των CLK και D, ενώ το τελευταίο παράγει τις εξόδους.

– Όταν CLK = 0, S = R = 1 και η έξοδος παραμένει στη προηγούμενη τιμή της.

Page 38: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πιο οικονομική υλοποίηση ενός D-FF - 2

1

10

0 1

0

11

11

01

0

1

1

01

Page 39: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πιο οικονομική υλοποίηση ενός D-FF - 2

1

10

1 0

1

10

11

01

0

11

1

0

0

0 1

1

1

0

1

Page 40: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Αμεσες είσοδοι σε ένα FF

• Μερικές φορές θέλουμε να θέσουμε ή να καθαρίσουμε ένα FFχωρίς να χρειάζεται να οδηγήσουμε τόσο την είσοδο D όσο και τηνείσοδο CLK

• Το πλέον προφανές παράδειγμα είναι η αρχικοποίηση τωνακολουθιακών στοιχείων του κυκλώματός μας σε κάποια αρχικήκατάσταση.

• Αυτό επιτυγχάνεται με τη προσθήκη άμεσων εισόδων :– Άμεση είσοδος θέσης (Preset / Direct Set). H ενεργοποίησή της

οδηγεί το Q στο 1 (Q' στο 0).– Άμεση είσοδος μηδενισμού / καθαρισμού (Reset / Clear). Η

ενεργοποίησή της οδηγεί το Q στο 0 (Q' στο 1).• Οι άμεσες είσοδοι μπορούν να δρουν

– Ασύγχρονα– Σύγχρονα

Page 41: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1η περίπτωση : Ασύγχρονες άμεσες είσοδοι

• Ονομάζονται ασύγχρονες, γιατί η ενεργοποίησή τους έχει άμεσο αποτέλεσμα στην έξοδο του FF, ανεξάρτητο δηλαδή από το χρονισμό του.

Page 42: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D-FF με ασύγχρονο Reset (αρνητικής λογικής)

• Όταν Reset = 0, Q'=1. Eπίσης S=1 και συνεπώς Q=0.• Όταν Reset = 1, το κύκλωμα είναι ισοδύναμο με το θετικά

ακμοπυροδότητο D FF που εξετάσαμε προηγούμενα.

Page 43: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D-FF με ασύγχρονο Clear και Preset αρνητικής λογικής

• Όταν ~Clear=0 και ~Preset=1 => ~Q=1, S=1και συνεπώς Q=0.

• Όταν ~Preset=0 και ~Clear=1, => Q=1, R=1 και συνεπώς και ~Q=0.

• Όταν ~Clear = ~Preset =0, τότε Q=~Q=1. Aσταθής κατάσταση.• Όταν ~Clear = ~Preset =1, τότε αναγόμαστε στο προηγούμενο

κύκλωμα του θετικά ακμοπυροδότητου D FF.

Page 44: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D-FF με ασύγχρονο Reset και Preset

SN 74 (ALS) 74Dual Positive Edge D Flip – Flops with Asynchronous Preset and Clear

Page 45: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

2η περίπτωση : Σύγχρονες άμεσες είσοδοι

• Ονομάζονται σύγχρονες, γιατί ανεξάρτητα του πότε γίνει ενεργοποίησή τους, η επίδρασή τους στην έξοδο του FF, γίνεται με το επόμενο σήμα χρονισμού. Σε θετικά ακμοπυροδότητο FF αυτό σημαίνει με την επόμενη ανερχόμενη ακμή του ρολογιού.

Page 46: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

D Flip Flop με σύγχρονο Reset ή σύγχρονο Preset

Προκύπτουν από το βασικό κύκλωμα ενός D Flip Flop με έλεγχο της D εισόδου του.

~Clear

D

Αρνητικής λογικής σήμα καθαρισμού

Θετικής λογικής σήμα θέσης

Preset

D

Preset

D

~Clear

Και τα δύο μαζί με προτεραιότητα στο ~Clear

Page 47: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πρέπει να θυμάστε (2)

Q

QSET

CLR

D

Q

QSET

CLR

D

Page 48: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Aλλα είδη flip - flop

• Το D flip flop είναι το πιο οικονομικό από άποψης απαιτούμενων πυλών.

• Ωστόσο δεν είναι το μόνο που μπορούμε να φτιάξουμε. Τα πιο διαδεδομένα άλλα είδη flip flop είναι :– Το Μaster / Slave S-R Flip – Flop– To Master / Slave J-K Flip – Flop– To ακμοπυροδότητο J-K Flip – Flop – To T Flip – Flop– To Scan Flip – Flop

• Σε καθένα από αυτά, μπορούμε να προσθέτουμε άμεσες εισόδους είτε σύγχρονες είτε ασύγχρονες.

• Η συλλογή όλων αυτών των ακολουθιακών στοιχείων αποτελεί μια βιβλιοθήκη στοιχείων με την οποία φτιάχνουμε τα ακολουθιακά κυκλώματά μας.

Page 49: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μaster / Slave S-R Flip Flop

• Oπως φτιάξαμε ένα Master / Slave D FF με τη χρήση δύο D latches, μπορούμε με τη χρήση δύο S-R latches με είσοδο επίτρεψης να φτιάξουμε ένα Master / Slave S-R FF.

C S R Q (next state)

0 X X Q (t-1)1 0 0 Q (t-1)1 0 1 0 (μηδενισμός)

1 1 0 1 (θέση)1 1 1 Απροσδιοριστία

Page 50: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μaster / Slave S-R Flip Flop - 2

S

RC

Q

Q

S

RC

Q

Q

S

R

C

Q

Q'

• Oταν το ρολόι είναι στο 1, το Slave δεν αλλάζει κατάσταση.• Όταν το ρολόι μεταβαίνει στο 0 αλλάζει η έξοδος του Slave αλλά το

Master είναι ανενεργό και συνεπώς δίνει συνεχώς την ίδια είσοδο στο Slave.

• Αρα αλλαγή της εξόδου μόνο στην του C.C S R Q (next state)

0 X X Q (t-1)1 0 0 Q (t-1)1 0 1 0 (μηδενισμός)

1 1 0 1 (θέση)1 1 1 Απροσδιοριστία

Page 51: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

• Προτάθηκε για να λύσει το πρόβλημα της απροσδιοριστίας.• Φτιάχνεται κι αυτό με 2 S-R latches με είσοδο επίτρεψης και επιπλέον

λογική που αποτρέπει την είσοδο S=R=1 στο Μaster latch.

Μaster / Slave J-K Flip Flop

S

RC

Q

Q

S

RC

Q

Q

C

Q

Q'K

J

• Όταν η J πάρει τη τιμή 1, η S γίνεται 1, μόνο αν το Q' είναι 1, δηλαδή αν το Q είναι 0 !

• Όταν η Κ πάρει τη τιμή 1, η R γίνεται 1, μόνο αν το Q είναι 1, δηλαδή αν το Q' είναι 0 !

Page 52: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μaster / Slave J-K Flip Flop - 2

S

RC

Q

Q

S

RC

Q

Q

C

1

0K

J S

RC

Q

Q

S

RC

Q

Q

C

1

01

1

S

RC

Q

Q

S

RC

Q

Q

C

1

01

1 0

1

S

RC

Q

Q

S

RC

Q

Q

C

0

11

1 0

1

• Η εφαρμογή της εισόδου J = K = 1 είχε ως αποτέλεσμα την αντιστροφή της προηγούμενης κατάστασης.

• Ακριβώς το ίδιο θα συνέβαινε αν η αρχική μας κατάσταση ήταν η Q=0 και ~Q=1.

Page 53: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μaster / Slave J-K Flip Flop – 3C J K Q (next state)

0 X X Q (t-1)1 0 0 Q (t-1)1 0 1 0 (μηδενισμός)

1 1 0 1 (θέση)1 1 1 ~Q(t-1)

Page 54: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ακμοπυροδοτούμενο J-K Flip Flop

• Φτιάχνεται από το ακμοπυροδοτούμενο D FF με επιπλέον λογική

Q

CLK

D

Q

JK

C

Q

~Q

Page 55: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ακμοπυροδοτούμενο J-K Flip Flop - 2

SN 74 (ALS) 109Dual Positive Edge J-~K Flip – Flops with Asynchronous Preset and Clear

Page 56: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

T(oggle) Flip Flop– Στη πιο βασική του εκδοχή τo Τ FF αλλάζει κατάσταση σε κάθε

πυροδότηση

– ΠΑΡΑΤΗΡΗΣΗ : Η έξοδος ενός Τ FF έχει τη μισή συχνότητα της εισόδου του !!!

J

Q

Q

K

SET

CLR

CLK

1

Q

QSET

CLR

D

CLK

– Ένα Τ FF κατασκευάζεται από ένα D ή ένα J-K FF.

Q

QSET

CLR

D

CLKCLK

Page 57: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

T(oggle) Flip Flop με είσοδο επίτρεψης

– Στις πιο πολλές εφαρμογές δε χρειαζόμαστε εναλλαγή σε κάθε πυροδότηση => μια είσοδος επίτρεψης (enable – στο εξής Τ) είναι ωφέλιμη.

CLK

T

Q

QSET

CLR

DT

CLK

– Ένα Τ FF κατασκευάζεται και πάλι είτε από ένα D ή ένα J-K FF.

D

CLK

Q

QT

ENJCLKTK

EN Q

~QCLK

CLKT

T

Page 58: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Scan Flip Flop (σάρωσης)– Στα σημερινά ολοκληρωμένα κυκλώματα υπάρχουν χιλιάδες

έως εκατοντάδες χιλιάδες FF.

– Όταν θέλουμε να δοκιμάσουμε αν ένα τέτοιο κύκλωμα δουλεύει σωστά θα πρέπει να μπορούμε να βάζουμε τα FFςτου σε συγκεκριμένες καταστάσεις αλλά και να διαβάζουμε τις εξόδους τους.

– Αυτό δε μπορεί να γίνει (ή είναι εξαιρετικά χρονοβόρο) χρησιμοποιώντας τις εισόδους / εξόδους λειτουργίας του FF.

– Σκοπός του scan FF είναι να παρέχει εναλλακτική είσοδο / έξοδο δεδομένων που τη χρησιμοποιούμε κατά τη διάρκεια των δοκιμών μόνο.

Page 59: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Scan D FF

D

CLK

Q

QCLKTI

TED

– Ισοδύναμο με ένα DFF και ένα πολυπλέκτη στην είσοδο με σήμα επιλογής το ~ΤΕ (Τest Enable).

– Για κανονική λειτουργία ΤΕ = 0 και παίρνουμε ένα D FF.– Όταν ΤΕ = 1, η είσοδος D, οδηγείται από το ΤΙ (Test Input). – Oι επιπλέον είσοδοι χρησιμοποιούνται για τη σύνδεση όλων των

FF του κυκλώματος σε μια αλυσίδα σάρωσης (scan chain).

Page 60: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Scan Chain

D

CLK

Q

QCLKTI

TED D

CLK

Q

Q

TE

TI

D

CLK

Q

Q

TE

TI

D

CLK

Q

Q

TE

TI

D

CLK

Q

Q

TE

TI

D

CLK

Q

Q

TE

TI

TO

TECLK

TI

– Oλες οι είσοδοι ΤΕ συνδέονται μαζί.– Η έξοδος κάθε FF συνδέεται και στην είσοδο ΤΙ του επόμενου– Όταν ΤΕ = 1, μπαίνουμε σε κατάσταση δοκιμής, όπου η επιθυμητή

τιμή των στοιχείων εισάγεται σειριακά. Κατόπιν με ΤΕ=0 γυρίζουμε στην κανονική λειτουργία. Τέλος με ΤΕ=1 και πάλι και παλμούς ρολογιού από την έξοδο ΤΟ διαβάζουμε τη νέα κατάσταση των στοιχείων.

Page 61: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

– Level vs edge triggered στοιχεία.– Άμεσες είσοδοι για Reset και Preset.– Πρέπει να τηρούνται χρόνοι Setup και Hold.– To D FF είναι το πιο οικονομικό και γι’ αυτό χρησιμοποιείται κατά κόρο.– Άλλα χρησιμοποιούμενα FFs είναι τα J-K και Τ.– Για εύκολη δοκιμή των κυκλωμάτων μας καλό είναι τα FFs να είναι Scan.

Πρέπει να θυμάστε (3)

D Q(t)

0 0

1 1

T Q(t)

0 Q(t-1)

1 ~Q(t-1)

J K Q(t)

0 0 Q(t-1)

0 1 0

1 0 1

1 1 ~Q(t-1)

S R Q(t)

0 0 Q(t-1)

0 1 0

1 0 1

1 1 ?

Page 62: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πίνακες Διέγερσης• Μπορεί να θεωρηθεί ως ο συμπληρωματικός του χαρακτηριστικού πίνακα

λειτουργίας ενός flip flop.

• O χαρακτηριστικός πίνακας μας δείχνει για κάθε πιθανή τρέχουσα κατάσταση και τιμή εισόδου την επόμενη κατάσταση του flip flop.

• O πίνακας διέγερσης, μας δίνει τις απαιτούμενες τιμές εισόδου του flip flop ώστε να μεταβούμε από μια τρέχουσα κατάσταση, σε μια επιθυμητή επόμενη κατάσταση.

Page 63: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μηχανές πεπερασμένων καταστάσεων– ∃ πολλών ειδών. Εμάς μας ενδιαφέρουν όσες περιέχουν στοιχεία

μνήμης που αλλάζουν όλα μαζί με το ίδιο σήμα χρονισμού.– Η μηχανή αλλάζει κατάσταση με την ενεργοποίηση του

ρολογιού.– Γενική δομή μιας μηχανής πεπερασμένων καταστάσεων (κατά

Mealy) :

ΜνήμηΚατάστασης

(ακολουθιακάκυκλώματα)

Ρολόι

Λογικήεπόμενης

κατάστασηςF

Λογικήεξόδου

G

ΤρέχουσαΚατάσταση

Είσοδοι

Εξοδοι

Σήμαρολογιού

Page 64: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μηχανές πεπερασμένων καταστάσεων-2

– Aν οι καταστάσεις που μπορεί να βρεθεί η μηχανή μου είναι κ, τότε στη μνήμη κατάστασης έχω λ ακολουθιακά στοιχεία έτσι ώστε 2λ ≥ κ

– Η επόμενη κατάσταση παράγεται από τη λογική επόμενης κατάστασης F και είναι συνάρτηση εισόδων και τρέχουσας.

– Η λογική εξόδου G καθορίζει την έξοδο σα συνάρτηση εισόδων και τρέχουσας κατάστασης.

– F και G είναι συνδυαστικά και μόνο λογικά κυκλώματα.Επόμενη κατάσταση = F (τρέχουσα κατάσταση, είσοδος)

Εξοδος = G (τρέχουσα κατάσταση, είσοδος)

ΜνήμηΚατάστασης

(ακολουθιακάκυκλώματα)

Ρολόι

Λογικήεπόμενης

κατάστασηςF

Λογικήεξόδου

G

ΤρέχουσαΚατάσταση

Είσοδοι

Εξοδοι

Σήμαρολογιού

Page 65: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Mealy vs Moore machinesΜνήμη

Κατάστασης

(ακολουθιακάκυκλώματα)

Ρολόι

Λογικήεπόμενης

κατάστασηςF

Λογικήεξόδου

G

ΤρέχουσαΚατάσταση

Είσοδοι

Εξοδοι

Σήμαρολογιού

– Mealy :Εξοδος = G (τρέχουσα κατάσταση, είσοδος)

– Moore :Εξοδος = G (τρέχουσα κατάσταση)

– Στη πράξη όλες οι μηχανές είναι ένα μίγμα αυτών των δύο θεωρήσεων.

– Στα πολύ υψηλής ταχύτητας κυκλώματα απαιτούμε έξοδο σταθερή για μια πλήρη περίοδο ρολογιού. Εκεί προτιμάμε Moore με μηδενική λογική G.

Page 66: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Eναλλακτική πρόταση : διοχέτευση

Οι έξοδοι κατά τη διάρκεια μιας περιόδου ρολογιού εξαρτώνται από τη κατάσταση και τις εισόδους κατά τη διάρκεια της

προηγούμενης περιόδου ρολογιού.

ΜνήμηΚατάστασης

(ακολουθιακάκυκλώματα)

Ρολόι

Λογικήεπόμενης

κατάστασηςF

Λογικήεξόδου

G

ΤρέχουσαΚατάσταση

Είσοδοι

Σήμαρολογιού

ΜνήμηΔιοχέτευσης

Ρολόι

Εξοδοι

Page 67: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διαγράμματα μετάβασης καταστάσεων

(State Transition Diagrams – STDs)

Page 68: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα STD για το πρόβλημα αναγνώρισης του string 1011

Mealy

Moore

Page 69: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ασκηση 1

– Δώστε το κατά Moore STD μιας μηχανής πεπερασμένων καταστάσεων, η οποία να υποδεικνύει τo ψηφίο άρτιας ισοτιμίας της σειριακής εισόδου της.

Page 70: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ασκηση 2

– Αναπτύξτε το κατά Mealy STD μιας μηχανής πεπερασμένων καταστάσεων με μια είσοδο Χ και μια έξοδο Υ η οποία λειτουργεί ως εξής : όταν η είσοδος Χ πάει στο 1, η έξοδος Υ γίνεται 1 για 2 ωρολογιακούς κύκλους και μετά επανέρχεται στο 0 ακόμη κι αν η είσοδος Χ παραμένει στο 1.

Page 71: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ασκηση 3

– Δώστε STDs κατά Moore για μια μηχανή η οποία θα αναγνωρίζει στη σειριακή είσοδό της το pattern 010 μόνο και μόνο αν δεν έχει ποτέ εμφανιστεί προηγούμενα το pattern 100. Θεωρείστε ότι επικαλυπτόμενες εμφανίσεις αναγνωρίζονται 2 φορές.

Page 72: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ασκηση 4

– Πρόβλημα : Σχεδιάστε ένα STD κατά Mealy με 2 εισόδους Α, Β και 1 έξοδο Z. H Z παίρνει την τιμή 1 :• Αν στην είσοδο Α έχουμε την ίδια τιμή σε δύο

διαδοχικούς κύκλους ή • Οσο στην είσοδο Β έχουμε 1 αφότου ήταν

αληθής η πρώτη συνθήκη– Σε κάθε άλλη περίπτωση η έξοδος είναι 0.

Page 73: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Mealy

ΑΡΧΗ

Α0

Α1

ΟΚ00

ΟΚ11

ΟΚΑ1

ΟΚΑ0

0X/1

0X/0

11/1

1X/0

1X/101/1

01/1 11/1

1X/1

0X/1

1X/0 10/0

0X/1

1X/1

10/0

00/0

0X/0

00/0

Page 74: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Xαρακτηρισμός ενός STD

Page 75: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πίνακας Μετάβασης Καταστάσεων/ Εξόδου (State Transition Table – STT)

Page 76: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Τι θα προσπαθήσουμε– Εξετάζουμε μια συγκεκριμένη κατηγορία δομών : αυτή των

μηχανών πεπερασμένων καταστάσεων.– Σε κάθε μηχανή μπορούμε να αντιστοιχήσουμε ένα STD και ένα

STT.– Θα δείξουμε ότι :

• Δοθέντος ενός ακολουθιακού κυκλώματος μπορούμε εύκολα να πάρουμε ένα STT γι’ αυτό.

• Δοθέντος ενός STT μπορούμε να πάρουμε ένα ακολουθιακό κύκλωμα που να τον υλοποιεί

– Αρα υπάρχει αντιστοιχία μεταξύ μηχανών πεπερασμένων καταστάσεων και ακολουθιακών κυκλωμάτων.

– Προσοχή : η αντιστοιχία δεν είναι 1-1, ούτε επί.– Θα περιγράψουμε τυπικούς τρόπους περιγραφής ακολουθιακών

κυκλωμάτων και μηχανών πεπερασμένων καταστάσεων σε Verilog.

Page 77: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ανάλυση Ακολουθιακών Κυκλωμάτων

ΜεθοδολογίαΒήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των

FFs.

(ισοδύναμα : προσδιορίζουμε τις συναρτήσεις επόμενης κατάστασης & εξόδου F, G)

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων.

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων.

Page 78: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Χαρακτηριστικοί πίνακες (πίνακες λειτουργίας) FF

D Q(t)0 0

1 1 Q

QSET

CLR

D T Q(t)0 Q(t-1)

1 ~Q(t-1) Q

QSET

CLR

DT

J K Q(t)

0 0 Q(t-1)

0 1 0

1 0 1

1 1 ~Q(t-1)

J

Q

Q

K

SET

CLR

S R Q(t)

0 0 Q(t-1)

0 1 0

1 0 1

1 1 ?

Q

QSET

CLR

S

R

Page 79: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

Q0

Q'0FF0

J0

K0

Q1

Q'1FF1

J1

K1

CLK

Vcc Vcc

Q

Q'

CLK

J

K

Q

Q'

CLK

J

K

CLK

Vcc Vcc

(β)

(α)

Παράδειγμα 1

Σύγχρονα ακολουθιακά κυκλώματα χωρίς εξωτερικές εισόδους και εξόδους

Page 80: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs.J0 = Q΄1 J1 = Q0

Κ0 = 1 Κ1 = 1

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων

ΠΑΡΟΥΣΑΚΑΤΑΣΤΑΣΗ

Q1 Q0

0 00 11 01 1

Ε ΙΣ Ο Δ Ο Ι

J1 K1 J0 K0

0 1 1 11 1 1 10 1 0 11 1 0 1

ΕΠΟΜΕΝΗΚΑΤΑΣΤΑΣΗ

Q1 Q0

0 11 00 00 0

Κ α τ α γ ρά φοντ α ι Ο Λ Ο Ι ο ιδ υ να τ ο ί σ υ νδ υ α σ μ ο ί

(δυ να τ έ ς κ α τ α σ τ ά σ ε ι ς )

Προκ ύ π τ ου ν α π ό τ ι ςσυναρτήσεις εισόδου και τιςτ ι μ έ ς τ η ς π α ρ ο ύ σ α ς

κ α τ ά σ τ α σ η ς

Προκ ύ π τ ου ν α π ό τ ι ςτιμές των εισόδων J, K και τιςτ ι μ έ ς τ η ς π α ρ ο ύ σ α ς

κατάστασης Q καθενός FF

Page 81: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων

00

01 10

11

Παρατηρήσεις• Oι ωρολογιακοί παλμοί δεν δείχνονται στον πίνακα και στο διάγραμμα

καταστάσεων. Εννοείται ότι από την παρούσα κατάσταση μεταβαίνουμε στην επόμενη κατάσταση με την έλευση της ενεργού ακμής πυροδότησης του CLK.

• Για την κατάστρωση του πίνακα βασιζόμαστε εκτός από την παρούσα κατάσταση και τις τιμές των εισόδων, και στον πίνακα λειτουργίας του FF. Με άλλα λόγια, οι πίνακες λειτουργίας των FFs είναι απαραίτητοι για την ανάλυση ενός ακολουθιακού κυκλώματος.

Page 82: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 2

Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs.

J0 = K0 = (Q1Q2)΄ J1 = Q0 J2 = Q0Q1

K1 = Q0 + Q1Q2 K2 = Q0Q1 + Q2Q1 = (Q0 + Q2)Q1

Page 83: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων

mod-7

000

001

010

011 100

101

111

110

Π. Κ.

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

ΕΙΣΟΔΟΙ

00 00 1100 11 1100 00 1111 11 1100 00 1100 11 1101 01 0011 11 00

E. Κ.

Q2 Q1 Q0

0 0 10 1 00 1 11 0 01 0 11 1 00 0 00 0 1

K2 K1 K0J0J1J2Q2 Q1 Q0

Page 84: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σύγχρονα ακολουθιακά κυκλώματα με εξωτερικές εισόδους

Παράδειγμα 3

Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs.

J1 = K1 = XQ0 J0 = K0 = 1

Q0

Q'0

CLK

J0

K0

Q1

Q'1CLK

J1

K1

CLKX

Vcc

Page 85: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων

00

01 10

11

0

0

0

0 1

1

1

1

ΕΙΣΟΔΟΣ&

ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ

Χ Q1 Q0

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

ΕΙΣΟΔΟΙ

J1 K0

1 1 1 10 0 1 11 1 1 10 0 1 10 0 1 11 1 1 10 0 1 11 1 1 1

ΕΠΟΜΕΝΗΚΑΤΑΣΤΑΣΗ

1 10 00 11 00 11 01 10 0

K1 J0 Q0Q1

Page 86: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σύγχρονα ακολουθιακά κυκλώματα με εξωτερικές εισόδους και εξόδους

Παράδειγμα 4

Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs.

T1 = Q΄0 Τ0 = ΧQ1

Y = X ⊕ Q1 ⊕Q0

Q0

Q'0

CLK

T0Q1

Q'1CLK

T1

CLK

X

Y

Page 87: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων(Μηχανή Mealy)

ΕΙ Σ Ο Δ Ο Σ&

ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ

Χ Q1 Q0

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

ΕΙ Σ Ο Δ Ο Ι

T1 T0

1 10 11 00 01 00 01 10 1

ΕΠΟΜΕΝΗΚΑΤΑΣΤΑΣΗ

Q1 Q0

1 10 00 01 11 00 10 11 0

ΕΞΟΔΟΣ

Υ

01101001

00

01 10

11

0/0

1/1

1/0

0/10/1

1/1

0/0

1/0

Page 88: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 5

Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs.

D0 = Q2΄ D1 = Q0 D2 = Q0 Q1 Q2

΄ Υ = Q0 Q1 Q2΄

CLKQ2

Q'2

D2

CLK

YCLK

Q1

Q'1

D1

CLKQ0

Q'0

D0

Page 89: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων (Μηχανή Moore)

ΠΑΡΟΥΣ Α ΚΑΤΑΣΤΑΣΗ

Q2 Q1 Q0

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Ε ΙΣ ΟΔ ΟΙ

D2 D1 D0

0 0 1

0 1 1

0 0 1

1 1 1

0 0 0

0 1 0

0 0 0

0 1 0

ΕΠΟΜΕΝΗ

ΚΑΤΑΣΤΑΣ Η

Q2 Q1 Q0

0 0 1

0 1 1

0 0 1

1 1 1

0 0 0

0 1 0

0 0 0

0 1 0

ΕΞΟΔΟΣ

Υ

0

0

0

1

0

0

0

0

CLK

Y

000

0

001

0

010

0

100

0

011

1

111

0

101

0

110

0

Page 90: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Άσκηση 1η: Να αναλυθούν τα κυκλώματα

Page 91: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Άσκηση 2η: Να αναλυθούν τα κυκλώματα

Page 92: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Άσκηση 3η: Να αναλυθεί το κύκλωμα

Page 93: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

VCC5V

VCC5V

FF0 FF1

Επιπλέον παραδείγματα

Page 94: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσεις

J0=Q1+Q0 K0= Q0Q1J1=(Q0Q1)’ K1= Q0Q1

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

VCC5V

VCC5V

FF0 FF1

Page 95: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσεις

2ο βήμα...πίνακας μεταβάσεων

ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ.

Q1 Q0 J1 K1 J0 K0 Q1 Q00 0 1 0 0 0 1 00 1 1 0 1 0 1 11 0 1 0 1 0 1 11 1 0 1 1 1 0 0

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

VCC5V

VCC5V

FF0 FF1 J0=Q1+Q0 K0= Q0Q1J1=(Q0Q1)’ K1= Q0Q1

Page 96: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσεις

2ο βήμα...πίνακας μεταβάσεων

3ο βήμα...διάγραμμα μεταβάσεων

11

01

00

10

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

VCC5V

VCC5V

FF0 FF1 J0=Q1+Q0 K0= Q0Q1J1=(Q0Q1)’ K1= Q0Q1

ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ.

Q1 Q0 J1 K1 J0 K0 Q1 Q0

0 0 1 0 0 0 1 0

0 1 1 0 1 0 1 1

1 0 1 0 1 0 1 1

1 1 0 1 1 1 0 0

Page 97: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ανάλυση με επιπλέον εξωτερική είσοδο

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

Y

H. T. Vergos
Stamp
H. T. Vergos
Stamp
Page 98: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσειςJ1=Q1’+Q0 K1= YJ0=Q1 K0= Q1

FF1 FF01J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

Y

H. T. Vergos
Stamp
H. T. Vergos
Stamp
Page 99: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσειςJ1=Q1’+Q0 K1= YJ0=Q1 K0= Q1

FF1 FF01J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

Y

2ο βήμα...πίνακας μεταβάσεων

ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ.

Y Q1 Q0 J1 K1 J0 K0 Q1 Q00 0 0 1 0 0 0 1 00 0 1 1 0 0 0 1 10 1 0 0 0 1 1 1 10 1 1 1 0 1 1 1 01 0 0 1 1 0 0 1 01 0 1 1 1 0 0 1 11 1 0 0 1 1 1 0 11 1 1 1 1 1 1 0 0

H. T. Vergos
Stamp
H. T. Vergos
Stamp
Page 100: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσειςJ1=Q1’+Q0 K1= YJ0=Q1 K0= Q1

FF1 FF01J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

Y

2ο βήμα...πίνακας μεταβάσεων

ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ.

Y Q1 Q0 J1 K1 J0 K0 Q1 Q00 0 0 1 0 0 0 1 00 0 1 1 0 0 0 1 10 1 0 0 0 1 1 1 10 1 1 1 0 1 1 1 01 0 0 1 1 0 0 1 01 0 1 1 1 0 0 1 11 1 0 0 1 1 1 0 11 1 1 1 1 1 1 0 0

3ο βήμα...διάγραμμα μεταβάσεων

11

0100

10

0 0

0

0

H. T. Vergos
Stamp
H. T. Vergos
Stamp
Page 101: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσειςJ1=Q1’+Q0 K1= YJ0=Q1 K0= Q1

FF1 FF01J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

Y

2ο βήμα...πίνακας μεταβάσεων

ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ.

Y Q1 Q0 J1 K1 J0 K0 Q1 Q00 0 0 1 0 0 0 1 00 0 1 1 0 0 0 1 10 1 0 0 0 1 1 1 10 1 1 1 0 1 1 1 01 0 0 1 1 0 0 1 01 0 1 1 1 0 0 1 11 1 0 0 1 1 1 0 11 1 1 1 1 1 1 0 0

3ο βήμα...διάγραμμα μεταβάσεων

11

0100

10

0, 1 0, 1

0

0

1 1

H. T. Vergos
Stamp
Page 102: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1ο βήμα...συναρτήσειςJ1=Q1’+Q0 K1= YJ0=Q1 K0= Q1

FF1 FF01J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

Y

2ο βήμα...πίνακας μεταβάσεων

ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ.

Y Q1 Q0 J1 K1 J0 K0 Q1 Q00 0 0 1 0 0 0 1 00 0 1 1 0 0 0 1 10 1 0 0 0 1 1 1 10 1 1 1 0 1 1 1 01 0 0 1 1 0 0 1 01 0 1 1 1 0 0 1 11 1 0 0 1 1 1 0 11 1 1 1 1 1 1 0 0

3ο βήμα...διάγραμμα μεταβάσεων

11

0100

10

X X

0

0

1 1

Y=0, 10 →11 →10, 00 →10, 01 →11Y=1, 00 →10 →01→11 →00

H. T. Vergos
Stamp
Page 103: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>
Page 104: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>
Page 105: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σχεδίαση ενός ακολουθιακού κυκλώματος που υλοποιεί μια μηχανή πεπερασμένων καταστάσεων

Μεθοδολογία 9 βημάτων, σχεδόν ανάστροφη της διαδικασίας ανάλυσης1. Το πιο σημαντικό βήμα. Ο σχεδιαστής κάνει τη μετάφραση μιας λεκτικής περιγραφής σε

μια τυποποιημένη περιγραφή, STD / STT. Μνημονικά ονόματα για τις καταστάσεις.2. (Προαιρετικά ?) Ελαχιστοποίηση του αριθμού καταστάσεων. (Εκτελείται σχεδόν πάντα με

υπολογιστές).3. Επιλογή μεταβλητών καταστάσεων και αντιστοίχηση καταστάσεων και τιμών μεταβλητών

( Tο βήμα που ξεχωρίζει τους έμπειρους από τους άπειρους σχεδιαστές).

Τα βήματα 4 έως και 9 σήμερα αποτελούν αυτοματοποιημένες διαδικασίες. Στο μάθημα θα τιςκάνουμε αναλυτικά απλά και μόνο για να δείτε ότι είναι τόσο τυπικές που μπορείτε και εσείς να τις αυτοματοποιήσετε !!!4. Αντικατάσταση στον STT. Δημιουργείται ένας πίνακας μετάβασης / εξόδου για κάθε

τρέχουσα τιμή κατάστασης και εισόδου.5. Επιλογή τύπου latches και flip – flop.6. Πίνακες διέγερσης7. Εξισώσεις διέγερσης και εξόδου8. Απλοποίηση λογικών συναρτήσεων9. Δημιουργία λογικού κυκλώματος

Page 106: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα 1 : STT / STD

• H διαδικασία αυτή μοιάζει αρκετά με τη συγγραφή προγράμματος

– Εχεις μια πρώτη ιδέα των εισόδων / εξόδων που απαιτούνται αλλά γνωρίζεις ελάχιστα για το πως θα πετύχεις τις εξόδους με βάση τις εισόδους.

– Μπορεί να σκαρφιστείς διάφορους τρόπους να λύσεις το πρόβλημα. Διαλέγεις με βάση τη κοινή λογική ή εντελώς τυχαία.

– Μπορεί να υπάρξουν ειδικές περιπτώσεις που δε φαίνονται με τη πρώτη ανάγνωση της αρχικής περιγραφής.

– Στο μυαλό σου θα πρέπει να έχεις όλες τις εναλλακτικές– Δεν υπάρχει αλγόριθμος για τη διαδικασία που ακολουθείς. Αρα δεν

υπάρχουν εγγυήσεις ότι θα το ολοκληρώσεις. Αλλά πρέπει να το κάνεις !– Το STT / STD που σχεδιάζεις θα κάνει όσα εσύ προέβλεψες και σχεδίασες.

Ούτε λιγότερα, ούτε περισσότερα– Τίποτα δε λειτουργεί με τη πρώτη φορά. Debug και επανασχεδίαση !!!– Δε χρειάζεται να αγχώνεστε ! Σίγουρα έχετε γράψει προγράμματα που

δούλεψαν, οπότε σίγουρα θα σχεδιάσετε και σωστά STT/STD.

Page 107: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Το παλιό καλό μας πρόβλημα :– Σχεδιάστε ένα σύγχρονο ακολουθιακό κύκλωμα με 2 εισόδους Α, Β και 1

έξοδο Z, η οποία παίρνει την τιμή 1 αν :• Η Α είχε την ίδια τιμή σε κάθε έναν από τους δύο προηγούμενους

παλμούς ρολογιού ή • Η Β είναι στο 1 από την τελευταία φορά που ήταν αληθής η πρώτη

συνθήκη– Ξέραμε ελάχιστα από STD

design κι όμως τα καταφέραμε !– Η πρώτη λύση που δώσαμε

μέσω ενός STD για ένα MealyFSM που λύνει το πρόβλημα.

– Ερωτήματα :• Είναι το πιο απλό STD ?• Mealy ή Moore, πότε και

γιατί ?

ΑΡΧΗ

Α0

Α1

ΟΚ00

ΟΚ11

ΟΚΑ1

ΟΚΑ0

0X/1

0X/0

11/1

1X/0

1X/101/1

01/1 11/1

1X/1

0X/1

1X/0 10/0

0X/1

1X/1

10/0

00/0

0X/0

00/0

Page 108: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

10

STARTZ=0

Α0Z=0

Α1Z=0

ΟΚ00Z=1

ΟΚ11Z=1

ΟΚΑ1Z=1

ΟΚΑ0Z=1

0X

0X

11

1X

1X

01

01 11

1X

0X

1X

00

1X

0X

1000

0X Είσοδοι (ΑΒ)

Σημασία Τρέχουσα κατάσταση S(t)

00 01 11 10 Z

Αρχική Κατάσταση

ΙΝΙΤ A0 A0 A1 A1 0

Eίχα 0 στο Α A0 OK00 OK00 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK11 OK11 0 Είχα 00 στο Α ΟΚ00 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 Είχα 11 στο Α ΟΚ11 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 ΟΚ, μετά Α=0 ΟΚΑ0 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 ΟΚ, μετά Α=1 ΟΚΑ1 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1

Επόμενη κατάσταση S(t+1)

Είναι το πιο απλό STD ?

Page 109: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα 2 : Ελαχιστοποίηση Καταστάσεων • Aν για το ίδιο κύκλωμα μπορεί να υπάρξουν STD / STT πίνακες με διαφορετικό αριθμό

καταστάσεων, αναζητούμε μια τυπική διαδικασία που θα μας πάει από ένα πίνακα σε έναν άλλο, με μικρότερο αριθμό καταστάσεων.

• Σήμερα η διαδικασία αυτή γίνεται αυτόματα και δεν χρειάζεται να εμπλακεί ο σχεδιαστής. Την εξετάζουμε για μαθησιακούς καθαρά λόγους.

• Η διαδικασία στηρίζεται στην ανίχνευση "ισοδύναμων" καταστάσεων.• Δύο καταστάσεις είναι ισοδύναμες όταν :

– Παράγουν τις ίδιες εξόδους για όλες τους συνδυασμούς εισόδων και– Για κάθε συνδυασμό εισόδων οδηγούν είτε στην ίδια επόμενη κατάσταση είτε σε

ισοδύναμες καταστάσεις. Είσοδοι (ΑΒ)

Σημασία Τρέχουσα κατάσταση S(t)

00 01 11 10 Z

Αρχική Κατάσταση

ΙΝΙΤ A0 A0 A1 A1 0

Eίχα 0 στο Α A0 OK00 OK00 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK11 OK11 0

Είχα 00 στο Α ΟΚ00 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 Είχα 11 στο Α ΟΚ11 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 ΟΚ, μετά Α=0 ΟΚΑ0 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 ΟΚ, μετά Α=1 ΟΚΑ1 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1

Επόμενη κατάσταση S(t+1)

Page 110: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ενας απλοποιημένος STT για το παράδειγμά μας

Είσοδοι (ΑΒ) Σημασία Τρέχουσα κατάσταση S(t) 00 01 11 10 Z

Αρχική Κατάσταση ΙΝΙΤ A0 A0 A1 A1 0 Eίχα 0 στο Α A0 OK0 OK0 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK1 OK1 0

Δύο ίδια, τελευταία Α=0

ΟΚ0 ΟΚ0 ΟΚ0 ΟΚ1 Α1 1

Δύο ίδια, τελευταία Α=1

ΟΚ1 Α0 ΟΚ0 ΟΚ1 ΟΚ1 1

Επόμενη κατάσταση S(t+1)

• O πίνακας αυτός είναι "ελάχιστος", έχει δηλαδή τον μικρότερο δυνατό αριθμό καταστάσεων. Υπάρχουν και άλλοι πίνακες για το ίδιο πρόβλημα με μεγαλύτερο αριθμό καταστάσεων.

Είσοδοι (ΑΒ) Σημασία Τρέχουσα κατάσταση

S(t) 00 01 11 10 Z

Αρχική Κατάσταση

ΙΝΙΤ A0 A0 A1 A1 0

Eίχα 0 στο Α A0 OK00 OK00 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK11 OK11 0 Είχα 00 στο Α ΟΚ00 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 Είχα 11 στο Α ΟΚ11 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 ΟΚ, μετά Α=0 ΟΚΑ0 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 ΟΚ, μετά Α=1 ΟΚΑ1 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1

Επόμενη κατάσταση S(t+1)

Page 111: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ελαχιστοποίηση Καταστάσεων - Παράδειγμα 2

Page 112: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>
Page 113: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ελαχιστοποίηση Καταστάσεων - Real world !

• Η μείωση των εσωτερικών καταστάσεων μπορεί να οδηγήσει σε μείωση του αριθμού των flip flops.

• Μείωση ωστόσο του αριθμού των εσωτερικών καταστάσεων δεν οδηγεί πάντα σε μείωση του αριθμού των flip flops. Για παράδειγμα μείωση από 12 σε 9 καταστάσεις, δεν οδηγεί σε αντίστοιχη μείωση των 4 (κατ’ ελάχιστο) flip flops που απαιτούνται και στις δύο περιπτώσεις.

• Στη δεύτερη περίπτωση όμως αυξάνουν οι αχρησιμοποίητες καταστάσεις. Όπως θα δούμε αυτές ισοδυναμούν με αδιάφορους όρους που μπορεί να οδηγήσουν σε μείωση της συνδυαστικής λογικής.

• Ωστόσο υπάρχουν περιπτώσεις που η αύξηση του αριθμού των καταστάσεων μπορεί να απλοποιήσει τη σχεδίαση !!!

• Αρα και μια αυτοματοποιημένη διαδικασία ελαχιστοποίησης δε βοηθά πάντοτε !!!

• Σημαντικότερες μειώσεις μπορεί να επιτευχθούν με το επόμενο βήμα, αυτό της αντιστοίχισης καταστάσεων.

Page 114: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήμα 3 : Αντιστοίχιση Καταστάσεων• Δυαδικές μεταβλητές κατάστασης = log2 (αριθμός καταστάσεων)

• Αντιστοίχιση καταστάσεων => σε κάθε κατάσταση αναθέτουμε συγκεκριμένο συνδυασμό τιμών των δυαδικών μεταβλητών

• Στο παράδειγμά μας υπάρχουν 5 καταστάσεις, άρα θα χρειαστούμε τουλάχιστον 3 flip flops (δυαδικές μεταβλητές κατάστασης).

• Τα 3 flip flops μας δίνουν 8 καταστάσεις.

• Αρα θα υπάρχουν 8 – 5 = 3 αχρησιμοποίητες καταστάσεις

• Υπάρχουν [8! /(5! 3!)] x 5! = 6720 δυνατές συναρτήσεις αντιστοίχισης !!!

• Κάθε μία πιθανά οδηγεί σε διαφορετικό κύκλωμα !!!

S(t) 00 01 11 10 Z ΙΝΙΤ A0 A0 A1 A1 0 A0 OK0 OK0 A1 A1 0 A1 A0 A0 OK1 OK1 0

ΟΚ0 ΟΚ0 ΟΚ0 ΟΚ1 Α1 1 ΟΚ1 Α0 ΟΚ0 ΟΚ1 ΟΚ1 1

Page 115: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πιθανές Αντιστοιχίσεις• Ο πιο απλός τρόπος είναι να χρησιμοποιήσουμε στην αντιστοίχιση τις πρώτες 5

δυαδικές αναπαραστάσεις των δυαδικών μας μεταβλητών

• ΙΝΙΤ -> 000, Α0->001, Α1->010, ΟΚ0->011, ΟΚ1->100

• Ο απλούστερος τρόπος δεν εγγυάται τις απλούστερες εξισώσεις διέγερσης, εξόδου και συνεπώς και το απλούστερο κύκλωμα.

• Η επιλογή της αντιστοίχισης έχει μεγάλο αντίκτυπο στο τελικό κύκλωμα και αλληλεπιδρά με άλλους παράγοντες, όπως το τι flip flop θα χρησιμοποιηθούν, τι λογικές συναρτήσεις θα χρησιμοποιήσουμε (SOP, POS…)

Page 116: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ψάχνοντας τη καλύτερη αντιστοίχιση• Πως βρίσκουμε τη καλύτερη αντιστοίχιση ?

• Δοκίμασε όλες !!! Πρακτικά αδύνατο !!!

• Εμπειρία

• Απλοί κανόνες :

• Για την αρχική κατάσταση διάλεξε την 000…0 ή την 111…1

• Ελαχιστοποίησε τον αριθμό των στοιχείων που αλλάζουν

• Μεγιστοποίησε τον αριθμό των στοιχείων που δεν αλλάζουν σε μια ομάδα καταστάσεων.

• Εκμεταλλεύσου τυχόν συμμετρίες. Αν δύο καταστάσεις ή δύο ομάδες καταστάσεων σημαίνουν περίπου το ίδιο πράγμα και έχεις αναθέσει τιμές για τη μία ανάθεσε αντίστοιχες τιμές για την άλλη (π.χ. άλλαξε μόνο ένα bit).

• Εκμεταλλεύσου τις αχρησιμοποίητες καταστάσεις.

• Χώρισε τα δ.ψ. των καταστάσεων σε ομάδες με κάποια σημασία σε σχέση με τις εισόδους ή τις εξόδους

• Μήπως η χρήση περισσότερων μεταβλητών οδηγεί σε απλούστευση ?

Page 117: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Οι υπόλοιπες πιο έξυπνες (?) αντιστοιχίσεις

• Αναλυμένη

• To πρώτο δ.ψ. μου καθορίζει την ΙΝΙΤ.

• Τα υπόλοιπα έτυχε να φαίνονται σα δυαδική μέτρηση. Το Q3 δείχνει τη προηγούμενη τιμή του Α ! Το Q2 δείχνει πότε η έξοδος πάει στο 1 !

• Οne-hot assignment

• 1 δυαδικό ψηφίο ανά κατάσταση,

• Μόνο ένα flip flop ανά κάθε χρονική στιγμή στο 1.

• Απλές συναρτήσεις διέγερσης και συνδυαστικές εξισώσεις

• Almost One-Hot Assignment

• No-hot συνδυασμός για την αρχική κατάσταση.

Page 118: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Αχρησιμοποίητες Καταστάσεις

• Τι κάνουμε τις αχρησιμοποίητες καταστάσεις ?

• Δύο λογικές προσεγγίσεις, ανάλογα με τις απαιτήσεις της εφαρμογής

• Προσέγγιση 1 : Ελάχιστος κίνδυνος

• Η μηχανή καταστάσεων λόγω κακής σχεδίασης, απρόσμενης εισόδου ή αστοχίας του υλικού, μπορεί να μπει σε κάποια αχρησιμοποίητη κατάσταση

• Ολες οι αχρησιμοποίητες καταστάσεις θα πρέπει να οδηγούν σε κάποια "χρησιμοποιούμενη" κατάσταση.

• Προσέγγιση 2 : Ελάχιστο κόστος

• Η μηχανή δε θα μπεί ποτέ σε "παράνομη" κατάσταση

• Στους πίνακες μετάβασης και διέγερσης μπορούν να χρησιμοποιηθούν ως αδιάφοροι όροι

• Απλοποίηση της λογικής διέγερσης

• Περίεργη έως καταστροφική συμπεριφορά αν τελικά στη πράξη το κύκλωμά μας μπει σε κάποια αχρησιμοποίητη κατάσταση.

Page 119: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πίνακες Διέγερσης• Μπορεί να θεωρηθεί ως ο συμπληρωματικός του χαρακτηριστικού πίνακα

λειτουργίας ενός flip flop.

• O χαρακτηριστικός πίνακας μας δείχνει για κάθε πιθανή τρέχουσα κατάσταση και τιμή εισόδου την επόμενη κατάσταση του flip flop.

• O πίνακας διέγερσης, μας δίνει τις απαιτούμενες τιμές εισόδου του flip flop ώστε να μεταβούμε από μια τρέχουσα κατάσταση, σε μια επιθυμητή επόμενη κατάσταση.

Page 120: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βήματα 4 - 9 : η χαμαλοδουλειάΣτο πρόβλημά μας χρησιμοποιούμε τον ελαχιστοποιημένο πίνακας καταστάσεων :

S(t) 00 01 11 10 Z ΙΝΙΤ A0 A0 A1 A1 0 A0 OK0 OK0 A1 A1 0 A1 A0 A0 OK1 OK1 0

ΟΚ0 ΟΚ0 ΟΚ0 ΟΚ1 Α1 1 ΟΚ1 Α0 ΟΚ0 ΟΚ1 ΟΚ1 1

και τη αναλυμένη αντιστοίχιση του πίνακα. Μας προκύπτει ο πίνακας επιθυμητών μεταβάσεων :

Page 121: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Από πίνακα μετάβασης σε πίνακα διέγερσης Είσοδοι (ΑΒ) Q1(t) Q2(t) Q3(t) 00 01 11 10 Z

000 100 100 101 101 0 100 110 110 101 101 0 101 100 100 111 111 0 110 110 110 111 101 1 111 100 110 111 111 1

Q1(t+1) Q2(t+1) Q3(t+1) • Χρησιμοποιώντας το πίνακα διέγερσης του επιθυμητού flip flop παίρνουμε το

πίνακα διέγερσης και εξόδου Είσοδοι (ΑΒ) Q1(t) Q2(t) Q3(t) 00 01 11 10 Z

000 100 100 101 101 0 100 110 110 101 101 0 101 100 100 111 111 0 110 110 110 111 101 1 111 100 110 111 111 1

D1(t+1) D2(t+1) D3(t+1) • O πίνακας διέγερσης είναι πανομοιότυπος με το πίνακα μετάβασης όταν

χρησιμοποιούμε DFF !, λόγω της χαρακτηριστική εξίσωσης του DFF Q(t+1) = D(t+1)

Page 122: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Για υλοποίηση με JK FF

Είσοδοι ΑΒ Q1(t) Q2(t) Q3(t) 00 01 11 10 Z

000 1X, 0X, 0X 1X, 0X, 0X 1X, 0X, 1X 1X, 0X, 1X 0 100 X0, 1X, 0X X0, 1X, 0X X0, 0X, 1X X0, 0X, 1X 0 101 X0, 0X, X1 X0, 0X, X1 X0, 1X, X0 X0, 1X, X0 0 110 X0, X0, 0X X0, X0, 0X X0, X0, 1X X0, X1, 1X 1 111 X0, X1, X1 X0, X0, X1 X0, X0, X0 X0, X0, X0 1

J1(t+1)K1(t+1), J2(t+1)K2(t+1), J3(t+1)K3(t+1)

Page 123: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Είσοδοι (ΑΒ) Q1(t) Q2(t) Q3(t) 00 01 11 10 Z

000 100 100 101 101 0 100 110 110 101 101 0 101 100 100 111 111 0 110 110 110 111 101 1 111 100 110 111 111 1

D1(t+1) D2(t+1) D3(t+1)

Bήμα 8. Απλοποίηση των συναρτήσεων επόμενης εισόδου.

• Ο παραπάνω πίνακας διέγερσης - εξόδου μου καθορίζει τις λογικές ΣΥΝΔΥΑΣΤΙΚΕΣ συναρτήσεις D1(t+1) D2(t+1) D3(t+1) των 5 δυαδικών μεταβλητών (Q1(t), Q2(t), Q3(t), A, B) και τη συνάρτηση Ζ των 3 δυαδικών μεταβλητών (Q1(t), Q2(t), Q3(t)). Θυμηθείτε Moore vs Mealy !!!

• Θα φτιάξουμε για κάθε μία από αυτές τον αντίστοιχο χάρτη Karnaugh για να τις απλοποιήσουμε

• Προσοχή : Ο πίνακας διέγερσης δεν είναι ένας πλήρης πίνακας αληθείας. Δεν υπάρχει όλη η πληροφορία για τις αχρησιμοποίητες καταστάσεις 001, 010 και 011.

• Επιλογή λοιπόν στρατηγικής : Ελάχιστου κινδύνου / ελάχιστου κόστους

• Ας επιλέξουμε αυτή του ελάχιστου κινδύνου (επόμενη κατάσταση 000) και συνεπώς ας καταλήξουμε στα

Page 124: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Q1(t) Q2(t) Q3(t) 00 01 11 10 000 1 1 1 1 001 0 0 0 0 011 0 0 0 0 010 0 0 0 0 110 1 1 1 1 111 1 1 1 1 101 1 1 1 1 100 1 1 1 1

D1(t+1)

Ελάχιστος κίνδυνος :Πίνακες αληθείας των συνδυαστικών συναρτήσεων

Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 0 0 001 0 0 0 0 011 0 0 0 0 010 0 0 0 0 110 1 1 1 0 111 0 1 1 1 101 0 0 1 1 100 1 1 0 0

D2(t+1)

Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 1 1 001 0 0 0 0 011 0 0 0 0 010 0 0 0 0 110 0 0 1 1 111 0 0 1 1 101 0 0 1 1 100 0 0 1 1

D3(t+1)

Q1(t) Q2(t) Q3(t) Z 000 0 001 0 011 0 010 0 110 1 111 1 101 0 100 0

Page 125: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

9.Απλοποίηση των συνδυαστικών συναρτήσεων & υλοποίηση• D1(t+1) = ~Q2(t) & ~Q3(t) | Q1(t)

• D2(t+1) = Q1(t) & ( (Q3(t) ~^ A) | (Q2(t) & B))

• D3(t+1) = A & (Q1(t) | (~Q2(t) & ~Q3(t))

• Z= Q1(t) & Q2(t)

CLR

CLK

D Q

Q

CLR

CLK

D Q

Q

CLR

CLK

D Q

Q

~Reset

Clk

Q1

Q2

Q3

A

BZ

Page 126: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ελάχιστο κόστος:Πίνακες αληθείας των συνδυαστικών συναρτήσεων

Q1(t) Q2(t) Q3(t) 00 01 11 10 000 1 1 1 1 001 X X X X 011 X X X X 010 X X X X 110 1 1 1 1 111 1 1 1 1 101 1 1 1 1 100 1 1 1 1

D1(t+1)

Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 0 0 001 X X X X 011 X X X X 010 X X X X 110 1 1 1 0 111 0 1 1 1 101 0 0 1 1 100 1 1 0 0

D2(t+1) Q1(t) Q2(t) Q3(t) 00 01 11 10

000 0 0 1 1 001 X X X X 011 X X X X 010 X X X X 110 0 0 1 1 111 0 0 1 1 101 0 0 1 1 100 0 0 1 1

D3(t+1)

Q1(t) Q2(t) Q3(t) Z 000 0 001 X 011 X 010 X 110 1 111 1 101 0 100 0

Page 127: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Απλοποίηση των συνδυαστικών συναρτήσεων & υλοποίηση

• D1(t+1) = 1

• D2(t+1) = Q1(t) & ~Q3(t) & ~Α |

Q3(t) & Α | Q2(t) & Β

• D3(t+1) = Α

• Z= Q2(t)

Page 128: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σύνοψη και real world• Ξεκινώντας από μία λεκτική περιγραφή φτιάχνουμε ένα STD / STT,

προσπαθούμε να μειώσουμε τις καταστάσεις με την ελπίδα να μειώσουμε τα flip flops που απαιτούνται ή να δημιουργηθούν περισσότερες αχρησιμοποίητες καταστάσεις. Αναθέτουμε κωδικοποιήσεις στις ελαχιστοποιημένες καταστάσεις (τυχαία ή με κανόνες ή με την εμπειρία μας). Αντικαθιστούμε τις κωδικοποιήσεις στον STT και παίρνουμε το πίνακα μεταβάσεων. Με τη βοήθεια του πίνακα διέγερσης κάθε flip flop παίρνουμε το πίνακα διέγερσης και εξόδου του στοχευόμενου κυκλώματος. Η απλοποίηση των συναρτήσεων μπορεί να γίνει με στρατηγική ελάχιστου κινδύνου ή ελάχιστου κόστους. Υλοποιούμε τις απλοποιημένες συναρτήσεις και παίρνουμε το κύκλωμα που υλοποιεί τη μηχανή του STD / STT.

• Για υλοποιήσεις σε προγραμματιζόμενα ολοκληρωμένα προηγούμενης γενιάς, τα βήματα που χρειάζεται να κάνει ο σχεδιαστής είναι τα σημειούμενα με πράσινο.

• Όπως θα δούμε παρακάτω, χρησιμοποιώντας τελευταίας γενιάς εργαλεία και περιγραφές σε γλώσσα περιγραφής υλικού, ο ρόλος του σχεδιαστή μπορεί να περιοριστεί στα όσα σημειώνονται με πορτοκαλί.

• H αυτοματοποίηση όσων αναφέρονται με πορτοκαλί αποτελούν αντικείμενο συνεχιζόμενης έρευνας στον τομέα του high level synthesis.

Page 129: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 1. Σχεδίαση με δεδομένο STD• Σχεδιάστε μια μηχανή που υλοποιεί το ακόλουθο STD

• Oπως προκύπτει από το STD υπάρχουν 4 (μη ελαχιστοποιήσιμες) καταστάσεις, άρα 2 FFs, έστω Α και Β. Κατασκευάζω τον STT.

Page 130: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 2-2. • Κατασκευάζουμε τον πίνακα διέγερσης του κυκλώματος στοχεύοντας υλοποίηση

με JK FFs και συνεπώς λαμβάνοντας υπ’ όψιν μας και το πίνακα διέγερσης ενός JK FF.

Page 131: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 2-3.

• To στοχευόμενο συνεπώς σύστημα θα έχει τη μορφή :

• Απομένει να απλοποιήσουμε τις συναρτήσεις για τα JA, KA, JB και ΚΒ

Page 132: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 2-4.

• Η υλοποίηση αυτών των συναρτήσεων μας δίνει το παρακάτω κύκλωμα :

Page 133: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

111

110

010

011

000 001

101 100

Page 134: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

111

110

010

011

000 001

101 100

ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ

Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

0 0 0 0 0 1

0 0 1 0 1 0

0 1 0 0 1 1

0 1 1 1 0 0

1 0 0 1 0 1

1 0 1 0 0 0

1 1 0 0 0 0

1 1 1 0 0 0

Page 135: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

111

110

010

011

000 001

101 100

ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ

Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

0 0 0 0 0 1 0 X 0 X 1 X

0 0 1 0 1 0 0 X 1 X X 1

0 1 0 0 1 1 0 X X 0 1 X

0 1 1 1 0 0 1 X X 1 X 1

1 0 0 1 0 1 X 0 0 X 1 X

1 0 1 0 0 0 X 1 0 X X 1

1 1 0 0 0 0 X 1 X 1 0 X

1 1 1 0 0 0 X 1 X 1 X 1

Page 136: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

111

110

010

011

000 001

101 100

ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ

Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

0 0 0 0 0 1 0 X 0 X 1 X

0 0 1 0 1 0 0 X 1 X X 1

0 1 0 0 1 1 0 X X 0 1 X

0 1 1 1 0 0 1 X X 1 X 1

1 0 0 1 0 1 X 0 0 X 1 X

1 0 1 0 0 0 X 1 0 X X 1

1 1 0 0 0 0 X 1 X 1 0 X

1 1 1 0 0 0 X 1 X 1 X 1

0 0 1 0

X X X X

00 01 11 1001

Q1Q0Q2

X X X X

0 1 1 1

00 01 11 1001

Q1Q0Q2

0 1 X X

0 0 X X

00 01 11 1001

Q1Q0Q2

X X 1 0

X X 1 1

00 01 11 1001

Q1Q0Q2

1 X X 1

1 X X 0

00 01 11 1001

Q1Q0Q2

J2 J1

J0

K2

K1

Page 137: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

111

110

010

011

000 001

101 100

ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ

Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

0 0 0 0 0 1 0 X 0 X 1 X

0 0 1 0 1 0 0 X 1 X X 1

0 1 0 0 1 1 0 X X 0 1 X

0 1 1 1 0 0 1 X X 1 X 1

1 0 0 1 0 1 X 0 0 X 1 X

1 0 1 0 0 0 X 1 0 X X 1

1 1 0 0 0 0 X 1 X 1 0 X

1 1 1 0 0 0 X 1 X 1 X 1

0 0 1 0

X X X X

00 01 11 1001

Q1Q0Q2

X X X X

0 1 1 1

00 01 11 1001

Q1Q0Q2

0 1 X X

0 0 X X

00 01 11 1001

Q1Q0Q2

X X 1 0

X X 1 1

00 01 11 1001

Q1Q0Q2

1 X X 1

1 X X 0

00 01 11 1001

Q1Q0Q2

J2 J1

J0

K2

K1 J2=Q1Q0 K2=Q0+Q1

J1=Q2’Q0 K1=Q2+Q0

J0=Q2’+Q1’ K0=1=(Q2Q1)’

Page 138: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

J2=Q1Q0 K2=Q0+Q1

J1=Q2’Q0 K1=Q2+Q0

J0=Q2’+Q1’ K0=1=(Q2Q1)’

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

5V

5V

1J 1Q

~1Q1K

~1CLR

1CLK

~1PR

FF2 FF1 FF0

J2 Q2 J1 Q1 J0 Q0

K2 Q2’ K1 Q1’ K0 Q0’

Page 139: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 3. Σχεδίαση με RS FF και δεδομένο STT• Δεδομένου ενός STT και με δεδομένες τις κωδικοποιήσεις καταστάσεων, το μόνο που

χρειάζεται να κάνουμε είναι να λάβουμε υπ’ όψιν μας το πίνακα διέγερσης του RS FF

• Προσοχή ότι στον STT υπάρχουν επιπλέον αχρησιμοποίητες καταστάσεις

Page 140: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 3 - 2• Ακολουθεί η απλοποίηση συναρτήσεων. Ο μεγάλος αριθμός αδιάφορων όρων διευκολύνει

αρκετά την εκτενή απλοποίηση.

Page 141: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 3 - 3

• Και φυσικά η υλοποίηση του κυκλώματος :

Page 142: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 4 : Πιο δύσκολη η λεκτική περιγραφή !!!• Σχεδιάστε ένα σύγχρονο ακολουθιακό κύκλωμα με δύο εισόδους Χ και Y και μία έξοδο Ζ. Η

έξοδος θα πρέπει να είναι στο 1 αν ο αριθμός των 1 στις Χ και Υ από την αρχή του χρόνου είναι πολλαπλάσιο του 4. Σε κάθε άλλη περίπτωση η έξοδος είναι 0.

• Κωδικοποίηση κατά Gray !

Page 143: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 4 -2

• Απλοποίηση με χάρτες Karnaugh

Page 144: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 5 : String Recognizer !!!

• Σχεδιάστε ένα σύγχρονο ακολουθιακό κύκλωμα που ανιχνεύει μια ακολουθία από τρία ή περισσότερα 1 στη σειριακή είσοδό του.

Page 145: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 5 -2

• Υλοποίηση :

Page 146: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜΕΡΟΣ ΙII

ΕΦΑΡΜΟΓΕΣ ΤΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ –

ΑΚΟΛΟΥΘΙΑΚΑ MSI

Page 147: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Κλυδωνισμός διακοπτών (switch bouncing)• Πολύ συνηθισμένη εφαρμογή των απλών δισταθών κυκλωμάτων και των latches• Aς υποθέσουμε το ακόλουθο σχηματικό για ένα μονοπολικό διακόπτη μιας επαφής

• Η pull-up αντίσταση έχει σημαντικά μεγάλη τιμή. • Όταν ο διακόπτης δεν είναι πατημένος η γραμμή SW_L βρίσκεται σε ψηλό

δυναμικό και η έξοδος στο 0• Όταν πατηθεί ο διακόπτης η SW_L αποφορτίζεται μέσω του μονοπατιού χαμηλής

αντίστασης.• Πρόβλημα : Όταν πατηθεί ο διακόπτης δε μένει σταθερά σε αυτή τη θέση αλλά

αναπηδά (κλυδωνίζεται) μέχρι να σταθεροποιηθεί τελικά.

Page 148: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Κλυδωνισμός διακοπτών (switch bouncing) - 2• Για κάθε πάτημα του διακόπτη

υπάρχουν αρκετές μεταβάσεις• Η περίοδος του κλυδωνισμού

είναι 10 – 20 ms.• O κλυδωνισμός μπορεί να

είναι ανεπιθύμητος (π.χ. ψηφιακά χρονόμετρα).

• Αρα απαιτείται κάποιο κύκλωμα για τον αποκλυδωνισμό

• Το κύκλωμα αυτό πρέπει να θυμάται ότι ο διακόπτης έκλεισε έστω και στιγμιαία.

• Συνεπώς ψάχνουμε ένα ακολουθιακό κύκλωμα.

Page 149: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Αποκλυδωνισμός διακοπτών (debouncing)• Oταν ο διακόπτης είναι στο 1

έχουμε την κάτω έξοδο στο 1 και 0 στο OUT.

• Γύρισμα του διακόπτη στο 2 θα δώσει 0 στην είσοδο της πάνω ΝΑΝD με αποτέλεσμα η έξοδος να πάει στο 1 και η εφαρμογή δύο 1 στην κάτω NAND να "κλειδώσει" αυτή τη κατάσταση στο μανδαλωτή.

• Η έξοδος ΟUT θα πάει στο 1 ανεξάρτητα από τις αναπηδήσεις του διακόπτη στη θέση 2.

• Η έξοδος μπορεί να γίνει πάλι 0 μόνο αν ο διακόπτης επιστρέψει στο 1.

Page 150: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Καταχωρητές

• Καταχωρητής είναι κάθε συλλογή δύο ή περισσοτέρων D στοιχείων με κοινό σήμα ρολογιού.

• Χρησιμοποιούνται κατά κόρο στα σημερινά ψηφιακά συστήματα για την αποθήκευση συλλογών δυαδικών ψηφίων που συνδέονται μεταξύ τους, όπως για παράδειγμα ενός byte δεδομένων.

• Ενας καταχωρητής n-δυαδικών ψηφίων έχει n DFFs.• Πέρα από τη καταχώρηση των ψηφίων στα FFs, ένας καταχωρητής μπορεί να

περιλαμβάνει έναν αριθμό από συνδυαστικές πύλες που υλοποιούν κάποια επεξεργασία των δεδομένων.

Page 151: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παραδείγματα ολοκληρωμένων καταχωρητών

• Το 74175 είναι ένας καταχωρητής 4 δυαδικών ψηφίων.

• Υπάρχει μια κοινή είσοδος ρολογιού και μια κοινή είσοδος ασύγχρονου καθαρισμού.

• Το κύκλωμα παρέχει για κάθε flip flop τόσο το Q όσο και το ~Q.

• To 74174 είναι ένας εντελώς αντίστοιχης δομής καταχωρητής 6 δυαδικών ψηφίων στον οποίο όμως δε παρέχονται τα ~Qs.

Page 152: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Καταχωρητές με επίτρεψη εξόδου

• Ο καταχωρητής ενεργοποιείται με την ανοδική ακμή του ρολογιού.

• Όταν η κοινή γραμμή ΟΕ_L είναι στο λογικό 1 τότε όλοι οι buffers τριών καταστάσεων οδηγούνται στην κατάσταση υψηλής εμπέδησης.

Page 153: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Κι άλλα ολοκληρωμένα κυκλώματα

• 74373 : Αντίστοιχο του 74374 μόνο που αντί για D FF το ολοκληρωμένο διαθέτει 8 D latches

• Oι έξοδοί του ακολουθούν τις αντίστοιχες εισόδους καθ’ όλη τη διάρκεια που το C είναι ενεργό.

• 74273 : Αντίστοιχο του 74175, δηλαδή διαθέτει ασύγχρονη είσοδο καθαρισμού, αλλά όχι είσοδο τριών καταστάσεων της εξόδου. Επιπλέον, είναι καταχωρητής των 8 δυαδικών ψηφίων.

Page 154: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Κι άλλο ένα !

• 74377 : Διαθέτει είσοδο ελέγχου της φόρτωσης.• Όταν ΕΝ_L είναι στο 1, τότε στην είσοδο D κάθε flip flop περνάει η προηγούμενη

έξοδός του. Συνεπώς απαγορεύουμε στον καταχωρητή να αλλάξει κατάσταση.• Αντίθετα όταν ΕΝ_L είναι στο 0, η φόρτωση γίνεται κανονικά από τις γραμμές

δεδομένων με κάθε ανοδική ακμή το ρολογιού.

Page 155: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Προβλήματα ρολογιού : πρώτες σκέψεις

Page 156: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Καταχωρητές ολίσθησης (shift registers)

• Στη περίπτωση σειριακής εξόδου, το δεδομένο εισόδου εμφανίζεται στη σειριακή έξοδο ν παλμούς ρολογιού αργότερα.

• Στην περίπτωση της παράλληλης εξόδου, μπορούμε να μιλάμε για ένα κύκλωμα που πραγματοποιεί serial 2 parallel conversion.

Page 157: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Parallel 2 serial shift register

• Μπορούμε να μιλάμε για ένα κύκλωμα που πραγματοποιεί parallel 2 serial conversion.

• Mπορούμε να προσθέσουμε και παράλληλη έξοδο, οπότε προκύπτει ένα κύκλωμα ικανό να καλύψει όλες τις εφαρμογές των καταχωρητών ολίσθησης.

Page 158: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜSI Shift Registers

Page 159: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

74194 : Καταχωρητής ολίσθησης γενικού σκοπού

Page 160: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

74299 : Καταχωρητής ολίσθησης γενικού σκοπού 8 δυαδικών ψηφίων

Page 161: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σειριακή μετάδοση

Page 162: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σειριακή πρόσθεση (Θεός φυλάξει)

Page 163: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μετρητές

• Υπάρχουν δύο βασικά είδη μετρητών : οι σύγχρονοι και οι ριπής (κυμάτωσης).

• Στους σύγχρονους όλα τα FFs οδηγούνται από το ίδιο σήμα χρονισμού.

• Στους ριπής αντίθετα η αλλαγή στην έξοδο ενός FF προκαλεί την αλλαγή του επόμενου που με τη σειρά του προκαλεί αλλαγή στο μεθεπόμενο κ.ο.κ.

Page 164: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μετρητές Κυμάτωσης : η βασική ιδέα

• Πρόβλημα οι ενδιάμεσες τιμές μέχρι την αποκατάσταση της τελικής.

Page 165: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μετρητές Κυμάτωσης για ΒCD

Page 166: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διαδοχική Σύνδεση Μετρητών

Page 167: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μειονεκτήματα Μετρητών Ριπής

Page 168: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σύγχρονοι Μετρητές : Βασικές αρχές

• Η πολικότητα της ακμής διέγερσης (θετική ή αρνητική ακμοπυροδότηση) σε αυτή τη περίπτωση δε παίζει ιδιαίτερο ρόλο. Στους μετρητές ριπής όμως καθορίζει τη φορά της μέτρησης !!!

• Εκτός από είσοδο επίτρεψης, μπορεί να έχουμε δυνατότητες για παράλληλη φόρτωση ή / και μέτρηση προς τα πάνω ή προς τα κάτω.

Page 169: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μέτρηση προς τα πάνω ή προς τα κάτω

Page 170: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράλληλη φόρτωση

Page 171: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράλληλη φόρτωση - 2

Ο τετράμπιτος μετρητής μπορεί να χρησιμοποιηθεί ως βάση για τη δημιουργία οποιουδήποτε μετρητή. Για παράδειγμα, ο μετρητής των 8 bits προκύπτει αν

συνδέσουμε το κρατούμενο εξόδου του μετρητή χαμηλότερης σημαντικότητας στην είσοδο μέτρησης του μετρητή υψηλότερης σημαντικότητας.

4 bits1 4 bits 4 bits...

Page 172: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Δημιουργία μετρητών modulo – m από σύγχρονους δυαδικούς μετρητές

Page 173: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα : Σύγχρονος ΒCD counter

Page 174: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Counters που υπερπηδάνε καταστάσεις

Page 175: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Counters που υπερπηδάνε καταστάσεις - 2

• Στη περίπτωση αυτή ήμασταν τυχεροί μιας και ο σχεδιασμός μας είναι αυτοδιορθούμενος.

• Αλλιώς θα πρέπει να εφαρμόσουμε στρατηγική ελάχιστου κινδύνου κατά την απλοποίηση των συναρτήσεων.

Page 176: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μετρητές Δακτυλίου

Page 177: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μετρητές Δακτυλίου - 2

Page 178: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μετρητές Johnson

διπλασιάζεται

• Για την αποκωδικοποίηση χρειάζονται μόνο πύλες 2 εισόδων!

• Μειονέκτημα: Αν μπει σε κάποια από τις αχρησιμοποίητες καταστάσεις δεν μπορεί να βγει.

• Μπορεί ωστόσο να τροποποιηθεί το κύκλωμα εύκολα ώστε να πάρουμε ένα αυτοδιορθούμενο.

Page 179: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜSI Μετρητές : 74163

Page 180: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜSI Μετρητές : 74163 -2

Page 181: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜSI Μετρητές : 74163 –3 – Διαδοχική σύνδεση

Page 182: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜSI Μετρητές : Αλλοι μετρητές

• 74163 : ο πιο δημοφιλής 4-bit μετρητής αλλά και πλήρως σύγχρονος

• 74161 : Ακριβώς ίδιος με τον 74163, ίδια διάταξη ακροδεκτών αλλά η γραμμήκαθαρισμού είναι ασύγχρονη

• 74160 και 74162 : Δεκαδικοί μετρητές. Η ακολουθία στην έξοδό τους δηλαδήπερνάει από τις καταστάσεις 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, …

• Προσέξτε ότι τα πλέον σημαντικά bits αυτών των μετρητών παρότι έχουνσυχνότητες ίσες με το 1/5 και το 1/10 της αρχικής, δεν έχουν 50 – 50 κύκλο. Με άλλαλόγια οι έξοδοι αυτοί δε βρίσκονται το μισό του χρόνου τους στο 1 και το άλλο μισόστο 0

• Το πιο σημαντικό bit βρίσκεται μόλις 2/10 στο 1 και 8/10 στο 0, ενώ το αμέσωςλιγότερης σημαντικότητας δυαδικό ψηφίο μόλις 4/10 στο 1 και 6/10 στο 0.

• Το πρόβλημα μπορεί να λυθεί φτιάχνοντας μετρητές με ακολουθία 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 3, 4, … (excess-3 BCD counters) από 74163 ολοκληρωμένα.

• 74169 : Ιδιος με τον 163, αλλά up/down !

Page 183: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Προβλήματα Ρολογιού : Μια πιο προσεκτική ματιά• Ιδεατά κάθε flip flop θα πρέπει την ακμή ενεργοποίησης την ίδια στιγμή.• Αλλιώς :

• Η διαφορά στους χρόνους άφιξης του ρολογιού σε διαφορετικές διατάξεις ονομάζεται απόκλιση ρολογιού (clock skew).

• Στο παραπάνω παράδειγμα η αλλαγή της Q1 φτάνει πιο γρήγορα στο 2ο flip flop από την αντίστοιχη ακμή.

• Αρα το Q2 μπαίνει σε μια λανθασμένη κατάσταση αφού δειγματοληπτείται όχι η τρέχουσα, αλλά η επόμενη κατάσταση του Q1.

• tff(min) + tcomb(min) > thold + tskew

Page 184: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Οδήγηση ρολογιού • Σε ένα μεγάλο σύστημα ένα μόνο σήμα ρολογιού μπορεί να μην έχει την

απαραίτητη οδηγητική ικανότητα. • Χρειάζεται συνεπώς να δημιουργήσουμε πολλά αντίγραφά του.

• Ο πρώτος τρόπος είναι απαράδεκτος μιας και εισάγει απόκλιση ρολογιού όση και η καθυστέρηση του buffer.

• Στη δεύτερη περίπτωση πρέπει όλες οι πύλες που χρησιμοποιούμε να ανήκουν στο ίδιο ολοκληρωμένο κύκλωμα ώστε να έχουν όλοι παρόμοια χαρακτηριστικά καθυστέρησης και να λειτουργούν σε ίδια τάση και θερμοκρασία.

• Αυτό δε σημαίνει ότι έτσι λύσαμε το πρόβλημα, αφού μπορεί ένα από τα 3 παράγωγα σήματα να έχει σημαντικά μεγαλύτερο φορτίο οδήγησης από ότι τα άλλα δύο.

Page 185: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Δρομολόγηση ρολογιού

Page 186: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜΕΡΟΣ ΙV

VERILOG ΓΙΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Page 187: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Όσα μάθαμε στο 1ο εξάμηνο…

– Ισχύουν στο ακέραιο και για τα ακολουθιακά κυκλώματα.– Θα μπορούσαμε για παράδειγμα να περιγράψουμε το D latch :

Q'

Q

D

C(clk)

module Dlatch (D, C, Q, nQ);input D, C;output Q, nQ; not i0 (nD, D);nand i1 (T, C, D);nand i2 (nT, C, nD);nand i3 (Q, nQ, T);nand i4 (nQ, Q, nT);

endmodule

Page 188: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Όσα μάθαμε στο 1ο εξάμηνο…

– Kαι χρησιμοποιώντας το να φτιάξουμε D FF :

module Dlatch (D, C, Q, nQ);input D, C;output Q, nQ;

not i0 (nD, D);nand i1 (T, C, D);nand i2 (nT, C, nD);nand i3 (Q, nQ, T);nand i4 (nQ, Q, nT);

endmodule

D

C

Q D

C

QD

CLK

Q' Q'MASTER SLAVE

module FF_D (D, CLK, q, nq);input D, CLK;output q, nq;

Dlatch i0 (D, ~CLK, Masterq, );Dlatch i1 (Masterq, CLK, q, nq);

endmodule

Page 189: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Όσα μάθαμε στο 1ο εξάμηνο…

– Kαι χρησιμοποιώντας το να φτιάξουμε ακολουθιακά κυκλώματα :

module Dlatch (D, clk, Q, nQ);…

endmodule

module FF_D (D, CLK, q, nq);…endmodule

module SAK (A, B, CLK, Y);input A, B, CLK;output Y;

FF_D ff1 ( B, CLK, Q1, );FF_D ff0 ( (Q1|B) & A, CLK, Q0, );assign Y = Q1 ~^ Q0;

endmodule

Page 190: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Όμως…

– Η Verilog δε δημιουργήθηκε για structural περιγραφές, γιατί αυτές: • Είναι χρονοβόρες• Εξομοιώνονται πολύ πιο αργά.

– Στα συνδυαστικά κυκλώματα είδαμε behavioral περιγραφές που :• Είναι σαφώς πιο μικρές σε κώδικα• Εξομοιώνονται πολύ πιο γρήγορα.• Η ίδια περιγραφή οδηγεί σε διαφορετικά τελικά κυκλώματα ανάλογα με τις

απαιτήσεις μας.– Υπάρχουν behavioral περιγραφές για ακολουθιακά στοιχεία και κυκλώματα ? – Ναι ( ) και θα τις διερευνήσουμε αμέσως μετά.– To πιο σημαντικό τους πλεονέκτημα όμως δε το έχουμε καν φανταστεί ακόμη.– Η περιγραφή βάσει της συμπεριφοράς μας επιτρέπει να σταματάμε την

ανάπτυξη κώδικα ακόμα και στο επίπεδο του FSM !– Χρειαζόμαστε ωστόσο λίγη θεωρία πίσω από τη φιλοσοφία μιας HDL για να τα

κατανοήσουμε όλα αυτά.

Page 191: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Λίστα ευαισθησίας εντολής

– Aς θεωρήσουμε την εντολή assign S = A^B^C;

– Πότε εκτελείται αυτή η εντολή ?– Θυμηθείτε ότι δεν υπάρχει ακολουθιακή σειρά εκτέλεσης των

εντολών.– Το πάντοτε δεν είναι επίσης σωστή απάντηση, γιατί αν τα πάντα

εκτελούνταν πάντοτε δε θα μπορούσαμε να φτιάξουμε ένα πρόγραμμα εξομοίωσης.

– Η εντολή εκτελείται μόνο όταν αλλάζουν τιμή οι μεταβλητές που βρίσκονται στο δεξί μέρος της ανάθεσης.

– Συνεπώς η εντολή είναι ευαίσθητη στις αλλαγές αυτών των σημάτων ή αλλιώς τα σήματα αυτά είναι η λίστα ευαισθησίας της εντολής.

Page 192: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Λίστα ευαισθησίας ομάδων εντολών

– Μπορεί μια ομάδα εντολών να έχει λίστα ευαισθησίας ? – Αφού όλη η ομάδα εντολών ενεργοποιείται ταυτόχρονα πως

καθορίζεται η σειρά εκτέλεσης κατά την ενεργοποίηση αυτών των εντολών ?

– H σειρά εκτέλεσης εντός μιας ομάδας εντολών με κοινή λίστα ευαισθησίας γίνεται σύμφωνα με το παράλληλο ή το ακολουθιακόμοντέλο !

– Ο προγραμματιστής - σχεδιαστής επιλέγει μεταξύ blocking και non-blocking τρόπου

• = blocking (assignment). Ακολουθιακό μοντέλο. H εκτέλεση των επόμενων εντολών μπλοκάρεται μέχρι την εκτέλεση αυτού του assignment !

• <= non-blocking (assignment). Παράλληλο μοντέλο. H εκτέλεση των επόμενων εντολών γίνεται παράλληλα με τη τρέχουσα !

Page 193: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Always block / statement

module and2behav (A, B, out);input A, B;output out ;reg out ; // Αγνοήστε το προς το παρόνalways @ (A or B)begin // Ομάδα εντολών με λίστα ευαισθησίας Α, Β

out = A and B;end

endmodule

Λίστα ευαισθησίας

Page 194: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Always block / statement

module muxbeh2 (A, B, select, out);input A, B, select;output out ;reg out ; // Αγνοήστε το προς το παρόνalways @ (A or B or select)

// Ομάδα εντολών με λίστα ευαισθησίας Α, Β, selectif (select) out = A;else out = B;

endmodule

Λίστα ευαισθησίας

Βlocking assignments

Page 195: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Blocking vs non-blocking !!!

always @ (b)begin

a = #2 b;c = #2 b;

endendmodule

always @ (b)begin

a <= #2 b;c <= #2 b;

endendmodule

Page 196: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Αlways statements - 2

– Kάθε μεταβλητή αριστερά των assignments πρέπει να δηλωθεί σα reg ακόμα κι όταν στη πραγματικότητα έχει άλλο τύπο.

– Όταν περιγράφουμε συνδυαστικά κυκλώματα θα πρέπει να καλύπτουμε όλες τις περιπτώσεις στις if-then-else δομές μας.

– Εναλλακτικά θα πρέπει να υπάρχει ένα τελικό else χωρίς συνθήκη.– Θυμηθείτε :

• Εντός ενός always statement η υπονοούμενη εκτέλεση είναι ακολουθιακή / παράλληλη.

• Όλα τα always statements όμως, εκτελούνται παράλληλα.– Μια μεταβλητή μπορεί να υπάρχει στο αριστερό μέρος αναθέσεων

μόνο σε ένα always block !!!– Καλύτερα να μη χρησιμοποιείτε always statements όταν θέλετε να

περιγράψετε συνδυαστική λογική.

Page 197: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Περιγραφή βάσει της συμπεριφοράς

• Initial statement• Always statement

initialbegin

clock =1’b0;repeat (30)#10 clock = ~clock;

end

initialbegin

clock =1’b0;#300 $finish();

end

always #10 clock = ~clock;

Page 198: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Λίστα ευαισθησίας ενός always statement

always

always @ ( or or )

always @ posedge or negedge )

Page 199: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Εντολές ανάθεσης εντός του always / initial statement

assign =

Page 200: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Περιγραφές για latches και flip flopsmodule latch (din, clock, q, qb);

input din, clock;output q, qb;reg q, qb;

always @(clock or din)if (clock)begin

q <= din;qb <= ~din;

endendmodule

module dff (din, clock, q);input din, clock;output q;reg q;

always @(posedge clock)q <= din;

endmodule

module dff (din, clock, q, clear);input din, clock, clear ;output q;reg q;

always @(posedge clock or negedge clear)if (~clear) q<=1’b0; else q <= din;

endmodule

module dff (din, clock, q, clear);input din, clock, clear ;output q;reg q;

always @(posedge clock)if (~clear) q<=1’b0; else q <= din;

endmodule

Page 201: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Περιγραφές για τα υπόλοιπα flip flops

module dff (din, clock, q, clear);input din, clock, clear ;output q;reg q;

always @(posedge clock)if (~clear) q<=1’b0; else q <= din;

endmodule

module TFF (Q,T,CLK,RST);

output Q;

input T,CLK,RST;

wire DT;

assign DT = Q ^ T ;

dff TF1 (DT,CLK,Q,RST);

endmodule

module JKFF (Q,J,K,CLK,RST);

output Q;

input J,K,CLK,RST;

wire JK;

assign JK = (J & ~Q) | (~K & Q);

dff JK1 (JK,CLK,Q,RST);

endmodule

Page 202: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Περιγραφές για τα υπόλοιπα flip flops

module JK_FF (J,K,CLK,Q,Qnot);

output Q,Qnot;

input J,K,CLK;

reg Q;

assign Qnot = ~ Q ;

always @ (posedge CLK)

case ({J,K})

2'b00: Q = Q;

2'b01: Q = 1'b0;

2'b10: Q = 1'b1;

2'b11: Q = ~ Q;

endcase

endmodule

Page 203: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Περιγραφή μιας FSM με HDL

κ δύο μεταβλητές τύπου reg

η κάθε μία τουλάχιστον log2k 3 (2)

• Eνα που περιγράφει την ακολουθιακή λογική του κυκλώματός μας

• Ένα που περιγράφει τη συνδυαστική λογική του κυκλώματός μας

• (Μόνο στις μηχανές Μealy) Ένα που βάσει της τρέχουσας κατάστασης και των εισόδων καθορίζει τη τιμή των εξόδων

Page 204: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 1always @ (Prstate or x)

case (Prstate)

S0: if (x) Nxtstate = S1;

S1: if (x) Nxtstate = S3; else Nxtstate = S0;

S2: if (~x)Nxtstate = S0;

S3: if (x) Nxtstate = S2; else Nxtstate = S0;

endcase

always @ (Prstate or x)

case (Prstate)

S0: y = 0;

S1: if (x) y = 1'b0; else y = 1'b1;

S2: if (x) y = 1'b0; else y = 1'b1;

S3: if (x) y = 1'b0; else y = 1'b1;

endcase

endmodule

module Mealy_mdl (x,y,CLK,RST);

input x,CLK,RST;

output y;

reg y;

reg [1:0] Prstate, Nxtstate;

parameter S0 = 2'b00, S1 = 2'b01,

S2 = 2'b10, S3 = 2'b11;

always @ (posedge CLK or negedge RST)

if (~RST) Prstate = S0; else Prstate = Nxtstate;

Page 205: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 2 – Αχρησιμοποίητες Καταστάσεις

1/110

A B C D E F

0/0001/100

0/000

1/100 1/101 1/110

?/101

0/010

0/000

0/010

always @ (i or cstate)case (cstate)

A : beginnstate = (i ==0) ? A : B;out = (i==0)? 3'h0 : 3'h4;

endB : begin

nstate = (i ==0) ? A : C;out = (i==0)? 3'h0 : 3'h4;

end...

module fsm (i, clock, reset, out);input i, clock, reset;output [2:0] out;reg [2:0] out;reg [2:0] cstate, nstate;

parameter [2:0] A=0, B=1, C=2, D=3, E=4, F=5;

F : beginnstate = D; out = 3'h5;

enddefault : begin

nstate = A; out = 3'hX;end

endcase

always @(posedge clock or negedge reset)if (~reset) cstate <= A;

else cstate <= nstate;

endmodule

Page 206: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα 3 – Μηχανή Μοοremodule Moore_mdl (x,AB,CLK,RST);

input x,CLK,RST;

output [1:0] AB;

reg [1:0] state;

parameter S0 = 2'b00, S1 = 2'b01, S2 = 2'b10, S3 = 2'b11;

always @ (posedge CLK or negedge RST)

if (~RST) state = S0; else

case (state)

S0: if (~x) state = S1;

S1: if (x) state = S2; else state = S3;

S2: if (~x) state = S3;

S3: if (~x) state = S0;

endcase

assign AB = state;

endmodule

Page 207: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Verilog και καταχωρητές ολίσθησης

moduleinput //Select inputsinput //Serial inputsinput //Clock and Clearinput //Parallel inputoutput //Register outputregalways @ (posedge or negedge )ifelsecase ({ })

//No change//Shift right//Shift left//Parallel load input

endcaseendmodule

Page 208: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Verilog και σύγχρονοι μετρητές

moduleinputinput //Data inputoutput //Output carryoutput //Data outputregassign & &always @ (posedge or negedge )ifelse ifelse ifelse A = A // no change, default condition

endmodule

Page 209: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

module str1011recognition2 (i, recognised, clk, reset);

input i, clk, reset;output recognised;reg recognised;reg [1:0] cstate;reg [1:0] nstate;parameter [1:0] S0=0, S1=1, S2=2, S3=3;always @(i or cstate)case (cstate)

S0 : beginnstate = (i==0)? S0 : S1;recognised = 0;

endS1 : begin

nstate = (i==1)? S1 : S2;recognised = 0;

end

Misconceptions : FSM is the best solution always :(

S2 : beginnstate = (i==0)? S0 : S3;recognised = 0;

endS3 : begin

nstate = (i==1)? S1 : S2;recognised = (i==1)? 1 : 0;

endendcase

always @(posedge clk or posedge reset)if (reset) cstate <= S0;

else cstate <= nstate;endmodule

Mealy

Page 210: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Any other ideas ?

What about serial to parallel and a simple comparator ?

module str1011recognition1 (i, recognised, clk, reset);input i, clk, reset;output recognised;

reg [3:0] cons4inputs;

always @(posedge clk or posedge reset)if (reset) cons4inputs <= 4'h0;else cons4inputs[3:0] <= {cons4inputs[2:0], i};

assign recognised = (cons4inputs==4'b1011) ? 1'b1 : 1'b0;endmodule

Page 211: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μέγιστη συχνότητα λειτουργίας ακολουθιακού κυκλώματος

• ΥποθέσειςFF1 FF2

clk

• Χειρότερη καθυστέρηση = Aθροισμα των– Propagation FF1– Xειρότερο μονοπάτι του συνδυαστικού κυκλώματος– Setup time FF2

• Συχνότητα λειτουργίας = 1 / Χειρότερη καθυστέρηση

Page 212: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Comparisons !!!

1. FSM requires 2 FF. Serial to parallel requires 4.

2. The control logic in FSM is more complex than the non-existing one in S2P.

3. Frequency in FSM determined by max { RE CLK -> Q + Control + setup, RE CLK -> Q + logic for combinational outputs}. Usually the first is the dominant factor.

4. Frequency in S2P : RE CLK -> Q + 4-input AND

No more guesses !!! Synthesized both in .5 micron :

FSM : 38 equivalent gates, 640.1 MHzS2P : 45 equivalent gates, 970.6 MHz

Page 213: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜΕΡΟΣ V

ΗΜΙΑΓΩΓΙΚΕΣ ΜΝΗΜΕΣ & Η ΧΡΗΣΗ ΤΟΥΣ ΩΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ

ΛΟΓΙΚΗ

Page 214: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διατάξεις Μνήμης

• Ένα flip flop ή ένα latch μας προσφέρουν την ικανότητα αποθήκευσης ενός δυαδικού ψηφίου• Στη πράξη χρειαζόμαστε να αποθηκεύουμε πολύ μεγαλύτερες ποσότητες πληροφορίας• Οι διατάξεις που χρησιμοποιούμε ονομάζονται διατάξεις μνήμης• Πριν την επεξεργασία κάποιας πληροφορίας αυτή ανακαλείται από τις διατάξεις μνήμης και

αποθηκεύεται σε κάποιους τοπικούς καταχωρητές.• Τα αποτελέσματα της επεξεργασίας μεταφέρονται και πάλι στη μνήμη.• Οι διατάξεις μνήμης που επιτρέπουν τη προσπέλαση οποιασδήποτε πληροφορίας εντός

του ίδιου χρόνου t, ονομάζονται διατάξεις τυχαίας προσπέλασης. Σειριακής προσπέλασης αντίθετα είναι εκείνες οι διατάξεις στις οποίες ο χρόνος προσπέλασης της πληροφορίας εξαρτάται από το ποια πληροφορία προσπελάστηκε προηγούμενα.

• Βασικές λειτουργίες σε μια μνήμη : εγγραφή (ανανέωση της αποθηκευμένης πληροφορίας) και ανάγνωση

• ROM : διάταξη μνήμης τυχαίας προσπέλασης φτιαγμένη με ημιαγωγικά στοιχεία που επιτρέπει μόνο ανάγνωση.

• RAM : διάταξη μνήμης τυχαίας προσπέλασης φτιαγμένη με ημιαγωγικά στοιχεία που επιτρέπει ανάγνωση και εγγραφή.

Page 215: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διατάξεις ROM

• H ROM είναι ένα προγραμματιζόμενο ολοκληρωμένο.• Ο προγραμματισμός μπορεί να γίνει :

– Μόνο μια φορά :• Στο εργοστάσιο (PROM)• Aπό το χρήστη (FPROM)

– Περισσότερες φορές με σβήσιμο των ήδη υπαρχόντων δεδομένων, με διάφορους τρόπους :

• Με ακτινοβολία (ΕPROM)• Mε ηλεκτρικές διατάξεις (ΕΕPROM – E2PROM)

– Tμηματικά• Flash• Paged flash

Page 216: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Βασικές δομές ROM

• Συνδυαστικό κύκλωμα ν εισόδων και β εξόδων• Είσοδοι = Διευθύνσεις. Εξοδοι = δεδομένα.• Η μνήμη ROM "αποθηκεύει" τον πίνακα αληθείας

οποιασδήποτε συνάρτησης με εισόδους ≤ είσοδοι της ROM και εξόδους ≤ έξοδοι της ROM.

• Ο διπλανός πίνακας αληθείας μπορεί να αποθηκευτεί σε μια ROM (8x4)

• Η ROM τελικά είναι μνήμη ή συνδυαστικό κύκλωμα ?

• Η ROM είναι nonvolatile !

Page 217: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Υλοποίηση συναρτήσεων με μνήμη• f1(x1, x2, x3, ..., xm), f2(x1, x2, x3, ..., xm), …, fn(x1, x2, x3, ..., xm)• Η υπόθεση ότι κάθε συνάρτηση είναι των ίδιων μεταβλητών είναι

απόλυτα λογική καθώς οποιαδήποτε λιγότερων μπορεί να μετατραπεί σεσυνάρτηση m μεταβλητών, όπου οι επιπλέον είναι αδιάφοροι.

• f(a,b,c) = ab + c• f΄(a,b,c,d) = (ab+c)1 = (ab+c) (d + !d) = abd + cd + ab!d + c!d

xm, xm-1, ...,x1 Address Bus

fn(0, 0, ...,0), fn-1(0, 0, ...,0), ..., f1(0, 0, ...,0)

fn(0, 0, ...,1), fn-1(0, 0, ...,1), ..., f1(0, 0, ...,1)

fn(1, 1, ...,0), fn-1(1, 1, ...,0), ..., f1(1, 1, ...,0)

fn(1, 1, ...,1), fn-1(1, 1, ...,1), ..., f1(1, 1, ...,1)

...

Data Busfn(xm, xm-1, ...,x1), fn-1(xm, xm-1, ...,x1), ..., f1(xm, xm-1, ...,x1)

Page 218: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Παράδειγμα υλοποίησης συναρτήσεων με μνήμη• f1(a) = a, f2(b, c) = bc, f3(a, b) = a + b• Aριθμός μεταβλητών m = 3• f'1(a, b, c) = abc + ab!c + a!bc + a!b!c,• f'2(a, b, c) = abc + !abc• f'3(a, b, c) = abc + ab!c + a!bc + a!b!c + !abc + !ab!c

a,b,c Address Bus

f1(0, 0, 0), f2(0, 0, 0), f3(0, 0, 0) = 000

f1(0, 0, 1), f2(0, 0, 1), f3(0, 0, 1) = 000

Data Busf1(a, b, c), f2(a, b, c), f3(a, b, c)

f1(0, 1, 0), f2(0, 1, 0), f3(0, 1, 0) = 001

f1(0, 1, 1), f2(0, 1, 1), f3(0, 1, 1) = 011f1(1, 0, 0), f2(1, 0, 0), f3(1, 0, 0) = 101

f1(1, 0, 1), f2(1, 0, 1), f3(1, 0, 1) = 101

f1(1, 1, 0), f2(1, 1, 0), f3(1, 1, 0) = 101

f1(1, 1, 1), f2(1, 1, 1), f3(1, 1, 1) = 111

a b c f΄1 f΄2 f΄3

0 0 0 0 0 00 0 1 0 0 00 1 0 0 0 10 1 1 0 1 11 0 0 1 0 11 0 1 1 0 11 1 0 1 0 11 1 1 1 1 1

Page 219: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Oι δύο υλοποιήσεις ενός συνδυαστικού κυκλώματος

• Οι δύο υλοποιήσεις είναι ισοδύναμες μόνο από λογικής πλευράς.• Από χρονικής πλευράς η ROM είναι αφενώς πιο αργή, αφετέρου παρέχει τον ίδιο χρόνο

απόκρισης ανεξάρτητα των εισόδων POL, I1 και Ι0.• Για κύκλωμα 4 μεταβλητών χρειαζόμαστε ROM 16 x Y. Για ένα 20 μεταβλητών 1Μ x Y !!!• Υλοποίηση με ROM συμφέρει :

– Για μικρά κυκλώματα λίγων εισόδων– Για να κρύψουμε τη πραγματική υλοποίηση.

Page 220: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πολλαπλασιασμός με ROM !

• Για τον πολλαπλασιασμό 2 αριθμών των 4 δ.ψ. θα μπορούσα να χρησιμοποιήσω μια ROM 256x8.

• Η διεύθυνση σχηματίζεται από τη συνένωση του πολλαπλασιαστή και του πολλαπλασιαστέου.

• Το αποτέλεσμα των 8 δ.ψ. είναι η έξοδος δεδομένων της ROM.• Στη θέση {Υ, Χ} στη ROM θα πρέπει να έχουμε αποθηκευμένη τη τιμή Y x X.• O προγραμματισμός γίνεται με ειδική συσκευή στην οποία δίνουμε τα δεδομένα με τη μορφή

πίνακα

Page 221: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Εσωτερικά σε μια ROM

Page 222: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Δισδιάστατη αποκωδικοποίηση : 128x1

Page 223: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Πιθανή διάταξη μιας 32K x 8

Page 224: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

MOS ROM

Page 225: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Γενική αρχιτεκτονική και κρίσιμοι χρόνοι μιας ROM

Page 226: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

LSI EPROMs

Page 227: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Φτιάχνοντας μεγαλύτερες ROMs από μικρότερες

Page 228: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Έχετε διαθέσιμα ολοκληρωμένα κυκλώματα (ΟΚ)αποκωδικοποιητών με είσοδο επίτρεψης, πολυπλεκτώνκαι μνήμης ROM των 2Kbit. Κάθε ΟΚ μνήμης έχειοργάνωση των 1024 θέσεων, με δύο δυαδικά ψηφία ανάθέση. Δώστε λογικά διαγράμματα δύο τουλάχιστονδιαφορετικών αρχιτεκτονικών που θα σχεδιάζατε για ναυλοποιήσετε μια μνήμη ROM 16Κ θέσεων με 1 δυαδικόψηφίο ανά θέση.

Page 229: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

OK7 OK6 OK5 OK4 OK3 OK2 OK1 OK0

Διεύθυνση[13:0]

Διεύθυνση[9:0]

Πολυπλέκτης 16 -> 1

Δεδομένο[1:0]

Δεδομένο[1:0]

Δεδομένο[1:0]

Δεδομένο[1:0]

Δεδομένο[1:0]

Δεδομένο[1:0]

Δεδομένο[1:0]

Δεδομένο[1:0]

Σήμα Επιλογής

CS CS CS CS CS CS CS CS

Διεύθυνση[13:10]

Δεδομένο

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Page 230: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διεύθυνση[13:0]

Σήμα Επιλογής

Δεδομένο

οκωδικοπ

οιητής 3 -> 8

Διεύθυνση[13:11]

CS

OK2

CS

OK0

CS OK1

CS

Σήμα Επίτρεψης

CS

OK6

CS

OK4

CS OK5

CS

OK3

CS

OK7

CS0

12

3

Διε

ύθυν

ση[1

0:1]

45

67

Πολ

υπλέ

κτης

2 ->

1

Δεδομένο[1:0]

Διε

ύθυν

ση[0

]

Page 231: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διατάξεις RAM• Oι διατάξεις αυτές επιτρέπουν τόσο την ανάγνωση όσο και την εγγραφή

(αποθήκευση) δεδομένων• Στις στατικές RAM (SRAM) η αποθηκευμένη πληροφορία παραμένει εκεί όσο

τροφοδοτείται με ρεύμα το ολοκληρωμένο κύκλωμα εκτός κι αν ξαναγίνει εγγραφή της συγκεκριμένης θέσης πληροφορίας.

• Στις δυναμικές RAM (DRAM) τα δεδομένα που είναι αποθηκευμένα σε κάθε θέση πρέπει να ανανεώνονται περιοδικά. Η ανανέωση έγκειται στην ανάγνωση και την εκ νέου εγγραφή των δεδομένων στην ίδια θέση.

• Κάθε ολοκληρωμένο RAM έχει εισόδους διευθύνσεων και ελέγχου και εξόδους δεδομένων. Επιπλέον των ROM υπάρχουν και οι είσοδοι των προς αποθήκευση δεδομένων.

• Στις εισόδους ελέγχου έχει προστεθεί η ~WE. Όταν είναι ενεργή έχουμε προσπέλαση εγγραφής. Σε κάθε άλλη περίπτωση έχουμε προσπέλαση ανάγνωσης.

Page 232: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Λειτουργίες και δομή κυψελίδας μιας RAM

• Aνάγνωση :1. Ενεργοποίηση ~CS, ενεργοποίηση ~ΟΕ2. Απενεργοποίηση ~WE3. Τοποθέτηση διεύθυνσης4. Διάβασμα των δεδομένων από τις γραμμές DOUT.

• Eγγραφή :1. Τοποθέτηση διεύθυνσης στις γραμμές διεύθυνσης και δεδομένων στις γραμμές DIN2. Eνεργοποίηση ~CS και ~WE.

Η λειτουργική συμπεριφορά μιας κυψελίδας SRAM μπορεί να αποδοθεί με το ακόλουθο κύκλωμα

Page 233: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Δομή μιας SRAM 8x4

Page 234: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Xρονισμοί μιας SRAM

Page 235: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

LSI SRAM

Page 236: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

DRAM - Γενικά• Aνάγνωση :

1. Προφόρτιση της bit line μεταξύ 0 και 1.2. Ενεργοποίηση της word line3. Ανάλογα με τη τάση στα άκρα του

πυκνωτή παρατηρείται ένα θετικό ή αρνητικό voltage swing

4. To swing ανιχνεύεται από έναν ενισχυτή• Eγγραφή

1. Ενεργοποίηση της word line

2. 1 / 0 στη bit line.• To τρανζίστορ έχει αντίσταση και συνεπώς η αποφόρτιση του πυκνωτή διαρκεί

κάποια mils. Σε αυτό το διάστημα χρειάζεται η ανανέωση της πληροφορίας του.

Page 237: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

DRAM – Δομή

Μια 64Κx1 μνήμη φτιάχνεται συνήθως με ένα πίνακα 256x256 κυψελίδων

Για την εξοικονόμηση ακροδεκτών υπάρχει χρονική πολυπλεξία διευθύνσεων πάνω στις 8 εισόδους A0-A7. Tα 16 bit διεύθυνσης εφαρμόζονται σε δύο οκτάδες, ανάλογα με τη τιμή των σημάτων RAS_L και CAS_L

Page 238: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

DRAM – Χρονισμός

Refresh

Aνάγνωση

Εγγραφή

Page 239: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μνήμη Μέγεθος (bytes)ROM1 4KROM2 4KRAM1 2KRAM2 2KRAM3 4KRAM4 8K

Χρησιμοποιώντας όλα τα ΟΚ που αναφέρονται στον πίνακα και επιπλέον κυκλώματα, να σχεδιάσετε αρχιτεκτονική συστήματος μνήμης έτσι ώστε να καλυφθούν όλες οι διευθύνσεις μνήμης από την αρχική (0000Η) έως εκείνη που ορίζεται από τη χωρητικότητα των ΟΚ που διαθέτετε. Τα ΟΚ να τοποθετηθούν στο πεδίο διευθύνσεων με τη σειρά που εμφανίζονται στον πίνακα. Δηλαδή, στο πρώτο πεδίο διευθύνσεων που ξεκινά από τη διεύθυνση 000016 να τοποθετηθεί η ROM1, στο αμέσως επόμενο η ROM2, κ.ο.κ.

Συγκεκριμένα:

Α. Δώστε πίνακα με τις διευθύνσεις μνήμης που καταλαμβάνονται από κάθε ΟΚ.

Β. Δώστε πίνακα με τις τιμές των ψηφίων που χρησιμοποιούνται για τη δημιουργία των σημάτων επιλογής των ΟΚ.

Γ. Σχεδιάστε την αρχιτεκτονική του συστήματος μνήμης.

Page 240: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μνήμες στη Verilogmodule memory (Enable,ReadWrite,Address,DataIn,DataOut);

input Enable,ReadWrite;

input [3:0] DataIn;

input [5:0] Address;

output [3:0] DataOut;

reg [3:0] DataOut;

reg [3:0] Mem [0:63]; //64 x 4 memory

always @ (Enable or ReadWrite)

if (Enable)

if (ReadWrite) DataOut = Mem[Address]; //Read

else Mem[Address] = DataIn; //Write

else DataOut = 4'bz; //High impedance state

endmodule

Page 241: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

ΜΕΡΟΣ VI

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΑ ΟΛΟΚΛΗΡΩΜΕΝΑ(Programmable Logic Devices – PLDs)

Page 242: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

PLDs = Programmable Logic DevicesΠρώτα PCBs περιείχαν SSI + διάκριτα

Μεγαλύτερη πολυπλοκότητα => περισσότερα layers => > κόστος

Μεγαλύτερη πολυπλοκότητα => μεγαλύτερο εμβαδό πλακέτας => μη ικανοποίηση standards

Aντιγραφή = piece of cake !

Aξιοπιστία => κοντά στο 0.

Ανάγκη για ολοκληρωμένα που θα αντικαθιστούσαν ομάδες από SSI και θα παρείχαν κάποιοείδος προστασίας από αντιγραφή => welcome PLDs

Σήμερα υπάρχουν εκατομμύρια διαφορετικά PLDs και πάμπολλες φιλοσοφίες σχεδιασμούτους.

Τα πάντα ξεκίνησαν και (με μια μικρή διακοπή) συνεχίζονται βάσει της ίδιας πάντα ιδέας, την

"ΥΛΟΠΟΙΗΣΗ ΣΥΝΔΥΑΣΤΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕ ΜΝΗΜΗ".Πήραμε ήδη μια πρώτη γεύση, με την υλοποίηση συνδυαστικών κυκλωμάτων με EPROM

Page 243: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Mειονεκτήματα

• H απαιτούμενη μνήμη μεγαλώνει εκθετικά με τον αριθμό τωνμεταβλητών.

• Αντίστοιχα μεγαλώνει και ο χρόνος απόκρισης.

• Υποστηρίζονται μόνο συνδυαστικά κυκλώματα. (Γιατί άραγε ? Ταακολουθιακά στοιχεία είναι στοιχεία μνήμης !).

• Προγραμματισμός μόνο 1 φορά στο εργοστάσιο στη περίπτωση τωνROM. Αυτό αφενώς καθιστά αλλαγές πολύ δαπανηρές, αφετέρου οχρόνος κατασκευής είναι εξαιρετικά μεγάλος.

Page 244: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Μήπως φταίει η φιλοσοφία μας ?

• Στις (ΕΕP) ROMs αποθηκεύω το πίνακα αληθείας, εκθετικό σε σχέση με τα inputs.Υπάρχει καλύτερη λύση ?

• Νέα σκέψη => Αφού κάθε συνάρτηση μπορεί να εκφραστεί μοναδικά σα SOP =>– Φτιάξε PLDs που να παρέχουν πολλά (ίσως και όλα) από τα πιθανά Products

(ελαχιστόροι).– Φτιάξε PLDs που να παρέχουν πολλούς (ίσως και όλους) τους πιθανούς συνδυασμούς σε

αθροίσματα (Sums) των Products– Δώσε την ευκαιρία στον σχεδιαστή να χρησιμοποιεί όσους από τους πόρους του

διαθέτεις μέσω του καψίματος (προγραμματισμού) ασφαλειών.

• Πόσα products θα χρειαστώ ? Αν όλα καταλήγω πάλι στο εκθετικό !– Μελέτες έδειξαν ότι σπάνια χρειαζόμαστε όλους τους ελαχιστόρους !– Ναι αλλά πως επιλέγω πόσους θα υλοποιήσω (το ποιους δεν έχει σημασία αφού μπορώ

να το λύσω με αντιμετάθεση των μεταβλητών) ?– Απάντηση : Βάλε όσους σου επιτρέπει η τεχνολογία και δώσε στο χρήστη τη δυνατότητα

να χρησιμοποιεί όσους πραγματικά χρειάζεται.– Πάλι πρόβλημα : Διαφορετικές εκφράσεις των ίδιων συναρτήσεων μπορεί να απαιτούν

διαφορετικό αριθμό ελαχιστόρων. Πως ο χρήστης θα βρει τη καταλληλότερη ?– Ωρα να αναλάβουν και οι κατασκευαστές την ευθύνη τους !

• H απαιτούμενη μνήμη μεγαλώνει εκθετικά με τον αριθμό των μεταβλητών.

Page 245: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Προγραμματιζόμενοι Λογικοί Πίνακες (PLAs)

Page 246: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

PLAs - Δομή

Page 247: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

PLAs - Προγραμματισμός

Page 248: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Προγραμματιζόμενη Λογική Πίνακα (PΑLs)

• Αντίστοιχα μεγαλώνει και ο χρόνοςαπόκρισης. Πρόβλημα ο αριθμός τωνfuses.

Page 249: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

PΑLs vs PLAs

Page 250: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Διατάξεις γενικής λογικής πίνακα (Gate Array Logic – GAL)

Page 251: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

1

2

3

4

5

6

7

8

9

10

11

12

x x' y y' z z' A A'

x x' y y' z z' A A'

x

y

z

A

B

C

D

Page 252: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>
Page 253: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Registered PALs

• Υποστηρίζονται μόνοσυνδυαστικά κυκλώματα. (Γιατίάραγε ? Τα ακολουθιακά στοιχείαείναι στοιχεία μνήμης !).

Page 254: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Registered - Unregistered PALs

Page 255: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Commonly Used PALs

Page 256: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Ακολουθιακές GALs

Macrocell

Page 257: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

H ευελιξία των macrocells

Page 258: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

VLSI era problems

Page 259: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Κεντροποιημένη αρχιτεκτονική : Complex Programmable Logic Devices (CPLDs)

Page 260: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Aποκεντροποιημένη αρχιτεκτονική : Field Programmable Gate Arrays (FPGAs)

Page 261: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Υποσχεδιασμοί των FPGAs : Complex Logic Block (CLB)

Page 262: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Υποσχεδιασμοί των FPGAs : I/O Block

Page 263: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Υποσχεδιασμοί των FPGAs : Programmable Interconnect

Page 264: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Register Transfer Level

Page 265: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Tι περιγράφουμε στην RTL

Page 266: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Σύνθεση Λογικού Κυκλώματος

Page 267: ΛΟΓΙΚHΣΧΕΔΙΑΣHΙΙpc-vlsi18.ceid.upatras.gr/files/slides_ld2.pdfΛογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα =>

Η σύγχρονη ροή ενός σχεδιασμού