ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 7: Συνδυαστικά Ολοκληρωµένα Κυκλώµατα ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Περίληψη q Αρχές σχεδιασµού Ιεραρχικός Σχεδιασµός Σχεδιασµός από πάνω προς τα κάτω (Top-Down) Σχεδιασµός µε τη χρήση Υπολογιστή (Computer Aided Design - CAD) Γλώσσες Προγραµµατισµού/Περιγραφής Υλικού (Ηardware Description Languages HDLs) Λογική Σύνθεση q Ανάλυση συνδυαστικών κυκλωµάτων Παραγωγή λογικών συναρτήσεων & πινάκων αληθείας Λογική προσοµοίωση q Διαδικασία σχεδιασµού ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.2 Θεοχαρίδης, ΗΜΥ, 2016
Συνδυαστικά Κυκλώµατα q Ένα συνδυαστικό κύκλωµα αποτελείται από λογικές πύλες των οποίων οι έξοδοι, ανά πάσα στιγµή, καθορίζονται από κάποιο λογικό συνδυασµό των τιµών στις εισόδους του κυκλώµατος. q Για n µεταβλητές εισόδου, υπάρχουν 2 n πιθανοί (δυαδικοί) συνδυασµοί τιµών εισόδου. q Για κάθε τέτοιο συνδυασµό, υπάρχει µια πιθανή δυαδική τιµή στην κάθε έξοδο. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.3 Θεοχαρίδης, ΗΜΥ, 2016
Συνδυαστικά Κυκλώµατα (συν.) q Ένα συνδυαστικό κύκλωµα µε n εισόδους και m εξόδους, µπορεί να περιγραφεί από: 1. Ένα πίνακα αληθείας που περιέχει τις τιµές στις εξόδους του κυκλώµατος για κάθε πιθανό συνδυασµό στις εισόδους του κυκλώµατος, ή 2. m δυαδικές συναρτήσεις, 1 για κάθε µεταβλητή εξόδου. n-είσοδοι Συνδυαστικό Κύκλωµα m-έξοδοι ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.4 Θεοχαρίδης, ΗΜΥ, 2016
Ακολουθιακά Κυκλώµατα Τα συνδυαστικά κυκλώµατα δεν έχουν µνήµη. Οι τιµές στις εξόδους τους εξαρτώνται ΜΟΝΟ από τις τρέχουσες τιµές στις εισόδους. Τα ακολουθιακά κυκλώµατα αποτελούνται από συνδυαστική λογική και από στοιχεία µνήµης (χρησιµοποιούνται για αποθήκευση κάποιων καταστάσεων του κυκλώµατος). à Οι τιµές στις εξόδους εξαρτώνται από τις τρέχουσες τιµές στις εισόδους και τις τιµές προηγούµενων εισόδων (που έχουν αποθηκευτεί στα στοιχεία µνήµης). ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.5 Θεοχαρίδης, ΗΜΥ, 2016
Συνδυαστικά vs. Ακολουθιακά Κυκλώµατα n-είσοδοι Συνδυαστικό κύκλωµα Συνδυαστικό κύκλωµα m-έξοδοι (Εξαρτάται µόνο από τις τιµές στις εισόδους) n-είσοδοι Συνδυαστικό Κύκλωµα Επόµενη κατάσταση Στοιχεία Μνήµης m-έξοδοι Τρέχουσα κατάσταση Ακολουθιακό κύκλωµα ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.6 Θεοχαρίδης, ΗΜΥ, 2016
Αρχές Σχεδιασµού q Ο σύγχρονος ψηφιακός σχεδιασµός ασχολείται µε διάφορες µεθόδους και εργαλεία που χρησιµοποιούνται για τον σχεδιασµό, την προσοµοίωση και την επαλήθευση πολύπλοκων κυκλωµάτων και συστηµάτων. q Σηµαντικές Αρχές Σχεδιασµού Ιεραρχικός σχεδιασµός Σχεδιασµός από πάνω προς τα κάτω (Top-Down) Σχεδιασµός µε την βοήθεια του υπολογιστή (CAD) Γλώσσες προγραµµατισµού / περιγραφής υλικού (VHDL, Verilog) Λογική Σύνθεση ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.7 Θεοχαρίδης, ΗΜΥ, 2016
Ιεραρχικός Σχεδιασµός q Η τεχνική Διαίρει και Βασίλευε χρησιµοποιείται για την επιτυχή αντιµετώπιση των αυξανόµενων απαιτήσεων του σχεδιασµού πολύπλοκων συστηµάτων (πολλές φορές της τάξεως των εκατοµµυρίων πυλών). q Το κύκλωµα τεµαχίζεται σε κοµµάτια (blocks), επαναληπτικά, µέχρι που καταλήγει σε πρωταρχικά/ βασικά (primitive/common) στοιχεία. q Πρόκληση: Επιβεβαίωση ότι το κύκλωµα λειτουργεί ορθά σε κάθε επίπεδο της ιεραρχίας! ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.8 Θεοχαρίδης, ΗΜΥ, 2016
Ιεραρχικός Σχεδιασµός Παράδειγµα: Περιττή συνάρτηση 9-εισόδων ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.9 Θεοχαρίδης, ΗΜΥ, 2016
Η ιεράρχηση της περιττής συνάρτησης 9-εισόδων (εναλλακτική όψη) ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.10 Θεοχαρίδης, ΗΜΥ, 2016
Γιατί είναι χρήσιµη η ιεράρχηση; q Επιτρέπει την επαναχρησιµοποίηση (reuse) ήδη σχεδιασµένων µπλοκ. Πανοµοιότυπα κοµµάτια µπορούν να χρησιµοποιηθούν σε διάφορα σηµεία του σχεδιασµού ή και ακόµη σε διαφορετικούς σχεδιασµούς. Όπου είναι δυνατόν, προσπαθούµε να αποσυνθέσουµε (decompose) έναν πολύπλοκο σχεδιασµό σε βασικά επαναχρησιµοποιήσιµα µπλοκ (reusable blocks). Επαναχρησιµοποιήσιµα µπλοκ: - Έχουν ήδη επαληθευτεί και τεκµηριωθεί - Αποθηκεύονται σε βιβλιοθήκες για γενική χρήση à Μειώνει την πολυπλοκότητα του σχεδιασµού και της αντιπροσώπευσης του συνολικού σχεδίου (schematic) του κυκλώµατος. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.11 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός Top-Down και Bottom-Up Χάρτης Y, Gajski και Kuhn Όψη Λειτουργίας Αρχιτεκτονική Αλγοριθµικό Όψη Δοµής Top-Down Λειτουργικό µπλοκ Λογική Κύκλωµα Bottom-Up Φυσική/Γεωµετρική Όψη ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.12 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός από πάνω προς τα κάτω Όψη Λειτουργίας Χάρτης Υ, Gajski και Kuhn Αρχιτεκτονική Αλγοριθµικό Όψη Δοµής Top-Down Συστήµατα Αλγόριθµοι Μεταφορά από/σε Καταχωρητές (Register Transfer) Λογική Συναρτήσεις Μεταφοράς Λειτουργικό µπλοκ Λογική Κύκλωµα Επεξεργαστής Μονάδες Υλικού ALUs, Καταχωρητές Πύλες, FFs Τρανζίστορ Ορθογώνια (Rectangles) Σχέδια Μονάδων (Cell, Module Plans) Bottom-Up Σχέδια Δαπέδου (Floor Plans) Συµπλέγµατα (Clusters) Φυσικός Διαχωρισµός (Physical Partitions) Φυσική/Γεωµετρική Όψη ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.13 Θεοχαρίδης, ΗΜΥ, 2016
Top-Down vs Bottom-Up q Top-Down: Προχωρεί από µια περιγραφή υψηλού επιπέδου προς µια πιο λεπτοµερή περιγραφή, µε κατάλληλη εφαρµογή της λειτουργίας της αποσύνθεσης q Bottom-Up: Ξεκινά από βασικά/πρωταρχικά µπλοκ και τα συνδυάζει για να δηµιουργήσει µεγαλύτερα και πιο πολύπλοκα µπλοκ q Ο σχεδιασµός πολύπλοκων κυκλωµάτων γίνεται συνήθως και µε τους δύο τρόπους, συγχρόνως: Top-Down: επικεντρώνεται στο «Τι σχεδιάζουµε;» à Ελέγχει την πολυπλοκότητα Bottom-Up: επικεντρώνεται στο «Πως το σχεδιάζουµε;» à Συγκεντρώνεται στις λεπτοµέρειες ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.14 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός µε τη βοήθεια Η/Υ (Computer-Aided Design - CAD) q Επιτρέπει την αυτοµατοποίηση του σχεδιασµού πολύπλοκων κυκλωµάτων και συστηµάτων. q Παραδείγµατα εργαλείων CAD: Γραφικοί επεξεργαστές (Graphic/Schematic Editors) Προσοµοιωτές λογικής (Logic simulators) Προσοµοιωτές χρονισµού (Timing simulators) Συνθέτες λογικής (Logic synthesizers): βελτιστοποίηση χώρου, καθυστέρησης, ισχύος, κτλ. Γλώσσες Προγραµµατισµού Υλικού (Hardware Description Languages - HDLs) - VHDL, Verilog, ABEL Και πολλά άλλα ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.15 Θεοχαρίδης, ΗΜΥ, 2016
Γλώσσες Προγραµµατισµού Υλικού (Hardware Description Languages - HDLs) q Γλώσσες προγραµµατισµού, που έχουν ως κύριο στόχο την περιγραφή της λειτουργίας και της δοµής υλικού. q Επιτρέπουν και παράλληλη εκτέλεση εντολών, ενώ οι γλώσσες προγραµµατισµού υψηλού επιπέδου (π.χ. C, C++) επιτρέπουν µόνο σειριακή εκτέλεση. q VHDL, Verilog q Χρήση: Εναλλακτική αναπαράσταση από αυτή των γραφικών/ σχηµατικών περιγραφών (περιγραφή δοµής). Χρησιµοποιείται για την αναπαράσταση δυαδικών εξισώσεων, πινάκων αληθείας, k-χάρτες, κτλ. (περιγραφή λειτουργίας). Διευκολύνει τη διαδικασία της λογικής σύνθεσης. Μπορεί να χρησιµοποιηθεί από διάφορα εργαλεία CAD (σε αντίθεση µε τα σχηµατικά εργαλεία που διατίθενται από συγκεκριµένους κατασκευαστές). ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.16 Θεοχαρίδης, ΗΜΥ, 2016
Λογική Σύνθεση (Logic Synthesis) q Λογικόs Συνθέτης: Μετατρέπει µια RTL (Register-Transfer Logic) περιγραφή του κυκλώµατος σε µια βελτιστοποιηµένη περιγραφή πυλών (netlist = περιγραφή κυκλώµατος σε επίπεδο-πύλης). q Ένα netlist µπορεί να µετατραπεί σε µία διάταξη ολοκληρωµένου (IC layout), χρησιµοποιώντας ειδικά εργαλεία σχεδιασµού. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.17 Θεοχαρίδης, ΗΜΥ, 2016
Εργαλείο Λογικής Σύνθεσης ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.18 Θεοχαρίδης, ΗΜΥ, 2016
Ανάλυση Συνδυαστικών Κυκλωµάτων q Ανάλυση = ο καθορισµός και η επαλήθευση των λογικών συναρτήσεων που υλοποιεί το κύκλωµα. q Η ανάλυση ξεκινά δεδοµένου ενός διαγράµµατος λογικού κυκλώµατος ή περιγραφή λειτουργίας, και τελειώνει µε: Ένα σύνολο από λογικές συναρτήσεις ή Ένα πίνακα αληθείας ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.19 Θεοχαρίδης, ΗΜΥ, 2016
Παραγωγή συναρτήσεων - Παράδειγµα 1 2 2 3 4 1 n Ξεκινούµε από τις εισόδους και προχωρούµε προς τις εξόδους (συστηµατικά, από επίπεδο-σε-επίπεδο) n Ονοµάζουµε τις ενδιάµεσες συναρτήσεις n Ελέγχουµε ξανά τις αντιστροφές n Απλοποιούµε (χρησιµοποιώντας το θεώρηµα DeMorgan), όπου είναι δυνατόν ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.20 Θεοχαρίδης, ΗΜΥ, 2016
Παραγωγή Πίνακα Αληθείας q Καθορίζουµε τον # των γραµµών (2 n, όπου το n είναι ο αριθµός των εισόδων) και τοποθετούµε τους δυαδικούς αριθµούς 0..2 n -1 στον πίνακα. q Σπάζουµε το κύκλωµα σε κυκλώµατα µιας εξόδου και τα ονοµάζουµε. q Βρίσκουµε τον πίνακα αληθείας για κοµµάτια που καθοδηγούνται ΜΟΝΟ από εισόδους (ή µικρά/απλά κοµµάτια). q Βρίσκουµε τον πίνακα αληθείας για κοµµάτια που καθοδηγούνται από εισόδους ή κοµµάτια που ο πίνακας αληθείας τους έχει ήδη υπολογιστεί. ΕΠΑΝΑΛΑΜΒΑΝΟΥΜΕ µέχρι να υπολογιστούν οι πίνακες αληθείας για όλες τις εξόδους. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.21 Θεοχαρίδης, ΗΜΥ, 2016
Παράδειγµα Παραγωγή του Πίνακα Αληθείας Δυαδικός Αθροιστής X Y Z C C T1 T2 T3 S 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.22 Θεοχαρίδης, ΗΜΥ, 2016
Προσοµοίωση q Χρησιµοποιείται για την επαλήθευση ενός κυκλώµατος. Δεν παράγει συναρτήσεις. q Το κύκλωµα πρέπει να περιγραφεί µε τέτοιο τρόπο έτσι ώστε ο προσοµοιωτής να µπορεί να το διαβάσει : Netlist: περιγραφή κυκλώµατος σε επίπεδο πυλών (σε µορφή κειµένου) HDL περιγραφή Σχηµατικό (Schematic): παράγεται από ένα σχηµατικό εργαλείο (πχ. Graphic Editor τoυ Max +Plus II/Quartus) ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.23 Θεοχαρίδης, ΗΜΥ, 2016
Προσοµοίωση (συν.) q Για να γίνει µια προσοµοίωση πρέπει ο χρήστης να δώσει τιµές στις εισόδους του κυκλώµατος: Μέσω του πληκτρολογίου (διαδραστικά) Μέσω ενός αρχείου (οι τιµές βρίσκονται στο αρχείο) q Για πλήρη επαλήθευση της λειτουργικότητας ενός κυκλώµατος χρειάζεται να προσοµοιώσουµε όλους τους πιθανούς συνδυασµούς στις εισόδους. Αυτό απαιτεί πολύ χρόνο για κυκλώµατα πέρα των ~20 εισόδων! ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.24 Θεοχαρίδης, ΗΜΥ, 2016
Πλήρη Προσοµοίωση àπαράδειγµα - Δυαδικός Αθροιστής ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.25 Θεοχαρίδης, ΗΜΥ, 2016
Διαδικασία Σχεδιασµού Συνδυαστικών Κυκλωµάτων q Σχεδιασµός : η ανάπτυξη ενός κυκλώµατος δεδοµένης µιας περιγραφής της λειτουργίας του. q Ξεκινά µε δεδοµένες προδιαγραφές και παράγει ένα επαληθευµένο, βέλτιστο λογικό σχεδιασµό συγκεκριµένης τεχνολογίας (συµπεριλαµβάνει το στάδιο της ανάλυσης). ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.26 Θεοχαρίδης, ΗΜΥ, 2016
Στάδια Διαδικασίας Σχεδιασµού 1. Προδιαγραφή (Specification) Δίνετε ή ορίζετε 2. Διατύπωση (Formulation) Παραγωγή πίνακα αληθείας ή αρχικών δυαδικών συναρτήσεων που ορίζουν την απαιτούµενη σχέση λειτουργίας εισόδων-εξόδων (αν αυτό δεν είναι µέρος των προδιαγραφών) 3. Βελτιστοποίηση (Optimization) 1. Δυεπίπεδη και πολλών-επιπέδων 2. Σχεδιασµός λογικού διαγράµµατος ή netlist του κυκλώµατος χρησιµοποιώντας πρωταρχικές (primitive) πύλες (AND, OR, NOT). 4. Αντιστοίχηση Τεχνολογίας (Technology Mapping) Επιλογή τεχνολογίας υλοποίησης και αντικατάσταση πρωταρχικών πυλών. 5. Επαλήθευση (Verification) Επαλήθευση ορθότητας λειτουργίας και χρονισµού µε βάση τις αρχικές προδιαγραφές ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.27 Θεοχαρίδης, ΗΜΥ, 2016
Διαδικασία Σχεδιασµού 1. Καθορίστε τον απαιτούµενο αριθµό εισόδων και εξόδων. 2. Βρείτε τον πίνακα αληθείας που ορίζει τη σχέση λειτουργίας µεταξύ εισόδων-εξόδων. 3. Καθορίστε και ελαχιστοποιήστε τις δυαδικές συναρτήσεις που υλοποιούνται στις εξόδους (K-χάρτες, αλγεβρικοί χειρισµοί, εργαλεία CAD, ). Θεωρήστε πιθανούς περιορισµούς σχεδιασµού (χώρος, καθυστέρηση, ισχύ, διαθέσιµες βιβλιοθήκες, κ.α.) 4. Σχεδιάστε το λογικό διάγραµµα. 5. Αντιστοίχηση τεχνολογίας (αν δεν έχει ληφθεί υπόψη στο 3.). 6. Επαληθεύσετε την ορθότητα του σχεδιασµού. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.28 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός -- Παράδειγµα q Σχεδιάστε ένα συνδυαστικό κύκλωµα µε 4 εισόδους, το οποίο παράγει 1 όταν ο αριθµός των 1 στις εισόδους είναι ίσος µε τον αριθµό των 0. Χρησιµοποιήστε ΜΟΝΟ πύλες NOR 2-εισόδων. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.29 Θεοχαρίδης, ΗΜΥ, 2016
Άλλο Παράδειγµα Σχεδιασµού: Μετατροπέας Κώδικα q Ένας µετατροπέας κώδικα µετατρέπει από έναν κώδικα σε έναν άλλο, π.χ.: BCD-to-Excess-3 BCD-to-Seven-Segment ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.30 Θεοχαρίδης, ΗΜΥ, 2016
Μετατροπέας Κώδικα àbcd-to-excess-3 1. Προδιαγραφή: Σχεδιάστε ένα κύκλωµα που µετατρέπει ένα κώδικα BCD (Binary-Coded Decimal) στον ανάλογο Excess-3 κώδικα. Η τεχνολογία υλοποίησης υποστηρίζει µόνο πύλες {2NAND, 2NOR, και 2-2 AOI}. Κώδικας Excess-3: Δεδοµένου ενός δεκαδικού ψηφίου n, ο ανάλογος excess-3 κώδικας είναι (n+3) 2 Παράδειγµα: n=5 à n+3=8 à 1000 excess-3 n=0 à n+3=3 à 0011 excess-3 Επιθυµητός κώδικας για δεκαδική αφαίρεση ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.31 Θεοχαρίδης, ΗΜΥ, 2016
Μετατροπέας Κώδικα àbcd-to-excess-3 (συν.) 2. Διατύπωση: κώδικες BCD για τα ψηφία 0 9: δυαδικές συµβολοσειρές 4 ων bit 0000 1001, αντίστοιχα à Χρειαζόµαστε 4 µεταβλητές εισόδου: Α, B, C, D και à 4 συναρτήσεις εξόδων: W(A,B,C,D), X(A,B,C,D), Y(A,B,C,D), Z(A,B,C,D) A B C D BCD to Excess-3 W X Y Z ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.32 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Excess-3 (συν.) Ακριβές Διατύπωση Λειτουργίας ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.33 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Excess-3 (συν.) 3α: Βελτιστοποίηση µε χρήση Κ-χάρτη (Δυεπίπεδη) Οι K-χάρτες κατασκευάζονται χρησιµοποιώντας τους όρους αδιαφορίας à Βελτιστοποίηση ατοµικής συνάρτησης (δυεπίπεδη) ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.34 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Excess-3 (συν.) 3β: Βελτιστοποίηση συνόλου συναρτήσεων (Πολλαπλών επιπέδων) Από τους K-χάρτες έχουµε: W = A + BC + BD X = B C + B D + BC D Y = CD + C D Μετασχηµατισµοί Z = D W = A + B(C + D) X = B (C + D) + BC D Y = (C D) Z = D f = C + D = 1 OR W = A + Bf = 1 AND, 1 OR X = B f + BC D = 3 NOT, 2 AND, 1 OR Y = (C D) = 1 XNOR Z = D ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.35 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Excess-3 (συν.) 3γ: Βελτιστοποίηση - Σχηµατικό Διάγραµµα A W B X C D Y Z ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.36 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Excess-3 (συν.) 4: Αντιστοίχηση Τεχνολογίας A W A W B X B C X C D Y Z D Y Z ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.37 Θεοχαρίδης, ΗΜΥ, 2016
Αντιστοίχηση Τεχνολογίας (Technology Mapping) q Σχεδιαστική διαδικασία για Ολοκληρωµένα q Στοιχεία (cells) και βιβλιοθήκες στοιχείων q Μεθοδολογίες Αντιστοίχησης πύλες NAND (βλέπε προηγούµενη διάλεξη) πύλες NOR (βλέπε προηγούµενη διάλεξη) Πολλαπλών τύπων πύλες Προγραµµατιζόµενες λογικές διατάξεις (βλέπε επόµενες διαλέξεις) ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.38 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιαστικό στυλ (τεχνολογίας) για Ολοκληρωµένα q Πλήρως Προσαρµοσµένο (Full Custom): Γίνετε όλος ο σχεδιασµός του ολοκληρωµένου, µέχρι την πιο µικρή λεπτοµέρεια Ακριβό Δικαιολογείτε µόνο για πυκνά (dense), γρήγορα ολοκληρωµένα, µε ευρεία χρήση (υψηλές πωλήσεις) q Τυποποιηµένα Στοιχεία (Standard cell): Κοµµάτια που έχουν σχεδιαστεί από πριν ή είναι κοµµάτια προηγούµενων σχεδιασµών Μεσαίο κόστος Λιγότερο πυκνά και γρήγορα σε σχέση µε τα πλήρη προσαρµοσµένα q Διάταξη Πυλών (Gate Array): Κανονικές, επαναλαµβανόµενες διατάξεις (regular patterns), οι οποίες µπορούν να χρησιµοποιηθούν σε διαφορετικούς σχεδιασµούς µόνο οι διασυνδέσεις µεταξύ των πυλών προσαρµόζονται για τον κάθε σχεδιασµό Χαµηλότερο κόστος Λιγότερη πυκνότητα σε σχέση µε τα άλλα 2 ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.39 Θεοχαρίδης, ΗΜΥ, 2016
Βιβλιοθήκες Στοιχείων q Στοιχείο (Cell) προσχεδιασµένο πρωταρχικό µπλοκ q Βιβλιοθήκη Στοιχείων σύνολο στοιχείων που µπορούν να χρησιµοποιηθούν για µια συγκεκριµένη τεχνολογία υλοποίησης q Χαρακτηρισµός Στοιχείων (Cell characterization) λεπτοµερής προδιαγραφή των στοιχείων συχνά βάση του συγκεκριµένου σχεδιασµού, της υλοποίησής του και άλλων µετρίσιµων τιµών q Τα στοιχεία χρησιµοποιούνται για σχεδιασµούς gate array, standard cell, και σε κάποιες περιπτώσεις, για full custom. ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.40 Θεοχαρίδης, ΗΜΥ, 2016
Επαλήθευση q Επίδειξη ότι το τελικό κύκλωµα συµπεριφέρεται ακριβώς µε τον ίδιο τρόπο που ορίζεται στις προδιαγραφές και τη διατύπωση του κυκλώµατος q Παραδείγµατα διατύπωσης: Πίνακες αληθείας Δυαδικές συναρτήσεις Κώδικα HDL q Αν τα πιο πάνω παραδείγµατα διατύπωσής δεν είναι µέρος των αρχικών προδιαγραφών, είναι απαραίτητο να επαληθευτεί και η διαδικασία διατύπωσης! ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.41 Θεοχαρίδης, ΗΜΥ, 2016
Βασικές Μέθοδοι Επαλήθευσης q Θεωρητική Επαλήθευση (Formal Verification) Παράγουµε τον πίνακα αληθείας ή τις δυαδικές συναρτήσεις του τελικού κυκλώµατος Συγκρίνουµε µε τον πίνακα αληθείας ή τις δυαδικές συναρτήσεις των προδιαγραφών / διατύπωσης q Με Προσοµοίωση (Simulation-based Verification) Προσοµοιώνουµε το τελικό κύκλωµα (ή το netlist του, το οποίο συχνά δίνεται σε µορφή HDL) και τον πίνακα αληθείας / συναρτήσεις / περιγραφή HDL των προδιαγραφών, χρησιµοποιώντας κατάλληλες τιµές εισόδων οι οποίες επιβεβαιώνουν πλήρως την ορθότητα του κυκλώµατος. Οι κατάλληλες τιµές για ένα συνδυαστικό κύκλωµα είναι όλοι οι πιθανοί συνδυασµοί (εκτός των συνδυασµών αδιαφορίας) δεν είναι εφικτό για µεγάλα κυκλώµατα! ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.42 Θεοχαρίδης, ΗΜΥ, 2016
Άλλο παράδειγµα µετατροπέα κώδικα BCD-to-Seven-Segment q Εµφάνιση Seven-Segment: 7 LEDs (Light Emitting Diodes), κάθε µια ελέγχεται από µία είσοδο Το 1 σηµαίνει on, και το 0 off a f g b e c d ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.43 Θεοχαρίδης, ΗΜΥ, 2016
Άλλο παράδειγµα µετατροπέα κώδικα BCD-to-Seven-Segment q Εµφάνιση Seven-Segment: 7 LEDs (Light Emitting Diodes), κάθε µια ελέγχεται από µία είσοδο Το 1 σηµαίνει on, και το 0 off Για την εµφάνιση του ψηφίου 3 - Θέστε a, b, c, d, g σε 1 - Θέστε e, f σε 0 a f b g e c d ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.44 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Seven-Segment (συν.) q Η είσοδος είναι ένας κώδικας BCD 4 ων bit à 4 είσοδοι (w, x, y, z). q Η έξοδος είναι ένας κώδικας µε 7 bits (a, b, c, d, e, f, g), που επιτρέπει στο αντίστοιχο δεκαδικό να εµφανιστεί. q Παράδειγµα: Είσοδος: 0000 BCD Έξοδος: 1111110 SSD (a=b=c=d=e=f=1, g=0) f e a g c b d ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.45 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Seven-Segment (συν.) Διατύπωση Λειτουργίας--Πίνακας Αληθείας Ψηφίο wxyz abcdefg 0 0000 1111110 1 0001 0110000 2 0010 1101101 3 0011 1111001 4 0100 0110011 5 0101 1011011 6 0110 X011111 7 0111 11100X0 Ψηφίο wxyz abcdefg 8 1000 1111111 9 1001 111X011 1010 XXXXXXX 1011 XXXXXXX 1100 XXXXXXX 1101 XXXXXXX 1110 XXXXXXX 1111 XXXXXXX Γιατί ; Χ ή 0; ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.46 Θεοχαρίδης, ΗΜΥ, 2016
BCD-to-Seven-Segment (συν.) q Συνεχίζουµε µε: 3. Βελτιστοποίηση 4. Αντιστοίχηση Τεχνολογίας 5. Επαλήθευση ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.47 Θεοχαρίδης, ΗΜΥ, 2016
Άλλο Παράδειγµα q Σχεδιάστε ένα «Συγκριτή Ισοτιµίας» 4ων bit Είσοδοι: 2 αριθµοί, 4-bit ο κάθε ένας Α(3:0) = A 3 A 2 A 1 A 0 και Β(3:0) = B 3 B 2 B 1 B 0 Έξοδος: F (1 όταν Α=Β, 0 στις άλλες περιπτώσεις) q Άµεσος τρόπος σχεδιασµού (εύκολη σκέψη): πίνακας αληθείας µε 8 µεταβλητές εισόδων à128 γραµµές και Quine-McCluskey για βελτιστοποίηση q Έµµεσος τρόπος σχεδιασµού: χρήση Ιεραρχίας Ε i = (Α i ) Β i + Α i (Β i ) = A i B i (E i = 1 εάν Α i B i ) E = ( Ε 1 + Ε 2 + Ε 3 + Ε 4 ) ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.48 Θεοχαρίδης, ΗΜΥ, 2016
Παραδείγµατα συνδυαστικών κυκλωµάτων q Μαθηµατικές και Λογικές Πράξεις: Το σηµαντικότερο κοµµάτι κυκλωµάτων υλοποιούν µαθηµατικά και λογική. Αθροιστές, Αφαιρέτες, Πολλαπλασιαστές, Διαιρέτες, τριγωνοµετρικά κυκλώµατα, πίνακες, κλπ. Λογικά κυκλώµατα q Κωδικοποιητές / Αποκωδικοποιητές Κωδικοποίηση/αποκωδικοποίηση πληροφορίας Συµπίεση / Αποσυµπίεση δεδοµένων Αντιστοιχία δεδοµένων (π.χ. διεύθυνση µνήµης) q Πολυπλέκτες Διαύλοι - Αποπολυπλέκτες: Εναλλαγή δεδοµένων σε/από διαύλους Έλεγχος και µεταφορά δεδοµένων Διαµετακόµιση δεδοµένων σε χρόνο και φυσικά υλικά (δεδοµένα ανά χρονική στιγµή, ανά καλώδιο, κλπ). ΗΜΥ210 Δ07 Συνδυαστικά Ολοκληρωµένα Κυκλώµατα.49 Θεοχαρίδης, ΗΜΥ, 2016