ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 3 -i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων Περίληψη Αρχές σχεδιασµού Ιεραρχία σχεδιασµού Σχεδιασµός από πάνω προς τα κάτω (Top( Top-Down) Σχεδιασµός µε την χρήση υπολογιστή (Computer Aided Design - CAD) Γλώσσες προγραµµατισµού/περιγραφής περιγραφής υλικού (Ηardware Description Languages HDLs) Λογική σύνθεση Ανάλυση συνδυαστικών κυκλωµάτων Παραγωγή λογικών συναρτήσεων & πινάκων αληθείας Λογική προσοµοίωση ιαδικασία σχεδιασµού Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 2 Συνδυαστικά Κυκλώµατα Ένα συνδυαστικό κύκλωµα αποτελείτε από λογικές πύλες των οποίων οι έξοδοι, ανά πάσα στιγµή, καθορίζονται από κάποιο λογικό συνδυασµό των τιµών στις εισόδους του κυκλώµατος. Για n µεταβλητές εισόδου, υπάρχουν 2 n πιθανοί (δυαδικοί) συνδυασµοί τιµών εισόδου. Για κάθε τέτοιο συνδυασµό, υπάρχει µια πιθανή δυαδική τιµή στην κάθε έξοδο. Συνδυαστικά Κυκλώµατα (συν.) Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από:. Ένα πίνακα αληθείας που περιέχει τις τιµές στις εξόδους του κυκλώµατος για κάθε πιθανό συνδυασµό στις εισόδους του κυκλώµατος, ή 2. m δυαδικές συναρτήσεις, για κάθε µεταβλητή εξόδου. Συνδυαστικό Κύκλωµα Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 3 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 4 Ακολουθιακά Κυκλώµατα Τα συνδυαστικά κυκλώµατα είναι χωρίς-µνήµη µνήµη. Οι τιµές στις εξόδους τους εξαρτώνται ΜΟΝΟ από τις τρέχουσες τιµές στις εισόδους. Τα ακολουθιακά κυκλώµατα αποτελούνται από συνδυαστική λογική και από στοιχεία µνήµης (χρησιµοποιούνται για αποθήκευση κάποιων καταστάσεων του κυκλώµατος). Οι τιµές στις εξόδους εξαρτώνται από τις τρέχουσες τιµές στις εισόδους και τις τιµές προηγούµενων εισόδων (που έχουν αποθηκευτεί στα στοιχεία µνήµης). Συνδυαστικά vs. Ακολουθιακά Κυκλώµατα Συνδυαστικό κύκλωµα Συνδυαστικό κύκλωµα Ακολουθιακό Κύκλωµα Επόµενη κατάσταση Ακολουθιακό κύκλωµα (Εξαρτάται µόνο από τις τιµές στις εισόδους) Στοιχεία Μνήµης Τρέχουσα κατάσταση Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 5 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 6 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 Αρχές Σχεδιασµού Ο σύγχρονος ψηφιακός σχεδιασµός ασχολείται µε διάφορες µεθόδους και εργαλεία που χρησιµοποιούνται στον σχεδιασµό και στην επαλήθευση σύνθετων κυκλωµάτων και συστηµάτων. Σηµαντικές Αρχές Σχεδιασµού Ιεράρχηση σχεδιασµού Σχεδιασµός από πάνω προς τα κάτω (Top( Top-Down) Σχεδιασµός µε την βοήθεια του υπολογιστή (CAD) Γλώσσες προγραµµατισµού / περιγραφής υλικού (VHDL, Verilog) Λογική Σύνθεση Ιεράρχηση Σχεδιασµού Η τεχνική ιαίρει και Βασίλευε χρησιµοποιείται για την επιτυχή αντιµετώπιση των απαιτήσεων σχεδιασµού πολύπλοκων κυκλώµατα και συστήµατα (πολλές φορές της τάξη των εκατοµµυρίων πυλών). Το κύκλωµα σπάζει σε κοµµάτια (blocks) blocks), επαναληπτικά, µέχρι να φτάσουµε στα πρωταρχικά (primitive primitive) στοιχεία. Πρόκληση: Επιβεβαίωση ότι το κοµµατιασµένο κύκλωµα πράγµατι λειτουργεί όπως θα έπρεπε. Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 7 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 8 Ιεράρχηση Σχεδιασµού Παράδειγµα: Περιττή συνάρτηση 9-εισόδων Ανώτατο Επίπεδο: 9 εισόδοι, έξοδος 2ο ο Επίπεδο: Τρία 3-bit blocks περιττών συναρτήσεων σε δύο επίπεδα 3ο ο Επίπεδο: ύο 2-bit συναρτήσεις exclusive-or 4ο Επίπεδο (τελευταίο): Τέσσερις πύλες NAND 2-εισόδων Πρωταρχικό στοιχείο: NAND Ο σχεδιασµός Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 9 απαιτεί 4 X 2 X Η ιεράρχηση της περιττής συνάρτησης 9-εισόδων (εναλλακτική όψη) Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - Γιατί η ιεράρχηση είναι χρήσιµη; Μειώνει την πολυπλοκότητα του σχεδιασµού και της αντιπροσώπευσης του συνολικού σχεδίου (schematic) του κυκλώµατος. Είναι πιθανή η επαναχρησιµοποίηση (reuse)( των διάφορων κοµµατιών. Πανοµοιότυπα κοµµάτια µπορούν να χρησιµοποιηθούν σε διάφορα σηµεία του σχεδιασµού ή και ακόµη σε διαφορετικούς σχεδιασµούς (βιβλιοθήκες συµβόλων). Σχεδιασµός από πάνω προς τα κάτω συµπεριφοράς πάνω-κάτω κάτω-πάνω Χάρτης Gajski και Kuhn s Y Αρχιτεκτονική Αλγοριθµικό δοµής Επεξεργαστής Λειτουργικό συστήµατα Μονάδες Υλικού αλγόριθµοι Λογική ALUs, Καταχωρητές καταχώρηση µεταφοράς πύλες, FFs λογική Κύκλωµα συναρτήσεις µεταφοράς τρανζίστορ Rectangles Cell, Module Plans Floor Plans Clusters Physical Partitions φυσικό/γεωµετρικό Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 2 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων 2
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 Σχεδιασµός µε τη βοήθεια Η/Υ (Computer-Aided Design - CAD) Επιτρέπει την αυτοµατοποίηση του σχεδιασµού πολύπλοκων κυκλωµάτων και συστηµάτων. Παραδείγµατα εργαλείων CAD: Γραφικοί επεξεργαστές (Graphic/Schematic Editors) Προσοµοιωτές λογικής (Logic( simulators) Προσοµοιωτές χρονισµού (Timing simulators) Συνθέτες λογικής (Logic synthesizers): βελτιστοποίηση χώρου, καθυστέρησης, ισχύος, κτλ. Γλώσσες Προγραµµατισµού Υλικού (Hardware( Description Languages - HDLs) VHDL, Verilog, ABEL Και πολλά άλλα Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 3 Γλώσσες Προγραµµατισµού Υλικού (Hardware Description Languages - HDLs) Οι γλώσσες HDL είναι γλώσσες προγραµµατισµού, που έχουν ως κύριο στόχο την περιγραφή της συµπεριφοράς και της δοµής υλικού. Οι γλώσσες HDL επιτρέπουν και παράλληλη εκτέλεση, ενώ οι γλώσσες προγραµµατισµού υψηλού επιπέδου (π.χ. C, C++) επιτρέπουν µόνο σειριακή εκτέλεση. Χρήση: Μια εναλλακτική αναπαράσταση από αυτή των γραφικών/σχηµατικών επεξεργαστών (περιγραφή δοµής). Χρησιµοποιείται για την αναπαράσταση δυαδικών εξισώσεων, πινάκων αληθείας,, k-χάρτεςk χάρτες, κτλ.. (περιγραφή( συµπεριφοράς). ιευκολύνει την λογική σύνθεση. Μπορεί να χρησιµοποιηθεί σε πολλά εργαλεία CAD (σε( αντίθεση µε τα σχηµατικά εργαλεία που είναι για συγκεκριµένους κατασκευαστές). Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 4 VHDL Το VHDL είναι ακρωνύµιο για το VHSIC (Very( High Speed Integrated Circuit) Hardware Description Language. IEEE πρότυπο προδιαγραφών (IEEE 76-993) για περιγραφή ψηφιακού υλικού. Χρησιµοποιείται από την παγκόσµια βιοµηχανία. Η VHDL επιτρέπει την µοντελοποίηση υλικού από το επίπεδο πυλών µέχρι και το επίπεδο συστήµατος. Λογική Σύνθεση (Logic( Synthesis) Λογικόs Συνθέτης: Μετατρέπει µια RTL (Register-Transfer Logic) περιγραφή κυκλώµατος σε µια βελτιστοποιηµένη περιγραφή πυλών netlist (περιγραφή( κυκλώµατος σε επίπεδο-πύλης πύλης). Τα Netlist µπορούν να µετατραπούν σε µία IC διάταξη (χρησιµοποιώντας ειδικά εργαλεία σχεδιασµού), χρήσιµο σε IC κατασκευαστές. Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 5 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 6 Εργαλεία Λογικής Σύνθεσης (Περιγραφή υψηλού επιπέδου) Ανάλυση Συνδυαστικών Κυκλωµάτων Ανάλυση = ο καθορισµός και η επαλήθευση των λογικών συναρτήσεων που υλοποιεί το κύκλωµα. Η ανάλυση ξεκινά δεδοµένου ενός διαγράµµατος λογικού κυκλώµατος ή περιγραφή συµπεριφοράς, και τελειώνει µε: Ένα σύνολο από λογικές συναρτήσεις ή Ένα πίνακα αληθείας. Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 7 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 8 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων 3
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 Παραγωγή συναρτήσεων - Παράδειγµα Ξεκινούµε από τις εισόδους και προχωρούµε προς τις εξόδους (συστηµατικά, από επίπεδο-σε σε-επίπεδο) Ονοµάζουµε τις ενδιάµεσες συναρτήσεις Ελέγχουµε ξανά τις αντιστροφές 2 2 Απλοποιούµε (χρησιµοποιώντας τον κανόνα DeMorgan) όταν είναι πιθανόν Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 9 3 4 Παραγωγή Πίνακα Αληθείας Καθορίζουµε τον # των γραµµών (2 n, όπου το n είναι ο αριθµός των εισόδων) και τοποθετούµε τους δυαδικούς αριθµούς..2 n - στον πίνακα. Σπάζουµε το κύκλωµα σε κυκλώµατα µιας εξόδου και τα ονοµάζουµε. Βρίσκουµε τον πίνακα αληθείας για κοµµάτια που καθοδηγούνται ΜΟΝΟ από εισόδους (ή µικρά/απλά κοµµάτια). Βρίσκουµε τον πίνακα αληθείας για κοµµάτια που καθοδηγούνται από εισόδους ή κοµµάτια που ο πίνακας αληθείας τους έχει ήδη υπολογιστεί. ΕΠΑΝΑΛΑΜΒΑΝΟΥΜΕ µέχρι να υπολογιστούν οι πίνακες αληθείας για όλες τις εξόδους. Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 2 Παράδειγµα Παραγωγή του Πίνακα Αληθείας X Y Z C C Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 2 T T2 T3 S υαδικός Αθροιστής Λογική Προσοµοίωση Χρησιµοποιείται για την ακριβής προσοµοίωση και επαλήθευση ενός κυκλώµατος. εν παράγει συναρτήσεις. Το κύκλωµα πρέπει να περιγραφτεί µε τέτοιο τρόπο έτσι ώστε ο προσοµοιωτής να µπορεί να το διαβάσει : Netlist: περιγραφή κυκλωµάτων σε επίπεδο πυλών (σε µορφή κειµένου) HDL περιγραφή Σχηµατικό (Schematic( Schematic): παράγεται από ένα σχηµατικό εργαλείο (πχ.. Graphic Editor τoυ Max +Plus II) Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 22 Λογική Προσοµοίωση (συν.) Για να γίνει µια προσοµοίωση πρέπει ο χρήστης να δώσει τιµές στις εισόδους του κυκλώµατος: Μέσω του πληκτρολογίου (Interactively( Interactively) Μέσω ενός αρχείου (οι τιµές βρίσκονται στο αρχείο) Για πλήρη επαλήθευση της λειτουργικότητας ενός κυκλώµατος χρειάζεται να προσοµοιώσουµε όλους τους πιθανούς συνδυασµούς στις εισόδους. Αυτό απαιτεί πολύ χρόνο για κυκλώµατα πέρα των ~2 εισόδων! Πλήρη Προσοµοίωση Παράδειγµα - υαδικός Αθροιστής Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 23 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 24 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων 4
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ιαδικασία Σχεδιασµού Συνδυαστικών Κυκλωµάτων Σχεδιασµός : η ανάπτυξη ενός κυκλώµατος δεδοµένης µιας περιγραφής της λειτουργίας του. Ξεκινά µε δεδοµένες προδιαγραφές και παράγει ένα επαληθευµένο, βέλτιστο λογικό σχεδιασµό συγκεκριµένης τεχνολογίας (συµπεριλαµβάνει το στάδιο της ανάλυσης). Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 25 Στάδια ιαδικασίας Σχεδιασµού. Προδιαγραφή (Specification) ίνετε ή ορίζετε 2. ιατύπωση (Formulation) Παραγωγή πίνακα αληθείας ή αρχικών δυαδικών συναρτήσεων που ορίζουν την απαιτούµενη σχέση λειτουργίας εισόδων- 3. Βελτιστοποίηση (Optimization) υεπίπεδη και πολλών-επιπέδων Σχεδιασµός λογικού διαγράµµατος ή netlist του κυκλώµατος χρησιµοποιώντας πρωταρχικές (primitive)( πύλες. 4. Αντιστοίχηση Τεχνολογίας (Technology Mapping) Επιλογή τεχνολογίας υλοποίησης και αντικατάσταση πρωταρχικών πυλών 5. Επαλήθευση (Verification) Επαλήθευση ορθότητας λειτουργίας και χρονισµού µε βάση τις αρχικές προδιαγραφές Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 26 ιαδικασία Σχεδιασµού. Καθορίστε τον απαιτούµενο αριθµό εισόδων και 2. Βρέστε τον πίνακα αληθείας που ορίζει τη σχέση λειτουργίας µεταξύ εισόδων- 3. Καθορίστε και ελαχιστοποιήστε τις δυαδικές συναρτήσεις που υλοποιούνται στις εξόδους (K-χάρτες χάρτες, αλγεβρικοί χειρισµοί, εργαλεία CAD, ). Θεωρήστε πιθανούς περιορισµούς σχεδιασµού (χώρος, καθυστέρηση, ισχύ, διαθέσιµες βιβλιοθήκες, κ.α.) 4. Σχεδιάστε το λογικό διάγραµµα. 5. Επαληθεύστε την ορθότητα του σχεδιασµού. Σχεδιασµός -- Παράδειγµα Σχεδιάστε ένα συνδυαστικό κύκλωµα µε 4 εισόδους, το οποίο παράγει όταν ο αριθµός των στις εισόδους είναι ίσος µε τον αριθµό των. Χρησιµοποιήστε ΜΟΝΟ πύλες NOR 2-εισόδων. 2 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 27 Φεβ-5 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων MKM - 28 Κεφάλαιο 3-i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων 5