ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Περίληψη Διαδικασίας Σχεδίασης q Προδιαγραφές Προβλήµατος q Εισόδοι/Εξόδοι Τύπος και Κωδικοποίηση Πληροφορίας που εισάγεται ή εξάγεται από το κύκλωµα. q Πίνακας Αληθείας Για ΚΑΘΕ πιθανό συνδυασµό τιµών εισόδων, Η ΚΑΘΕ ΠΙΘΑΝΗ τιµή σε ΚΑΘΕ έξοδο. q Εξισώσεις: Για ΚΑΘΕ έξοδο, παράγουµε την λογική εξίσωση που αποτυπώνει τους συνδυασµούς ΟΛΩΝ των εισόδων σε µορφή SoP ή PoS. ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.2 Θεοχαρίδης, ΗΜΥ, 2016
Περίληψη Διαδικασίας Σχεδίασης (Συν.) q Απλοποίηση: Μέσω µεθόδων Boolean algebra,κ-χάρτες, και άλλες µεθόδους, προχωράµε στην ΑΠΛΟΠΟΙΗΣΗ των εξισώσεων. q Αντιστοίχιση Πυλών: Μέσω των απλοποιηµένων εξισώσεων αντιστοιχούµε τους συνδυασµούς µε ΛΟΓΙΚΕΣ ΠΥΛΕΣ. Κατά προτίµηση οικουµενικές πύλες (NAND, NOR, NOT) αλλά και µε AND, OR, NOT, XOR. q Αντιστοίχιση σε τρανζίστορ:για κάθε πύλη υλοποίηση µε CMOS (ή άλλες καινοτόµες τεχνολογίες κυκλωµάτων) q ΕΠΑΛΗΘΕΥΣΗ! ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.3 Θεοχαρίδης, ΗΜΥ, 2016
Συνδιαστικά vs. Ακολουθιακά Κυκλώµατα q Τα Συνδιαστικά Κυκλώµατα υπολογίζουν την εκάστοτε τιµή στην κάθε έξοδο µέσα από ένα συνδυασµό λογικών πυλών. Κάθε αλλαγή στην είσοδο επανα-υπολιγίζει την τιµή εξόδου (ΑΛΛΑΖΟΝΤΑΣ ΟΣΕΣ ΤΙΜΕΣ ΕΠΗΡΕΑΖΟΝΤΑΙ ΑΠΟ ΤΗΝ ΑΛΛΑΓΗ, ΕΙΤΕ ΕΣΩΤΕΡΙΚΩΝ ΣΗΜΑΤΩΝ, ΕΙΤΕ ΕΞΟΔΩΝ). q Τα Ακολουθιακά Κυκλώµατα βασίζονται σε στοιχεία µνήµης, για να υλοποιήσουν µια ακολουθία συνδυασµών *συνδιαστικών κυκλωµάτων δηλαδή* q Ένα σύστηµα χρειάζεται και τα δυό το συνδιαστικό για υλοποίηση ενός συνδιασµού δεδοµένων για ένα αποτέλεσµα σε συγκεκριµένο χρόνο, και το ακολουθιακό για τον έλεγχο, συντονισµό και σύνολο αποτελεσµάτων στον συνολικό χρόνο λειτουργίας. ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.4 Θεοχαρίδης, ΗΜΥ, 2016
Παράδειγµα q Πρόσθεση 2 αριθµών για να παράξουµε το άρθροισµα: A B + Sum q Τι αποφασίζουµε? 2 εισόδους Πράξη Πρόσθεσης! A & B τύπος-?? Δυαδικός αριθµός, 16 bits το κάθε ένα, unsigned Αρχιτεκτονική-?? αρθροιστής ριπής? carry lookahead? Τεχνολογία (CMOS?) ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.5 Θεοχαρίδης, ΗΜΥ, 2016
Διαδικασία Σχεδίασης Ακολουθιακών Κυκλωµάτων µε διάγραµµα καταστάσεων q (1) Εισόδοι/Εξόδοι q (2) Πιθανές καταστάσεις (ΟΛΕΣ!) Ελαχιστοποίηση q (3) Κωδικοποίηση καταστάσεων σε δυαδική µορφή Ανάθεση κώδικα σε κατάσταση (ονοµατοδοσία π.χ.) Κωδικοποίηση Εξόδου(ων) Κωδικωποίηση Εισόδου(ών) αν µπορούµε. q (4) Εύρεση λογικών εξισώσεων για υλοποίηση καταστάσεων σε πύλες και µνήµη! Συνδιαστικό Κύκλωµα Τα βήµατα (2) και (3) προσθέτουν σηµαντικές παραµέτρους στην συνολική εικόνα! ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.6 Θεοχαρίδης, ΗΜΥ, 2016
Σύστηµα Φαναριών Δρόµου! ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.7 Θεοχαρίδης, ΗΜΥ, 2016
A Traffic Light Intersection of two one-way roads ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.8 Θεοχαρίδης, ΗΜΥ, 2016
A Traffic Light Intersection of two one-way roads A Car Sensors B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.9 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Πώς σχεδιάζουµε τοtraffic Light? Πρώτα πρώτα, θα τυποποιήσουµε ΟΛΑ ΤΑ ΠΙΘΑΝΑ States του traffic light. ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.10 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Intersection of two one-way roads A Car Sensors B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.11 Θεοχαρίδης, ΗΜΥ, 2016
Light A Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.12 Θεοχαρίδης, ΗΜΥ, 2016
Possible States Light A Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.13 Θεοχαρίδης, ΗΜΥ, 2016
Possible States Light A Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.14 Θεοχαρίδης, ΗΜΥ, 2016
Possible States Light A Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.15 Θεοχαρίδης, ΗΜΥ, 2016
Possible States Light A Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.16 Θεοχαρίδης, ΗΜΥ, 2016
Στην πραγµατικότητα, µόνο 4 πιθανά σενάρια υπάρχουν! Light A Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.17 Θεοχαρίδης, ΗΜΥ, 2016
Πώς θα συµπεριφέρεται το Traffic Light? Light A A B Light B Car Sensors ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.18 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Light A IF A=1 AND B=0 Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.19 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 AND B=0 Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.20 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 AND B=0 Always Light B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.21 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 AND B=0 Always IF A=0 AND B=1 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.22 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A Always IF A=1 AND B=0 Always IF A=0 AND B=1 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.23 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A Always IF A=1 AND B=0 Always IF A=0 AND B=1 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.24 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light State Machine Otherwise Light A Always IF A=1 AND B=0 Always IF A=0 AND B=1 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.25 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Αφού βρήκαµε την λογική συµπεριφορά του Traffic Light µε βάση ένα State Machine: Γνωρίζουµε τα states. Για κάθε state, για οποιαδήποτε τιµή εισόδου, γνωρίζουµε σε ποιό state θα πάµε! Πώς το φτιάχνουµε!? ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.26 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Επανάληψη: Το σύστηµα µας χρειάζεται να: Θυµάται σε ποιο state είναι (Memory) Με βάση το ΠΑΡΩΝ state και τις τιµές εισόδου, πρέπει να µπορεί να µεταβαίνει στο επόµενο στάδιο! Αυτό Μόνο!!! ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.27 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Πρόβληµα 1: Remember which state it is in (Memory) Πώς αντιπρωσοπεύουµε τα states? Απάντηση: ΑΡΙΘΜΗΣΗ! (µέσω binary numbers). Έχουµε 4 states. Ας τα ονοµάσουµε 00, 01, 10, 11. Εµείς φυσικά (human designers) πρέπει να γνωρίζουµε τί ακριβώς σηµαίνει το κάθε ένα! ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.28 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light States Otherwise Light A Always IF A=1 AND B=0 Always IF A=0 AND B=1 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.29 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light States Otherwise Light A IF A=1 00 01 AND B=0 Always Always 11 IF A=0 AND B=1 10 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.30 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Πρόβληµα 2: Με βάση την παρούσα κατάσταση και τις τιµές εισόδου, πρέπει να γνωρίζουµε την επόµενη κατάσταση, και να µετεβένουµε εκεί αµέσως µετά! Απάντηση: ΠΙΝΑΚΑΣ ΑΛΗΘΕΙΑΣ ΚΑΙ ΠΙΝΑΚΑΣ ΚΑΤΑΣΤΑΣΕΩΝ! ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.31 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Build A Truth Table for next state / Output M 1 M 2 A B D 1 D 2 Light A Red Light B Red ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.32 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 00 01 AND B=0 Always Always 11 IF A=0 AND B=1 10 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.33 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Build A Truth Table for next state / Output M 1 M 2 A B D 1 D 2 Light A Red Light B Red 0 0 1 0 0 1 1 0 ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.34 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 00 01 AND B=0 Always Always 11 IF A=0 AND B=1 10 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.35 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Build A Truth Table for next state / Output M 1 M 2 A B D 1 D 2 Light A Red Light B Red 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.36 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 00 01 AND B=0 Always Always 11 IF A=0 AND B=1 10 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.37 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Build A Truth Table for next state / Output M 1 M 2 A B D 1 D 2 Light A Red Light B Red 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 1 0 0 1 1 1 0 1 ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.38 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 00 01 AND B=0 Always Always 11 IF A=0 AND B=1 10 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.39 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Build A Truth Table for next state / Output M 1 M 2 A B D 1 D 2 Light A Red Light B Red 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 1 0 0 1 1 1 0 1 1 1 * * 0 0 0 1 ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.40 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Otherwise Light A IF A=1 00 01 AND B=0 Always Always 11 IF A=0 AND B=1 10 Light B Otherwise ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.41 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Behavior Build A Truth Table for next state / Output M 1 M 2 A B D 1 D 2 Light A Red Light B Red 0 0 1 0 0 1 1 0 0 1 * * 1 0 1 0 1 0 0 1 1 1 0 1 1 1 * * 0 0 0 1 0 0 0 0 0 0 1 0 ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.42 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Input: Sensor A Input: Sensor B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.43 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Write D 1 D 2 Current State 2-bit Memory Register M 1 M 2 Sensor A Sensor B ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.44 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Write Sensor A Sensor B Current State 2-bit Memory Register Logic For Next State & Output Next State 6 Outputs: for each Light ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.45 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Write Sensor A Sensor B Current State 2-bit Memory Register Logic For Next State & Output 6 Outputs: for each Light ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.46 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Design Clock Sensor A Sensor B Current State 2-bit Memory Register Logic For Next State & Output 6 Outputs: for each Light ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.47 Θεοχαρίδης, ΗΜΥ, 2016
Traffic Light Controller as Two Communicating FSMs q Ξεχωριστό state machine για χρονολόγηση TS' S1a S1 TS/ST S1b S1c /ST traffic light controller ST timer TS TL ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.48 Θεοχαρίδης, ΗΜΥ, 2016
Επικοινωνία µεταξύ µηχανών καταστάσεων q One machine's output is another machine's input X FSM 1 FSM 2 Y CLK FSM1 X A A B Y==0 A [1] B [0] Y==1 Y==0 X==0 X==1 C [0] D [1] X==1 X==0 X==0 FSM2 Y C D D machines advance in lock step initial inputs/outputs: X = 0, Y = 0 ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.49 Θεοχαρίδης, ΗΜΥ, 2016
ΠΑΡΑΔΕΙΓΜΑ: Datapath and Control q Digital hardware systems = data-path + control Datapath: registers, counters, combinational functional units (e.g., ALU), communication (e.g., busses) Control: FSM generating sequences of control signals that instructs datapath what to do next control "puppeteer who pulls the strings" status info and inputs state control signal outputs data-path "puppet" ΗΜΥ210 Δ18 Επανάλειψη Διαδικασίας Σχεδίασης.50 Θεοχαρίδης, ΗΜΥ, 2016