ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr Αντίρριο 2017 1
ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή Προδιαγραφές Σχεδιασμός 2
ΜΗΧΑΝΕΣ ΠΕΠΕΡΑΣΜΕΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ Χρησιμοποιεί καταχωρητές (Flip-Flops ή latches) για να αποθηκεύει τις καταστάσεις (states) της μηχανής Υπολογίζει την έξοδο της μηχανής που εξαρτάται από τις εισόδους και τις καταστάσεις της μηχανής Δύο είναι οι βασικές μηχανές καταστάσεων Η Mealy όπου οι έξοδοι είναι συνάρτηση της παρούσας κατάστασης και των εισόδων Η Moore όπου οι έξοδοι εξαρτώνται μόνο από τη παρούσα κατάσταση 3
ΣΧΕΔΙΑΓΡΑΜΜΑ ΜΗΧΑΝΗΣ ΠΕΠΕΡΑΣΜΕΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ 4
ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΠΡΟΔΙΑΓΡΑΦΕΣ Ως προς την απόδοση Η περίοδος του ρολογιού προσδιορίζεται από τη καθυστέρηση της συνδυαστικής λογικής Επιφάνεια (εμβαδόν κυκλώματος) Συνήθως η επιφάνεια του συνδυαστικού κυκλώματος καθορίζει τη συνολική επιφάνεια της μηχανής καταστάσεων Κατανάλωση ενέργειας Συνήθως προσδιορίζεται από τη συνδυαστική λογική 5
ΜΟΝΤΕΛΑ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ Register-transfer: Περιγράφει τη συμπεριφορά της με συνδυαστικές εξισώσεις από τις κύριες εισόδους έως τις εισόδους των καταχωρητών State transition graph/table: Περιγράφει τη συμπεριφορά της μέσω των καταστάσεων και των εξόδων 6
REGISTER-TRANSFER ΜΟΝΤΕΛΟ Οι καταχωρητές παίρνουν τις τιμές τους από το συνδυαστικό κύκλωμα D Q D Q D Q Combinational logic D Q D Q D Q 7
STATE TRANSITION ΜΟΝΤΕΛΟ Κάθε μεταβολή περιγράφει μέρος της επόμενης κατάστασης και μέρος της εξόδου 0/010 S2 S1 1/100 S3 8
BLOCK ΔΙΑΓΡΑΜΜΑ Υπάρχει δυνατότητα σύνδεσης πολλών RT μηχανών για να φτιαχτεί μια μεγαλύτερη A B1 B2 9
ΣΥΜΒΟΛΙΚΕΣ ΤΙΜΕΣ Η περιγραφή της λειτουργίας μιας μηχανής μπορεί να γίνει με χρήση συμβολικών τιμών (a,b, γ,δ) αντί για δυαδικές τιμές Οι συμβολικές τιμές πρέπει να κωδικοποιηθούν κατά τη διάρκεια της υλοποίησης 10
STATE TRANSITION GRAPH vs. REGISTER TRANSFER Κάθε αναπαράσταση είναι καταλληλότερη για μερικές εφαρμογές (κάποιες μηχανές) Παράδειγμα: counter 11
COUNTER STATE TRANSITION GRAPH Κυκλική δομή 1/1 1/2 1/7 0 1 6 7 1/0 12
COUNTER REGISTER TRANSFER Περιγράφεται με πρόσθεση Next_count = count + 1 13
ΠΑΡΑΔΕΙΓΜΑ 2 ο : ΜΗΧΑΝΗ ΑΝΑΓΝΩΡΙΣΗΣ ΤΗΣ ΣΕΙΡΑΣ 01 Αναγνωρίζει τη σειρά των 01 σε μια σειριακή είσοδο recognizer 0 0 1 1 0 1 0 0 1 0 0 1 14
STATE TRANSITION GRAPH 1/0 0/0 0/0 Bit 1 Bit 2 1/1 15
MEALY vs. MOORE MHXANH Moore μηχανή Η έξοδος είναι συνάρτηση της παρούσας κατάστασης Mealy μηχανή Η έξοδος είναι συνάρτηση της παρούσας κατάστασης και των κύριων εισόδων 16
ΟΡΙΣΜΟΣ ΜΗΧΑΝΩΝ ΠΕΠΕΡΑΣΜΕΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ Οι μηχανές πεπερασμένων καταστάσεων υπολογίζουν την επόμενη κατάσταση N, τις κύριες εξόδους O από τη παρούσα κατάσταση S και τις κύριες εισόδους I Επόμενη κατάσταση N = δ(i,s) Έξοδοι (Mealy) O = λ(i,s). 17
ΔΙΚΤΥΑ ΜΗΧΑΝΩΝ I1 x I2 O1 M1 y M2 O2 Internal connections External connections 18
ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΚΑΤΑΣΤΑΣΗΣ Ο προσδιορισμός κατάστασης είναι το βήμα που έχει μεγαλύτερη σχέση με τη μηχανή κατάστασης Σκοπός είναι να βρεθεί μια δυαδική αναπαράσταση της συμβολικής τιμής Ο προσδιορισμός αυτός παίζει σημαντικό ρόλο τόσο στο εμβαδόν του κυκλώματος όσο και στην απόδοση 19
ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΤΗΣ ΚΑΤΑΣΤΑΣΗΣ Η κάθε κατάσταση επηρεάζει τη λογική κυκλώματος προσδιορισμού της επόμενης κατάστασης καθώς και τη λογική κυκλώματος των εξόδων Υπολογίζονται οι συνθήκες της λειτουργίας της μηχανής βασιζόμενες στη κάθε κατάσταση Το βέλτιστο κύκλωμα εξαρτάται από τη λογική κυκλώματος των εισόδων, τη λογική κυκλώματος των εξόδων και την αλληλεπίδρασή τους με τη λογική υπολογισμού της κατάστασης 20
ΣΥΓΧΡΟΝΗ ΣΧΕΔΙΑΣΗ Όλες οι λειτουργίες του κυκλώματος ελέγχονται από ένα ρολόι Όλοι οι χρονισμοί είναι σχετικοί με το ρολόι Αυτό δεν είναι το ίδιο σα να βελτιστοποιείται το κύκλωμα ως προς την απόδοση Πρέπει να γίνεται μεγάλη προσπάθεια για τον σωστό σχεδιασμό του κυκλώματος ώστε να μην υπάρχει αρνητικό αντίκτυπο στην ρυθμοαπόδοση του συνδυαστικού κυκλώματος 21
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΚΑΤΑΧΩΡΗΤΩΝ Το ρολόι χρησιμοποιείται για τη πυροδότηση των καταχωρητών Η χρονική συμπεριφορά των δεδομένων εισόδου σε σχέση με τη στιγμή πυροδότησης έχει αντίκτυπο στη τιμή που αποθηκεύετε Πότε η αποθηκευμένη τιμή εμφανίζεται στην έξοδο του καταχωρητή? Κατά πόσον υφίσταται ένα συνδυαστικό κύκλωμα (μονοπάτι) μεταξύ της εισόδου και της εξόδου? 22
ΤΥΠΟΙ ΚΑΤΑΧΩΡΗΤΩΝ Latch: Η πιθανή αλλαγή της εισόδου μεταφέρεται απευθείας στην έξοδο Flip-flop: Η ανάγνωση της εισόδου και η μεταφορά της στην έξοδο είναι δύο διαφορετικά γεγονότα (γίνεται σε δύο φάσεις) 23
ΡΟΛΟΙ (ΠΕΡΙΣΤΑΤΙΚΑ) Ένα περιστατικό ρολογιού εννοείται η αλλαγή του σήματος του ρολογιού Δύο αλλαγές 0-1 μετάβαση ή 1-0 μετάβαση Ελέγχει τη λειτουργία των καταχωρητών Τα δεδομένα εισόδου πρέπει να έχουν σταθερή τιμή τη στιγμή του γεγονότος (μετάβαση) 24
SETUP ΚΑΙ HOLD ΧΡΟΝΟΙ Χρόνος αποκατάστασης (setup time): Ο χρόνος που απαιτείται ώστε τα δεδομένα εισόδου (D) να είναι έγκυρα πριν τη μετάβαση του ρολογιού Χρόνος συγκράτησης (hold time): Ο χρόνος που πρέπει να παραμείνουν έγκυρα τα δεδομένα εισόδου μετά την ακμή του ρολογιού Καθυστέρηση διάδοσης : Ο χρόνος που απαιτείται ώστε τα δεδομένα να αντιγραφούν στην έξοδο Q setup event clock hold D changing stable time 25
ΚΥΚΛΟΣ ΡΟΛΟΓΙΟΥ Ονομάζεται το ποσοστό κατά το οποίο το σήμα του ρολογιού έχει τιμή ίση με το λογικό 1 50% 26
Απορίες???? 27