Download - ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Transcript
Page 1: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1

Καλώς ήρθατε !

Page 2: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Τα τυπικά του μαθήματος– 13 εβδομάδες x 4 ώρες– Στην αρχή 4ωρες παραδόσεις– Σύγγραμμα :

– Μοrris Mano, “Ψηφιακή Σχεδίαση”, 5η έκδοση. Το δηλώνετε στο σύστημα Εύδοξος και το παραλαμβάνετε με την αστυνομική σας ταυτότητα.

– Yλη (ανεξάρτητα του εάν καλυφθεί) :– Κεφάλαια 1, 2, 3, 4– 190 πρώτες σελίδες

– Οι παραδόσεις βασίζονται στο βιβλίο :– John F. Wakerly, “Digital Design : Principles & Practices”, 4th edition.– Υπάρχει στη βιβλιοθήκη μας και μπορείτε να το δανειστείτε.– Θα καλύψουμε :

– Κεφάλαια 1, 2, 4 και 6 (όχι όσα αναφέρονται σε VHDL και ABEL) και παράγραφοι 5.1, 5.4

– Ολη η πληροφορία διαθέσιμη στο site http://pc-vlsi18.ceid.upatras.gr/logic_design_i.html

– Ερωτήσεις – απορίες : [email protected]

Page 3: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Βαθμολόγηση

• Ο τελικός βαθμός προκύπτει από γραπτή εξέταση • Στην εξέταση συμπεριλαμβάνεται και η Verilog HDL

• προπονηθείτε σε αυτήν με τις ενδεικτικά λυμένες ασκήσεις και

• το λογισμικό που σας δίδεται και • Υπάρχει στο ΥΚ. • Στη 1η άσκηση σας μαθαίνουμε και πως θα το

εγκαταστήσετε και στο σπίτι σας.

Page 4: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ζούμε στη ψηφιακή εποχή ... •Ψηφιακές φωτογραφικές μηχανές •Ψηφιακοί βιντεοδίσκοι (VCD, DVD)

•Ψηφιακός ήχος (CD, 5.1 Surround) •Ψηφιακά ελεγχόμενα αυτοκίνητα (ABS, TCS, ESP) •Ψηφιακή τηλεφωνία

•Το φως είναι αναλογικό •Η ένταση και η συχνότητα είναι αναλογικά μεγέθη •Η ταχύτητα και η γωνία στροφής είναι αναλογικά

•Τα ηλεκτρομαγνητικά κύματα είναι αναλογικά

ενός αναλογικού κόσμου

Page 5: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πως συνεπώς μιλάμε για ψηφιακή εποχή ?

Το αναλογικό σήμα μετατρέπεται σε ψηφιακό.

Η όλη επεξεργασία γίνεται στο ψηφιακό κόσμο

Ακολουθεί μετατροπή πάλι σε αναλογικό

Π.χ. Το 1ο βήμα έχει γίνει από τη δισκογραφική εταιρεία που μας δίνει το CD για τη περίπτωση του ήχου

Το CD player λειτουργεί στο ψηφιακό κόσμο

Ο ενισχυτής και τα ηχεία αναλαμβάνουν το 3ο βήμα

Page 6: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γιατί να μη γίνεται η επεξεργασία στον αναλογικό κόσμο ?

Θα μπορούσε να γίνει αν δεχόμασταν : το CD player μας να είναι όσο το αμφιθέατρο το CD player μας να κοστίζει όσο ένα ιδιωτικό νησί το CD player μας να λειτουργεί μία φορά στις 10.000.000 το CD player μας να είναι το ίδιο για καμμιά 20αριά χρόνια

Page 7: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Τα ψηφιακά συστήματα προσφέρουν ...

Ακριβώς τα ίδια αποτελέσματα σε όσα αντίτυπα κατασκευαστούν

Πολύ ευκολότερο σχεδιασμό (γι’ αυτό είναι μάθημα 1ου έτους)

Ευελιξία & επεκτασιμότητα

Περιγραφή των λειτουργιών τους με γλώσσα προγραμματισμού

Διαρκώς εξελισσόμενη τεχνολογία (κινητά τηλέφωνα)

Διαρκώς μεγαλύτερη ταχύτητα εκτέλεσης

Page 8: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Μα κυρίως ... Διαρκώς μειούμενο μέγεθος !

Page 9: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πως επιτεύχθηκε τόσο δραστική μείωση του μεγέθους ?

• Το πρώτο μισό του 20ου αιώνα τα ηλεκτρονικά κυκλώματα αποτελούνταν από λυχνίες κενού

Μεγάλες, ακριβές, ενεργοβόρες, αναξιόπιστες • 1947: Η εφεύρεση του πρώτου transistor στα Bell Labs από

τους John Bardeen και Walter Brattain (Nobel Φυσικής το 1956 μαζί με τον William Shockley)

Page 10: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

1,1 εκ.

Jack Kilby Texas Instruments (Nobel Φυσικής, 2000)

Κατασκευή του transistor πάνω σε ημιαγωγό (Ολοκληρωμένο κύκλωμα – 1958)

Page 11: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το παιχνίδι της σμίκρυνσης

• Μικρής κλίμακας ολοκλήρωσης (SSI): > 10 τρανζίστορ • Μεσαίας κλίμακας ολοκλήρωσης (MSI): > 100 τρανζίστορ • Υψηλής κλίμακας ολοκλήρωσης (LSI): > 1000 τρανζίστορ • Πολύ υψηλής κλίμακας ολοκλήρωσης (VLSI): > 10000

τρανζίστορ

• 2003: – Intel Pentium 4 mprocessor (55 εκατομμύρια τρανζίστορ) – 512 Mbit DRAM (> 0.5 δις τρανζίστορ)

Page 12: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Intel 4004 Micro-Processor

1971 1000 transistors 1 MHz operation

Page 13: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Intel Pentium (IV) microprocessor

Page 14: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 15: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 16: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Θα συνεχιστεί όμως το παιχνίδι ?

Ο αριθμός των τρανζίστορ που χωράνε σε μια τετραγωνική ίντσα διπλασιάζεται κάθε 18 μήνες περίπου

Page 17: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 18: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 19: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 20: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αποτελέσματα

$39 DVD [email protected]

Page 21: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 22: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 23: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 24: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το μάθημα Λογικής Σχεδίασης

• Στοχεύει να σας μάθει πως σχεδιάζονται τα Ψηφιακά Συστήματα • Διάφορες συνιστώσες :

– Βασικές αρχές (θεωρία) – Παραδείγματα (φροντιστήριο) – Μικρές εφαρμογές στο πραγματικό κόσμο (εργαστηριακό

μάθημα επόμενου εξαμήνου) – Πιο μεγάλες και πιο ενδιαφέρουσες εφαρμογές στον ιδεατό

(εξομοιούμενο) κόσμο (ασκήσεις)

Page 25: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η Λογική Σχεδίαση & ο ρόλος του Μηχανικού

• Είναι έργο ΜΗΧΑΝΙΚΟΥ (μηχανεύομαι, πολυμήχανος) • Ο μηχανικός πατά στη θεωρία για να εφαρμόζει στη

πράξη • Καλός μηχανικός, σχεδιαστής ψηφιακών συστημάτων

σημαίνει επίσης : – Ικανότητα ανακάλυψης λαθών. – Επιχειρηματικό πνεύμα. – Στάθμιση κινδύνων. – Ικανότητα επικοινωνίας.

Page 26: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γιατί η δουλειά του σχεδιαστή κυκλωμάτων είναι δύσκολη & ενδιαφέρουσα ?

• Διαπραγματεύεται τον πραγματικό κόσμο, στον οποίο υπάρχουν : – Λάθη – Προθεσμίες – Κόστη

• Ομως : • Το υλικό σε αντίθεση με το λογισμικό δεν αντιγράφεται εύκολα • Στο υλικό πληρώνεις κάθε αντίγραφο

Οι σχεδιαστές ψηφιακών κυκλωμάτων απολαμβάνουν

εξαιρετικά μεγάλους μισθούς

Page 27: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Οι πολλές μορφές ενός ψηφιακού κυκλώματος

wafer

die

Page 28: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Οι πολλές μορφές αφαίρεσης και σχεδίασης ενός ψηφιακού κυκλώματος

Το δικό μας αρχικό επίπεδο

Page 29: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Και ο πραγματικός κόσμος που αντιπροσωπεύει

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

Page 30: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 31: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αναλογικό vs Ψηφιακό

• Αναλογικό είναι ένα μέγεθος (σήμα) όταν μπορεί να πάρει οποιαδήποτε τιμή από ένα συνεχές διάστημα τιμών.

• Η πλειοψηφία των μεγεθών στο κόσμο μας είναι αναλογικά.

• Ψηφιακό (κβαντισμένο) είναι ένα μέγεθος (σήμα) όταν μπορεί να πάρει διακριτές τιμές.

• Φωτεινοί σηματοδότες, διακόπτες είναι παραδείγματα ψηφιακών μεγεθών.

Page 32: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Δειγματοληψία & Κβάντιση

Page 33: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Δυαδικό σήμα : κβάντιση με 2 στάθμες

• Ανά πάσα στιγμή το σήμα μου έχει είτε τη τιμή 0 είτε τη τιμή 1. • Το ποιο επίπεδο είναι 0 και ποιο είναι 1 είναι καθαρά θέμα σύμβασης. • Συνεπώς μπορεί να αναπαρασταθεί από μια μεταβλητή 2 τιμών, μια δυαδική

μεταβλητή. • Η τιμή αυτής της μεταβλητής είναι και ένα ψηφίο του δυαδικού συστήματος

αρίθμησης. • Δεκαδικό ψηφίο : 0, 1, 2, 3, 4, 5,6, 7,8, 9 • Δυαδικό ψηφίο (BInary digiT – BIT) : 0, 1

Page 34: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αξιοπιστία ψηφιακών vs αναλογικών

Page 35: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ιδιότητα αποκατάστασης

Page 36: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Aναπαράσταση πληροφορίας με δυαδικά σήματα

• Εστω ότι έχω ένα διακόπτη που μπορεί να είναι κλειστός ή ανοικτός. • Μπορώ να κάνω την αντιστοιχία :

0 -> ανοικτός 1 -> κλειστός

• Μου αρκεί ένα δυαδικό σήμα (ισοδύναμα μια δυαδική μεταβλητή ή ένα bit) για να περιγράψω τη κατάστασή του.

• Πόσα bits χρειάζονται για τη περιγραφή της κατάστασης 2 διακοπτών ? • Πόσα bits για τη περιγραφή της κατάστασης 10 διακοπτών ?

Με n δυαδικά ψηφία μπορώ να αναπαραστήσω 2n διακριτά πράγματα m διακριτά πράγματα χρειάζονται κατ’ ελάχιστο log2m δυαδικά ψηφία

Page 37: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Εκείνο το "κατ’ ελάχιστο"

Page 38: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ποια αναπαράσταση είναι καλύτερη ?

• Εκείνη που χρησιμοποιεί τα λιγότερα δυαδικά σήματα • Εκείνη που μου επιτρέπει να κάνω εύκολα την επεξεργασία της πληροφορίας • Πως θα αναπαριστούσατε μια ημέρα από τη 1/1/0000 και μετά ?

• 20 bit τα λιγότερα ! • Ημέρα, Μήνας, Χρόνος => (5 + 4 + 12) => 21 • Ημέρα, Μήνας, Χρόνος, Μέρα της εβδομάδας => (5 + 4 + 12 + 3) => 24

Page 39: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 40: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Λογικές (Δυαδικές) Συναρτήσεις

• Υποθέστε • τη δυαδική μεταβλητή Α

• Α=0 => διακόπτης ανοικτός • Α=1=> διακόπτης κλειστός

• και τη Ζ • Ζ=0 => Οχι φώς • Ζ=1 => Φως

Η Ζ είναι μια συνάρτηση της Α, ισχύει Ζ = f(Α) = A!

Η Ζ είναι ανεξάρτητη από τη Α ή όχι ?

A Z

A Z

Page 41: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Απλές λογικές συναρτήσεις 2 δυαδικών μεταβλητών

Z

Z

A B

A

B

Οι συναρτήσεις αυτές ονομάζονται και λογικές γιατί τις χρησιμοποιούμε στη λογική των προτάσεων που συντάσσουμε

καθημερινά.

Page 42: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Σύνθεση συναρτήσεων

Z C A

B

Οσο πιο πολύπλοκο γίνεται το σχέδιο, τόσο πιο προφανές γίνεται ότι χρειαζόμαστε κάποιο τυπικό τρόπο, για να βρούμε πότε το Ζ

θα γίνει 1.

Χρειαζόμαστε συνεπώς μια άλγεβρα !

Z

A

B

Page 43: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Τι είναι μια άλγεβρα ?

• Μια μαθηματική δομή : • Σύνολο ψηφίων & αναπαραστάσεων • Σύνολο τελεστών & προτεραιότητες • Αξιώματα • Θεωρήματα • Συναρτήσεις

• Αλγεβρα των φυσικών αριθμών

• Ψηφίο ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, Αναπαραστάσεις = ∞ • Τελεστές : +, -, *, / Προτεραιότητες : {,[,(, /, *, -, + • Αξιώματα : ουδετερότητα του 0 στη +, του 1 στον *, προσεταιριστικότητα

του +, επιμεριστικότητα του * ως προς το +, ... • Θεωρήματα : x+x = 2x • Συναρτήσεις f(x,y) = 3x+5y

Page 44: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Aλγεβρα Boole

• To 1854 (!!!) o Αγγλος μαθηματικός George Βοοle εισήγαγε μια άλγεβρα δύο τιμών : αλήθεια και ψέμα.

• Προτάθηκε για το λογισμό της αλήθειας ή του ψέμματος προτάσεων

• Π.χ. • Δεχόμαστε τη πρόταση "Οσοι κάνουν μπάνιο κάθε μέρα έχουν

πολλά λεφτά ή δε τους αρέσει η βρωμιά" ως αληθή. • Δεχόμαστε και τη πρόταση "Κανένας μηχανικός υπολογιστών

δεν έχει πολλά λεφτά" ως αληθή. • Εστω η πρόταση "Αν είσαι μηχανικός υπολογιστών και σου

αρέσει η βρωμιά, κάνεις μπάνιο κάθε μέρα". • Τι μπορούμε να αποφανθούμε για την αλήθεια ή το ψέμμα

της ?

Page 45: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Shannon

• Σχεδόν ένα αιώνα αργότερα (1938), ο Claude Shannon διαπιστώνει ότι απλά αντιστοιχίζοντας τις "αλήθεια" και "ψέμμα" στο "κλειστός διακόπτης" και "ανοικτός διακόπτης", μπορεί να εφαρμόσει τα όσα ανέπτυξε ο Βοοle και σε κυκλώματα διακοπτών.

• Ετσι η άλγεβρα Boole έγινε "switching algebra". • Εμείς θα πάμε απλά ένα βήμα πιο πέρα. Αντί για

"κλειστός διακόπτης" και "ανοικτός διακόπτης" θα χρησιμοποιούμε τις τιμές δυαδικών μεταβλητών "1" και "0" αντίστοιχα.

• Ετσι έχουμε τη δυαδική άλγεβρα (λογική άλγεβρα).

Page 46: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κι ο Huntington ?

To 1904 (ενδιάμεσα δηλαδή από το Boole & το Shannon) ένας άλλος μαθηματικός, ο Εdward Huntington

( 1919 : president of the Mathematical Association of America 1941 : vice-president of the American Association for the

Advancement of Science 1913 : member of the American Academy of Arts and Sciences 1933 : member of the American Philosophical Society in 1933. ) διατύπωσε μια σειρά αξιωμάτων που ισχύουν όχι μόνο για την

άλγεβρα του Boole, αλλά για κάθε αλγεβρική δομή.

Διάφορα θεωρήματα αποδεικνύονται συνεπώς με τον ίδιο τρόπο όπως για κάθε άλγεβρα λόγω αυτής της ιδιότητας.

Page 47: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

• Δίτιμη άλγεβρα. Κάθε στοιχείο της Χ ∈ {0,1} • Υπαρξη συμπληρώματος (α')

• Αν α = 0 => α' = 1, Αν α = 1 => α' = 0 • Δύο λογικές πράξεις :

• Λογική σύζευξη (and / και) : • (το σύμβολο μπορεί να παραλείπεται σε απλή παράταξη μεταβλητών)

• Λογική διάζευξη (or / ή) : + • Οι λογικές πράξεις ακολουθούν τους εξής κανόνες :

• 0 • 0 = 0, 1 + 1 = 1 • 1 • 1 = 1, 0 + 0 = 0 • 0 • 1 = 1 • 0 = 0, 1 + 0 = 0 + 1 = 1

• Σε μία σύνθετη συνάρτηση των δύο λογικών πράξεων, οι προτεραιότητες είναι : {, [, (, ', •, +

Αξιώματα

Page 48: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

• Χ + 0 = Χ, Χ • 1 = Χ (Ουδέτερα στοιχεία) • Χ + 1 = 1, Χ • 0 = 0 (Απορροφητικά στοιχεία) • Χ + Χ = Χ, Χ • Χ = Χ (Αυτοαπορρόφησης) • (Χ')' = Χ (Διπλοαντιστροφής) • Χ + Χ' = 1 Χ • Χ' = 0 (Συμπληρωματικά στοιχεία)

Θεωρήματα μιας μεταβλητής (Απόδειξη με εξέταση όλων των δυνατών τιμών της μεταβλητής)

Page 49: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

• Χ + Υ = Υ + Χ, Χ • Υ = Υ • Χ (Αντιμεταθετική) • (Χ + Υ) + Ζ = Χ + (Υ + Ζ), (Χ • Υ) • Ζ = Χ • (Υ • Ζ) (Προσεταιριστική)

• Συμπέρασμα : Σε λογικά γινόμενα ή λογικά αθροίσματα, η χρήση παρενθέσεων είναι προαιρετική. Για παράδειγμα μπορώ να γράφω w + x + y + z αφού όπως κι αν υπολογιστεί αυτή η έκφραση θα πάρω το ίδιο λογικό αποτέλεσμα.

• Χ • Υ + Χ • Ζ = Χ • (Υ + Ζ), (Χ + Υ) • (Χ + Ζ) = Χ + (Υ • Ζ) (Επιμεριστική)

• Προσοχή : 1. Η έκφραση Χ • Υ + Χ • Ζ είναι ισοδύναμη με την (Χ • Υ) + (Χ • Ζ).

Θυμηθείτε τη προτεραιότητα τελεστών. 2. Ισχύουν και οι 2 επιμερισμοί. Στην άλγεβρα των αριθμών ισχύει μόνο

του x ως προς το +. • Παράδειγμα :

• (W + Y) • (X + Ζ) • (V + Y) • (W + Ζ) • (X + Y) • (V + Ζ) = [W + (Y • Ζ)] • [X + (Y • Ζ)] • [V + (Y • Ζ)] = (Y • Ζ) + (V • X • W)

Θεωρήματα δύο και τριών μεταβλητών (1/2) (Απόδειξη με εξέταση όλων των δυνατών τιμών των δύο μερών)

Page 50: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

• Χ + Χ • Υ = Χ, Χ • (X + Υ) = Χ (Κάλυψης) • Χ • Υ + Χ • Υ'= Χ (Χ + Υ) • (Χ + Υ') = Χ (Συνδυασμών)

• Παράδειγμα : Χ • Υ • Z' + Χ • Υ' • Z' + Χ • Υ • Z + Χ • Υ' • Z = Χ • Z' + Χ • Z = X • Συμπέρασμα : Σε ένα άθροισμα γινομένων, που κάθε γινόμενο έχει κ

μεταβλητές, αν υπάρχουν όλοι οι συνδυασμοί τιμών των κ-1 μεταβλητών τότε μπορούν να διαγραφούν από την έκφραση.

• Χ • Υ + Χ' • Ζ + Υ • Ζ = Χ • Υ + Χ' • Ζ, • (Χ +Υ) • (Χ' + Ζ) • (Υ + Ζ) = (Χ +Υ) • (Χ' + Ζ) (Συναίνεσης)

Θεωρήματα δύο και τριών μεταβλητών (2/2) (Απόδειξη με εξέταση όλων των δυνατών τιμών των δύο μερών)

Page 51: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Θεωρήματα γενικευμένου αριθμού μεταβλητών • Χ + Χ + ... + Χ = Χ, Χ • Χ • ... • Χ = Χ (Αυτοαπορρόφησης)

• (Χ1 + Χ2 + ... + Χn)' = Χ1' • Χ2' • … • Χn' • (Χ1 • Χ2 • … • Χn)' = Χ'1 + Χ'2 + ... + Χ'n (Θεωρήματα De Morgan) • [F(Χ1, Χ2, ... , Χn, +, •)]' = F(Χ'1, Χ'2, ... , Χ'n, •, +) (Γενικευμένο θεώρημα De Morgan)

• Παράδειγμα : Δίδεται η F = (W' • Χ) + (X • Y) + [W • (Χ' + Z')]. • Tότε F' = ((W')' + X') • (Χ' + Y') • [W' + (Χ • Z)] =

= (W + X') • (X • Y)' • [W' + (X • Z)]

• F(Χ1, Χ2, ... , Χn)=X1 • F( 1, Χ2, ... , Χn) + X1' • F( 0, Χ2, ... , Χn) • F(Χ1, Χ2, ... , Χn)=[X1 + F( 0, Χ2, ... , Χn)] • [X1' + F( 1, Χ2, ... , Χn)] (Θεωρήματα Shannon)

• Παράδειγμα : Δίδεται η F(X, W, Z) = X + W • Z. • Tότε F(0, W, Z ) = W • Z και F(1, W, Z) = 1. • Aρα F = X • 1 + X' • W • Z καθώς και F = (X + W • Z) • (X' + 1)

Page 52: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

To μεταθεώρημα του δυϊσμού • Ενα μεταθεώρημα είναι ένα θεώρημα για άλλα θεωρήματα. Είναι δηλαδή ένα

πολύ βασικό και γενικευμένο θεώρημα.

• Μέχρι ώρας είδαμε διάφορα θεωρήματα. Ολα μα όλα παρουσιάστηκαν σε ζεύγη. Τι υποκρύπτει αυτή η δυαδική συμπεριφορά ?

• Δυισμός : Η αλήθεια ή το ψέμμα μιας ταυτότητας ή ενός

θεωρήματος που ασχολείται με δυαδικές μεταβλητές και λογικές συναρτήσεις δεν αλλάζει αν ανταλλάξουμε το 0 με το 1 και το + με το •.

Page 53: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γιατί τόση θεωρία ?

• Οσα είδαμε έχουν άμεση εφαρμογή στο πραγματικό κόσμο. • Υπάρχουν έτοιμοι ψηφιακοί σχεδιασμοί οι οποίοι υλοποιούν τις βασικές λογικές

συναρτήσεις (φυσικά υπάρχουν και άλλοι που υλοποιούν άλλες ενδεχόμενα πιο πολύπλοκες συναρτήσεις).

• Οι σχεδιασμοί αυτοί ονομάζονται ψηφιακές πύλες. • Θα εισάγουμε :

• κάποια σχηματικά για την απεικόνιση αυτών. • Ενα πίνακα που δείχνει τη λογική συνάρτηση που επιτελείται από το

συγκεκριμένο ψηφιακό κύκλωμα. Ο πίνακας αυτός είναι ο πίνακας αληθείας της συνάρτησης, άρα και του ψηφιακού σχεδιασμού.

Page 54: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

O αντιστροφέας • Παράγει το συμπλήρωμα μιας

δυαδικής μεταβλητής. • Μπορούμε αντί για το πλήρες

σχηματικό του αντιστροφέα, να χρησιμοποιούμε μόνο το κύκλο.

• Είναι διαθέσιμο ως ψηφιακό κύκλωμα σε 6άδες, εντός ενός ολοκληρωμένου με κωδικό 7404.

Page 55: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η πύλη ΑΝD δύο μεταβλητών • Εκτελεί το λογικό ΚΑΙ των δύο

μεταβλητών. • Είναι διαθέσιμο ως ψηφιακό

κύκλωμα σε 4άδες, εντός ενός ολοκληρωμένου με κωδικό 7408.

Page 56: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η πύλη OR δύο μεταβλητών • Εκτελεί το λογικό H των δύο

εισόδων. • Είναι διαθέσιμο ως ψηφιακό

κύκλωμα σε 4άδες, εντός ενός ολοκληρωμένου με κωδικό 7432.

Page 57: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Λογικό διάγραμμα • Η χρήση των σχηματικών των διαφόρων πυλών και η διασύνδεσή τους οδηγεί σε

ένα λογικό διάγραμμα που περιγράφει κάποια πιο σύνθετη συνάρτηση. • Για παράδειγμα :

• Το παραπάνω είναι ένα διάγραμμα που περιγράφει τη συνάρτηση : F4(x, y, z) = x' • z + y' • x

• Ποιο είναι το λογικό διάγραμμα της G(X, W, Y, Z) = [Χ' • Υ + Χ] • (Ζ + W') ;

Page 58: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eπέκταση σε περισσότερες είσοδες • Αν ήθελα το λογικό διάγραμμα της F(x, y, z) = x + y + z πως θα το έφτιαχνα ? • Από τη θεωρία μου γνωρίζω ότι F(x, y, z) = x + y + z = (x + y ) + z και συνεπώς θα

μπορούσα να χρησιμοποιήσω κάτι τέτοιο :

• Μήπως υπάρχουν έτοιμες και πύλες περισσότερων εισόδων ? • Φυσικά ! Αυτό όμως δε σημαίνει ότι υπάρχουν οσωνδήποτε εισόδων. • Κι εδώ πρέπει να διαχωρίσουμε το πραγματικό από τον ιδεατό κόσμο :

• Στον ιδεατό κόσμο μπορούμε να φτιάχνουμε λογικά διαγράμματα με πύλες όσων εισόδων θέλουμε.

• Στη πράξη αυτά θα υλοποιηθούν με όσα πραγματικά υπάρχουν.

Page 59: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ποια συνάρτηση επιτελεί αυτό το κύκλωμα ?

Χ' Υ'

Χ • Υ' Χ' • Υ • Ζ

Χ' • Υ' • Ζ

Χ • Υ' + Χ' • Υ • Ζ + Χ' • Υ' • Ζ

Page 60: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ποιες άλλες συναρτήσεις και πύλες υπάρχουν ? • Πόσες διαφορετικές συναρτήσεις των ν μεταβλητών υπάρχουν ?

• Μια συνάρτηση ν μεταβλητών, έχει 2ν πιθανές τιμές εισόδου. • Διαφορετική συνάρτηση διαφορετική έξοδος έστω και για κάποιον

συνδυασμό εισόδου. Αφού η έξοδός μου για κάθε συνδυασμό εισόδου μπορεί να είναι 0 ή 1 θα υπάρχουν 22ν συναρτήσεις.

• Για ν =2 ποιες είναι οι συναρτήσεις που υπάρχουν και ποιες από αυτές είναι χρήσιμες ?

1. Δυο σταθερές 0, 1. 2. Τέσσερις unary συμπληρώματος/μεταφοράς. 3. Δέκα συναρτήσεις με δυαδικούς τελεστές.

Page 61: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Μας ενδιαφέρουν επίσης οι :

• F14 που είναι συμπληρωματική της ΑΝD. Θα τη λέμε ΝΑΝD (not – AND). • F8 που είναι συμπληρωματική της OR. Θα τη λέμε ΝOR (not – OR). • F6 που μας δίνει 1 μόνο όταν μόνο 1 είσοδος είναι στο λογικό 1 (για περισσότερες

εισόδους, όταν ο αριθμός των 1 στις εισόδους είναι περιττός). Θα την ονομάζουμε αποκλειστικό-OR (eXclusive-OR) – XOR.

• F9 που μας δίνει 1 μόνο όταν μόνο 0 ή 2 είσοδοι είναι στο λογικό 1 (για περισσότερες εισόδους όταν ο αριθμός των 1 στις εισόδους είναι άρτιος). Θα την ονομάζουμε συνάρτηση ισοδυναμίας (not eXclusive-OR) – XNOR.

Page 62: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eτσι έχουμε για τα λογικά μας διαγράμματα : (1/2)

Page 63: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eτσι έχουμε για τα λογικά μας διαγράμματα : (2/2)

Page 64: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Επέκταση σε περισσότερες εισόδους ? (2)

=

=

=

Page 65: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A

B

CY

BA •CBA ••

A

B

C

DY

BA •CBA ••

DCBA •••

Page 66: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A

B

CY

A

B

C

DY

Page 67: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

CBAY ••=

ABC

Y

Α B C Y

X X 0 1

X 0 X 1

0 X X 1

1 1 1 0

DCBAY •••=

C

AB

DY

A B C D Y

X X X 0 1

X X 0 X 1

X 0 X X 1

0 X X X 1

1 1 1 1 0

Page 68: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A

B

CY

ABABCCAB ≠

A

B

CY

BA +CBACBA ++≠++

Α B C Y

X X 0 1

0 X 1 0

X 0 1 0

1 1 1 1

Page 69: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A Y

YAA

BY

YA

B

A

BY

A

B

Y

A

BY

A

B

Y

Page 70: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

BAY ⊕=A

BY

A

B

Y

( ) ( )BABABA

BABBAA

ABBABAABBABAY

⊕=+=

=+++=

=+==

Page 71: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

YA

A

BY

A

BY

A

BY

YA

BA Y

A

B

Y

A

B

Y

Page 72: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

BABA ⋅=+

A

BY

B

Y

A A

B

A

BY

Page 73: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κόστος πυλών • Κοστίζουν όλες οι πύλες το ίδιο ? • Οχι. Αλλωστε είναι χαρακτηριστικό ότι σε ένα ολοκληρωμένο

κύκλωμα έχουμε 6 inverters και μόνο 4 OR, AND, … • To κόστος μιας πύλης εξαρτάται :

• Από τον αριθμό των εισόδων της. Περισσότεροι είσοδοι => ↑ κόστος.

• Από τη συνάρτηση που επιτελεί : • ΝΑΝD, NOR οι πιο απλές. • ΑΝD, OR, ελάχιστα πιο πολύπλοκες (σε επίπεδο transistor). • XOR, XNOR αρκετά πιο πολύπλοκες • Μεγαλύτερη πολυπλοκότητα => ↑ κόστος

Page 74: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ισοδύναμες και συμπληρωματικές συναρτήσεις

• Δύο συναρτήσεις των κ μεταβλητών είναι ισοδύναμες, αν για κάθε συνδυασμό τιμών των μεταβλητών εισόδου, οι συναρτήσεις οδηγούν στην ίδια έξοδο.

• Συμπέρασμα 1 : Ισοδύναμες συναρτήσεις μπορεί να έχουν διαφορετικές αλγεβρικές εκφράσεις.

• Συμπέρασμα 2 : Ισοδύναμες συναρτήσεις μπορεί να έχουν διαφορετικά λογικά διαγράμματα.

• Συμπέρασμα 3 : Ισοδύναμες συναρτήσεις έχουν τον ίδιο πίνακα αληθείας.

• Δύο συναρτήσεις των κ μεταβλητών είναι συμπληρωματικές, αν για κάθε συνδυασμό των μεταβήτών εισόδου, οι συναρτήσεις παράγουν συμπληρωματικές τιμές.

Page 75: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Μεταξύ ισοδύναμων συναρτήσεων κάποιες είναι σαφώς προτιμητέες !

• Η F3 είναι σαφώς πιο πολύπλοκη συνάρτηση από την F4.

• Χρησιμοποιεί περισσότερες πύλες, μα ταυτόχρονα και πύλες με περισσότερες εισόδους.

• Παράλληλα χρησιμοποιεί 4 διαφορετικά ολοκληρωμένα έναντι 3 της F4.

• To μεγάλο συνεπώς ερώτημα που προκύπτει είναι πως θα βρω τη συνάρτηση με το ελάχιστο κόστος ανάμεσα στις ισοδύναμες ?

• Αυτό είναι το πιο ενδιαφέρον σημείο του μαθήματος : απλοποίηση συναρτήσεων

Page 76: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η θεωρία παρέχει τη μέθοδο της αλγεβρικής απλοποίησης

• Θυμηθείτε ότι για την F3 είχαμε ότι : F3 (Χ, Υ, Ζ) = Χ • Υ' + Χ' • Υ • Ζ + Χ' • Υ' • Ζ

• Από τη θεωρία βάσει του θεωρήματος των συνδυασμών γνωρίζω ότι :

• Χ' • Υ • Ζ + Χ' • Υ' • Ζ = Χ' • Ζ • Αρα F3 = Χ • Υ' + Χ' • Ζ = F4.

• H αλγεβρική απλοποίηση δεν είναι πάντα τόσο εύκολη ! • Ακόμα χειρότερα, ποτέ δε γνωρίζω αν έχοντας κάνει κάποια στάδια

απλοποίησης έχω βρει την απολύτως ελάχιστη ισοδύναμη συνάρτηση.

• Η αλγεβρική απλοποίηση πρέπει να χρησιμοποιείται για συναρτήσεις πολύ λίγων μεταβλητών από έμπειρους σχεδιαστές.

Page 77: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παραδείγματα αλγεβρικής απλοποίησης

• F (X, Y, Z) = X • Y' • Z + X' • Y • Z + Y • Z = = X • Y' • Z + Y • Z (Απορρόφηση) = Ζ • (Χ • Y' + Υ) (Επιμεριστική) = Ζ • (Χ + Υ) (1o αποδειχθέν θεώρημα)

• Υλοποιείστε με τον ελάχιστο αριθμό πυλών τη F(X, Y, Z) = X • Y' • Z +

X • Y' • Z + X • Y • Z' • F (X, Y, Z) = X • Y' • Z + X • Y' • Z + X • Y • Z' =

= X • Y' • Z + X • Y • Z' (Aυτοαπορρόφηση) = Χ • (Y' • Z + Y • Z') (Επιμεριστική) = Χ • (Υ ⊕ Ζ) (συνάρτηση XOR)

Page 78: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Προβλήματα & Αλγόριθμοι • Η αλγεβρική απλοποίηση

• Είναι δύσκολη • Μη ντετερμινιστική • Χωρίς σίγουρο αποτέλεσμα

• Θα ήθελα συνεπώς μια ντετερμινιστική μεθοδολογία. • Στη γλώσσα των υπολογιστών μια μεθοδολογία που αποτελείται

από μικρά κατανοητά βήματα και η οποία αν ακολουθηθεί παράγει τη λύση σε κάποιο πρόβλημα ονομάζεται αλγόριθμος.

• Για να εφαρμοστεί κάποιος αλγόριθμος όμως απαιτείται να υπάρχει μια σταθερή αρχική μορφή του προβλήματος.

• Πριν λοιπόν δώσουμε αλγόριθμο απλοποίησης, πρέπει πρώτα να εισάγουμε πρότυπες μορφές έκφρασης μιας συνάρτησης.

• Σε αυτό θα μας βοηθήσουν οι ελαχιστόροι και οι μεγιστόροι.

Page 79: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πίνακας αλήθειας • Ισοδύναμες συναρτήσεις έχουν ποικίλες αλγεβρικές

αναπαραστάσεις, ποικίλα λογικά διαγράμματα, αλλά κοινό πίνακα αλήθειας.

• Ο πίνακας αλήθειας μας δίνει τη τιμή μιας συνάρτησης για κάθε πιθανό συνδυασμό εισόδων.

• Συνήθως διατάσσουμε τους συνδυασμούς εισόδων σαν αύξοντες δυαδικούς αριθμούς.

• Ο πίνακας αλήθειας μιας λογικής συνάρτησης ν μεταβλητών έχει 2ν γραμμές.

Page 80: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Οροι, αθροίσματα, γινόμενα • Μια μεταβλητή στη κανονική ή τη συμπληρωματική της μορφή είναι ένας όρος

• Παραδείγματα όρων : Χ, Χ', Υ, Ζ' • Ενα γινόμενο είναι είτε ένας όρος είτε το λογικό AND δύο ή περισσότερων όρων

• Παραδείγματα γινομένων : Χ, Χ • Ζ', Υ• Χ', Χ • Ζ' • Υ' • Ενα άθροισμα είναι είτε ένας όρος είτε το λογικό OR δύο ή περισσοτέρων όρων

• Παραδείγματα αθροισμάτων : Χ, Χ + Ζ', Υ+ Χ', Χ + Ζ' + Υ' • Αθροισμα γινομένων (sum of products – SOP) είναι κάθε άθροισμα του οποίου

οι όροι είναι γινόμενα • Παράδειγμα SOP : Χ + Χ • Ζ' + Υ• Χ' + Χ • Ζ' • Υ'

• Γινόμενο αθροισμάτων (product of sums – POS) είναι κάθε γινόμενο του οποίου οι όροι είναι αθροίσματα.

• Παράδειγμα POS : Χ • (Χ + Ζ') • (Υ+ Χ') • (Χ + Ζ' + Υ') • Κανονικός όρος είναι ένα άθροισμα ή ένα γινόμενο, στο οποίο κάθε μεταβλητή

(κανονική ή συμπληρωμένη) εμφανίζεται μόνο 1 φορά. Κάθε μη κανονικός όρος μπορεί να μετατραπεί μέσω απλοποίησης σε κανονικό.

• Κανονικοί όροι : Χ • Ζ' • Υ', Χ + Ζ' + Υ' • Μη κανονικοί όροι : Χ • Ζ' • Υ' • Χ, Χ + Ζ' + Υ' + Ζ

Page 81: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ελαχιστόροι - Μεγιστόροι • Κάθε κανονικός όρος - γινόμενο μιας συνάρτησης κ μεταβλητών,

είναι ελαχιστόρος αν περιέχει κ όρους. Κάθε συνάρτηση κ μεταβλητών έχει 2κ ελαχιστόρους.

• Η F(X, Y) έχει τους ελαχιστόρους : Χ' • Υ΄, Χ΄ • Υ, Χ • Υ' και Χ • Υ • Κάθε ελαχιστόρος αντιπροσωπεύει μία γραμμή του πίνακα

αληθείας

• Κάθε κανονικός όρος – άθροισμα μιας συνάρτησης κ μεταβλητών, είναι μεγιστόρος αν περιέχει κ όρους. Κάθε συνάρτηση κ μεταβλητών έχει 2κ μεγιστόρους.

• Η F(X, Y) έχει τους μεγιστόρους : Χ' + Υ΄, Χ΄ + Υ, Χ + Υ' και Χ + Υ • Κάθε μεγιστόρος αντιπροσωπεύει μία γραμμή του πίνακα

αληθείας

Page 82: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ελαχιστόροι – Μεγιστόροι και πίνακας αλήθειας

• Μεταξύ πίνακα αλήθειας και ελαχιστόρων (μεγιστόρων) υπάρχει μια στενή σχέση. Ο ελαχιστόρος (μεγιστόρος) μπορεί να οριστεί σα το γινόμενο (άθροισμα) που μπορεί να γίνει 1 (0) μόνο για τις τιμές εισόδου μιας και μόνο γραμμής του πίνακα αλήθειας.

• Mπορούμε να ορίσουμε τη δυαδική τιμή που επαληθεύει τον όρο (κάνει 1 τον ελαχιστόρο ή 0 τον μεγιστόρο) σα το διακριτικό του αντίστοιχου όρου.

• Π.χ. Ελαχιστόρος 4 = x y' z'. Mεγιστόρος 5 = x' + y + z'

Page 83: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Συνάρτηση σα κανονικό άθροισμα

• Αφού κάθε γραμμή του πίνακα αληθείας αντιστοιχεί σε ένα ελαχιστόρο μπορούμε κοιτώντας το πίνακα αληθείας να δούμε ποιοι ελαχιστόροι επαληθεύουν τη συνάρτηση.

• Το λογικό άθροισμα αυτών μας δίνει την έκφραση της συνάρτησης σα κανονικό άθροισμα.

• Η συνάρτηση επαληθεύεται όταν επαληθεύεται ο ελαχιστόρος 1 ή ο

ελαχιστόρος 3 ή ο ελαχιστόρος 4 ή ο ελαχιστόρος 5 Ισοδύναμα είναι F3(x, y, z) = m1 + m3 + m4 + m5 = x'y'z + x'yz + xy'z' + xy'z =

Σ(1, 3, 4, 5) • Αφού ισοδύναμες συναρτήσεις έχουν κοινό πίνακα αλήθειας, θα έχουν και κοινά κανονικά

αθροίσματα. Συνεπώς το κανονικό άθροισμα είναι μια πρότυπη μορφή πάνω στην οποία μπορώ να εφαρμόσω κάποιον αλγόριθμο.

Page 84: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Συνάρτηση σα κανονικό γινόμενο • Αφού κάθε γραμμή του πίνακα αληθείας αντιστοιχεί σε ένα μεγιστόρο μπορούμε

κοιτώντας το πίνακα αληθείας να δούμε ποιοί μεγιστόροι δεν επαληθεύουν τη συνάρτηση.

• Το λογικό γινόμενο αυτών μας δίνει την έκφραση της συνάρτησης σα κανονικό γινόμενο.

• Η συνάρτηση δεν επαληθεύεται αν επαληθεύεται (παίρνει δηλαδή τη τιμή 0) ο

μεγιστόρος 0 ή ο μεγιστόρος 2 ή ο μεγιστόρος 6 ή ο μεγιστόρος 7 Ισοδύναμα είναι F'3(x, y, z) = Μ'0 + Μ'2 + Μ'6 + Μ'7 => F3(x, y, z) = Μ0 • Μ2 • Μ6 • Μ7 = (x +y + z) • (x + y' +z) • (x' + y' + z) • (x' + y' +z') = Π(0, 2, 6, 7)

• Αφού ισοδύναμες συναρτήσεις έχουν κοινό πίνακα αλήθειας, θα έχουν και κοινά κανονικά

γινόμενα. Συνεπώς το κανονικό γινόμενο είναι μια πρότυπη μορφή πάνω στην οποία μπορώ να εφαρμόσω κάποιον αλγόριθμο.

Page 85: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Μετατροπές μεταξύ κανονικών μορφών • Αφού κάθε γραμμή του πίνακα αληθείας είναι είτε 0 είτε 1 αν

γνωρίζω τη μορφή της συνάρτησης στη μία κανονική μορφή η άλλη προκύπτει από τους όρους που λείπουν.

• Π.χ. F(A, B, C) = Σ (1,4,6) => F = Π (0, 2, 3, 5, 7) G(W, X, Y, Z) = Π (1, 8, 11, 14, 15) => G = Σ (0, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13)

• Είναι επίσης πολύ εύκολο για μια συνάρτηση F να βρώ τη F' • Iσχύει ότι m'i = Mi και φυσικά Μ'i = mi

• Για παράδειγμα είναι m'0= (x' y' z')' = x + y + z = M0

• Aρα αν F(x, y, z) = Σ (1, 3,4) => F = m1 + m3 + m4 => F' = (m1 + m3 + m4)' = M1 • M3 • M4 = Π(1, 3, 4) = Σ (0, 2, 5, 6, 7)

• Δηλαδή η συμπληρωματική μιας συνάρτησης προκύπτει σα κανονικό άθροισμα των ελαχιστόρων που λείπουν από το κανονικό της άθροισμα

Page 86: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Να θυμάστε Πίνακας αλήθειας Κανονικό άθροισμα Κανονικό γινόμενο } πρότυπες μορφές

Αλγεβρική μορφή Λογικό διάγραμμα Λεκτική περιγραφή } μή πρότυπες μορφές

Πρέπει επίσης να μπορείτε να πηγαίνετε από μη πρότυπες μορφές σε πρότυπες.

Page 87: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

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

• Σκοποί της απλοποίησης • Λιγότεροι όροι • Απλούστεροι όροι

• Θέλουμε απλές και συστηματικές μεθόδους

• Υπάρχουν :

• Η μέθοδος του χάρτη (μέθοδος Karnaugh / k-map) : γραφική μέθοδος για συναρτήσεις έως 5 μεταβλητών.

• Η μέθοδος Quine-McClauskey : αλγεβρική μέθοδος

• Η μέθοδος Espresso : αλγεβρική μέθοδος

• Οι μέθοδοι αυτοί δε μας δίνουν τις υλοποιήσεις με τις λιγότερες πύλες, αλλά τις απλούστερες υλοποιήσεις με ΝΟΤ, ΑΝD & OR.

Page 88: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πίνακας αλήθειας Κανονικό άθροισμα Κανονικό γινόμενο } πρότυπες μορφές

Αλγεβρική μορφή Λογικό διάγραμμα Λεκτική περιγραφή } μή πρότυπες μορφές

Page 89: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η Μέθοδος του Χάρτη Χ • Υ + Χ • Υ'= Χ (Χ + Υ) • (Χ + Υ') = Χ (Συνδυασμών)

Παράδειγμα : Χ • Υ • Z' + Χ • Υ' • Z' + Χ • Υ • Z + Χ • Υ' • Z = Χ • Z' + Χ • Z = X Συμπέρασμα : Σε ένα άθροισμα γινομένων, που κάθε γινόμενο έχει κ μεταβλητές, αν

υπάρχουν όλοι οι συνδυασμοί τιμών των κ-1 μεταβλητών τότε μπορούν να διαγραφούν από την έκφραση.

Ο χάρτης είναι ένα διάγραμμα αποτελούμενο από τετράγωνα.

Κάθε τετράγωνο παριστάνει ένα ελαχιστόρο (ισοδύναμα μια γραμμή του πίνακα αλήθειας).

Αν ο ελαχιστόρος αληθεύει τη συνάρτηση, υπάρχει 1 στο αντίστοιχο τετράγωνο. Αν όχι υπάρχει 0.

"Γειτονιές" (Τετράγωνα / ορθογώνια 2 ή 4 ή 8 ή 16 ή … επαληθευόμενων ή αδιάφορων ελαχιστόρων) στο χάρτη υποδεικνύουν αθροίσματα ελαχιστόρων (γινομένων) στα οποία 1 ή 2 ή 3 ή 4 ή μεταβλητές αντίστοιχα παίρνουν όλες τις δυνατές τιμές !!!

Page 90: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 α 0 1 β 1 0 γ 1 1 δ

Karnaugh 2-Μεταβλητών

Page 91: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 α 0 1 β 1 0 γ 1 1 δ

0 1 0 1

Α Β

Karnaugh 2-Μεταβλητών

Page 92: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 α 0 1 β 1 0 γ 1 1 δ

0 1 0 α β 1 γ δ

Α Β

Karnaugh 2-Μεταβλητών

Page 93: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

0 1 0 1 0 1 1 0

Α Β

B

BBABA =+

A B Y 0 0 1 0 1 0 1 0 1 1 1 0

Page 94: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

0 1 0 1 0 1 1 0

Α Β

B

0 1 0 0 1 1 0 1

Α Β

B

Page 95: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

0 1 0 1 0 1 1 0

Α Β

B

0 1 0 0 1 1 0 1

Α Β

B

0 1 0 1 1 1 0 0

Α Β

A

Page 96: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

0 1 0 1 0 1 1 0

Α Β

B

0 1 0 0 1 1 0 1

Α Β

B

0 1 0 1 1 1 0 0

Α Β

A0 1

0 0 0 1 1 1

Α Β

A

Page 97: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 1 0 1 1 1 0 0 1 1 0

Page 98: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 1 0 1 1 1 0 0 1 1 0

0 1 0 1 1 1

Α Β

Page 99: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 1 0 1 1 1 0 0 1 1 0

0 1 0 1 1 1

Α Β

AY =

Page 100: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

Page 101: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

0 1 0 1 1 1 1

Α Β

Page 102: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

0 1 0 1 1 1 1

Α Β

Page 103: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

0 1 0 1 1 1 1

Α Β

BAY +=

Page 104: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

0 1 0 1 1 1 1

Α Β

BAY +=

Ποιος μου επιτρέπει να χρησιμοποιήσω τον m3 δύο φορές ?

Page 105: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

0 1 0 1 1 1 1

Α Β

BAY +=

Ποιος μου επιτρέπει να χρησιμοποιήσω τον m3 δύο φορές ?

Υ = m1 + m2 + m3 = m1 + m2 + m3 + m3 (αυτοαπορρόφηση) = m1 + m3 + m2 +m3 (αντιμεταθετική) =

Α’Β + ΑΒ + ΑΒ’ + ΑΒ = Β (Α + Α’) + Α (Β’+Β ) = Α +Β

Page 106: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

A B Y 0 0 0 0 1 1 1 0 1 1 1 1

0 1 0 1 1 1 1

Α Β

BAY +=

Ποιος μου επιτρέπει να χρησιμοποιήσω τον m3 δύο φορές ?

Υ = m1 + m2 + m3 = m1 + m2 + m3 + m3 (αυτοαπορρόφηση) = m1 + m3 + m2 +m3 (αντιμεταθετική) =

Α’Β + ΑΒ + ΑΒ’ + ΑΒ = Β (Α + Α’) + Α (Β’+Β ) = Α +Β ΣΥΜΠΕΡΑΣΜΑ : Μπορώ να χρησιμοποιώ το ίδιο ελαχιστόρο ή ομάδες

ελαχιστόρων σε όσες ομάδες μου χρειαστεί.

Page 107: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

0 1 0 1 1 1

Α Β

BABABAY ⊕=+=

Page 108: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Χάρτης Δυο (2) Μεταβλητών

Ο χάρτης περιέχει 4 τετράγωνα, ένα για κάθε ελαχιστόρο.

Το x εμφανίζεται ως συμπλήρωμα στη γραμμή 0 και κανονικά στη γραμμή 1.

Το y εμφανίζεται ως συμπλήρωμα στη στήλη 0 και κανονικά στη στήλη 1.

m0 m1

m2 m3

x΄y΄ x΄y

xy΄ xy

y x

0

1

0 1

1

y x

0

1

0 1

1

1 1

y x

0

1

0 1

xy = Σ(3) = m3 x+y = Σ(1,2,3) = m1+ m2 + m3

Παραδείγματα

Page 109: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

• Προσοχή

– Στη σειρά 00 01 11 10 – Τα γειτονικά κελιά διαφέρουν κατά

1 bit ή μια μεταβλητή

00 01 11 10 0 1

Α ΒC

Karnaugh 3-Μεταβλητών

Page 110: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1

Α ΒC

CBACBAY +=000 001

Page 111: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1

Α ΒC

CBACBAY +=000 001

BAY =

Page 112: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

Page 113: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

AY =

Γιατί να μη φτιάξω δύο ή και τρεις ομάδες των 2 ?

Page 114: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

AY =

Γιατί να μη φτιάξω δύο ή και τρεις ομάδες των 2 ?

Page 115: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

BABAY +=Γιατί θα έχω αφενώς περισσότερα γινόμενα στην απλοποιημένη έκφραση, αφετέρου κάθε γινόμενο θα έχει περισσότερους όρους

καθώς απαλείφεται μία μόνο μεταβλητή !

ΣΥΜΠΕΡΑΣΜΑ : Για κάθε 1 του πίνακα θέλω τη μεγαλύτερη δυνατή γειτονιά και θέλω να καλύψω όλους τους 1 του πίνακα με τις

ελάχιστες δυνατές γειτονιές !!!

Page 116: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

AY =

00 01 11 10 0 1 1 1 1 1

Α ΒC

Page 117: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

AY = CY =

00 01 11 10 0 1 1 1 1 1

Α ΒC

Page 118: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

AY = CY =

00 01 11 10 0 1 1 1 1 1

Α ΒC

00 01 11 10 0 1 1 1 1 1 1 1

Α ΒC

Page 119: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

AY = CY =

00 01 11 10 0 1 1 1 1 1

Α ΒC

00 01 11 10 0 1 1 1 1 1 1 1

Α ΒC

BAY +=

Page 120: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

CABCBACBACBAY +++=000 100 010 110

Page 121: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

CABCBACBACBAY +++=000 100 010 110

Page 122: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

CABCBACBACBAY +++=

0

1 1 1 1 1

01 11 00 10

000 100 010 110

Page 123: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 0 1 1 1 1 1

Α ΒC

CABCBACBACBAY +++=

CY =0

1 1 1 1 1

01 11 00 10

000 100 010 110

Page 124: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Χάρτης Τριών (3) Μεταβλητών Ο χάρτης περιέχει 8 τετράγωνα, ένα για κάθε ελαχιστόρο.

Προσοχή στην

αρίθμηση yz

Το άθροισμα δύο ελαχιστόρων της συνάρτησης που βρίσκονται σε γειτονικά τετράγωνα απλοποιείται σε ένα όρο ΚΑΙ με δύο μόνο παράγοντες.

Το άθροισμα τεσσάρων ελαχιστόρων της συνάρτησης που βρίσκονται σε γειτονικά τετράγωνα απλοποιείται σε ένα όρο με ένα μόνο παράγοντα.

Το άθροισμα οκτώ ελαχιστόρων της συνάρτησης που βρίσκονται σε γειτονικά τετράγωνα καταλαμβάνει όλο το χάρτη και παριστάνει τη συνάρτηση που είναι πάντα ίση με 1.

Page 125: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παραδείγματα Χάρτη Τριών (3) Μεταβλητών

F(x,y,z) = Σ(2,3,4,5) F(x,y,z) = x΄y+xy΄

F(x,y,z) = Σ(3,4,6,7) F(x,y,z) = yz+xz΄

Page 126: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παραδείγματα Χάρτη Τριών (3) Μεταβλητών

F(x,y,z) = Σ(0,2,4,5,6) F(x,y,z) = z΄+xy΄

F(A,B,C) = A΄C+A΄B+AB΄C+BC

F(A,B,C) = Σ(1,2,3,5,7) = C+A΄B

Page 127: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Karnaugh 4-Μεταβλητών

00 01 11 10 00 01 11 10

ΑB CD

Page 128: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 01 1 11 1 1 1 1 10 1

ΑB CD

Page 129: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 01 1 11 1 1 1 1 10 1

ΑB CD

00 01 11 10 00 1 01 1 11 1 1 1 1 10 1

ΑB CD

Page 130: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 01 1 11 1 1 1 1 10 1

ΑB CD

CDABY +=

00 01 11 10 00 1 01 1 11 1 1 1 1 10 1

ΑB CD

Page 131: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 1 01 11 10 1 1

ΑB CD

1 1

1 1

Page 132: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 1 01 11 10 1 1

ΑB CD

1 1

1 1 DBY =

Page 133: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

BY =

00 01 11 10 00 1 1 1 1 01 11 10 1 1 1 1

ΑB CD

DBY +=

00 01 11 10 00 1 1 1 1 01 1 1 11 1 1 10 1 1 1 1

ΑB CD

Page 134: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 1 01 1 1 11 1 1 1 10 1 1

ΑB CD

CABCDDCY ++=

Page 135: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 1 01 1 1 11 1 1 1 10 1 1

ΑB CD

CABCDDCY ++=

Είναι αυτή η μοναδική ελάχιστη μορφή της συνάρτησης ?

Page 136: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

00 01 11 10 00 1 1 01 1 1 11 1 1 1 10 1 1

ΑB CD

ABDCDDCY ++=ΣΥΜΠΕΡΑΣΜΑ : Κάποιοι 1 έχουν μοναδική μέγιστη γειτονιά (essential prime implicants) και θα πρέπει να υπάρχει σε κάθε ελάχιστη μορφή

της συνάρτησης. Κάποιοι άλλοι δεν έχουν, συνεπώς δεν υπάρχει πάντα μοναδική ελάχιστη μορφή.

Page 137: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Χάρτης Τεσσάρων (4) Μεταβλητών

Κάθε 2n γειτονικά τετράγωνα διαφέρουν σε n μεταβλητές και οδηγούν σε έναν όρο ΚΑΙ με k – n παράγοντες, όπου k το πλήθος των

μεταβλητών της συνάρτησης.

Η πάνω ακμή ακουμπάει στην κάτω και η δεξιά στην αριστερή (γειτονικότητα).

Ο χάρτης περιέχει 16 τετράγωνα, ένα για κάθε ελαχιστόρο.

Page 138: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παραδείγματα Χάρτη Τεσσάρων (4) Μεταβλητών

F(w,x,y,z) = Σ(0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14) F(w,x,y,z) = y΄ + w΄z΄ + xz΄

F(A,B,C,D) = A΄B΄C΄ + B΄CD΄ + A΄BCD΄ + AB΄C΄ F(A,B,C,D) = B΄D΄ + B΄C΄ + A΄CD΄

1 1

Page 139: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Συνθήκες Αδιαφορίας

Συμβολίζονται με × και αντιστοιχούν σε συνδυασμούς εισόδων που δεν ορίζονται για μία συνάρτηση.

Π.χ. F(w,x,y,z)=Σ(1,3,7,11,15) με συνθήκες αδιαφορίας d(w,x,y,z)=Σ(0,2,5)

× 1 0 ×

wx 00 01

00 01 11 10 1 × 1 0

yz

0 0 0 0

1 0 1 0

11 10

× 1 0 ×

wx 00 01

00 01 11 10 1 × 1 0

yz

0 0 0 0

1 0 1 0

11 10

F = yz + w΄x΄ = Σ(0,1,2,3,7,11,15) F = yz + w΄z = Σ(1,3,5,7,11,15)

Οι αδιάφοροι όροι μπορούν να χρησιμοποιηθούν ως άσσοι ή μηδενικά ανάλογα με την απλοποίηση που οδηγεί στο μικρότερο κύκλωμα.

Page 140: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή
Page 141: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

X

1 1

X

X 11

1

1 1

X

ABCD

00

01

11

10

00 01 11 10

1

1

1

1 1

1

1 1X

X

X X

X

ABCD

00

01

11

10

00 01 11 10

1

11

X

1

ABCD

00

01

11

10

00 01 11 10

1

1 1

X 1

1

1

X

1 X

Page 142: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

X

1 1

X

1

1 1

X

ABCD

00

01

11

10

00 01 11 10

1

X

XX

X

1

X

1

1 1

X

ABCD

00

01

11

10

00 01 11 10

X

X

11

X

X

1

X

1

1 1

X

ABCD

00

01

11

10

00 01 11 10

1

1

X

X

X

1

1

Page 143: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Χάρτης Πέντε (5) μεταβλητών

Page 144: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα Χάρτη Πέντε (5) Μεταβλητών

F(Α, Β, C, D, E) = Σ(0, 2, 4, 6, 9, 13, 21, 23, 25, 29, 31)

F(A, B, C, D, E) = A΄B΄E΄ + BD΄E + ACE

Page 145: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αλγόριθμος απλοποίησης με πίνακα Karnaugh

• Βήμα 1 : • Bρες όλους τους ουσιώδεις πρώτους συνεπαγωγούς της

συνάρτησης • Για κάθε 1 του πίνακα βρες τις "γειτονιές του" • Επέλεξε τις μέγιστες σε πλήθος γειτονιές. Αυτοί είναι οι

πρώτοι συνεπαγωγοί • Επέλεξε από τους πρώτους συνεπαγωγούς τους μοναδικούς

που καλύπτουν κάποιο 1. Αυτοί είναι οι ουσιώδεις πρώτοι συνεπαγωγοί

• Βήμα 2 : • Για κάθε 1 του πίνακα που δεν έχει ήδη "καλυφθεί", επέλεξε

τυχαία ένα πρώτο συνεπαγωγό του • Βήμα 3 :

• Πήγαινε στο Βήμα 2 μέχρι να "καλυφθούν" όλοι οι 1 του πίνακα.

Page 146: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Υλοποίηση με πύλες ΌΧΙ-ΚΑΙ & ΟΥΤΕ

Οι πύλες ΌΧΙ-ΚΑΙ & ΟΥΤΕ χρησιμοποιούνται πολύ συχνότερα από τις ΚΑΙ & Ή γιατί κατασκευάζονται ευκολότερα.

Page 147: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Υλοποίηση με πύλες ΌΧΙ-ΚΑΙ Παράδειγμα: Υλοποίηση της συνάρτησης F=AB+CD+E με ΝΑΝD.

Page 148: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα (1)

Page 149: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

F=(CD+E)(A+B΄)

Παράδειγμα (2)

Page 150: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Υλοποίηση με πύλες ΟΥΤΕ

Η συνάρτηση ΟΥΤΕ είναι το δυϊκό της ΌΧΙ-ΚΑΙ και άρα οι κανόνες μετατροπής είναι δυϊκοί.

Page 151: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κυκλώματα ΟΥΤΕ Πολλαπλών Επιπέδων

F = (ΑΒ + E)(C + D)

Page 152: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η Συνάρτηση Αποκλειστικό Ή

Αποκλειστικό Ή (XOR) x ⊕ y = x΄y + xy΄

Αποκλειστικό OYTE (XNOR) (x ⊕ y)΄ = xy + x΄y΄

Σχ. Αντιστρ.

Ιδιότητες:

x ⊕ 0 = x x ⊕ 1 = x΄

x ⊕ x = 0 x ⊕ x΄ = 1

x ⊕ y΄ = (x ⊕ y)΄ x΄ ⊕ y = (x ⊕ y)΄

Η πράξη XOR είναι αντιμεταθετική και προσεταιριστική:

A ⊕ B = B ⊕ A

A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C = A ⊕ B ⊕ C

Δεν φτιάχνονται συχνά πύλες XOR με περισσότερες από 2 εισόδους.

Page 153: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η Συνάρτηση Αποκλειστικό Ή Η συνάρτηση XOR πολλών μεταβλητών είναι περιττή:

παίρνει τιμή 1 μόνο όταν περιττός αριθμός εισόδων είναι ίσος με 1.

Page 154: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η Συνάρτηση Αποκλειστικό Ή Μια συνάρτηση XOR n μεταβλητών είναι μια περιττή συνάρτηση που ορίζεται ως το λογικό άθροισμα των 2n/2 ελαχιστόρων των οποίων οι

δυαδικές αριθμητικές τιμές τους έχουν περιττό αριθμό άσσων.

Page 155: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γεννήτρια και Ελεγκτής Ισοτιμίας

Page 156: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γεννήτρια και Ελεγκτής Ισοτιμίας

Τα κυκλώματα αυτά χρησιμοποιούνται στην ανίχνευση λαθών κατά τη μετάδοση ή λειτουργία των κυκλωμάτων.

Το bit ισοτιμίας είναι περιττή πληροφορία η οποία όμως μπορεί να χρησιμοποιηθεί για την ανίχνευση μονού

αριθμού λαθών.

Page 157: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Η μεγάλη εικόνα • Κάθε μέθοδος απλοποίησης (Karnaugh που είδαμε και τις υπόλοιπες

που θα δούμε πιο κάτω) μας δίνει ένα ελάχιστο (όχι απαραίτητα μοναδικό) κύκλωμα για υλοποίηση με πύλες ΝΟΤ, ΑΝD και ΟR.

• Αν θέλω ελάχιστο αριθμό πυλών πρέπει να : • Κάνω αλγεβρικές απλοποιήσεις επί της απλοποιημένης μορφής

της συνάρτησης ώστε να χρησιμοποιήσω πύλες NAND, NOR, XOR, XNOR.

• Διαμοιράζομαι πύλες μεταξύ διαφόρων συναρτήσεων που σκοπεύω να υλοποιήσω ταυτόχρονα.

Page 158: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αλγεβρικές απλοποιήσεις μετά το Karnaugh

• G (Α, Β, C, D) = Σ(0, 1, 2, 4, 5, 8, 9, 10) • Karnaugh & Λογικό διάγραμμα:

• Περαιτέρω αλγεβρική απλοποίηση • G = (A+C)' + B'(C'+D') =

(A+C)' + B'(CD)' = (A+C)' + (B+CD)' = ((A+C) (B+CD))'

• Νέο λογικό διάγραμμα :

Page 159: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Διαμοίραση υποσυναρτήσεων

• Μετά από απλοποίηση έχουμε καταλήξει στις συναρτήσεις : Z (A, B, C, D) = D' Y (A, B, C, D) = C D + C' D' X (A, B, C, D) = B' C + B' D + B C' D' W(A, B, C, D) = A + B C + B D

• Iσχύει ότι : • Υ = (C ⊕ D)' • X = B' (C+D) + B (C+D)' = B ⊕ (C+D) • W = A + B (C+D)

• Xρησιμοποιώντας αυτές τις μορφές ο όρος (C+D) διαμοιράζεται

Page 160: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Απλοποίηση και πραγματικός κόσμος • Μέχρι ώρας είδαμε την απλοποίηση κυκλωμάτων θεωρώντας μόνο τη λογική τους

λειτουργία. • Στο πραγματικό κόσμο, υπάρχει και μια άλλη διάσταση : η χρονική. • Θυμηθείτε ότι οι πύλες μοιάζουν με συστάδες διακοπτών, καθένας φτιαγμένος

από τρανζίστορ. • Κάθε τέτοιος διακόπτης χρειάζεται κάποιο χρόνο ώστε να αποκαταστήσει τη

λειτουργία του, να μεταφέρει δηλαδή το σήμα από τη μία άκρη του στην άλλη. • Ως εκ τούτου, κάθε πύλη έχει καθυστέρηση διάδοσης, οριζόμενη ως ο χρόνος που

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

• Η καθυστέρηση διάδοσης μπορεί να είναι διαφορετική για κάθε είδος μετάβασης της εξόδου. Αλλη δηλαδή η τιμή της για 0->1 και άλλη για 1->0.

Page 161: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Στο πραγματικό κόσμο μπορεί να μη μας συμφέρει καν η απλοποίηση ! • Ας υποθέσουμε το κύκλωμα που ορίζεται από το παρακάτω πίνακα Κarnaugh που

μας οδηγεί στην απλοποίηση και την υλοποίηση :

• Αφού F(x, y, z) = x y' + yz, θα είναι F(1, y, 1) = y' + y = 1, δηλαδή η έξοδος δε θα έπρεπε να εξαρτάται από το y. • Στο πραγματικό κόσμο όμως η διαδρομή από την είσοδο y στο a είναι πιο αργή από την είσοδο y στο b λόγω της ύπαρξης του αντιστροφέα.

• Η έξοδος συνεπώς θα παρουσιάσει μια προσωρινή μηδενική τιμή για x=1, z=1 και y 1->0.

• Aυτή είναι μια αιχμή (static 1 hazard). • Παρατηρείστε ότι αυτή συμβαίνει κατά τη μετάβαση από τον

ελαχιστόρο m5 στον m7. • Στατικές αιχμές της κατάστασης 1, εμφανίζονται κατά τις

μεταβάσεις μεταξύ ελαχιστόρων που ανήκουν σε άλλες ομάδες

Page 162: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Λύση : μη απλοποιημένη συνάρτηση

• Αν συμπεριλάβουμε το πρώτο συνεπαγωγό που καλύπτει τη μετάβση από το m5 στο m7 το πρόβλημα της στατικής αιχμής στη κατάσταση 1 λύνεται.

Page 163: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Mέθοδος Quine - McCluskey

• Eίσοδος : Συνάρτηση F σε κανονική μορφή άθροισμα γινομένων • Αλγόριθμος

• Χωρίζονται οι ελαχιστόροι της F, σε ομάδες ανάλογα με το πλήθος των μεταβλητών που είναι 1 όταν επαληθεύονται.

• Κάθε όρος κάθε ομάδας συγκρίνεται με όλους της αμέσως επόμενης ομάδας. Αν διαφέρουν μόνο σε 1 μεταβλητή, προκύπτει νέος συγχωνευμένος όρος χωρίς αυτή τη μεταβλητή, που τοποθετείται σε νέο πίνακα, εφόσον δεν υπάρχει ήδη εκεί.

• Οι όροι που συγχωνεύονται απαλείφονται από τη συνέχεια • Οι όροι που δεν απαλείφθηκαν προκρίνονται για το τέλος. • Η διαδικασία επαναλαμβάνεται με κάθε νέο πίνακα που προκύπτει. • Οι όροι που μένουν είναι οι πρώτοι συνεπαγωγοί της συνάρτησης • Η επιλογή των πρώτων συνεπαγωγών για την κάλυψη της συνάρτησης γίνεται

με τη μέθοδο ελάχιστης κάλυψης (περιγράφεται πιο κάτω) ή τη μέθοδο Petrick (http://en.wikipedia.org/wiki/Petrick's_method).

Page 164: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα • F (x, y, z, w, v) = Σ (0, 1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28) • Mετά την απλοποίηση

είναι F = A + B + C + D = xzw'v' + x'wv + y'zv' + x'y'

• Oι Α, Β, C και D είναι πρώτοι συνεπαγωγοί της συνάρτησης . Είναι όμως όλοι ουσιώδεις ?

Page 165: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ελάχιστη κάλυψη

• Στόχος : Να επιλέξω τον ελάχιστο αριθμό πρώτων συνεπαγωγών ώστε να καλυφθεί η συνάρτηση.

• Αλγόριθμος • Φτιάξε ένα πίνακα. Γραμμές του οι πρώτοι συνεπαγωγοί. Στήλες του οι

ελαχιστόροι της συνάρτησης. • Tο στοιχείο i, j σημειώνεται αν ο αντίστοιχος ελαχιστόρος περιέχεται στο

πρώτο συνεπαγωγό. • Βρες όλες τις στήλες με ένα μόνο σημάδι. Οι αντίστοιχοι συνεπαγωγοί είναι

ουσιώδεις και συνεπώς οπωσδήποτε πρέπει να περιληφθούν στην απλοποιημένη μορφή της συνάρτησης.

• Αν έχουν καλυφθεί με αυτούς όλοι οι ελαχιστόροι έχεις την απλοποιημένη συνάρτηση.

• Αλλιώς επέλεγε επιπλέον συνεπαγωγούς για να καλύψεις τους ελαχιστόρους.

Page 166: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Μέθοδος ελάχιστης κάλυψης για το παράδειγμά μας

Ολοι οι συνεπαγωγοί είναι ουσιώδεις σε αυτό το παράδειγμα !

Page 167: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα 2

• F (x, y, z, w, v) = Σ (1, 2, 5, 6, 7, 8, 9, 10, 13, 17, 18, 21, 22, 29) • Mετά την απλοποίηση

είναι F = A + B + C + D + Ε + F + G + H + I

• Είναι όλοι oι παραπάνω συνεπαγωγοί ουσιώδεις ?

F

G

H

I

Page 168: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα 2

• Παρατηρούμε ότι οπωσδήποτε πρέπει να συμπεριλάβω τους Ι, Η, G στη συνάρτηση, για να καλύψω τους ελαχιστόρους 29, 22 και 17 αντίστοιχα. Αυτόματα έχω καλύψει και τους 1, 2, 5, 6, 13, 18 και 21.

• Πρέπει να επιλέξω τους υπόλοιπους συνεπαγωγούς ώστε να καλύψω τους ελαχιστόρους 7, 8, 9 και 10.

• Επιλέγω το C που καλύπτει 2 εναπομείναντες ελαχιστόρους (8 και 10). • Για τον ελαχιστόρο 9, μεταξύ Β και F επιλέγω τον F καθώς έχει 1 μεταβλητή

λιγότερη από τον Β. • Για τον ελαχιστόρο 7, μεταξύ D και Ε, μπορώ να επιλέξω αυθαίρετα. • Αρα F = G + H + I + C +D +F

F

G

H

I

Page 169: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Hardware Description Languages (HDLs) Γλώσσες περιγραφής υλικού

• Γιατί υπάρχουν ? • Οι γλώσσες προγραμματισμού δε μας καλύπτουν • Το υλικό έχει μια ενγενή παραλληλία • Στις γλώσσες που ξέρουμε υποθέτουμε εκτέλεση σε μια

ακολουθιακή μηχανή. • Η εκτέλεση στο υλικό δεν είναι ακολουθιακής φύσης.

• Γιατί χρειάζονται ?

• Μεταφερσιμότητα μεταξύ τεχνολογιών • Κοινό υπόβαθρο συνεννόησης μεταξύ σχεδιαστών. • Εύκολη μετάβαση από περιγραφή σε υλοποίηση

Page 170: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γλώσσες περιγραφής υλικού

• Τι επιπλέον προσφέρουν ? • Αναπαραστάσεις σε διάφορες μορφές που χρησιμοποιεί ένας

σχεδιαστής υλικού : λογικά διαγράμματα, συναρτήσεις Boole, FSMs …

• Eξομοίωση (Simulation) • Σύνθεση (Synthesis)

Page 171: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eξομοίωση

• Λογική Εξομοίωση (Logic Simulation) • Πιστοποίηση της σωστής δομής και συμπεριφοράς ενός

κυκλώματος με τη χρήση υπολογιστή και κατάλληλου s/w, πριν τη πραγματική του υλοποίηση.

• Simulator (Εξομοιωτής) • Είσοδοι : 1) περιγραφή κυκλώματος σε HDL

2) διανύσματα εισόδου (stimuli) • Stimulus file (test bench) • Eξοδος : Τιμές εξόδων του κυκλώματος.

• Σε τι είναι γραμμένο ένα stimulus file ? • Φυσικά, σε HDL !!!

Page 172: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Σύνθεση

Logic synthesis • Αυτοματοποιημένη διαδικασία παραγωγής του δικτυώματος

(netlist) ενός κυκλώματος που έχουμε περιγράψει σε HDL, για κάποια συγκεκριμένη τεχνολογία. To netlist είναι η λίστα των σχεδιαστικών κυττάρων που χρησιμοποιούμε καθώς και η διασύνδεσή τους για τη στοχευόμενη λειτουργικότητα.

• Synthesizer / Synthesis tool • Είσοδοι : 1) περιγραφή κυκλώματος σε υποσύνολο της HDL

2) επιθυμητά χαρακτηριστικά λειτουργίας.

• Eξοδος : Δικτύωμα του κυκλώματος.

Page 173: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παραλληλία στις HDLs • Κλασσικές γλώσσες προγραμματισμού :

– Α=Β; C=A; => C=Β – C=A; A=B; => C= A – H σειρά αναγραφής των εντολών ΕΧΕΙ ΣΗΜΑΣΙΑ γιατί ο

προγραμματιστής λαμβάνει υπόψη του το ακολουθιακό μοντέλο εκτέλεσης

• Αρχή της παραλληλίας στις ΗDLs : Α=Β; C=A; => C=Β C=A; A=B; => C=B H σειρά αναγραφής των εντολών ΔΕΝ ΕΧΕΙ ΣΗΜΑΣΙΑ γιατί

περιγράφουμε H/W που εκ φύσεως είναι παράλληλο.

Page 174: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Verilog

• C like. Λιγότερες δηλώσεις, λιγότερος κώδικας, αντίστοιχο functionality.

• Πρωτοεισήχθηκε από την Gateway Design System Corp. 1985 (μετέπειτα Cadence)

• IEEE standard 1985. • Open Verilog International (OVI). • Προτεινόμενο σύγγραμμα : "Τhe Verilog Hardware Description

Language", 3rd Ed., D. E. Thomas & P. R. Moorby, KAP, 1996. • Χρησιμοποιεί περίπου 100 keywords, π.χ. and, or, module … • Case sensitive, τα κενά αγνοούνται. • Οτιδήποτε ακολουθεί το // είναι comment.

Page 175: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Verilog - 2

• H περιγραφή ενός κυκλώματος σε Verilog, μπορεί να : – είναι πλήρως δομική (structural description) – βασίζεται στη συμπεριφορά του κυκλώματος (behavioral) – συνδυάζει σε οποιονδήποτε βαθμό τα δύο παραπάνω.

• Ενας σχεδιασμός όσο μεγάλος ή μικρός είναι στη Verilog αποτελεί ένα module.

• Η περιγραφή ενός module μπορεί να χτίζεται με τη χρήση αντιγράφων άλλων modules.

• Δημιουργείται έτσι μια σχεδιαστική ιεραρχία με το πλέον υψηλό να είναι το top level module.

Page 176: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το πρώτο παράδειγμα

module cir1 (A, B, C, x, y); input A, B, C; output x, y ; wire e; and g1 (e, A, B); not g2 (y, C); or g3 (x, e, y); endmodule

Predefined (primitive) modules

Η πρώτη μεταβλητή είναι πάντοτε η έξοδος

Page 177: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πρόσθεση Χρονοκαθυστερήσεων

module cir2 (A, B, C, x, y); input A, B, C; output x, y ; wire e; and #30 g1 (e, A, B); not #10 g2 (y, C); or # 20 g3 (x, e, y); endmodule

# Χ = χρονοκαθυστέρηση Χ χρονικών μονάδων εξομοίωσης

Page 178: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Testbench & Simulation

module testbench; reg K, L, M; wire my_x, my_y ; cir2 CUT (K, L, M, my_x, my_y); initial begin K=0; L=0; M=0; #100 K=1; L=1; M=1; #100 $stop; end endmodule

module cir2 (A, B, C, x, y); input A, B, C; output x, y ; wire e; and #30 g1 (e, A, B); not #10 g2 (y, C); or # 20 g3 (x, e, y); endmodule

Page 179: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Testbench & Simulation

# 10 μονάδες καθυστέρηση

# 20 μονάδες καθυστέρηση # 30 μονάδες καθυστέρηση

Page 180: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

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

– Αντί να περιγράφουμε τη δομή του κυκλώματος, περιγράφουμε τη λογική συμπεριφορά του, χρησιμοποιώντας συναρτήσεις Boole, πίνακες αληθείας …

– Αν και μπορούμε να χρησιμοποιήσουμε τις predefined συναρτήσεις AND, OR, XOR … συνήθως χρησιμοποιούμε τις συντομογραφίες τους :

• & = ΑΝD • | = OR • ~ = NOT / Complement • ^ = XOR • ~^ = XNOR

Page 181: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Equation Description

module cir2 (A, B, C, x, y); input A, B, C; output x, y ; assign y = ~C; assign x = (A & B) | y; endmodule

Page 182: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Για τον ίδιο σχεδιασμό υπάρχουν :

module OneBitFullAdder(A,B,C,S,COUT); input A,B,C; output S, COUT ; wire HalfSum,O1,O2,O3; xor g1 (HalfSum,A,B); xor g2 (S,HalfSum,C); and g3 (O1,A,B); and g4 (O2,A,C); and g5 (O3,B,C); or g6 (COUT,O1,O2,O3); endmodule

module OneBitFullAdder(A,B,C,S,COUT); input A, B, C; output S, COUT ; assign S= A^B^C; assign COUT= (A&B) | (A&C) | (B&C); endmodule

BA

CS

COUT

Δομικές Περιγραφές Περιγραφή Εξισώσεων

Page 183: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ποια περιγραφή είναι καλύτερη ?

Δομικές περιγραφές • Περιγράφουν μία μόνο υλοποίηση με απόλυτη ακρίβεια • Χρειάζονται πολύ περισσότερη ώρα εξομοίωσης

Υψηλού επιπέδου περιγραφές

• Δε περιγράφουν το κύκλωμα με απόλυτη ακρίβεια • Περιγράφουν όλα τα ισοδύναμα κυκλώματα • Εξομοιώνονται πολύ πιο γρήγορα

Page 184: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eισαγωγή στη χρήση αρτηριών & ιεραρχίας (1/6)

Ας θυμηθούμε την άσκηση :Θεωρείστε ότι σε έναν δυαδικό κώδικα είναι επιτρεπτές μόνο οι λέξεις οι οποίες δεν έχουν σε συνεχόμενες θέσεις ψηφία με τιμή "1".

• Κατασκευάστε τον πίνακα αληθείας λογικής συνάρτησης G η οποία λαμβάνει την τιμή 1 αν μια λέξη μήκους τεσσάρων δυαδικών ψηφίων είναι επιτρεπτή σύμφωνα με τον κώδικα αυτό και την τιμή 0 αν δεν είναι.

• Απλοποιήστε τη συνάρτηση G και σχεδιάστε το αντίστοιχο λογικό κύκλωμα.

• Χρησιμοποιώντας ως δομικό στοιχείο το κύκλωμα του προηγούμενου υποερωτήματος και επιπλέον λογική, σχεδιάστε κύκλωμα το οποίο να ελέγχει αν μια λέξη 16 δυαδικών ψηφίων είναι επιτρεπτή σύμφωνα με τον κώδικα αυτό.

Page 185: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Για τα δύο πρώτα ερωτήματα :• Κατασκευάζουμε πίνακα αλήθειας.• Μεταφέρουμε στον Karnaugh &

απλοποιούμε

Eισαγωγή στη χρήση αρτηριών & ιεραρχίας (2/6)

Α Β C D F0 0 0 0 10 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 10 1 1 0 00 1 1 1 01 0 0 0 11 0 0 1 11 0 1 0 11 0 1 1 01 1 0 0 01 1 0 1 01 1 1 0 01 1 1 1 0

ABCD 00 01 11 10

00

01

11

10

1 1 11 1

1 1 1Οπότε παίρνουμε :F = B’D’ + A’C’ + B’C’

Page 186: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eισαγωγή στη χρήση αρτηριών & ιεραρχίας (3/6)module strange (A, B, C, D, F);

input A, B, C, D;output F;

assign F =~B & ~D | ~B & ~C | ~A & ~C;endmodule

module test;reg my_A, my_B, my_C, my_D;wire my_F;

strange CUT (my_A, my_B, my_C, my_D, my_F);

initialbegin

my_A=0, my_B=0, my_C=0, my_D=0;#100 my_A=0, my_B=0, my_C=0, my_D=1;

…end

endmodule

Page 187: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eισαγωγή στη χρήση αρτηριών & ιεραρχίας (4/6)

Προφανώς είναι κουραστικό :• Να γράφουμε το κάθε σήμα ξεχωριστά• Να το παρατηρούμε στην εξομοίωση ξεχωριστά.• Σκεφτείτε τον κόπο που θα χρειαζόταν το (γ) υποερώτημα

έτσι.Όπως στη C έχω τους πίνακες, στη Verilog έχω αρτηρίες (buses) :

• Ομαδοποιούν πολλά σήματα μαζί.• Μου επιτρέπουν να τα διαχειρίζομαι όλα μαζί.module strange2 (I, F);

input [3:0] I; // A = I[3], B=I[2], C=I[1], D=I[0]output F;

assign F =~I[2] & ~I[0] | ~I[2] & ~I[1] | ~I[3] &~I[1];endmodule

module test;reg [3:0] my_I;wire my_F;

strange2 CUT (my_I, my_F);initial my_I=0;

always #100 my_I=my_I+1;endmodule

Page 188: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Επαναχρησιμοποίηση • Όπως χρησιμοποίησα τις πύλες

ως primitives μπορώ να χρησιμοποιώ τα modules που έφτιαξα, όσες φορές θέλω.• Στον ιδεατό κόσμο (αυτό των

αρχείων), μόνο μια φορά χρειάζεται να περιγράψω τη κάθε λογική. Μπορώ να χρησιμοποιώ ιδεατά ΑΝΤΙΓΡΑΦΑ (instances)

• Στον πραγματικό κόσμο θα πρέπει να κατασκευάσω κάθε αντίγραφο.

Για το (γ) υποερώτημα :

Eισαγωγή στη χρήση αρτηριών & ιεραρχίας (5/6)

Page 189: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Eισαγωγή στη χρήση αρτηριών & ιεραρχίας (6/6)module strange2 (I, F);input [3:0] I; // A = I[3], B=I[2], C=I[1], D=I[0]output F;

assign F =~I[2] & ~I[0] | ~I[2] & ~I[1] | ~I[3] &~I[1];endmodulemodule strange16 (Α, G);input [15:0] Α; wire F1, F2, F3, F4;output G;

strange2 inst1 (A[3:0], F1);strange2 inst2 (A[7:4], F2); strange2 inst3 (A[11:8], F3); strange2 inst4 (A[15:12], F4);

assign G = F1 & F2 & F3 & F4 & ~(A[3] & A[4]) & ~(A[7] & A[8]) & ~(A[11] & A[12]);endmodule

module test;reg [15:0] my_A;wire my_G;

strange16 CUT (my_A, my_G);initial my_A=0;

always #100 my_A=my_A+1;endmodule

Page 190: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα εναλλακτικών περιγραφών & ιεραρχίας (1/5) – Σχεδιάστε ένα κύκλωμα που δέχεται στην είσοδό του έναν φυσικό

αριθμό Α των 4 δυαδικών ψηφίων και παράγει στην έξοδό του 1 αν ο αριθμός είναι πολλαπλάσιο του 3.

– Ομοίως για πολλαπλάσιο του 5. – Ομοίως για πολλαπλάσιο του 15, χρησιμοποιώντας μόνο τα

κυκλώματα των προηγούμενων υποερωτημάτων.

Μπορούμε να φτιάξουμε πίνακα αλήθειας για το 1ο υποερώτημα, απ’ όπου προφανώς θα πάρουμε ότι t(A) = t(A[3], A[2], A[1], A[0]) = Σ(0, 3, 6, 9, 12, 15).

Page 191: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα εναλλακτικών περιγραφών & ιεραρχίας (2/5)

Πλέον μπορούμε πριν κατασκευάσουμε το κύκλωμά μας να το περιγράψουμε :

Δομικά module Multiple3 (A, t); input [3:0] A; output t; xnor g0 (temp1, A[3], A[2]); xnor g1 (temp2, A[1], A[0]); and g2 (temp3, temp1, temp2); not g3 (nota3, A[3]); not g4 (nota2, A[2]); not g5 (nota1, A[1]); not g6 (nota0, A[0]); and g7 (temp4, nota3, A[2], A[1], nota0); and g8 (temp5, A[3], nota2, nota1, A[0]); or g9 (t, temp3, temp4, temp5); endmodule

Mε τις λογικές του εξισώσεις : module Multiple3 (A, t); input [3:0] A; output t; assign temp3 = (A[3]~^A[2]) & (A[1]~^A[0]); assign temp4 = ~A[3] & A[2] & A[1] & ~A[0]; assign temp5 = A[3] & ~A[2] & ~A[1] & A[0]; assign t = |{temp3, temp4, temp5}; endmodule

Page 192: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα εναλλακτικών περιγραφών & ιεραρχίας (3/5) – Ναι, αλλά έτσι έχω κάνει εγώ το περισσότερο κόπο ! – Μήπως υπάρχει κάποιος τρόπος, να μην ασχοληθώ καθόλου με

εξισώσεις, απλοποίηση και υλοποίηση ? – Με άλλα λόγια υπάρχει ένα ακόμα πιο υψηλό επίπεδο αφαίρεσης

που να μου δίνει άμεσα περιγραφές, εξομοιώσιμες μα κυρίως συνθέσιμες ?

– Φυσικά και υπάρχει κι αυτός είναι ο λόγος για τον οποίο φτιάξαμε εξ αρχής μια νέα γλώσσα.

– Είναι η περιγραφή βάσει της συμπεριφοράς (behavioral description).

Bάσει συμπεριφοράς : module Multiple3 (A, t); input [3:0] A; output t; assign t = ((Α%3) == 0) ? 1 : 0; endmodule

Page 193: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα εναλλακτικών περιγραφών & ιεραρχίας (4/5)

Βάσει συμπεριφοράς 2 module multiple3 (A, t); input [3:0] A ; output t; reg t; always @(A) begin case (A) 0, 3, 6, 9, 12, 15 : t = 1; default : t = 0; endcase end endmodule

Page 194: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

• Ας δούμε τώρα το 3ο ερώτημα, αφού το 2ο το αντιμετωπίζουμε όπως το 1ο.

• Οπως χρησιμοποίησα τις xor, and, or, … για να χτίσω ένα σχεδιασμό, μπορώ να χρησιμοποιήσω το σχεδιασμό σα κύτταρο για τη περιγραφή (δομική) μεγαλύτερων σχεδιασμών.

• Σκεφτείτε για παράδειγμα ότι έχω φτιάξει 2 υποσχεδιασμούς το multiple5 και το multiple3 που μου δείχνουν στις εξόδους f και t αντίστοιχα αν η είσοδος Α[3:0] είναι πολλαπλάσιο του 5 και του 3 αντίστοιχα.

• Θεωρείστε τις δηλώσεις • module multiple5 (Α, f); • module multiple3(Α, t);

• Για να φτιάξω ένα κύκλωμα που θα μου δείχνει αν η είσοδος Α είναι πολλαπλάσιο του 15, αρκεί να τροφοδοτήσω αυτή την είσοδο και στα 2 προηγούμενα modules και να πάρω το λογικό ΑΝD των εξόδων τους.

• Θα μπορούσα συνεπώς να γράψω : module multiple15 (Α, fifteen); input [3:0] Α; output fifteen; wire five, three; multiple5 U1 (A, five); multiple3 U2 (A, three); assign fifteen = five & three; endmodule

Παράδειγμα εναλλακτικών περιγραφών & ιεραρχίας (5/5)

Page 195: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα επίλυσης προβλήματος

Ζητείται να περιγράψετε και να εξομοιώσετε ένα κύκλωμα που να δέχεται στην είσοδο τον αριθμό Α και στην έξοδό του να δίνει τον Β που να ικανοποιεί τα : • Β = Α – 2, αν 0 ≤ Α ≤ 2 • Β = Α + 3, αν -4 ≤ Α ≤ -2 Οι είσοδοι και έξοδοι του κυκλώματός σας αναπαρίστανται με κώδικα συμπληρώματος του 2.

Page 196: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Έστω Α = Α[2] Α[1] Α[0]. Η έξοδος χρειάζεται 2 δυαδικά ψηφία Β = Β[1] Β[0]. Φτιάχνουμε τον πίνακα αληθείας :

Η λύση του πάρα πολύ χαζού

Είσοδος στο δυαδικό

Είσοδος στο δεκαδικό

Έξοδος στο δεκαδικό

Έξοδος στο δυαδικό

Α[2] Α[1] Α[0] Β[1] Β[0] 0 0 0 0 -2 1 0 0 0 1 +1 -1 1 1 0 1 0 +2 0 0 0 0 1 1 +3 Χ Χ Χ 1 0 0 -4 -1 1 1 1 0 1 -3 0 0 0 1 1 0 -2 +1 0 1

1 1 1 -1 Χ Χ Χ

module first(A,B); input [2:0] A; output [1:0] B;

and i0 (temp, A[2], A[0]); nor i1 (B[1], A[1], temp); xor i2 (B[0], A[2], A[0]);

endmodule

Page 197: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

module second(A,B); input [2:0] A; output [1:0] B;

assign B[1] = ~(A[1] | A[2] & A[0]); assign B[0] = A[2] ^ A[0];

endmodule

Η λύση του πολύ χαζού

Time - Saving module third(A,B); input signed [2:0] A; output signed [1:0] B; assign B = (A < (-1)) ? A + 3 : (A > (-1)) && (A < 3) ? A - 2 : 2'bx; endmodule

Page 198: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Από κοινού εξομοίωση όλων των λύσεων

module testbench; reg [2:0] my_A; wire [1:0] my_B1, my_B2 , my_B3; first structural (my_A, my_B1); second equations (my_A, my_B2); third behavioral (my_A, my_B3); initial begin my_A=0; #1000 $stop; end always #100 my_A = my_A +1 ; endmodule

Page 199: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Οperators στη behavioral περιγραφή

– Οι βασικές λογικές : &, |, ^, ~, ~^ – Oι βασικές αριθμητικές : +, -, *, /, % – Οι βασικές σύγκρισης : < , >, !=, == – Concatenation : { , } – Conditional / ternary operator (3 – way assignment) ( ? :)

condition ? true expression : false expression

module magcomp (A,B,ALSB, AGTB, AEQB); input [3:0] A, B; output ALSB, AGTB, AEQB;

assign ALSB = (A< B), AGTB = (A>B), AEQB = (A ==B);

endmodule

Page 200: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

– Aς δούμε το πρόβλημα του να σχεδιάσουμε ένα κύκλωμα που να μας δείχνει αν μια είσοδος 4 δυαδικών ψηφίων είναι πρώτος αριθμός.

Page 201: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

– Δείτε πόσοι τρόποι υπάρχουν να περιγράψω αυτό το κύκλωμα : – 1ος τρόπος : module prime (z, y, x, w, is prime); input z, y, x, w ; output isprime; assign isprime = (w & ~z) | (x & ~y & ~z) | (w & ~x & y) | (w & x & ~y); endmodule

Page 202: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

– 2ος τρόπος : module prime (z, y, x, w, isprime); input z, y, x, w ; output isprime; reg isprime; always @(z or y or x or w) begin case ({z, y, x, w}) 1, 2, 3, 5, 7, 11, 13 : isprime = 1; default : isprime = 0; endcase end endmodule

Page 203: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

– 3ος τρόπος : module prime (z, y, x, w, is prime); input z, y, x, w ; output isprime; reg isprime; always @(z or y or x or w) begin case ({z, y, x, w}) 4’b0xx1, 4’b001x, 4’bx011, 4’bx101 : isprime = 1; default : isprime = 0; endcase end endmodule

– Και πολλοί – πολλοί άλλοι.

– Και φυσικά μη ξεχνάτε τους δομικούς τρόπους !

Page 204: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Bit wise vs Reduction

– Εστω wire [5:0] A, B, C; – Τι σημαίνει C = A^B ; Ορθώς υποθέτετε ότι είναι shorthand για

C[0] = A[0] ^ B[0], C[1] = A[1] ^ B[1], … – Aν είχα δηλώσει wire [6:1] C ? Ναι ακόμα μπορούσατε να

γράψετε C = A^B, υπονοώντας C[1]=A[0]^B[0], C[2]=A[1]^B[1] – Αν ήθελα όμως κάποιο άλλο συνδυασμό ? ΔΗΛΩΣΤΕ ΤΟ !!! π.χ.

C[6:1] = {A[3:0], A[5:4]} ^ {B[5:4], B[0], B[3:1]} – Ολες οι παραπάνω περιπτώσεις είναι bit wise χρήσεις του ^ – Εστω ότι τώρα θέλω να δώ αν όλα τα σήματα της αρτηρίας Α

είναι 0. Θα μπορούσα να γράψω ~(Α[0] | Α[1]| … |Α[5]) – Shorthand αν χρησιμοποιήσετε το ~| σα reduction operator

δηλαδή ~|Α – Εστω Α και Β όπως παραπάνω και C απλό καλώδιο. Τι σημαίνει

~|Α ^ ^Β ?

Page 205: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Literals and constants

– Εστω μια αρτηρία : wire [5:0] A; – Τι σημαίνει η δήλωση Α = 3 ? Σημαίνει Α = 000011 ? Μήπως

σημαίνει 11ΧΧΧΧ ? Μήπως Α = 110000? – Η Verilog θα υποθέσει το πρώτο ! – Καλό είναι ο προγραμματιστής να ξεκαθαρίζει τι ακριβώς θέλει : – Literals : n'Fddd….

• n = αριθμός δυαδικών ψηφίων • F = σύστημα αναπαράστασης. b (binary) / o (octal) / d (decimal) / h (hex).

Default is decimal ! • ddd… ψηφία του συστήματος αναπαράστασης.

• Π.χ. assign A[5:0] = 6'b000011, A[5:0] = 6'd3, A[5:0] = 6'h03;

– Πως θα βάλω τη τιμή 01ΖΧΧ1 στο Α ?

Page 206: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Testbench module test_multiple15 ; reg [3:0] in ; wire mult ; multiple15 p0 (in, mult) ; initial begin in = 0 ; repeat (16) begin #100 $display("in = %2d mult = %1b",in,mult) ; in = in+1 ; end end endmodule

• Oταν γράφω ένα testbench έχω πολύ μεγαλύτερη ελευθερία στη χρήση δομών της Verilog. • O κώδικας που γράφω δεν αντιπροσωπεύει κύκλωμα ! • Ενα testbench είναι πάντοτε ιεραρχικό.

– Τα σήματα που οδηγούν τις εισόδους του υπό έλεγχο κυκλώματος θα πρέπει να δηλωθούν σα τύπου reg.

– Oι αποκρίσεις του υπό έλεγχο κυκλώματος μπορούν να οδηγούνται σε σήματα τύπου wire.

Page 207: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ιnitial Statements

– Eίναι ένα block εντολών που εκτελείται μόνο μία φορά. – Oλα τα initial blocks ξεκινούν να εκτελούνται παράλληλα τη

χρονική στιγμή 0 της εξομοίωσης.

initial begin A=0; B=0; C=0; #100 A=1; B=1; C=1; #100 Α=0; end

Οι εντολές αυτές θα εκτελεστούν τη χρονική στιγμή 0

Οι εντολές αυτές θα εκτελεστούν τη χρονική στιγμή 100 Η εντολή αυτή θα εκτελεστεί τη χρονική στιγμή 200

Page 208: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Χρήσιμες Συναρτήσεις

– $display ("%d %b %b", S, C, I); – $time – μεταβλητή που κρατάει τη χρονική στιγμή εξομοίωσης – $write – δεν αλλάζει γραμμή – $monitor – παρακολουθεί τις αλλαγές μιας μεταβλητής – $finish – τερματίζει την εξομοίωση – $stop – σταματά την εξομοίωση – $random – γεννήτρια τυχαίων αριθμών

Page 209: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Μεγαλύτερα συνδυαστικά κυκλώματα – Μέχρι ώρας έχουμε χρησιμοποιήσει στα λογικά μας διαγράμματα

πύλες και τη διασύνδεσή τους. – Κάθε είδος πύλης περιέχεται σε ολοκληρωμένα μικρού βαθμού

ολοκλήρωσης (SSI). – Υπάρχουν όμως λογικές συναρτήσεις που τις χρησιμοποιούμε

συχνά και με τις οποίες μπορούμε πολύ πιο εύκολα να φτιάξουμε μεγαλύτερα κυκλώματα.

– Στο εμπόριο υπάρχουν επίσης ολοκληρωμένα τα οποία μας δίνουν αυτές τις συναρτήσεις off-the-self.

– Τα ολοκληρωμένα αυτά ενσωματώνουν σημαντικά μεγαλύτερο αριθμό τρανζίστορ.

– Ανήκουν δηλαδή στη κατηγορία των ολοκληρωμένων μεσαίας κλίμακας ολοκλήρωσης (ΜSI).

– Παρακάτω εξετάζουμε ποια είναι αυτά τα σύνθετα κυκλώματα και πως χρησιμοποιώντας τα μπορούμε να πάρουμε χρήσιμα λογικά κυκλώματα.

Page 210: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

ΜSI που θα μας απασχολήσουν

Αριθμητικά κυκλώματα : • Ημιαθροιστής • Πλήρης αθροιστής • Παράλληλος Αθροιστής / Αφαιρέτης

• Με διάδοση κρατουμένου • Με πρόβλεψη κρατουμένου

• Συγκριτής • Πολλαπλασιαστής

Κωδικοποίησης / Αποκωδικοποίησης / Πολυπλεξίας / Αποπλεξίας

Κωδικοποιητής Κωδικοποιητής προτεραιότητας Αποκωδικοποιητής / Αποπλέκτης Πολυπλέκτης

Page 211: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ημι-Aθροιστής (Half Adder) 1.Καθορισμός προβλήματος: κύκλωμα που να προσθέτει δύο δυαδικά ψηφία.

2.Πλήθος εισόδων/εξόδων: 2 είσοδοι – 2 έξοδοι.

3.Ονομασία εισόδων/εξόδων: έστω x, y οι δύο είσοδοι (προσθετέοι) και C (κρατούμενο), S (άθροισμα) οι δύο έξοδοι.

4.Πίνακας αλήθειας:

x y C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

Page 212: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ημι-Αθροιστής x y C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

(α) S = x΄y + xy΄

C = xy

(β) S = x ⊕ y

C = xy

Page 213: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ημι-Αθροιστής

module ΗΑ1 (x, y, S, C) ; input x, y; output S, C ; assign S = x ^ y; assign C = x & y; endmodule

module ΗΑ1 (x, y, S, C) ; input x, y; output S, C ; assign {C, S} = x + y; endmodule

Page 214: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πλήρης Aθροιστής (Full Adder) 1.Καθορισμός προβλήματος: κύκλωμα που να προσθέτει τρία δυαδικά ψηφία.

2.Πλήθος εισόδων/εξόδων: 3 είσοδοι – 2 έξοδοι.

3.Ονομασία εισόδων/εξόδων: έστω x, y οι δύο είσοδοι (προσθετέοι), z το κρατούμενο της προηγούμενης βαθμίδας και C (κρατούμενο), S (άθροισμα) οι δύο έξοδοι.

4.Πίνακας αλήθειας: x00001111

y00110011

z01010101

S01101001

C00010111

Page 215: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πλήρης-Αθροιστής

S = x΄y΄z+x΄yz΄+xy΄z΄+xyz C = xy + yz + xz

Page 216: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πλήρης-Αθροιστής • Eίναι S = (x ⊕ y) ⊕ z • Επίσης ισχύει

C = xy + yz + xz = xy + z (x + y) = xy + z (x'y + xy' + xy) = xy + zxy + z (x'y + xy') = xy + z (x ⊕ y)

• Mπορώ συνεπώς να κατασκευάσω το πλήρη αθροιστή από 2 ημιαθροιστές και μια πύλη OR.

Page 217: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πλήρης-Αθροιστής

module FΑ1 (x, y, z, S, C) ; input x, y, z; output S, C ; assign S = x ^ y ^ z; assign C = (x & y) | (x & z) | (y &z); endmodule

module FΑ2 (x, y, z, S, C) ; input x, y; output S, C ; assign {C, S} = x + y + z; endmodule

Page 218: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πρόσθεση στο δυαδικό με διάδοση κρατουμένου (1/4)

Page 219: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πρόσθεση στο δυαδικό με διάδοση κρατουμένου (2/4)

Page 220: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πρόσθεση στο δυαδικό με διάδοση κρατουμένου (3/4)

• Φτιάξαμε συνεπώς ένα κύκλωμα που μπορεί να προσθέτει έντελα των 4 δυαδικών ψηφίων. • Το κύκλωμα αυτό θα ονομάζεται παράλληλος αθροιστής των 4 δυαδικών ψηφίων. • Με την ίδια λογική μπορούμε να φτιάξουμε παράλληλους αθροιστές των κ δυαδικών ψηφίων • Χρησιμοποιώντας δηλαδή MSI, φτιάχνουμε LSI (για κ ικανοποιητικά μεγάλο).

Page 221: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πρόσθεση στο δυαδικό με διάδοση κρατουμένου (4/4) • Στην ουσία στις προηγούμενες διαφάνειες δε

περιγράψαμε ένα κύκλωμα, αλλά μια οικογένεια κυκλωμάτων.

• Όλα τα μέλη της οικογένειας ακολουθούν το ίδιο μοτίβο : – Αποτελούνται από πλήρεις αθροιστές. – Κάθε πλήρης αθροιστής προσθέτει ένα ζεύγος από αντίστοιχα

δυαδικά ψηφία των εντέλων και το κρατούμενο της προηγούμενης βαθμίδας, παρέχει 1 δυαδικό ψηφίο του αποτελέσματος και κρατούμενο προς τον επόμενο αθροιστή.

• Κάθε τέτοιο καλώς οριζόμενο μοτίβο, στην επιστήμη μας είναι μια αρχιτεκτονική.

• Περιγράψαμε συνεπώς παράλληλους αθροιστές με αρχιτεκτονική διάδοσης κρατουμένου (κάθε βαθμίδα διαδίδει τυχόν κρατούμενο στην επόμενη)

Page 222: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράλληλος δυαδικός αθροιστής με διάδοση κρατουμένου

Υλοποίηση με συναρτήσεις: Πίνακας αλήθειας με 9 εισόδους και 29=512 καταστάσεις.

module PΑ4 (A, B, S, Cin, Cout) ; input [3:0] A, B; input Cin; output [3:0] S ; output Cout; assign {Cout, S} = A + B + {3'd0,Cin}; endmodule

Page 223: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Ασκηση 3 Προτείνετε ένα ελάχιστο (σε αριθμό απαιτούμενων MSI) κύκλωμα που στην είσοδό του να δέχεται τον αριθμό Β που σε δυαδική αναπαράσταση έχει 2 δυαδικά ψηφία, αναπαρίσταται δηλαδή ως b1b0 και στην έξοδό του να παράγει το 3Β+2.

Ασκηση 2 Προτείνετε ένα ελάχιστο (σε αριθμό απαιτούμενων MSI) κύκλωμα που στην είσοδό του να δέχεται τον αριθμό Α που σε δυαδική αναπαράσταση έχει 7 δυαδικά ψηφία, αναπαρίσταται δηλαδή ως a6a5a4a3a2a1a0 και παράγει 2 εξόδους. Η πρώτη μας δείχνει τον αριθμό των 1 της δυαδικής παράστασης του Α ενώ η άλλη τον αριθμό των 0.

Για το σπίτι Ασκηση 1

Σας δίδονται παράλληλοι αθροιστές των 3 δυαδικών ψηφίων με είσοδο κρατουμένου. Φτιάξτε έναν παράλληλο αθροιστή των 10 δυαδικών ψηφίων.

Page 224: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράλληλος Δυαδικός Αφαιρέτης

Α – Β = Α + συμπλήρωμα(Β) = Α + Β΄ + 1

= 1

΄ ΄ ΄ ΄

Page 225: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράλληλος Αθροιστής/Αφαιρέτης

Page 226: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράλληλος Αθροιστής/Αφαιρέτης

module PΑS4 (M, A, B, S, C4) ; input [3:0] A, B; input M; output [3:0] S ; output C4; assign {C4, S} = M ? A + ~B + {3'd0,1} : A + B; endmodule

Page 227: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Διάδοση Κρατουμένου Δυαδικού Αθροιστή Χρόνος Διάδοσης (Καθυστέρηση): Επίπεδα Πυλών × Καθυστέρηση Πύλης Παράλληλος Αθροιστής με διάδοση κρατουμένου : Η μεγαλύτερη καθυστέρηση οφείλεται στη διάδοση του κρατουμένου.

• 2 επίπεδα πυλών για κάθε διάδοση κρατουμένου.

• 2 × n επίπεδα για τον παράλληλο αθροιστή n bits.

• Η πρόσθεση είναι η πλέον συχνά χρησιμοποιούμενη πράξη. • Η καθυστέρηση μπορεί να μειωθεί με τη χρήση γρηγορότερων

πυλών. Ομως αυτή η λύση έχει σαφές άνω όριο οριζόμενο από την ισχύουσα τεχνολογία.

• Εναλλακτική λύση : • Η χρήση μιας πιο "παράλληλης" αρχιτεκτονικής. • Πιο ακριβή σε υλικό.

Page 228: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πρόβλεψη Κρατουμένου (Carry Look-Ahead)

Pi = Ai⊕Bi Gi = AiBi

Si = Pi⊕Ci Ci+1= Gi+PiCi

C0 = κρατούμενο εισόδου C1 = G0 + P0C0 C2 = G1 + P1C1 = G1 + P1(G0 + P0C0) = G1 + P1G0 + P1P0C0 C3 = G2 + P2C2 = … = G2 + P2G1 + P2P1G0 + P2P1P0C0

• Η σχέση Ci+1= Gi + PiCi είναι αναδρομική • Αναπτύσσοντας την αναδρομή, μπορούμε να πάρουμε τις εξής

εξισώσεις :

• Μπορούμε αυτές να τις υπολογίσουμε παράλληλα !

Page 229: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Γεννήτρια Πρόβλεψης Κρατουμένου

C1 = G0 + P0C0

C2 = G1 + P1G0 + P1P0C0

C3 = G2 + P2G1 + P2P1G0 + P2P1P0C0

Page 230: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αθροιστής Πρόβλεψης Κρατουμένου Pi = Ai⊕Bi Gi = AiBi

Si = Pi⊕Ci

Page 231: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Συγκριτής (Comparator)

Συγκριτής Μεγέθους: συγκρίνει δύο αριθμούς και βρίσκει τη σχέση

τους (<,>,=).

Για δύο αριθμούς των n bits έχουμε 22n συνδυασμούς.

Το κύκλωμα του συγκριτή έχει αρκετή κανονικότητα.

Έστω Α = Α3Α2Α1Α0 και Β = Β3Β2Β1Β0 οι δύο αριθμοί.

Ισχύει Α = Β όταν όλα τα ζευγάρια (Ai, Bi) είναι ίσα, δηλαδή Α3=Β3 και Α2=Β2 και Α1=Β1 και Α0=Β0.

(Α=Β) = x3x2x1x0 xi = ΑiBi + Ai΄Βi΄

Page 232: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Συγκριτής Μεγέθους

Για να βρούμε εάν Α<Β ή Α>Β εξετάζουμε τα σχετικά μεγέθη των ζευγαριών

ψηφίων ξεκινώντας από την πιο σημαντική θέση. Εάν τα δύο ψηφία είναι ίσα

τότε συγκρίνουμε το επόμενο λιγότερο σημαντικό ζευγάρι ψηφίων.

Εάν Ai = 1 και Bi = 0 τότε Α > Β, εάν Αi = 0 και Βi = 1 τότε Α < Β.

(Α>Β) = Α3Β3΄ + x3A2B2΄ + x3x2A1B1΄ + x3x2x1A0B0΄

(Α<Β) = B3A3΄ + x3B2A2΄ + x3x2B1A1΄ + x3x2x1B0A0΄

Page 233: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Συγκριτής Μεγέθους

(Α=Β) = x3x2x1x0 xi = ΑiBi + Ai΄Βi΄

(Α>Β)=Α3Β3΄+x3A2B2΄+x3x2A1B1΄+x3x2x1A0B0΄

(Α<Β)=B3A3΄+x3B2A2΄+x3x2B1A1΄+x3x2x1B0A0΄

module magcomp (A,B,ALSB, AGTB, AEQB); input [3:0] A, B; output ALSB, AGTB, AEQB;

assign ALSB = (A< B); assign AGTB = (A>B); assign AEQB = (A ==B);

endmodule

Page 234: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Δυαδικός πολλαπλασιαστής

Κύκλωμα πολ/στη 2x2 bit

Page 235: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Δυαδικός πολλαπλασιαστής Κύκλωμα πολ/στη 4x3 bit

module mul4x3 (A,B,C); input [3:0] B; input [2:0] A; output [6:0] C; assign C = A * B; endmodule

Page 236: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αποκωδικοποιητής (Decoder)

Αποκωδικοποιητής: κύκλωμα που μετατρέπει τη δυαδική

πληροφορία των n γραμμών εισόδου σε εως 2n μοναδικές

γραμμές εξόδου (ελαχιστόροι n μεταβλητών).

Παράδειγμα: Αποκωδικοποιητής 3-σε-8 Ο αποκωδικοποιητής παράγει τον 1 από 2n κώδικα.

Page 237: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αποκωδικοποιητής με Είσοδο Επίτρεψης (αποπλέκτης) Ο αποκωδικοποιητής μπορεί να παράγει συμπληρωματικές εξόδους. Ο αποκωδικοποιητής μπορεί να έχει είσοδο επίτρεψης. (Σε αυτή τη περίπτωση συνήθως χρησιμοποιούμε την ορολογία αποπλέκτης).

module dec4EN_AL (D, E, A, B); input E, A, B; output [3:0] D; assign D = ~E ? 4'hF : (~A & ~B)? 4'hE : (~A & B) ? 4'hD : (A & ~B) ? 4'hB : 4'h7; endmodule

Page 238: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Λειτουργία ως αποπλέκτης (Demultiplexer)

Ο αποπλέκτης δέχεται πληροφορίες από μία απλή γραμμή και τις μεταβιβάζει σε μία από τις 2n δυνατές γραμμές εξόδου ανάλογα με τις

τιμές των n γραμμών επιλογής.

Page 239: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα αποπλεξίας

Page 240: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Αποκωδικοποιητής/Αποπλέκτης Επέκταση αποκωδικοποιητή με χρήση

πολλών αποπλεκτών

2 αποπλέκτες 3 σε 8 δίνουν

1 αποκωδικοποιητή 4 σε 16

Page 241: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Υλοποίηση Συνάρτησης με Αποκωδικοποιητή

Αφού ο αποκωδικοποιητής παράγει τους 2n ελαχιστόρους μπορεί να χρησιμοποιηθεί για να υλοποιήσει οποιαδήποτε συνάρτηση.

Κάθε συνδυαστικό κύκλωμα με n εισόδους και m εξόδους μπορεί να υλοποιηθεί με έναν αποκωδικοποιητή n-σε-2n γραμμών και m πύλες H.

Εάν ο αριθμός των ελαχιστόρων μιας συνάρτησης είναι μεγαλύτερος από 2n/2, τότε μπορούμε να χρησιμοποιήσουμε μία πύλη ΟΥΤΕ για να αθροίσουμε τους ελαχιστόρους της F΄. Η έξοδος της πύλης ΟΥΤΕ δίνει τη συνάρτηση F.

Page 242: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα Υλοποίηση πλήρους αθροιστή με αποκωδικοποιητή.

S(x,y,z) = Σ(1,2,4,7) C(x,y,z) = Σ(3,5,6,7)

Page 243: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κωδικοποιητής (Encoder)

Ο Κωδικοποιητής εκτελεί την αντίστροφη λειτουργία από τον Αποκωδικοποιητή: Έχει 2n γραμμές εισόδου και n γραμμές εξόδου και δίνει

στην έξοδο τον δυαδικό κώδικα που αντιστοιχεί στις γραμμές εισόδου.

Προβλήματα:

Όταν περισσότερες της μίας είσοδοι είναι 1 τότε η έξοδος είναι απροσδιόριστη. (Λύση: προτεραιότητα)

Όταν όλες οι είσοδοι είναι 0 τότε η έξοδος είναι 0 που δεν είναι σωστό αφού η D0≠1. (Λύση: διάκριση της κατάστασης)

Page 244: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κωδικοποιητής από Οκτώ σε 3 δυαδικά ψηφία

Page 245: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κωδικοποιητής Προτεραιότητας

Ο κωδικοποιητής προτεραιότητας είναι ένα κύκλωμα κωδικοποιητή που περιλαμβάνει συνάρτηση προτεραιότητας.

Παράδειγμα: Κωδικοποιητής προτεραιότητας 4 εισόδων

Page 246: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Κωδικοποιητής Προτεραιότητας 4 Εισόδων x = D2+D3 y = D3+D1D2΄ V = D0+D1+D2+D3

Λύνει το πρόβλημα της επιλογής όταν περισσότερες της μίας εισόδων είναι 1 επιλέγοντας αυτή με τη μεγαλύτερη προτεραιότητα.

Page 247: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πολυπλέκτης (Multiplexer)

Ο πολυπλέκτης είναι ένα συνδυαστικό κύκλωμα που επιλέγει δυαδικές πληροφορίες ανάμεσα σε πολλές γραμμές εισόδου και τις κατευθύνει σε μία γραμμή εξόδου.

Η επιλογή της μιας συγκεκριμένης γραμμής εισόδου γίνεται μέσω μερικών γραμμών επιλογής.

Ένας πολυπλέκτης 2n-σε-1 γραμμή κατασκευάζεται από έναν αποκωδικοποιητή n-σε-2n προσθέτοντας σε αυτόν 2n εισόδους μια για κάθε πύλη ΚΑΙ. Οι έξοδοι των πυλών ΚΑΙ εφαρμόζονται σε μια μοναδική πύλη Η για να δώσουν τη μία γραμμή εξόδου.

Page 248: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

ΠΟΛΥΠΛΕΚΤΗΣ 2 ΓΡΑΜΜΩΝ ΣΕ 1 (2-to-1 MUX)

Xαρακτηριστική εξίσωση :

Χ = ~Α & Χ0 + Α & Χ1

Page 249: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα

Πολυπλέκτης 4-σε-1

module mux4_2_1(Ι, S, Y); input [3:0] I; input [1:0] S; output Y; assign Y = (&S) ? I[3] : ~(|S) ? I[0] : S[1] ? I[2] : I[1]; endmodule

Page 250: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ © 2004

ΠΟΛΥΠΛΕΚΤΗΣ 4 ΓΡΑΜΜΩΝ ΣΕ 1 (4-to-1 MUX)

Page 251: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ © 2004

ΠΟΛΥΠΛΕΚΤΗΣ 4 ΓΡΑΜΜΩΝ ΣΕ 1 (4-to-1 MUX)

Page 252: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Πολυπλέκτες με Κοινή Είσοδο Επίτρεψης

Η είσοδος Επίτρεψης (Ε) τοποθετείται για λόγους επέκτασης.

Page 253: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Υλοποίηση Συνάρτησης με Πολυπλέκτη

Κάθε πολυπλέκτης 2n σε 1 μπορεί να υλοποιήσει οποιαδήποτε συνάρτηση n+1 μεταβλητών ως εξής:

1. Βάζουμε τις n μεταβλητές στις εισόδους επιλογής.

2. Χρησιμοποιούμε την τελευταία μεταβλητή για τις εισόδους.

Page 254: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα F(x,y,z) = Σ(1,2,6,7)

Page 255: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

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

Αλγόριθμος υλοποίησης συνάρτησης n μεταβλητών με χρήση πολυπλέκτη:

1. Χρησιμοποιούμε πολυπλέκτη 2n-1-σε-1 με n-1 γραμμές επιλογής.

1. Δημιουργούμε τον πίνακα αλήθειας της συνάρτησης.

2. Συνδέουμε τις n - 1 περισσότερο σημαντικές μεταβλητές στις γραμμές επιλογής και κρατάμε τη δεξιότερη (λιγότερο σημαντική).

3. Για κάθε συνδυασμό των μεταβλητών των γραμμών επιλογής, εκφράζουμε την έξοδο ως συνάρτηση της τελευταίας μεταβλητής.

Page 256: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Παράδειγμα F(A,B,C,D) = Σ(1,3,4,11,12,13,14,15)

Page 257: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Τα φαντάσματα του παρελθόντος Θεωρήματα γενικευμένου αριθμού μεταβλητών

• Μπλα • Μπλα μπλα • ...

• F(Χ1, Χ2, ... , Χn)=X1 • F( 1, Χ2, ... , Χn) + X1' • F( 0, Χ2, ... , Χn) • F(Χ1, Χ2, ... , Χn)=[X1 + F( 0, Χ2, ... , Χn) • [X1' + F( 1, Χ2, ... , Χn)] (Θεωρήματα Shannon)

• Παράδειγμα : Δίδεται η F(X, W, Z) = X + W • Z. • Tότε F(0, W, Z ) = W • Z και F(1, W, Z) = 1. • Aρα F = X • 1 + X' • W • Z καθώς και F = (X + W • Z) • (X' + 1)

Page 258: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Στοιχεία τριών καταστάσεων • Ο Α και ο Β θέλουν να διαμοιραστούν την ίδια αρτηρία. Ο Α και ο

Β απαγορεύεται να οδηγήσουν μαζί την αρτηρία. Πως μπορώ να αποκλείσω αυτή τη πιθανότητα ?

• Με ένα πολυπλέκτη επιτρέπω είτε στον Α είτε στο Β να οδηγούν την αρτηρία !

• Καλή λύση, αν εκ των προτέρων ξέρω πόσοι και ποιοι θα διαμοιράζονται την αρτηρία !

• Ξέρει ο κατασκευαστής του PC σας πόσους δίσκους θα βάλετε ? Πόσα περιφερειακά θα προσθέσετε στην αρτηρία USB ?

• Tα στοιχεία τριών καταστάσεων μας επιτρέπουν να προσθέτουμε συσκευές κυρίους σε μια αρτηρία, προσφέροντάς μας τη δυνατότητα να αποκόπτουμε τη συσκευή μας από την αρτηρία στους χρονικούς κύκλους που δε της επιτρέπεται να οδηγήσει την αρτηρία.

Page 259: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Στοιχεία τριών καταστάσεων

In En Out

0 0 Z 1 0 Z 0 1 0 1 1 1

Page 260: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Στοιχεία τριών καταστάσεων

assign out = control ? in : 1'bz;

Page 261: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Διαβάζοντας ένα Data Book (ΤΤL)

• Ενα Data Book είναι ο τηλεφωνικός κατάλογος των πυλών και των MSI που μας προσφέρει κάποιος κατασκευαστής.

• Στο εργαστηριακό σας μάθημα θα χρησιμοποιήσετε τη τεχνολογία TTL (Transistor – Transistor - Logic), στην οποία κυκλώματα κατασκευάζουν διάφοροι γνωστοί (Philips, Texas Instruments, Μοtorola, …) και άγνωστοι σε σας κατασκευαστές (RS, National, Οn, …)

• Καθένας εκδίδει το δικό του κατάλογο • Για να μπορεί ο σχεδιαστής να επιλέγει το κατάλληλο ολοκληρωμένο,

υπάρχουν κάποια ελάχιστα που πρέπει κάθε κατασκευαστής να τηρεί : • Κωδικός : Κάθε 7400 είναι ολοκληρωμένο πυλών ΝΑΝD. • Ακροδέκτες : Κάθε 7400 έχει 14 ποδαράκια (4 πύλες x 3 ποδαράκια

έκαστη + τροφοδοσία + γή) • Τοποθέτηση ακροδεκτών: Οι είσοδοι και οι έξοδοι ακολουθούν ένα

στάνταρ σχέδιο • Προδιαγραφές : Ανάλογα με την υποοικογένεια ορίζoνται και οι ελάχιστες

προδιαγρααφές, π.χ. κάθε ΝΑΝD σε 74LS00, εκτελεί τη λογική πράξη σε μέγιστο χρόνο 20ns.

Page 262: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Διαβάζοντας ένα Data Book (ΤΤL) – H μεριά του σχεδιαστή

• Ας υποθέσουμε ότι ο σχεδιαστής ψάχνει για συγκριτές • Στην αρχή ενός Data Βοοk υπάρχουν τύποι κυκλωμάτων. Ανάμεσά τους

θα βρεί :

• Στη σελίδα του 7485 θα ενημερωθεί επακριβώς για το πως είναι αυτό φτιαγμένο :

Page 263: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το 7485 (1 /4)

Page 264: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το 7485 (2 /4)

Page 265: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το 7485 (3 /4)

Page 266: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

Το 7485 (4 /4)

Page 267: ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ 1 - Professorpc-vlsi18.ceid.upatras.gr/files/slides_ld1.pdf · Δυαδικό σήμα : κβάντιση με 2 στάθμες • Ανά πάσα στιγμή

ΚΑΛΑ ΧΡΙΣΤΟΥΓΕΝΝΑ

ΕΥΤΥΧΙΣΜΕΝΟ ΤΟ 2015 !!!