Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Λογική Σχεδίαση Ψηφιακών Συστημάτων Σταμούλης Γεώργιος georges@uth.gr Δαδαλιάρης Αντώνιος dadaliaris@uth.gr
Δυαδική Λογική Η δυαδική λογική ασχολείται με μεταβλητές οι οποίες μπορούν να λάβουν μόνο δύο διακριτές τιμές (0 και 1) και με λογικές πράξεις. Οι τρεις βασικές λογικές πράξεις της δυαδικής λογικής είναι οι ακόλουθες: ΚΑΙ (AND) Η' (OR) ΟΧΙ (NOT) X Y AND (x y) OR (x + y) NOT (x') 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0
Πύλες ΚΑΙ (AND) / Η' (OR) / ΟΧΙ (NOT) A B Q = A B 0 0 0 0 1 0 1 0 0 1 1 1 A B Q = A + B 0 0 0 0 1 1 1 0 1 1 1 1 A Q = A' 0 1 1 0
Πύλες ΟΧΙ-ΚΑΙ (NAND) / OYTE (NOR) / EXCLUSIVE-OR (XOR)
Άλλες Πύλες Οι πύλες που παρουσιάστηκαν στις παραπάνω διαφάνειες μπορούν να χαρακτηρηστούν και ως βασικές πύλες της λογικής σχεδίασης, δύναται όμως να δημιουργηθούν και παραλλαγές τους με μεγαλύτερο αριθμό εισόδων, όπως οι ακόλουθες: Ποιές είναι οι εξισώσεις που διέπουν την λειτουργία των παραπάνω πυλών;
Universal Gates Οι πύλες NAND και NOR χαρακτηρίζονται και ως Universl Gates διότι με αποκλειστική χρήση των παραπάνω πυλών μπορούμε να υλοποιήσουμε οποιαδήποτε άλλη από τις βασικές πύλες.
'Αλγεβρα Boole Βασικοί Ορισμοί: Κλειστότητα x*y στο S. Το αποτέλεσμα της πράξης * μεταξύ δύο στοιχείων του συνόλου S, ανήκει και αυτό στο ίδιο σύνολο S. Προσεταιριστικός Νόμος: (χ * y) * z = x * (y * z) Αντιμεταθετικός Νόμος: x * y = y * x Ουδέτερο Στοιχείο: e * x = x * e = x Αντίστροφο Στοιχείο: x * y = e Επιμεριστικός Νόμος: x * (y & z) = (x * y) & (x * z)
Αξιωματικός Ορισμός (Huntington) Αλγεβρα Boole: Είναι μια αλγεβρική δομή πάνω σε ένα σύνολο στοιχείων S, μαζί με τους δυαδικούς τελεστές +,, αρκεί να ικανοποιούνται τα παρακάτω αξιώματα:
Αξιωματικός Ορισμός (Huntington) (συνέχεια) Κλειστότητα ως προς τις πράξεις "+" και " ". Ουδέτερο Στοιχείο: Ως προς την πράξη "+": χ + 0 = 0 + χ = χ Ως προς την πράξη " ": χ 1 = 1 χ = χ Αντιμεταθετική Ιδιότητα: Ως προς την πράξη "+": χ + y = y + χ Ως προς την πράξη " ": χ y = y χ
Αξιωματικός Ορισμός (Huntington) (συνέχεια) Επιμεριστική Ιδιότητα: Ως προς την πράξη "+": χ + (y z) = (x + y) (x + z) Ως προς την πράξη " ": χ (y + z) = (x y) + (x z) Συμπλήρωμα: Ως προς την πράξη "+": χ + χ' = 1 Ως προς την πράξη " ": χ χ' = 0 Υπάρχουν τουλάχιστον δύο στοιχεία x, y στο σύνολο S.
Αξιώματα Αξίωμα #1 (Αντιμεταθετικοί Νόμοι): Αντιμεταθετικότητα ως προς +: A + B = B + A Αντιμεταθετικότητα ως προς : A B = B A Αξίωμα #2 (Επιμεριστικοί Νόμοι): Η πράξη + είναι επιμεριστική ως προς : A + (B C) = (A + B) (A + C) Η πράξη είναι επιμεριστική ως προς +: A (B + C) = (A B) + (A C)
Αξιώματα (συνέχεια) Αξίωμα #3 (Ουδέτερο Στοιχείο): Το 0 είναι το ουδέτερο στοιχείο της πράξης +: A + 0 = 0 + A = Α Το 1 είναι το ουδέτερο στοιχείο της πράξης : A 1 = 1 A = Α Αξίωμα #4 (Συμπληρώματα): Συμπλήρωμα ως προς την πράξη +: A + A' = A' + A = 1 Συμπλήρωμα ως προς την πράξη : A A' = A' A = 0
Θεωρήματα Θεώρημα #1: Α + 1 = 1 Απόδειξη: Α + 1 = 1 (Α + 1) Αξίωμα #3 = (Α + Α') (Α + 1) Αξίωμα #4 = Α + (Α' + 1) Αξίωμα #2 = Α + Α' Αξίωμα #3 =1 Αξίωμα #4
Θεωρήματα (συνέχεια) Θεώρημα #2: Συμπλήρωμα του 0 είναι το 1. Συμπλήρωμα του 1 είναι το 0.
Θεωρήματα (συνέχεια) Θεώρημα #3: Α + Α = Α Απόδειξη: Α + A = (A + A) 1 Αξίωμα #3 = (Α + Α) (Α + A') Αξίωμα #4 = Α + (A Α') Αξίωμα #2 = Α + 0 Αξίωμα #4 =A Αξίωμα #3
Θεωρήματα (συνέχεια) Θεώρημα #4: Α'' = Α Απόδειξη: Α'' = A'' + 0 Αξίωμα #3 = A'' + (A A') Αξίωμα #4 = (Α'' + A) (A'' + A') Αξίωμα #2 = (A'' + A) 1 Αξίωμα #4 = (A'' + A) (A + A') Αξίωμα #4 = (Α + Α'') (Α + A') Αξίωμα #1 = A (A'' + A') Αξίωμα #2 = A 1 Αξίωμα #4 = A Αξίωμα #3
Θεωρήματα (συνέχεια) Θεώρημα #5: Α + (A B) = Α (χωρίς A B = 0) Απόδειξη: Α + (Α B) = (A 1) + (A B) Αξίωμα #3 = A (1 + B) Αξίωμα #2 = A (B + 1) Αξίωμα #1 = A 1 Αξίωμα #1 = A Αξίωμα #3
Θεωρήματα (συνέχεια) Θεώρημα #6: Α + (A' B) = Α + Β Απόδειξη: Α + (Α' B) = (A + A') (A + B) Αξίωμα #2 = 1 (A + B) Αξίωμα #4 = A + B Αξίωμα #3
Θεωρήματα (συνέχεια) Θεώρημα #7: (Α B) C = A (B C) Απόδειξη: Θέτουμε X = (A B) C και Y = A (B C) Α + X = A + [(A B) C] = [A + (A B)] (A + C) Αξίωμα #2 = A (A + C) Θεώρημα #5 = A Θεώρημα #5 A + Y = Α + [Α (Β C)] = (A + A) [A + (B C)] Αξίωμα #2 = A [A + (B C)] Θεώρημα #3 = A Θεώρημα #5
Θεωρήματα (συνέχεια) Θεώρημα #7(συνέχεια): (Α B) C = A (B C) Απόδειξη: Θέτουμε X = (A B) C και Y = A (B C) Α + Χ = Α + [(Α Β) C] = [A + (A B)] (A + C) Αξίωμα #2 = [(Α + Α) (Α + Β)] (Α + C) Αξίωμα #2 = [1 (Α + Β)] (Α + C) Αξίωμα #4 = (Α + Β) (Α + C) Αξίωμα #3 = Α + (Β C) Αξίωμα #2 Α + Υ = Α + [Α (Β C)] = (A + A) [A + (B C)] Αξίωμα #2 = 1 [Α + (Β C)] Αξίωμα #4 = Α + (Β C) Αξίωμα #3
Θεωρήματα (συνέχεια) Θεώρημα #7(συνέχεια): (Α B) C = A (B C) Απόδειξη: Θέτουμε X = (A B) C και Y = A (B C) (Α + Χ) (Α + Χ) = (Α + Υ) (Α + Υ) [(Α + Χ) Α ] + [(Α + Χ) Χ] = [(Α + Υ) Α ] + [(Α + Υ) Υ] Αξίωμα #2 (Α Α ) + (Χ Α ) + [(Α + Χ) Χ] = (Α Α ) + (Υ Α ) + [(Α + Υ) Υ] Αξίωμα #2 (Α Α ) + (Χ Α ) + Χ = (Α Α ) + (Υ Α ) + Υ Θεώρημα #5 (Χ Α ) + Χ = (Υ Α ) + Υ Αξίωμα #4, #3 Χ = Υ Θεώρημα #5
Θεωρήματα (συνέχεια) Θεώρημα #8 (Θεώρημα De Morgan): (Α B)' = A' + B' (Α + B)' = A' B' Απόδειξη: (A + B) + A B = [(A + B) + A ] [(A + B) + B ] Αξίωμα #2 = [(Β + Α) + Α ] [(Α + Β) + Β ] Αξίωμα #1 = [Β + (Α + Α )] [Α + (Β + Β )] Θεώρημα #7 = (Β + 1) (Α + 1) Αξίωμα #4 = 1 1 Θεώρημα #1 = 1 Αξίωμα #3 (A + B) (A B ) = (A B ) (Α + Β) Αξίωμα #1 = [(Α Β ) Α] + [(Α Β ) Β] Αξίωμα #2 = [(Β Α ) Α] + [(Α Β ) Β] Αξίωμα #1 = [Β (Α Α)] + [Α (Β Β)] Θεώρημα #7 = (Β 0) + (Α 0) Αξίωμα #4 = 0 + 0 Θεώρημα #1 = 0 Θεώρημα #3
Η πράξη XOR Αντιμεταθετικότητα: A B = B A Προσεταιριστικότητα: (A B) C = A (B C) = A B C Επιμεριστικότητα: (A B) (A C) = A (B C)
Εκφράσεις (1) Διαγράμματα Venn Συναρτήσεις Boole Πίνακες Αληθείας Πρότυπες Μορφές: Ελαχιστόροι (Minterms) Μεγιστόροι (Maxterms) Conjuctive Normal Form (CNF) Συναρτήσεις Boole: Συνδυασμοί λογικών μεταβλητών δίνουν λογικές συναρτήσεις. Για παράδειγμα: F1 = x + yz F2 = xy + yz + zx F3 = xyz + x y z + x yz + xy z F4 = xy + z
Εκφράσεις (2) Πίνακες Αληθείας: x y z F1 F2 F3 F4 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1
Εκφράσεις (3): Ελαχιστόροι ή Πρότυπα Γινόμενα (Minterms or Standard Products) Μεγιστόροι ή Πρότυπα Αθροίσματα (Maxterms or Standard Sums) Σαν ελαχιστόρος ή πρότυπο γινόμενο μιας λογικής συνάρτησης F = F(x 1,..., x n ) ορίζεται μια έκφραση ΚΑΙ (AND) όλων των μεταβλητών x i είτε στην κανονική είτε στην συμπληρωματική τους μορφή. Σαν μεγιστόρος ή πρότυπο άθροισμα μιας λογικής συνάρτησης F = F(x 1,..., x n ) ορίζεται μια έκφραση Η' (OR) όλων των μεταβλητών x i είτε στην κανονική είτε στην συμπληρωματική τους μορφή.
Ελαχιστόροι και Μεγιστόροι x y z Όρος Όνομα Όρος Όνομα 0 0 0 x y z m0 x+y+z M0 0 0 1 x y z m1 x+y+z M1 0 1 0 x yz m2 x+y +z M2 0 1 1 x yz m3 x+y +z M3 1 0 0 xy z m4 x +y+z M4 1 0 1 xy z m5 x +y+z M5 1 1 0 xyz m6 x +y +z M6 1 1 1 xyz m7 x +y +z M7
Θεώρημα Shannon F(x 1, x 2,..., x n ) = x 1 F(1, x 2,..., x n ) + x 1 F(0, x 2,..., x n ) F(x 1, x 2,..., x n ) = [x 1 + F(0, x 2,..., x n )] [x 1 + F(1, x 2,..., x n )]
Μετατροπή Συνάρτησης σε Άθροισμα Ελαχιστόρων Εφαρμόζουμε το θεώρημα του Shannon μέχρι να δημιουργήσουμε το άθροισμα ελαχιστόρων. Φέρνουμε την συνάρτηση σε μορφή αθροίσματος γινομένων: Αν ένα γινόμενο είναι ελαχιστόρος το διατηρούμε. Για κάθε μεταβλητή x i που δεν υπάρχει στο γινόμενο το πολλαπλασιάζουμε με (x i + x i '). Εκτελούμε τις πράξεις και απαλείφουμε τους όρους που εμφανίζονται πάνω από μία φορά.
Μετατροπή μεταξύ Κανονικών Μορφών Σχέση μεταξύ μεγιστόρων και ελαχιστόρων για μια λογική συνάρτηση. F(x, y, z) = Σ(1, 3, 5, 7) = Π(0, 2, 4, 6) Και για το συμπλήρωμα της συνάρτησης... F'(x, y, z) = Π(1, 3, 5, 7) = Σ(0, 2, 4, 6)
2ο Σετ Ασκήσεων (Παράδοση 19/10) Υλοποιείστε τις βασικές πύλες AND / OR / NOT / XOR / και NOR, χρησιμοποιώντας μόνο την πύλη NAND. Υλοποιείστε τις βασικές πύλες AND / OR / NOT / XOR / και NAND, χρησιμοποιώντας μόνο την πύλη NOR. Ποιά είναι η διαφορά μεταξύ ενός θεωρήματος και ενός αξιώματος; Γράψτε την απόδειξη του 2ου Θεωρήματος De Morgan.