{ Ψηφιακή Σχεδίαση εργαστήριο Γιάννης Νικολουδάκης
ΧΑΡΤΕΣ KARNAUGH ΑΠΛΟΠΟΙΗΣΗ ΛΟΓΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ ME ΧΑΡΤΕΣ KARNAUGH
ΧΑΡΤΕΣ KARNAUGH Οι χάρτες Karnaugh είναι ένας τρόπος αναπαράστασης των λογικών συναρτήσεων. Ο χάρτης Karrnaugh είναι ένας πίνακας όπου το κάθε τετράγωνο αναπαριστά ένα συνδυασμό των μεταβλητών, δηλαδή κάθε τετράγωνο ενός χάρτη Karnaugh αντιστοιχεί σε έναν ελάχιστο ή μέγιστο όρο της λογικής συνάρτησης που αναπαριστά.
ΧΑΡΤΗΣ KARNAUGH 2 ΜΕΤΑΒΛΗΤΩΝ
ΧΑΡΤΗΣ KARNAUGH 3 ΜΕΤΑΒΛΗΤΩΝ !
ΧΑΡΤΗΣ KARNAUGH 4 ΜΕΤΑΒΛΗΤΩΝ
ΓΕΙΤΟΝΙΚΑ ΚΕΛΙΑ AB \ CD Γειτονικά κελιά είναι αυτά τα οποία μεταξύ τους διαφέρουν μόνο κατά ένα bit
ΓΕΙΤΟΝΙΚΑ ΚΕΛΙΑ AB \ CD Παρατηρούμε οτι οι άκρες του χάρτη είναι επίσης γειτονικές.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΛΟΓΙΚΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΧΑΡΤΗ KARNAUGH Η αναπαράσταση μίας λογικής συνάρτησης με χάρτη Karnaugh γίνεται θέτοντας “1” σε κάθε τετράγωνο του χάρτη Karnaugh που αντιστοιχεί σε ελάχιστο όρο όπου η συνάρτηση έχει τιμή “1” και θέτοντας “0” σε κάθε τετράγωνο του χάρτη Karnaugh που αντιστοιχεί σε μέγιστο όρο όπου η συνάρτηση έχει τιμή “0”. Σε πολλές περιπτώσεις, μερικοί συνδυασμοί των μεταβλητών εισόδου δεν έχουν νόημα και δεν πρόκειται να συμβούν. Αυτοί οι συνδυασμοί καλούνται συνθήκες αδιαφορίας γιατί δεν ενδιαφέρει η τιμή της συνάρτησης για τους συνδυασμούς αυτούς. Στον πίνακα αληθείας και στο χάρτη Karnaugh μίας τέτοιας συνάρτησης οι τιμές της συνάρτησης στις συνθήκες αδιαφορίας συμβολίζονται με X.
ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΠΑΡΑΣΤΑΣΗΣ ΛΟΓΙΚΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΧΑΡΤΗ KARNAUGH Η λογική συνάρτηση Y=A’BC+AB’C’+ABC μπορεί να αναπαρασταθεί με τον ακόλουθο χάρτη Karnaugh:
ΑΠΛΟΠΟΙΗΣH ΛΟΓΙΚΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΧΑΡΤΗ KARNAUGH Για να απλοποιήσουμε μία λογική συνάρτηση χρησιμοποιώντας χάρτη Karnaugh, ακολουθούμε τα εξής βήματα: Γράφουμε τη συνάρτηση με μορφή αθροίσματος ελαχίστων όρων. (????) Γράφουμε τη συνάρτηση με μορφή αθροίσματος ελαχίστων όρων. (????) Τοποθετούμε τους όρους της συνάρτησης στον χάρτη Karnaugh σημειώνοντας με “1” το αντίστοιχο τετράγωνο. Τοποθετούμε τους όρους της συνάρτησης στον χάρτη Karnaugh σημειώνοντας με “1” το αντίστοιχο τετράγωνο. Δημιουργούμε ομάδες με “1” των 2, 4, 8, 16 μελών από γειτονικά τετράγωνα (οριζόντια ή κάθετα, συνεχόμενα ή αναδιπλούμενα, αλλά όχι διαγώνια). Προσπαθούμε να δημιουργούμε όσο το δυνατόν μεγαλύτερες ομάδες. Κάθε “1” μπορεί να συμμετέχει σε περισσότερες από μία ομάδες. Δημιουργούμε ομάδες με “1” των 2, 4, 8, 16 μελών από γειτονικά τετράγωνα (οριζόντια ή κάθετα, συνεχόμενα ή αναδιπλούμενα, αλλά όχι διαγώνια). Προσπαθούμε να δημιουργούμε όσο το δυνατόν μεγαλύτερες ομάδες. Κάθε “1” μπορεί να συμμετέχει σε περισσότερες από μία ομάδες. Ξαναγράφουμε τη συνάρτηση με όλους τους ελεύθερους όρους που πιθανόν να υπάρχουν και τις ομάδες (παραλείποντας τις μεταβλητές που μέσα στην ομάδα αλλάζουν τιμή). Ξαναγράφουμε τη συνάρτηση με όλους τους ελεύθερους όρους που πιθανόν να υπάρχουν και τις ομάδες (παραλείποντας τις μεταβλητές που μέσα στην ομάδα αλλάζουν τιμή).
ΑΠΛΟΠΟΙΗΣH ΛΟΓΙΚΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΧΑΡΤΗ KARNAUGH Σε χάρτη 2 μεταβλητών: 1 τατράγωνο, παριστάνει έναν όρο 2 παραγόντων 2 τετράγωνα, παριστάνουν εναν όρο 1 παράγοντα 4 τετράγωνα παριστάνουν μία συνάρτηση που πάντα είναι ίση με το λογικό 1 Σε χάρτη 4 μεταβλητών: 1 τατράγωνο, παριστάνει έναν όρο 4 παραγόντων 2 τετράγωνα, παριστάνουν εναν όρο 2 παράγοντα 4 τετράγωνα, παριστάνουν εναν όρο 1 παράγοντα 8 τετράγωνα παριστάνουν μία συνάρτηση που πάντα είναι ίση με το λογικό 1
ΠΑΡΑΔΕΙΓΜΑ ΑΠΛΟΠΟΙΗΣΗΣ ΜΕ 2 ΜΕΤΑΒΛΗΤΕΣ A) F(x,y)=Σ(1,2,3) Χ \ Υ F(x,y) = x + y A) F(x,y)=Σ(3) Χ \ Υ F(x,y) = x y
ΠΑΡΑΔΕΙΓΜΑ ΑΠΛΟΠΟΙΗΣΗΣ ΜΕ 3 ΜΕΤΑΒΛΗΤΕΣ A) F(x,y,z)=Σ(2,3,4,5) X \ YZ F(x,y) = x’y + xy’ A) F(x,y,z)=Σ(0,2,4,5,6) X \ YZ F(x,y) = z’ + xy’
ΠΑΡΑΔΕΙΓΜΑ ΑΠΛΟΠΟΙΗΣΗΣ ΜΕ 4 ΜΕΤΑΒΛΗΤΕΣ A) F(w,x,y,z)=Σ(0,1,2,4,5,6,8,9,12,13,14) WX \ YZ F(w,x,y,z) = y’ + w’z’ + xz’
ΑΠΛΟΠΟΙΗΣH ΛΟΓΙΚΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΧΑΡΤΗ KARNAUGH ΓΙΝΟΜΕΝΩΝ ΑΘΡΟΙΣΜΑΤΩΝ A) F(w,x,y,z)=Σ(1,2,5,8,9,10) AB \ CD F(w,x,y,z) = Π(3,4,6,7,11,12,13,14,15) F(w,x,y,z) = (Α’ + Β’)(C’ + D’)(B’ + D)
ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΠΑΡΑΣΤΑΣΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΛΛΙΠΕΙΣ ΠΑΡΑΓΟΝΤΕΣ Έστω η συνάρτηση F(w,x,y,z) = xy’z + x’yz + yz + w’x’y’z xy’z (w + w’) = wxy’z + w’xy’z x’yz(w + w’) = wx’yz + w’x’yz yz(w + w’) = wyz + w’yz wyz(x + x’) + w’yz(x + x’) = wxyz + wx’yz + w’xyz + w’x’yz Οπότε F(w,x,y,z) = wxy’z + w’xy’z + wx’yz + w’x’yz + wxyz + wx’yz + w’xyz + w’x’yz + w’x’y’z !
ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΠΑΡΑΣΤΑΣΗΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΛΛΙΠΕΙΣ ΠΑΡΑΓΟΝΤΕΣ Οπότε F(w,x,y,z) = Σ(1,3,5,7,13,15) WX \ YZ F(w,x,y,z) = w’z + xz
ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ #1 Έστω η συναρτήσεις: 1. F(A,B,C,D) = ABC’ + AB’C + BD + A’B’CD’ 2. F(A,B,C,D) = A + C’D + ACD’ + A’BCD’ Αναπαραστήστε τη σε χάρτη Karnaugh Απλοποιήστε τη Σχεδιάστε το λογικό κύκλωμα με πύλες 2 εισόδων (NOT, AND, OR)
ΟΙΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΟΙΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΔΥΟ ΕΙΣΟΔΩΝ ΟΙΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΠΕΔΩΝ
ΟΙΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΔΥΟ ΕΙΣΟΔΩΝ Οι πύλες NAND και NOR δυο εισόδων ονομάζονται οικουμενικές πύλες (universal gates) γιατί κάθε συνδυαστικό κύκλωμα μπορεί να υλοποιηθεί μόνο με πύλες NAND δυο εισόδων ή μόνο με πύλες NOR δυο εισόδων.
ΟΙΚΟΥΜΕΝΙΚΗ ΠΥΛΗ NAND Κάθε πύλη NOT και AND και OR δυο εισόδων μπορεί να αντικατασταθεί από ένα ισοδύναμο κύκλωμα με αποκλειστική χρησιμοποίηση πυλών NAND δυο εισόδων. Στο παρακάτω σχήμα βλέπουμε τα κυκλώματα που είναι ισοδύναμα με τις βασικές πύλες NOT, AND και OR, χρησιμοποιώντας μόνο πύλες ΝΑND δυο εισόδων.
ΟΙΚΟΥΜΕΝΙΚΗ ΠΥΛΗ NOR Κάθε πύλη NOT και AND και OR δυο εισόδων μπορεί να αντικατασταθεί από ένα ισοδύναμο κύκλωμα με αποκλειστική χρησιμοποίηση πυλών NOR δυο εισόδων. Στο παρακάτω σχήμα βλέπουμε τα κυκλώματα που είναι ισοδύναμα με τις βασικές πύλες NOT, AND και OR, χρησιμοποιώντας μόνο πύλες NOR δυο εισόδων.
ΣΧΕΔΙΑΣΗ ΣΥΣΔΥΑΣΤΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕ ΠΥΛΕΣ NAND/NOR 2 ΕΙΣΟΔΩΝ Αν θέλουμε να σχεδιάσουμε και να κατασκευάσουμε ένα κύκλωμα με οικουμενικές πύλες NAND ή NOR δυο εισόδων, μπορούμε να το σχεδιάσουμε πρώτα με πύλες NOT, AND και OR και στη συνέχεια να αντικαταστήσουμε την κάθε πύλη με το ισοδύναμο κύκλωμα. Αν στο κύκλωμα υπάρχουν δυο διαδοχικές πύλες NAND ή NOR που αντιστοιχούν σε πύλες ΝΟΤ, τότε οι δυο διαδοχικές πύλες διαγράφονται και το κύκλωμα απλοποιείται.
ΠΑΡΑΔΕΙΓΜΑ ΣΧΕΔΙΑΣΗΣ ΣΥΣΔΥΑΣΤΙΚΟΥ ΚΥΚΛΩΜΑΤΟΣ ΜΕ ΠΥΛΕΣ NAND 2 ΕΙΣΟΔΩΝ Θέλουμε να σχεδιάσουμε με οικουμενικές πύλες NAND δυο εισόδων το συνδυαστικό κύκλωμα που υλοποιεί τη λογική συνάρτηση: Z=A’B+C Σχεδιάζουμε στην αρχή το κύκλωμα με πύλες NOT, AND και OR:
Στη συνέχεια αντικαθιστούμε την κάθε πύλη με το ισοδύναμο κύκλωμα με πύλες NAND δυο εισόδων:
Στο κύκλωμα αυτό παρατηρούμε ότι υπάρχουν διαδοχικές πύλες NAND δυο εισόδων που αντιστοιχούν σε πύλες ΝΟΤ. Αυτές οι δυο διαδοχικές πύλες διαγράφονται και το κύκλωμα απλοποιείται:
ΠΑΡΑΔΕΙΓΜΑ ΣΧΕΔΙΑΣΗΣ ΣΥΣΔΥΑΣΤΙΚΟΥ ΚΥΚΛΩΜΑΤΟΣ ΜΕ ΠΥΛΕΣ NOR 2 ΕΙΣΟΔΩΝ Θέλουμε να σχεδιάσουμε με οικουμενικές πύλες NOR δύο εισόδων το συνδυαστικό κύκλωμα που υλοποιεί τη λογική συνάρτηση: Z=A’B+C Αν προχωρήσουμε την επεξεργασία της εξίσωσης χρησιμοποιώντας το θεώρημα De Morgan έχουμε: Z=A’B+C=((A’B)’C’)’=((A+B’)C’)’ =(((A+B’)’+C)’)’ H συνάρτηση αυτή υλοποιείται αποκλειστικά με πύλες NOR δύο εισόδων:
ΟΙΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟΔΩΝ Οι πύλες NAND και NOR πολλαπλών εισόδων ονομάζονται οικουμενικές πύλες (universal gates) γιατί κάθε συνδυαστικό κύκλωμα μπορεί να υλοποιηθεί μόνο με πύλες NAND πολλαπλών εισόδων ή μόνο με πύλες NOR πολλαπλών εισόδων.
ΣΧΕΔΙΑΣΗ ΣΥΝΔΥΑΣΤΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕ ΠΥΛΕΣ NAND/NOR ΠΟΛΛΑΠΛΩΝ ΕΙΣΟΔΩΝ -έκφραση των συναρτήσεων εξόδου του συνδυαστικού κυκλώματος ως αθροίσματα γινομένων, όταν απαιτείται υλοποίηση με πύλες NAND ως γινόμενα αθροισμάτων, όταν απαιτείται υλοποίηση με πύλες NOR - πύλες πρώτου επιπέδου σε κάθε γινόμενο αντιστοιχεί μία πύλη NAND με εισόδους τους παράγοντες του γινομένου, όταν απαιτείται υλοποίηση με πύλες NAND σε κάθε άθροισμα αντιστοιχεί μία πύλη NOR με εισόδους τους όρους του αθροίσματος, όταν απαιτείται υλοποίηση με πύλες NOR - πύλη δεύτερου επιπέδου μία πύλη με εισόδους που τροφοδοτούνται από τις εξόδους των πυλών του πρώτου επιπέδου - διαγραφή κάθε πύλης του πρώτου επιπέδου που τροφοδοτείται από μία είσοδο και αντικατάσταση της εισόδου με το συμπλήρωμά της, με το οποίο τροφοδοτείται η πύλη του δεύτερου επιπέδου (ισχύει η υπόθεση ότι οι είσοδοι είναι διαθέσιμοι τόσο στην κανονική όσο και στη συμπληρωματική τους μορφή)
ΑΣΚΗΣΗ ΓΙΑ ΤΟ ΣΠΙΤΙ #2 Υλοποιήστε τα λογικά κυκλώματα της άσκησης #1 με oικουμενικές πύλες NAND