Υλοποιήσεις με πολλαπλή χρήση μεταβλητών και ολοκληρωμένων

Για την απάντηση των υποερωτημάτων, κάποιοι μπορεί να καταλήξετε σε συναρτήσεις στις οποίες εμφανίζονταν κάποιες μεταβλητές και με το συμπλήρωμά τους. (π.χ. στην απλοποίηση της F(A,B,C,D) εμφανιζόταν και το Α και το Α').

Σε αυτήν την κλασσική και πολύ συνηθισμένη περίπτωση παρατηρούνται οι εξής γενικά απαράδεκτες προσεγγίσεις του προβλήματος:

1. να χρησιμοποιείται διαφορετικό switch για τα Α και Α'. Για π.χ. αν έπρεπε να υλοποιήσουν μια συνάρτηση F(A,B,C,D), και στην απλοποιημένη μορφή της υπήρχε και το Α και το Α', τότε χρησιμοποιούσαν 5 switces (A,B,C,D,A') αντί για τα 4 (Α,Β,C,D))!

2. να χρησιμοποιούνται switches για να αναπαραστήσουν μεταβλητές με την συμπληρωμένη τους μορφή. Π.χ. για την υλοποίηση της F(A,B,C,D) χρησιμοποιούσαν 4 switces που αναπαριστούσαν τις Α',Β,C,D'. Οπότε για τον έλεγχο του (ΑΒCD)=(0000), στα switces έπρεπε να δίνεται η τιμή (SW1 SW2 SW3 SW4) = (1 0 0 1)!

3. να χρησιμοποιούνται παραπάνω από ένα switces για κάποια μεταβλητή, όταν η χρήση της στο κύκλωμα γινόταν πάνω απο 2 φορές! Π.χ. στην περίπτωση που χρησιμοποιούταν το Α τρεις φορές, τότε συνηθιζόταν να χρησιμοποιείται και το SW5 για την αναπαράσταση του Α (επειδή προφανώς το SW1 έιχε μόνο 2 υποδοχές και δεν μπορούσε να χρησιμοποιηθεί και τρίτη φορά!). Άρα για τον έλεγχο του (ΑBCD) = (1000), στα switches έπρεπε να δίνεται η (SW1 SW2 SW3 SW4 SW5) = (1 0 0 0 1)!

Κατά κανόνα στις παραπάνω περιπτώσεις καταλήγετε σε κυκλώματα που:
1. παρουσιάζουν αυξημένη πολυπλοκότητα
2. είναι δύσκολο να ελεγχθούν και να επαληθευτούν

Η λύση και στις 3 παραπάνω περιπτώσεις είναι γενική και απλή και φαίνεται στο παρακάτω σχήμα:



Προσπαθήστε να τηρείτε τους παρακάτω απλούς κανόνες:
Α. Χρησιμοποιούμε τόσα switches όσα και οι μεταβλητές εισόδου της συνάρτησής μας, άσχετα με το πόσες φορές εμφανίζεται κάθε μεταβλητή στην μορφή της συνάρτησης που επιχειρούμε να υλοποιήσουμε. (π.χ. για την υλοποίσηση της F(A,B,C)=A'BC+B'C' χρησιμοποιούμε 3 switches και όχι 5!
Β. Αν για την υλοποίηση του κυκλώματός μας χρειαζόμαστε μία μεταβλητή (π.χ. την Α) παραπάνω από 1 φορά, τότε περνάμε με ένα καλώδιο τη μεταβλητή Α από το switch της (πράσινα καλώδια στο παραπάνω σχήμα) σε μία από τις στήλες στο τμήμα του breadboard που είναι ακριβώς από πάνω από τα switces (σε εκείνο το κομμάτι του breadboard οι υποδοχές είναι βραχυκυκλωμένες κατά στήλες - μαύρες λεπτές κάθετες ευθείες γραμμές στο σχήμα) και στη συνέχεια παίρνουμε από εκεί όσα Α θέλουμε!
Γ. Αν από μία μεταβλητή, πχ την Α, χρειαζόμαστε μόνο/και το συμπλήρωμά της, τότε δεν "βαπτίζουμε" το διακόπτη Α'! Αυτό που κάνουμε σε αυτήν τη περίπτωση είναι να αφήνουμε τον διακόπτη να δίνει Α και να το μεταβιβάζουμε σε έναν αντιστροφέα (7404 - NOT), από όπου θα παίρνουμε το επιθυμητό μας Α'.

Το επιπλέον κόστος για να τηρούμε το Β είναι +1 καλώδιο για κάθε μεταβλητή που χρησιμοποιύμε πάνω από 1 φορά!
το επιπλέον κόστος για να τηρούμε το Γ έιναι +1 καλώδιο για κάθε μεταβλητή της οποίας θέλουμε το συμπλήρωμα (+2 = τροφοδοσία και γείωση για το 7404)!
...ενώ: αξία ενός αξιόπιστου και εύκολα επαληθεύσιμου κυκλώματος = ανεκτίμητη!

Τέλος,
αν χρησιμοποιούμε πάνω από ένα ολοκληρωμένα για την υλοποίηση της συνάρτησής μας, δεν χρησιμοποιούμε πάνω από 1 πηγή τροφοδοσίας!
Η πηγή της τροφοδοσίας (και της γείωσης) πρέπει να είναι μία (1) για κάθε κύκλωμα υλοποιημένο στο breadboard!
Αν χρειάζεται να χρησιμοποιήσουμε πάνω από ένα ολοκληρωμένα, τότε διοχετεύουμε με καλώδιο (καλώδιο 1 στο σχήμα) ΜΙΑ πηγή τροφοδοσίας σε μία "γραμμή τροφοδοσίας" και ΜΙΑ πηγή γείωσης σε μία "γραμμή γείωσης" (καλώδιο 2), όπως ακριβώς φαίνεται στο παραπάνω σχήμα. Στη συνέχεια μπορούμε να πάρουμε τροφοδοσία και γείωση για τα ολοκληρωμένα μας από τις γραμμές τροφοδοσίας και γέιωσης. (Το κόστος σε αυτήν την περίπτωση είναι +2 καλώδια, αλλά αν κάτι δεν πάει καλά με την τροφοδοσία από την πηγή, τότε έχουμε να ελέγξουμε ένα καλώδιο και όχι 15!)

***ΠΡΟΣΟΧΗ:
Τα breadboard είναι χωρισμένα στη μέση σε δύο μέρη και οι γραμμές γείωσης (μαύρες λεπτές οριζόντιες ευθείες στο σχήμα) εκτείνονται σε κάθε μέρος από την μία άκρη στην άλλη.
Οι γραμμές τροφοδοσίας ωστόσο (κόκκινες λεπτές ευθείες στο σχήμα) δε φτάνουν από άκρη σε άκρη, αλλά χωρίζονται στη μέση σε κάθε μέρος!!!
Αν σε ένα μέρος του breadboard είναι αναγκαίο να χρησιμοποιηθούν ΚΑΙ ΤΑ ΔΥΟ τμήματα των γραμμών τροφοδοσίας (πχ. όπως στο σχήμα), τότε ΕΙΝΑΙ ΑΠΑΡΑΙΤΗΤΟ να χρησιμοποιηθεί ένα καλώδιο-γέφυρα (καλώδιο 3) προκειμένου να περάσει η τροφοδοσία και στο δεύτερο τμήμα της γραμμής!

Επιστροφή