ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 2008

Σχετικά έγγραφα
ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Σχεδιασμός Συνδυαστικών Κυκλωμάτων 1

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού.

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων 15/11/2010. Σχεδιασμός Ακολουθιακών Κυκλωμάτων 1

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Περίληψη. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Κεφάλαιο 3-ii: Σχεδιασµός Συνδυαστικών Κυκλωµάτων 1. Μετατροπέας Κώδικα BCD-to-Excess-3

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί;

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Συνδυαστική Λογική / Κυκλώματα

Ενότητα 6 ΑΝΑΛΥΣΗ & ΣΥΝΘΕΣΗ ΣΥΝΔΥΑΣΤΙΚΗΣ ΛΟΓΙΚΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΟΛΛΩΝ ΕΠΙΠΕΔΩΝ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

Ψηφιακή Λογική και Σχεδίαση

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ανάλυση Ακολουθιακών Κυκλωμάτων 1

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

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

Οικουμενικές Πύλες (ΝΑΝD NOR), Πύλη αποκλειστικού Η (XOR) και Χρήση KarnaughMaps

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο Βασικές Συνδυαστικές Συναρτήσεις και. Διδάσκουσα: Μαρία Κ. Μιχαήλ

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Διδάσκουσα: Μαρία Κ. Μιχαήλ. Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2008

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

Ενότητα 8 Η ΠΥΛΗ XOR ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΚΩΔΙΚΟΠΟΙΗΣΗ

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Περιεχόµενα. Πρόλογος Εισαγωγή 21

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος 10. Κεφάλαιο 2: Συνδιαστικά Λογικά Κυκλώματα (Ελαχιστοποίηση με Κατάταξη σε Πίνακα) 1

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Στοιχειώδης Λογικές Συναρτήσεις

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Βασικές Συνδυαστικές Συναρτήσεις και Κυκλώματα 1

4 η Θεµατική Ενότητα : Συνδυαστική Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters)

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2008

ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕ ΙΑΣΗ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

3. Απλοποίηση Συναρτήσεων Boole

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Σχεδιασμός Ψηφιακών Συστημάτων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

Εισαγωγή στην πληροφορική

Πράξεις με δυαδικούς αριθμούς

Υπολογιστές και Πληροφορία 1

Εργαστήριο Ψηφιακών Συστηµάτων ΗΜΥ211

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Κυκλωμάτων» Χειμερινό εξάμηνο

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τμήμα Εφαρμοσμένης Πληροφορικής & Πολυμέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 2: Συνδυαστικά Λογικά

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Ελίνα Μακρή

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Επανάληψη Βασικών Στοιχείων Ψηφιακής Λογικής

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Μάθημα 0: Εισαγωγή. Λευτέρης Καπετανάκης. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Άνοιξη 2011

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Δυαδικό Σύστημα Αρίθμησης

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ

Μνήμη και Προγραμματίσιμη Λογική

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

Transcript:

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Σχεδιασμός και Ανάλυση Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Αρχές σχεδιασμού Ιεραρχικός Σχεδιασμός Σχεδιασμός από πάνω προς τα κάτω (Top-Down Down) Σχεδιασμός με τη χρήση Υπολογιστή (Computer Aided Design -CAD) Γλώσσες Προγραμματισμού/Περιγραφής Περιγραφής Υλικού (Ηardware Description Languages HDLs) Λογική Σύνθεση Ανάλυση συνδυαστικών κυκλωμάτων Παραγωγή λογικών συναρτήσεων & πινάκων αληθείας Λογική προσομοίωση ιαδικασία σχεδιασμού MKM - 2 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 1

Συνδυαστικά Κυκλώματα Ένα συνδυαστικό κύκλωμα αποτελείτε από λογικές πύλες των οποίων οι έξοδοι, ανά πάσα στιγμή, καθορίζονται από κάποιο λογικό συνδυασμό των τιμών στις εισόδους του κυκλώματος. Για n μεταβλητές εισόδου, υπάρχουν 2 n πιθανοί (δυαδικοί) συνδυασμοί τιμών εισόδου. Για κάθε τέτοιο τ συνδυασμό, υα, υπάρχει μια πιθανή αή δυαδική τιμή στην κάθε έξοδο. MKM - 3 Συνδυαστικά Κυκλώματα (συν.) Ένα συνδυαστικό κύκλωμα με n εισόδους και m εξόδους, μπορεί να περιγραφεί από: 1. Ένα πίνακα αληθείας που περιέχει τις τιμές στις εξόδους του κυκλώματος για κάθε πιθανό συνδυασμό στις εισόδους του κυκλώματος, ή 2. m δυαδικές συναρτήσεις, 1 για κάθε μεταβλητή εξόδου. n-είσοδοι Συνδυαστικό Κύκλωμα m-έξοδοι MKM - 4 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 2

Ακολουθιακά Κυκλώματα Τα συνδυαστικά κυκλώματα δεν έχουν μνήμη. Οι τιμές στις εξόδους τους εξαρτώνται ΜΟΝΟ από τις τρέχουσες τιμές στις εισόδους. Τα ακολουθιακά κυκλώματα αποτελούνται από συνδυαστική λογική και από στοιχεία μνήμης (χρησιμοποιούνται για αποθήκευση κάποιων καταστάσεων του κυκλώματος). Οι τιμές στις εξόδους εξαρτώνται από τις τρέχουσες τιμές στις εισόδους και τις τιμές προηγούμενων εισόδων (που έχουν αποθηκευτεί στα στοιχεία μνήμης). MKM - 5 Συνδυαστικά vs. Ακολουθιακά Κυκλώματα n-είσοδοι Συνδυαστικό κύκλωμα Συνδυαστικό κύκλωμα m-έξοδοι (Εξαρτάται ά μόνο από τις τιμές στις εισόδους) n-είσοδοι Συνδυαστικό Κύκλωμα Επόμενη κατάσταση Στοιχεία Μνήμης m-έξοδοι Τρέχουσα κατάσταση Ακολουθιακό κύκλωμα MKM - 6 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 3

Αρχές Σχεδιασμού Ο σύγχρονος ψηφιακός σχεδιασμός ασχολείται με διάφορες μεθόδους και εργαλεία που χρησιμοποιούνται για τον σχεδιασμό, την προσομοίωση και την επαλήθευση πολύπλοκων κυκλωμάτων και συστημάτων. Σημαντικές Αρχές Σχεδιασμού Ιεραρχικός σχεδιασμός Σχεδιασμός από πάνω προς τα κάτω (Top-Down) Σχεδιασμός με την βοήθεια του υπολογιστή (CAD) Γλώσσες προγραμματισμού / περιγραφής υλικού (VHDL, Verilog) Λογική Σύνθεση MKM - 7 Ιεραρχικός Σχεδιασμός Η τεχνική ιαίρει και Βασίλευε χρησιμοποιείται για την επιτυχή αντιμετώπιση των αυξανόμενων απαιτήσεων του σχεδιασμού πολύπλοκων συστημάτων (πολλές φορές της τάξεως των εκατομμυρίων πυλών). Το κύκλωμα τεμαχίζεται σε κομμάτια (blocks) blocks), επαναληπτικά, μέχρι που καταλήγει σε πρωταρχικά/βασικά (primitive/common) στοιχεία. Πρόκληση: Επιβεβαίωση ότι το κύκλωμα λειτουργεί ορθά σε κάθε επίπεδο της ιεραρχίας! MKM - 8 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 4

Ιεραρχικός Σχεδιασμός Παράδειγμα: Περιττή συνάρτηση 9-εισόδων Ανώτατο Επίπεδο: 9 είσοδοι, 1 έξοδος 2ο ο Επίπεδο: 4 όμοια συνιστώσα περιττών συναρτήσεων των 3 ων bit, σε δύο επίπεδα 3ο ο Επίπεδο: Συνάρτηση ΧΟR 3 ων bit, για κάθε συνιστώσα του 2 ου επιπέδου 4ο Επίπεδο (τελευταίο): Υλοποίηση ΧΟR με 4 NAND 2-εισόδων, για κάθε ΧΟR του 3 ου επιπέδου Πρωταρχικό στοιχείο: NAND Ο σχεδιασμός απαιτεί 4 X 2 X 4 = 32 πύλες NAND 2-εισόδοων MKM - 9 Η ιεράρχηση της περιττής συνάρτησης 9-εισόδων (εναλλακτική όψη) MKM - 10 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 5

Γιατί είναι χρήσιμη η ιεράρχηση; Επιτρέπει την επαναχρησιμοποίηση (reuse) ήδη σχεδιασμένων μπλοκ. Πανομοιότυπα κομμάτια μπορούν να χρησιμοποιηθούν σε διάφορα σημεία του σχεδιασμού ή και ακόμη σε διαφορετικούς σχεδιασμούς. Όπου είναι δυνατόν, προσπαθούμε να αποσυνθέσουμε (decompose)) έναν πολύπλοκο σχεδιασμό σε βασικά επαναχρησιμοποιήσιμα μπλοκ (reusable blocks). Επαναχρησιμοποιήσιμα μπλοκ: Έχουν ήδη επαληθευτεί και τεκμηριωθεί Αποθηκεύονται σε βιβλιοθήκες ββ ςγ για γενική χρήση Μειώνει την πολυπλοκότητα του σχεδιασμού και της αντιπροσώπευσης του συνολικού σχεδίου (schematic) του κυκλώματος. MKM - 11 Σχεδιασμός Top-Down και Bottom-Up Top-Down Όψη Συμπεριφοράς Χάρτης Y, Gajski και Kuhn Αρχιτεκτονική Όψη ομής Αλγοριθμικό Λειτουργικό μπλοκ Λογική Κύκλωμα Bottom-Up Φυσική/Γεωμετρική Όψη MKM - 12 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 6

Σχεδιασμός από πάνω προς τα κάτω Top-Down Χάρτης Υ, Gajski και Kuhn Όψη Συμπεριφοράς Αρχιτεκτονική Αλγοριθμικό Όψη ομής Επεξεργαστής Λειτουργικό μπλοκ Συστήματα Μονάδες Υλικού Αλγόριθμοι Λογική ALUs, Καταχωρητές Μεταφορά από/σε Καταχωρητές Κύκλωμα (Register Transfer) Πύλες, FFs Λογική Τρανζίστορ Συναρτήσεις Μεταφοράς Ορθογώνια (Rectangles) Σχέδια Μονάδων (Cell, Module Plans) Bottom-Up Σχέδια απέδου (Floor Plans) Συμπλέγματα (Clusters) Φυσικός ιαχωρισμός (Physical Partitions) Φυσική/Γεωμετρική Όψη MKM - 13 Top-Down vs Bottom-Up Top-Down: Προχωρεί από μια περιγραφή υψηλού επιπέδου προς μια πιο λεπτομερή μρ περιγραφή, ρ με κατάλληλη εφαρμογή της λειτουργίας της αποσύνθεσης Bottom-Up: Ξεκινά από βασικά/πρωταρχικά μπλοκ και τα συνδυάζει για να δημιουργήσει μεγαλύτερα και πιο πολύπλοκα μπλοκ Ο σχεδιασμός πολύπλοκων κυκλωμάτων γίνεται συνήθως και με τους δύο τρόπους, συγχρόνως: Top-Down: επικεντρώνεται στο ««Τι σχεδιάζουμε;» Ελέγχει την πολυπλοκότητα Bottom-Up: επικεντρώνεται στο ««Πως το σχεδιάζουμε;» Συγκεντρώνεται στις λεπτομέρειες MKM - 14 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 7

Σχεδιασμός με τη βοήθεια Η/Υ (Computer-Aided Design - CAD) Επιτρέπει την αυτοματοποίηση του σχεδιασμού πολύπλοκων κυκλωμάτων και συστημάτων. Παραδείγματα εργαλείων CAD: Γραφικοί επεξεργαστές (Graphic/Schematic Editors) Προσομοιωτές λογικής (Logic simulators) Προσομοιωτές χρονισμού (Timing simulators) Συνθέτες λογικής (Logic synthesizers): βελτιστοποίηση χώρου, καθυστέρησης, ισχύος, κτλ. Γλώσσες Προγραμματισμού Υλικού (Hardware Description Languages -HDLs) VHDL, Verilog, ABEL Και πολλά άλλα MKM - 15 Γλώσσες Προγραμματισμού Υλικού (Hardware Description Languages - HDLs) Γλώσσες προγραμματισμού, που έχουν ως κύριο στόχο την περιγραφή της συμπεριφοράς και της δομής υλικού. Επιτρέπουν και παράλληλη λ εκτέλεση, ενώ οι γλώσσες προγραμματισμού υψηλού επιπέδου (π.χ. C, C++) επιτρέπουν μόνο σειριακή εκτέλεση. VHDL, Verilog Χρήση: Εναλλακτική αναπαράσταση από αυτή των γραφικών/σχηματικών / περιγραφών ργρ (περιγραφή ργρ δομής). Χρησιμοποιείται για την αναπαράσταση δυαδικών εξισώσεων, πινάκων αληθείας,, k-χάρτες, κτλ.. (περιγραφή συμπεριφοράς). ιευκολύνει τη διαδικασία της λογικής σύνθεσης. Μπορεί να χρησιμοποιηθεί από διάφορα εργαλεία CAD (σε αντίθεση με τα σχηματικά εργαλεία που διατίθενται από συγκεκριμένους κατασκευαστές). MKM - 16 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 8

Λογική Σύνθεση (Logic Synthesis) Λογικόs Συνθέτης: Μετατρέπει μια RTL (Register-Transfer Logic) περιγραφή του κυκλώματος σε μια βελτιστοποιημένη περιγραφή πυλών (netlist = περιγραφή κυκλώματος σε επίπεδο-πύλης). Ένα netlist μπορεί να μετατραπεί σε μία διάταξη ολοκληρωμένου (IC layout), χρησιμοποιώντας ειδικά εργαλεία σχεδιασμού. MKM - 17 Εργαλείο Λογικής Σύνθεσης MKM - 18 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 9

Ανάλυση Συνδυαστικών Κυκλωμάτων Ανάλυση = ο καθορισμός και η επαλήθευση των λογικών συναρτήσεων ρή που υλοποιεί το κύκλωμα. Η ανάλυση ξεκινά δεδομένου ενός διαγράμματος λογικού κυκλώματος ή περιγραφή συμπεριφοράς, και τελειώνει με: Ένα σύνολο από λογικές συναρτήσεις ή Έναν πίνακα αληθείας. MKM - 19 Παραγωγή συναρτήσεων - Παράδειγμα 1 2 2 3 4 1 Ξεκινούμε από τις εισόδους και προχωρούμε προς τις εξόδους (συστηματικά, από επίπεδο-σε σε-επίπεδο) ) Ονομάζουμε τις ενδιάμεσες συναρτήσεις Ελέγχουμε ξανά τις αντιστροφές Απλοποιούμε (χρησιμοποιώντας το θεώρημα DeMorgan), όπου είναι δυνατόν MKM - 20 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 10

Παραγωγή Πίνακα Αληθείας Καθορίζουμε τον # των γραμμών (2 n, όπου το n είναι ο αριθμός των εισόδων) και τοποθετούμε τους δυαδικούς αριθμούς 0..2 n -1 στον πίνακα. Σπάζουμε το κύκλωμα σε κυκλώματα μιας εξόδου και τα ονομάζουμε. Βρίσκουμε τον πίνακα αληθείας για κομμάτια που καθοδηγούνται ΜΟΝΟ από εισόδους (ή μικρά/απλά κομμάτια). Βρίσκουμε τον πίνακα αληθείας για κομμάτια που καθοδηγούνται από εισόδους ή κομμάτια που ο πίνακας αληθείας τους έχει ήδη υπολογιστεί. ΕΠΑΝΑΛΑΜΒΑΝΟΥΜΕ μέχρι να υπολογιστούν οι πίνακες αληθείας για όλες τις εξόδους. MKM - 21 Παράδειγμα Παραγωγή του Πίνακα Αληθείας υαδικός Αθροιστής X Y Z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 C C 0 1 0 1 0 1 1 0 0 1 1 0 1 0 T1 T2 T3 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1 Σχεδιασμός 1 Συνδυαστικών 0 Κυκλωμάτων 1 1 0 1 MKM - 22 S 0 1 1 0 1 0 0 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 11

Προσομοίωση Χρησιμοποιείται για την ακριβή προσομοίωση και επαλήθευση ενός κυκλώματος. εν παράγει συναρτήσεις. Το κύκλωμα πρέπει να περιγραφεί με τέτοιο τρόπο έτσι ώστε ο προσομοιωτής να μπορεί να το διαβάσει : Netlist: περιγραφή κυκλώματος σε επίπεδο πυλών (σε μορφή κειμένου) HDL περιγραφή Σχηματικό (Schematic): παράγεται από ένα σχηματικό εργαλείο (πχ.. Graphic Editor τoυ Max +Plus II) MKM - 23 Προσομοίωση (συν.) Για να γίνει μια προσομοίωση πρέπει ο χρήστης να δώσει τιμές στις εισόδους του κυκλώματος: Μέσω του πληκτρολογίου (Interactively) Μέσω ενός αρχείου (οι τιμές βρίσκονται στο αρχείο) Για πλήρη επαλήθευση της λειτουργικότητας ενός κυκλώματος χρειάζεται να προσομοιώσουμε όλους τους πιθανούς συνδυασμούς στις εισόδους. Αυτό απαιτεί πολύ χρόνο για κυκλώματα πέρα των ~20 εισόδων! MKM - 24 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 12

Πλήρη Προσομοίωση Παράδειγμα - υαδικός Αθροιστής MKM - 25 ιαδικασία Σχεδιασμού Συνδυαστικών Κυκλωμάτων Σχεδιασμός : η ανάπτυξη ενός κυκλώματος δεδομένης μιας περιγραφής της λειτουργίας του. Ξεκινά με δεδομένες προδιαγραφές και παράγει ένα επαληθευμένο, βέλτιστο λογικό σχεδιασμό συγκεκριμένης τεχνολογίας (συμπεριλαμβάνει το στάδιο της ανάλυσης). MKM - 26 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 13

Στάδια ιαδικασίας Σχεδιασμού 1. Προδιαγραφή (Specification) ίνετε ή ορίζετε 2. ιατύπωση (Formulation) Παραγωγή πίνακα αληθείας ή αρχικών δυαδικών συναρτήσεων που ορίζουν την απαιτούμενη σχέση λειτουργίας εισόδων-εξόδων εξόδων (αν αυτό δεν είναι μέρος των προδιαγραφών) 3. Βελτιστοποίηση (Optimization) 1. υεπίπεδη και πολλών-επιπέδων 2. Σχεδιασμός λογικού διαγράμματος ή netlist του κυκλώματος χρησιμοποιώντας πρωταρχικές (primitive) πύλες (AND, OR, NOT). 4. Αντιστοίχηση Τεχνολογίας (Technology Mapping) Επιλογή τεχνολογίας υλοποίησης και αντικατάσταση πρωταρχικών πυλών. 5. Επαλήθευση (Verification) Επαλήθευση ορθότητας λειτουργίας και χρονισμού με βάση τις αρχικές προδιαγραφές MKM - 27 ιαδικασία Σχεδιασμού 1. Καθορίστε τον απαιτούμενο αριθμό εισόδων και εξόδων. 2. Βρείτε τον πίνακα αληθείας που ορίζει τη σχέση λειτουργίας μεταξύ εισόδων-εξόδων. εξόδων. 3. Καθορίστε και ελαχιστοποιήστε τις δυαδικές συναρτήσεις που υλοποιούνται στις εξόδους (K-χάρτες χάρτες, αλγεβρικοί χειρισμοί, εργαλεία CAD, ). Θεωρήστε πιθανούς περιορισμούς σχεδιασμού (χώρος, καθυστέρηση, ισχύ, διαθέσιμες βιβλιοθήκες, κ.α.) 4. Σχεδιάστε το λογικό διάγραμμα. 5. Αντιστοίχηση τεχνολογίας (αν δεν έχει ληφθεί υπόψη στο 3.). 6. Επαληθεύσετε την ορθότητα του σχεδιασμού. MKM - 28 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 14

Σχεδιασμός -- Παράδειγμα Σχεδιάστε ένα συνδυαστικό κύκλωμα με 4 εισόδους, το οποίο παράγει 1 όταν ο αριθμός των 1 στις εισόδους είναι ίσος με τον αριθμό των 0. Χρησιμοποιήστε ΜΟΝΟ πύλες NOR 2-εισόδων. MKM - 29 Άλλο Παράδειγμα Σχεδιασμού: Μετατροπέας Κώδικα Ένας μετατροπέας κώδικα μετατρέπει από έναν κώδικα σε έναν άλλο, π.χ.: BCD-to-Excess-3 BCD-to-Seven-SegmentSegment MKM - 30 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 15

Μετατροπέας Κώδικα BCD-to-Excess-3 1. Προδιαγραφή: ρ ρ φ Σχεδιάστε ένα κύκλωμα που μετατρέπει ένα κώδικα BCD (Binary-Coded Decimal) στον ανάλογο Excess-3 κώδικα. Η τεχνολογία υλοποίησης υποστηρίζει μόνο πύλες {2NAND, 2NOR, και 2-22 AOI}. Κώδικας Excess-3: εδομένου ενός δεκαδικού ψηφίου n, ο ανάλογος excess-3 κώδικας είναι (n+3) 2 Παράδειγμα: n=5 n+3=8 1000 excess-3 n=0 n+3=3 0011 0011 excess-3 Επιθυμητός κώδικας για δεκαδική αφαίρεση MKM - 31 Μετατροπέας Κώδικα 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 MKM - 32 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 16

BCD-to-Excess-3 (συν.) Ακριβής ιατύπωση Λειτουργίας Οι τιμές των εξόδων από την τιμή εισόδου 1010 έως 1111 έχουν τιμές αδιαφορίας (και δεν φαίνονται εδώ). MKM - 33 BCD-to-Excess-3 (συν.) 3α: Βελτιστοποίηση με χρήση Κ-χάρτη ( υεπίπεδη) Οι K-χάρτες κατασκευάζονται χρησιμοποιώντας τους όρους αδιαφορίας Βελτιστοποίηση ατομικής συνάρτησης (δυεπίπεδη) MKM - 34 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 17

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 W = A + Bf X = B f + BC D Y = (C D) Z = D = 1 OR = 1 AND, 1 OR = 3 NOT, 2 AND, 1 OR = 1 XNOR MKM - 35 BCD-to-Excess-3 (συν.) 3γ: Βελτιστοποίηση - Σχηματικό ιάγραμμα A W B X C D Y Z MKM - 36 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 18

BCD-to-Excess-3 (συν.) 4: Αντιστοίχηση Τεχνολογίας A W A W B X B C X C D Y Z D Y Z MKM - 37 Αντιστοίχηση Τεχνολογίας (Technology Mapping) Σχεδιαστικό στυλ για Ολοκληρωμένα Στοιχεία (cells) και βιβλιοθήκες στοιχείων Μεθοδολογίες Αντιστοίχησης πύλες NAND (βλέπε προηγούμενη διάλεξη) πύλες NOR (βλέπε προηγούμενη διάλεξη) Πολλαπλών τύπων πύλες Προγραμματιζόμενες λογικές διατάξεις (βλέπε επόμενες διαλέξεις) MKM - 38 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 19

Σχεδιαστικό στυλ για Ολοκληρωμένα Πλήρως Προσαρμοσμένο (Full Custom): Γίνετε όλος ο σχεδιασμός του ολοκληρωμένου, μέχρι την πιο μικρή λεπτομέρεια Ακριβό ικαιολογείτε μόνο για πυκνά (dense), γρήγορα ολοκληρωμένα, με ευρεία χρήση (υψηλές πωλήσεις) Τυποποιημένα Στοιχεία (Standard cell): Κομμάτια που έχουν σχεδιαστεί από πριν ή είναι κομμάτια προηγούμενων σχεδιασμών Μεσαίο κόστος Λιγότερο πυκνά και γρήγορα σε σχέση με τα πλήρη προσαρμοσμένα ιάταξη Πυλών (Gate Array): Κανονικές, επαναλαμβανόμενες διατάξεις (regular patterns), οι οποίες μπορούν να χρησιμοποιηθούν σε διαφορετικούς σχεδιασμούς μόνο οι διασυνδέσεις μεταξύ των πυλών προσαρμόζονται για τον κάθε σχεδιασμό Χαμηλότερο κόστος Λιγότερη πυκνότητα σε σχέση με τα άλλα 2 MKM - 39 Βιβλιοθήκες Στοιχείων Στοιχείο (Cell) προσχεδιασμένο πρωταρχικό μπλοκ Βιβλιοθήκη Στοιχείων σύνολο στοιχείων που μπορούν να χρησιμοποιηθούν για μια συγκεκριμένη τεχνολογία υλοποίησης Χαρακτηρισμός Στοιχείων (Cell characterization) λεπτομερής προδιαγραφή των στοιχείων συχνά βάση του συγκεκριμένου σχεδιασμού, της υλοποίησής του και άλλων μετρίσιμων τιμών Τα στοιχεία χρησιμοποιούνται για σχεδιασμούς gate array, standard cell, και σε κάποιες περιπτώσεις, για full custom. MKM - 40 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 20

Επαλήθευση Επίδειξη ότι το τελικό κύκλωμα συμπεριφέρεται ακριβώς με τον ίδιο τρόπο που ορίζεται στις προδιαγραφές και τη διατύπωση του κυκλώματος Παραδείγματα διατύπωσης: Πίνακες αληθείας υαδικές συναρτήσεις Κώδικα HDL Αν τα πιο πάνω παραδείγματα διατύπωσής δεν είναι μέρος των αρχικών προδιαγραφών,, είναι απαραίτητο να επαληθευτεί και η διαδικασία διατύπωσης! MKM - 41 Βασικές Μέθοδοι Επαλήθευσης Θεωρητική Επαλήθευση (Formal Verification) Παράγουμε τον πίνακα αληθείας ή τις δυαδικές συναρτήσεις ρή του τελικού κυκλώματος Συγκρίνουμε με τον πίνακα αληθείας ή τις δυαδικές συναρτήσεις των προδιαγραφών / διατύπωσης Με Προσομοίωση (Simulation-based Verification) Προσομοιώνουμε το τελικό κύκλωμα (ή το netlist του, το οποίο συχνά δίνεται σε μορφή HDL) και τον πίνακα αληθείας / συναρτήσεις / περιγραφή HDL των προδιαγραφών, χρησιμοποιώντας κατάλληλες τιμές εισόδων οι οποίες επιβεβαιώνουν πλήρως την ορθότητα του κυκλώματος. Οι κατάλληλες τιμές για ένα συνδυαστικό κύκλωμα είναι όλοι οι πιθανοί συνδυασμοί (εκτός των συνδυασμών αδιαφορίας) δεν είναι εφικτό για μεγάλα κυκλώματα! MKM - 42 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 21

Άλλο παράδειγμα μετατροπέα κώδικα BCD-to-Seven-SegmentSegment Εμφάνιση Seven-Segment: Segment: 7 LEDs (Light Emitting Diodes), κάθε μια ελέγχεται από μία είσοδο a Το 1 σημαίνει on, και το 0 off f g b e c MKM - 43 d Άλλο παράδειγμα μετατροπέα κώδικα BCD-to-Seven-SegmentSegment Εμφάνιση Seven-Segment: Segment: 7 LEDs (Light Emitting Diodes), κάθε μια ελέγχεται από μία είσοδο a Το 1 σημαίνει on, και το 0 off Για την εμφάνιση του ψηφίου 3 Θέστε a, b, c, d, g σε 1 Θέστε e, f σε 0 f e g c b MKM - 44 d Σχεδιασμός Συνδυαστικών Κυκλωμάτων 22

BCD-to-Seven-SegmentSegment (συν.) Η είσοδος είναι ένας κώδικας BCD 4 ων bit 4 είσοδοι (w, x, y, z). Η έξοδος είναι ένας κώδικας με 7bits (a, b, c, d, e, f, g), που επιτρέπει στο αντίστοιχο δεκαδικό να εμφανιστεί. Παράδειγμα: Είσοδος: : 0000 BCD Έξοδος: : 1111110 SSD (a=b=c=d=e=f=1, g=0) MKM - 45 f e d a g c b BCD-to-Seven-Segment 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; MKM - 46 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 23

BCD-to-Seven-Segment Segment (συν.) Συνεχίζουμε με: 3. Βελτιστοποίηση 4. Αντιστοίχηση Τεχνολογίας 5. Επαλήθευση MKM - 47 Άλλο Παράδειγμα Σχεδιάστε ένα «Συγκριτή Ισοτιμίας» 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 στις άλλες περιπτώσεις) Άμεσος τρόπος σχεδιασμού (εύκολη σκέψη): πίνακας αληθείας με 8 μεταβλητές εισόδων 128 γραμμές και Quine-McCluskey για βελτιστοποίηση Έμμεσος τρόπος σχεδιασμού: χρήση Ιεραρχίας Ε i = (Α i ) Β i + Α i (Β i ) = A i B i (E i = 1 εάν Α i B i ) E = ( Ε 1 + Ε 2 + Ε 3 + Ε 4 ) MKM - 48 Σχεδιασμός Συνδυαστικών Κυκλωμάτων 24