ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΧΕ ΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΨΗΦΙΑΚΟΥ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΚΥΚΛΩΜΑΤΟΣ ΓΙΑ ΤΟΝ ΕΛΕΓΧΟ ΑΝΤΛΙΑΣ ΕΛΕΓΧΟΥ ΦΑΡΜΑΚΟΥ Επιβλέπων Καθηγητής Α. ΜΠΙΡΜΠΑΣ ΠΑΣΑΚΑΛΙ ΗΣ ΗΜΗΤΡΙΟΣ-ΕΜΜΑΝΟΥΗΛ

2 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ... 3 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΓΛΩΣΣΕΣ ΠΕΡΙΓΡΑΦΗΣ ΚΥΚΛΩΜΑΤΩΝ Γλώσσες Περιγραφής Κυκλωµάτων Πλεονεκτήµατα Της VHDL... 5 ΚΕΦΑΛΑΙΟ 2 Η ΣΧΕ ΙΑΣΤΙΚΗ ΦΙΛΟΣΟΦΙΑ ΤΗΣ VHDL Μοντέλο Συµπεριφοράς Μοντέλο Χρόνου Μοντέλο οµής ΚΕΦΑΛΑΙΟ 3 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΕΝΤΟΛΕΣ ΤΗΣ VHDL Κεντρική Ιδέα Εντολές Της VHDL ΚΕΦΑΛΑΙΟ 4 ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ ΦΟΡΗΤΗΣ ΑΝΤΛΙΑΣ ΕΓΧΥΣΗΣ ΦΑΡΜΑΚΟΥ User Interface ΚΕΦΑΛΑΙΟ 5 ΓΕΝΙΚΗ Ι ΕΑ ΕΛΕΓΧΟΥ ΤΗΣ ΣΥΣΚΕΥΗΣ Data Control Error Control Mismatch Alarm Control

3 ΚΕΦΑΛΑΙΟ 6 ΠΕΡΙΓΡΑΦΗ ΤΗΣ DATA CONTROL ΚΕΦΑΛΑΙΟ Υλοποίηση Μετρητή Υλοποίηση Data_Control Component DataControl ΠΕΡΙΓΡΑΦΗ ΤΗΣ ERROR CONTROL Εξοµοίωση Hall Sensor Υλοποίηση Error_Control Component ErrorControl ΚΕΦΑΛΑΙΟ 8 ΠΕΡΙΓΡΑΦΗ ΤΗΣ MISMATCH ALARM CONTROL ΚΕΦΑΛΑΙΟ 9 ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΟΛΥΠΛΕΚΤΗ MUX ΚΕΦΑΛΑΙΟ 10 ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΜΟΝΑ ΑΣ ΠΑΡΑΡΤΗΜΑ Α ΠΑΡΑΡΤΗΜΑ Β ΒΙΒΛΙΟΓΡΑΦΙΑ

4 ΠΡΟΛΟΓΟΣ Η παρούσα διπλωµατική εργασία αφορά την σχεδίαση και υλοποίηση ψηφιακού ολοκληρωµένου κυκλώµατος για τον έλεγχο αντλίας έγχυσης φαρµάκου. Στην προσπάθεια που κατέβαλλα για την εκπόνηση της παρούσας εργασίας ευχαριστώ θερµά την Φρόσω Βασιλακοπούλου, για την ουσιαστική βοήθειά της ως µεταπτυχιακό, και τον καθηγητή κ. Αλέξη Μπίρµπα ως επιβλέπων ΠΑΤΡΑ 4

5 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΓΛΩΣΣΕΣ ΠΕΡΙΓΡΑΦΗΣ ΚΥΚΛΩΜΑΤΩΝ Όλο και περισσότερα εργαλεία σχεδιασµού CAD ( Computer Aided Design), αναπτύσσονται, προκειµένου να καλύψουν τις ανάγκες για πολυπλοκότερες και µεγαλύτερες σχεδιάσεις σε επίπεδο υλοποίησης. Η πιο πρόσφατη προσθήκη σ αυτήν τη µεθοδολογία σχεδιασµού είναι η εισαγωγή των HDL (Hardware Description Languages) γλωσσών. Παρά το ότι η όλη ιδέα δεν είναι νέα, η ευρέως διαδεδοµένη χρήση των σε σχεδιασµό ψηφιακών συστηµάτων, ξεκίνησε µόλις πριν µια δεκαετία. Βασισµένα στις HDL, νέα εργαλεία CAD για ψηφιακά συστήµατα, έχουν αναπτυχθεί και αξιοποιούνται από σχεδιαστές ψηφιακών συστηµάτων. Παράλληλα ερευνητές ψάχνουν νέους τρόπους µε τους οποίους οι HDL µπορούν να βελτιώσουν τη διαδικασία σχεδιασµού ενός ψηφιακού συστήµατος. Παρουσιάζεται κάτωθι µια σύντοµη αναφορά στις HDL γλώσσες και στα πλεονεκτήµατά τους έναντι του παραδοσιακού τρόπου σχεδιασµού. Επίσης αναφέρονται οι ουσιαστικοί λόγοι που καθιστούν τη VHDL ως την επικρατέστερη για την υλοποίηση ψηφιακών συστηµάτων. 1.1 ΓΛΩΣΣΕΣ ΠΕΡΙΓΡΑΦΗΣ ΚΥΚΛΩΜΑΤΩΝ Οι γλώσσες περιγραφής κυκλωµάτων (Hardware Description Language) χρησιµοποιούνται για την περιγραφή της αρχιτεκτονικής και του τρόπου λειτουργίας των διακριτών ηλεκτρονικών συστηµάτων. Οι γλώσσες αυτές αναπτύχθηκαν για να διευκολύνουν το σχεδιασµό των ολοένα πολυπλοκότερων κυκλωµάτων. Τα σηµαντικότερα πλεονεκτήµατα των HDL έναντι του παραδοσιακού τρόπου σχεδιασµού, σε επίπεδο πυλών ( gate level) είναι τα εξής : 5

6 Η περιγραφή ενός κυκλώµατος και του τρόπου λειτουργίας του µε χρήση HDL παρέχει επαρκή κειµενογραφία, ανεξάρτητη από τεχνολογία κατασκευής. Είναι περισσότερο ευανάγνωστη και κατανοητή από τη σχηµατική περιγραφή του κυκλώµατος, χωρίς να αποκλείεται η σχηµατική αναπαράσταση ως τµήµα της διαδικασίας σχεδιασµού µε HDL. Έτσι διευκολύνεται η συνεργασία µεταξύ των µελών των σχεδιαστικών οµάδων και η κατανόηση των ολοένα πολυπλοκότερων κυκλωµάτων. Η ανεξαρτησία της περιγραφής µε HDL από τεχνολογία κατασκευής, παρέχει τη δυνατότητα άµεσης επαναδηµιουργίας του κυκλώµατος σε διαφορετική τεχνολογία (π.χ. CMOS, CaAs) χωρίς την αλλαγή της περιγραφής σε HDL. Είναι δυνατή η εξοµοίωση του κυκλώµατος στο πρωταρχικό στάδιο του σχεδιασµού, όπου περιγράφεται µόνο ο τρόπος λειτουργίας του. Με τη δυνατότητα αυτή µπορούν να λαµβάνονται πρόωρα αποφάσεις για την επιλογή της κατάλληλης αρχιτεκτονικής. Η σύνθεση είναι η διαδικασία της αυτόµατης µετάφρασης του κώδικα περιγραφής µε HDL στο σχηµατικό διάγραµµα του επιπέδου πυλών της τεχνολογίας κατασκευής. Οι δυνατότητες βελτιστοποίησης δηµιουργούν κυκλώµατα, ισοδύναµα λειτουργικά, που πληρούν τους επιθυµητούς σχεδιαστικούς στόχους. Συµπερασµατικά, λοιπόν, ο σχεδιασµός µε HDL θεωρείται η αποτελεσµατικότερη µέθοδος σχεδιασµού των συνεχώς πολυπλοκότερων κυκλωµάτων. 1.2 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΗΣ VHDL Η VHDL (VHSIC Hardware Description Language) είναι µια γλώσσα περιγραφής της δοµής και της συµπεριφοράς των ψηφιακών κυκλωµάτων. Αναπτύχθηκε για να διευθετήσει έναν αριθµό προβληµάτων που επανεµφανιζόταν κατά το σχεδιασµό και τη συγγραφή ψηφιακών µοντέλων. Για παράδειγµα, µία τυπική εγγραφή κώδικα ενός συστήµατος θα µπορούσε να αποτελείται από δεκάδες χιλιάδες σελίδες. Αν πρέπει να γίνει αντικατάσταση ενός component (υποµονάδας) θα χρειαστεί µεγάλη προσπάθεια για τον επανασχεδιασµό του, µέσα από τις χιλιάδες γραµµές κώδικα. Μία καλή γλώσσα HDL λύνει αυτό το πρόβληµα γιατί αποτελείται από elements (µονάδες) που είναι ιεραρχικά δεµένες σε ένα µοναδικό µοντέλο. Μια και υπήρχαν ήδη πολλές HDL γλώσσες, υπήρξε η ανάγκη δηµιουργίας µιας γλώσσας που να αποτελεί standard στην αγορά. Οι υπάρχουσες γλώσσες ήταν σχεδιασµένες να τρέχουν σε συγκεκριµένους εξοµοιωτές. Η VHDL δεν απαιτεί συγκεκριµένο εξοµοιωτή και δεν επιβάλει standard µεθοδολογία σε ένα σχεδιασµό. Απλά επιτρέπει την ελευθερία και την δυνατότητα στο σχεδιαστή να χρησιµοποιήσει τη δικιά του µεθοδολογία ή τεχνολογία. Επίσης, η VHDL παρέχει τη δυνατότητα εισαγωγής νέων τεχνολογιών σε υπάρχων σχεδιασµούς. 6

7 Έτσι η VHDL προσφέρει σηµαντικά πλεονεκτήµατα έναντι των άλλων γλωσσών περιγραφής συστηµάτων (HDLs), που αναγράφονται συνοπτικά κάτωθι. Αποτελεί ΙΕΕE standard, µια και αναπτύχθηκε βάση κυβερνητικής συµµετοχής. Αναπτύχθηκε, ώστε να υποστηρίζει διαφορετικές µεθοδολογίες-τεχνολογίες σχεδιασµού. Έτσι παρέχει σχεδιαστική ελευθερία σε οργανισµούς που λειτουργούν µε διαφορετικούς τρόπους και συνεπώς έχουν διαφορετικές σχεδιαστικές απαιτήσεις. H VHDL είναι κατάλληλη για χρήση από προγράµµατα CAD/CAE, καθώς και για υλοποιήσεις που απαιτούν ASIC σχεδιασµό. Υποστηρίζει 3 είδη περιγραφής της αρχιτεκτονικής ενός ψηφιακού συστήµατος 1. Βehavioral (περιγραφή της συµπεριφοράς) 2. Structural (περιγραφή της δοµής) 3. Data flow (ροή δεδοµένων) Είναι δυνατή η περιγραφή της αρχιτεκτονικής, ενός συστήµατος, µε τη χρήση µιας ή και συνδυασµού περισσοτέρων από τις προαναφερόµενες µορφές περιγραφής. ιευκολύνεται, λοιπόν, η ανάπτυξη ενός σχεδιασµού, που απαιτεί τον απόλυτο προσδιορισµό λειτουργίας ενός συστήµατος. Επανασχεδιασµοί ή εναλλακτικές λύσεις, µπορούν να γίνουν µε την απλή αντικατάσταση του κώδικα VHDL στο επίπεδο περιγραφής της αρχιτεκτονικής. Αφού η VHDL αποτελεί standard, όπως αναφέρθηκε, τα αποτελέσµατα εξοµοίωσης ενός κώδικα θα είναι τα ίδια για διαφορετικά tool sets (προγράµµατα εξοµοίωσης). Μια και υπάρχουν διαφορετικές υλοποιήσεις για components, ένας σχεδιαστής µπορεί απλά να επιλέξει εκείνο που ικανοποιεί τις απαιτήσεις του συστήµατός του. Η VHDL µοντελοποιήθηκε έτσι ώστε η ανάπτυξη µεγάλων, και όχι µόνο, σχεδιασµών να αποτελείται από πολλά elements ιεραρχικά δοµηµένα. Packages (πακέτα), Components (υποµονάδες), Subprograms (υποπρογράµµατα) κ.λ.π, παρέχονται από τη γλώσσα, υποστηρίζοντας, έτσι, τον καταµερισµό του σχεδιασµού, τον πειραµατισµό µε διαφορετικά elements και, γενικότερα, την καλύτερη διαχείριση του σχεδιασµού. 7

8 ΚΕΦΑΛΑΙΟ 2 Η ΣΧΕ ΙΑΣΤΙΚΗ ΦΙΛΟΣΟΦΙΑ ΤΗΣ VHDL Η VHDL, όπως αναφέρθηκε παραπάνω, αποτελεί µια γλώσσα περιγραφής ψηφιακών συστηµάτων. εν κάνει υποθέσεις για την τεχνολογία του συστήµατος ή για τη µεθοδολογία που χρησιµοποιήθηκε για το σχεδιασµό του. Απεναντίας, η αφαιρετική φύση των ψηφιακών συστηµάτων χρησιµοποιείται σαν βάση για τη γλώσσα. Η αφαιρετικότητα περιλαµβάνει χαρακτηριστικά χρονισµού, δόµησης και συµπεριφοράς των ψηφιακών συστηµάτων. Αυτά τα χαρακτηριστικά αναµειγνύονται παρέχοντας ένα µεγάλο πλήθος επιλογών για την περιγραφή και το σχεδιασµό των ψηφιακών συστηµάτων. Είναι δυνατή, λοιπόν, η δηµιουργία µιας ενιαίας περιγραφής ψηφιακών συστηµάτων χρησιµοποιώντας τα πολλαπλά επίπεδα αφαιρετικότητας που µπορεί να παρέχει µια δυνατή και ευέλικτη γλώσσα, όπως η VHDL. Το βασικό µοντέλο στο οποίο βασίζεται η VHDL, αποτελείται από τρία αλληλοεξαρτώµενα µοντέλα : µοντέλο συµπεριφοράς, χρόνου και δοµής. Αυτά τα 3 µοντέλα ενοποιούνται σε µια ξεχωριστή γλώσσα, την VHDL. 2.1 ΜΟΝΤEΛΟ ΣΥΜΠΕΡΙΦΟΡAΣ Η περιγραφή της συµπεριφοράς µπορεί να θεωρηθεί ως η λειτουργική ερµηνεία ενός συγκεκριµένου συστήµατος. Περιγράφει τη λειτουργική σχέση που υπάρχει µεταξύ των εισόδων και των εξόδων του συστήµατος. Όλα τα µοντέλα έχουν δοµή και συµπεριφορά. Ωστόσο σε κάποια συστήµατα αυτοµατισµού δεν είναι δυνατή η χρήση του µοντέλου συµπεριφοράς. Στη VHDL είναι δυνατή η µείξη µοντέλων δοµής και συµπεριφοράς, δίνοντας έτσι την τελική επιλογή στην κρίση του σχεδιαστή. Μία ψηφιακή συσκευή αποτελεί ένα διακριτό σύστηµα. Μετασχηµατίζει διακριτές τιµές στην είσοδο σε διακριτές τιµές στην έξοδο. Οι οποιεσδήποτε πράξεις 8

9 που συµβαίνουν µέσα στο σύστηµα περνούν µέσω διαδικασιών ή άλλων πράξεων στην έξοδό του. Μία γραφική αναπαράσταση ενός εικονικού ψηφιακού συστήµατος εικονίζεται κάτωθι. Inputs ιακριτό Σύστηµα Outputs ΣΧΗΜΑ 2.1 Αναπαράσταση ενός διακριτού συστήµατος Στη VHDL οι εσωτερικές πράξεις που γίνονται στο ψηφιακό σύστηµα, αναφέρονται ως processes (διαδικασίες), ενώ η διαδροµή που πρέπει να ακολουθήσουν οι µετασχηµατισµένες είσοδοι ώστε να φτάσουν στην έξοδο καλούνται signals (σήµατα). Μία process µπορεί να θεωρηθεί ως ένα πρόγραµµα. Αποτελείται από statements (δηλώσεις) που µπορούν να καλέσουν ή όχι υποπρογράµµατα όπως συµβαίνει σε αντίστοιχες διαδικαστικές γλώσσες όπως η C ή η Pascal. Στη VHDL, οι processes θεωρείται ότι εκτελούνται ταυτόχρονα. Μπορούµε να πούµε δηλαδή, ότι ένα µοντέλο VHDL είναι µια σειρά από ανεξάρτητα προγράµµατα που τρέχουν παράλληλα. Για τη συνεργασία των παράλληλα εκτελούµενων διαδικασιών καθορίζεται ένας µηχανισµός που εξυπηρετεί αυτόν ακριβώς το σκοπό : το signal (σήµα). Συγκεκριµένα, τα σήµατα καθορίζουν ένα µονοπάτι για τη µετάβαση των δεδοµένων µεταξύ δύο διαδικασιών. Κάθε µονοπάτι είναι κατευθυνόµενο προς δύο κατευθύνσεις : η µία πλευρά δηµιουργεί µια τιµή και η άλλη τη λαµβάνει. Κάθε σήµα έχει συγκεκριµένα χαρακτηριστικά. Για παράδειγµα ένα σήµα πρέπει να έχει ένα καθορισµένο πεδίο τιµών. Αυτό το πεδίο ορισµού του σήµατος, καθορίζει τις τιµές δεδοµένων που µπορούν να περάσουν µέσα από το υποτιθέµενο µονοπάτι. Οι επικοινωνία µεταξύ των διαδικασιών πραγµατοποιείται µέσω αυτών των paths (µονοπατιών). Οι processes συνεχίζουν την εκτέλεσή τους µέχρι τη αναστολή των. Ωστόσο, µπορούν να επανενεργοποιηθούν. Πολλές σχεδιάσεις απαιτούν την επανενεργοποίηση των, µόνο αν συµβεί µια αλλαγή στην τιµή ενός σήµατος. Αυτή η δυνατότητα προσφέρεται από τη VHDL µέσω της sensitivity list. Μόλις αλλάξει η τιµή ενός σήµατος, σ αυτή τη λίστα, η process επανενεργοποιείται. Μία άλλη δυνατότητα αναστολής της εκτέλεσης µιας process είναι η εντολή wait. Μόλις εκτελεστεί µια wait εντολή, το σύστηµα καταγράφει τις συνθήκες επανενεργοποίησης της process και η process βρίσκεται σε κατάσταση αναµονής. Ως παράδειγµα των συνθηκών επανενεργοποίησης µιας process, ας θεωρήσουµε το ακόλουθο διακριτό σύστηµα. 9

10 In1 Out1 Out1 <= In1 xor In2 In2 ΣΧΗΜΑ 2.2 ιακριτό Σύστηµα µε Data Pathways και Process Αυτό το σύστηµα θα έπρεπε να αντιδρά µόνο σε αλλαγές των κάποιων εκ των εισόδων, ωστόσο και οι δύο είσοδοι µπορούν να θεωρηθούν ως σήµατα για µια λίστα ευαισθησίας(sensitivity list). Το διακριτό σύστηµα που χρησιµοποιήθηκε για τη µοντελοποίηση του ψηφιακού κυκλώµατος, περιέχει µια σχεδιαστική οντότητα (design entity). Μια σχεδιαστική οντότητα αποτελείται από δύο µέρη : τη δήλωση της οντότητας και δήλωση της αρχιτεκτονικής. Το interface καθορίζει τις εισόδους και εξόδους του κυκλώµατος και η αρχιτεκτονική ορίζει το διακριτό σύστηµα που χρησιµοποιήθηκε για τη µοντελοποίηση του κυκλώµατος. Σε πολλά διακριτά συστήµατα, είναι δυνατή η ανάλυση της συµπεριφοράς σε έναν αριθµό ξεχωριστών λειτουργιών. Για παράδειγµα το παραπάνω σύστηµα µπορεί να αναπαρασταθεί µε ένα ισοδύναµο διακριτό σύστηµα, όπως εικονίζεται κάτωθι. In1 Internal1 <= In1 and In2 Out1 Out1 <= not(internal1 or Internal2) In2 Internal2 <= not (In1) and not (In2) ΣΧΗΜΑ 2.3 Αναπαράσταση του ισοδύναµου διακριτού συστήµατος Το σύστηµα αυτό έχει τρεις λειτουργίες που είναι λειτουργικά ισοδύναµες µε τη µοναδική λειτουργία του προαναφερόµενου συστήµατος. 2.2 ΜΟΝΤΕΛΟ ΧΡΟΝΟΥ 10

11 Το µοντέλο αυτό βασίζεται στο µοντέλο διέγερσης - ανταπόκρισης (stimulusresponse). Για κάθε διέγερση σε µία ή περισσότερες εισόδους υπάρχει απόκριση του µοντέλου, το αποτέλεσµα της οποίας µεταβιβάζεται στην έξοδο. Η χρονική στιγµή στην οποία µπορεί να συµβεί µια διέγερση, αφορά προφανώς τον κύκλο εξοµοίωσης. Είναι, λοιπόν, απαραίτητος ο καθορισµός του χρόνου εξοµοίωσης που ορίζει ποια γεγονότα θα συµβούν µέσα σ ένα κύκλο εξοµοίωσης. Χωρίς αυτόν τον καθορισµό, ένα µοντέλο µπορεί να αποκριθεί διαφορετικά σε διαφορετικούς VHDL εξοµοιωτές. Η εκτέλεση µιας διεργασίας µπορεί να προκαλέσει κάποια επίδραση στα σήµατα που οδηγεί. Κατά το τέλος εξοµοίωσης της διεργασίας είναι δυνατή η ενεργοποίηση κάποιων άλλων σηµάτων που µε τη σειρά τους µπορούν να ενεργοποιήσουν µια άλλη διεργασία. Η VHDL έχει 2 στάδια µοντελοποίησης του χρόνου εξοµοίωσης, που καλούνται ως κύκλος εξοµοίωσης. Κατά τη διάρκεια του πρώτου κύκλου εξοµοίωσης, ένα ή περισσότερα σήµατα από τη λίστα ευαισθησίας της διεργασίας αποκτούν νέα τιµή. Κατά διάρκεια του δεύτερου κύκλου, οι αντίστοιχες διεργασίες ενεργοποιούνται έως ότου έρθουν σε κατάσταση αναµονής (π.χ. κατά την εκτέλεση µίας εντολής wait). O κύκλος ολοκληρώνεται όταν όλες οι διεργασίες αδρανοποιηθούν. Κατά την ολοκλήρωση του κύκλου εξοµοίωσης, αρχίζει ένας νέος κύκλος εξοµοίωσης και ακολουθούνται οι προαναφερόµενες διαδικασίες. Ο κύκλος εξοµοίωσης εικονίζεται στο ακόλουθο σχήµα. Εναρξη Εξοµοίωσης Ενηµέρωση Σηµάτων Εκτέλεση ιεργασίας Τέλος Εξοµοίωσης ΣΧΗΜΑ 2.4 Ο κύκλος εξοµοίωσης Το άνω µοντέλο υπονοεί ότι υπάρχει πάντα κάποια χρονική καθυστέρηση από την ενεργοποίηση µιας διαδικασίας έως ότου τα σήµατα που οδηγεί να αποκτήσουν µια νέα τιµή. Η καθυστέρηση µπορεί να οριστεί στις εντολές εκχώρησης τιµής σήµατος. Στην περίπτωση που δεν ορίζεται, θεωρείται η χρονική καθυστέρηση έως τον επόµενο κύκλο εξοµοίωσης. Είναι δυνατό να υπάρξουν πολλοί κύκλοι εξοµοίωσης στον ίδιο χρόνο εξοµοίωσης, όταν εκτελείται εκχώρηση τιµής σήµατος όπου δεν έχει 11

12 δηλωθεί χρονική καθυστέρηση. Έτσι, η αλλαγή σήµατος µπορεί να προκαλέσει την ενεργοποίηση µιας άλλης διεργασίας στον ίδιο χρόνο εξοµοίωσης. Αυτό µπορεί να προκαλέσει ένα νέο κύκλο εξοµοίωσης, όπως για παράδειγµα την αλλαγή τιµής ενός άλλου σήµατος. ηλώνεται έτσι ότι µηδενική χρονική καθυστέρηση στην επικοινωνία µεταξύ διεργασιών δεν είναι δυνατή, σε αντιστοιχία µε τη χρονική καθυστέρηση στην ενδοεπικοινωνία ενός κυκλώµατος στο επίπεδο του υλικού. Για την περιγραφή ενός ψηφιακού κυκλώµατος σε επίπεδο τρανζίστορ, επισηµαίνεται ότι η συµπεριφορά των τρανζίστορ καθορίζεται από τη µεταβολή της τάσης και δεν ακολουθεί το µοντέλο διέγερσης-ανταπόκρισης. Παρ όλα αυτά, στην VHDL θεωρείται έγκυρη η περιγραφή της δοµής των σχεδιαστικών οντοτήτων µε δήλωση τρανζίστορ ως υποµονάδες τους, ορίζοντας τις θύρες εξόδου ως linkage. H εξοµοίωση τέτοιων κυκλωµάτων υποστηρίζεται από λίγους εξοµοιωτές της VHDL µε ικανότητα αναγνώρισης της θύρας linkage ή από προγράµµατα εξοµοίωσης αναλογικών κυκλωµάτων µε δυνατότητα υποστήριξης κώδικα περιγραφής σε VHDL. 2.3 ΜΟΝΤΕΛΟ ΟΜΗΣ Όταν ένα µοντέλο ψηφιακού συστήµατος είναι πολύπλοκο, η αναπαράστασή του µε το αντίστοιχο διακριτό σύστηµα είναι δύσκολο να επιτευχθεί. Η διαίρεση του µοντέλου σε λειτουργικά σχετιζόµενα τµήµατα δίνει µια λύση σ αυτό το πρόβληµα. Αυτή η ανασύνθεση σε περισσότερα τµήµατα καλείται ως περιγραφή της δοµής του µοντέλου. Είναι η πιο συγκεκριµένη περιγραφή και αποτελεί την πληρέστερη εικόνα υλοποίησης του κυκλώµατος. Πολλά ψηφιακά συστήµατα αποτελούνται από υποµονάδες η κάθε µία εκ των οποίων επιτελεί έναν συγκεκριµένο σκοπό. Η κάθε µία υποµονάδα αποτελεί µόνη της ένα διακριτό σύστηµα. Ο συνδυασµός όλων αυτών των υποµονάδων µέσω καλωδίων αποτελεί το ψηφιακό σύστηµα. Ένα τέτοιο ψηφιακό σύστηµα αποτελεί µε τη σειρά του ένα διακριτό σύστηµα, ενσωµατώνοντας τις επιµέρους υποµονάδες που αποτελούν και αυτές διακριτά συστήµατα. Όταν ένα διακριτό σύστηµα περικλείει δύο υποσυστήµατα, στην ουσία δηµιουργεί συνδέσεις µεταξύ των ώστε το ένα να δηµιουργήσει δυνατότητες επικοινωνίας µεταξύ των δύο υποσυστηµάτων. Οι συνδέσεις αυτές καλούνται θύρες (ports) και έχουν κάποια συγκεκριµένα χαρακτηριστικά. Ο καθορισµός µίας θύρας αναπαριστά την δήλωση ενός σήµατος και κατά συνέπεια το διάδροµο επικοινωνίας. Για παράδειγµα ας θεωρήσουµε το κάτωθι εικονιζόµενο σύστηµα. 12

13 In1 In1 Out1 <= In1 and In2 Out1 Internal1 In2 In2 Out1 <= not (In1 or In2) Out1 Out1 In1 In1 In2 In2 Out2 <= not(in1) and not (In2) Out2 Internal2 ΣΧΗΜΑ 2.5 Υλοποίηση διακριτού συστήµατος µε υποµονάδες Το σύστηµα αυτό διαιρείται σε δύο υποµονάδες. Η πρώτη από αυτές, έχει δύο εισόδους δύο εξόδους και περικλείει δύο διεργασίες. Η δεύτερη έχει δύο εισόδους µία έξοδο και λαµβάνει χώρα σ αυτήν µία διεργασία. Το διακριτό ολικό σύστηµα δηµιουργεί τις κατάλληλες συνδέσεις µεταξύ των δύο υποσυστηµάτων. Σε µία άλλη υλοποίηση µπορεί να γίνει χρήση οποιασδήποτε υποµονάδας ή ακόµη και του συνολικού µας συστήµατος ως υποµονάδα. 13

14 ΚΕΦΑΛΑΙΟ 3 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΕΝΤΟΛΕΣ ΤΗΣ VHDL Σ αυτό το κεφάλαιο αναφέρουµε τον τρόπο οργάνωσης του κώδικα περιγραφής σε VHDL, τη στοιχειοθέτησή του, καθώς και τη σύνταξη κάποιων εντολών που χρησιµοποιήθηκαν στη υλοποίηση αυτής της διπλωµατικής. Το κεφάλαιο αυτό θα βοηθήσει στην κατανόηση των πρωταρχικών εννοιών της VHDL και θα εισάγει οµαλά τον αναγνώστη στην φιλοσοφία εκπόνησης αυτής της διπλωµατικής εργασίας. 3.1 ΚΕΝΤΡΙΚΗ Ι ΕΑ Η VHDL, όπως αναφέρθηκε, µοντελοποιεί το ψηφιακό κύκλωµα σαν ένα σύνολο από διεργασίες που επικοινωνούν µεταξύ τους µε σήµατα. Η δοµή αυτή εξυπηρετεί στη δηµιουργία ιεραρχίας σχεδιαστικών οντοτήτων. Η σχεδιαστική οντότητα αποτελεί αποτέλεσµα της αφαιρεσιµότητας που χρησιµοποιεί η γλώσσα για την περιγραφή ψηφιακών συστηµάτων. Μια σχεδιαστική οντότητα µπορεί να θεωρηθεί ως ένα µαύρο κουτί (black box) µε καθορισµένες εισόδους και εξόδους, όπως ακριβώς παραστάθηκε στο κεφάλαιο 2 το διακριτό µοντέλο. Οι σχεδιαστικές οντότητες αποτελούνται από δύο τµήµατα, το εξωτερικό τµήµα που περιλαµβάνει το όνοµά της και τις θύρες της, και το εσωτερικό τµήµα που αποτελεί την αρχιτεκτονική της - επεξηγεί δηλαδή τον αλγόριθµο λειτουργίας της. Για κάθε σχεδιαστική οντότητα είναι δυνατό να υπάρξουν πολλές αρχιτεκτονικές, όπως έχει ήδη αναφερθεί (µοντέλο δοµής, ροής δεδοµένων, συµπεριφοράς). Με τη δήλωση configuration είναι δυνατή η επιλογή µιας από τις υπάρχουσες αρχιτεκτονικές. Αυτή η δυνατότητα παρέχει στο σχεδιαστή την άνεση της επιλογής οποιασδήποτε αρχιτεκτονικής, που ικανοποιεί καλύτερα τους σχεδιαστικούς στόχους του. 14

15 Μέρος της ιεραρχίας αποτελούν τα packages (πακέτα). Σ αυτά περιέχονται στοιχεία που είναι κοινά σε µία ή περισσότερες σχεδιαστικές οντότητες. Μία σχεδιαστική οντότητα µπορεί να αποτελείται από επιµέρους υποµονάδες, κάθε µία εκ των οποίων µεταγλωττίζεται και αποθηκεύεται σε µία βιβλιοθήκη. Τα τέσσερα τµήµατα που µεταγλωττίζονται και αποτελούν την σχεδιαστική οντότητα είναι: entity, architecture, configuration, package. Σχεδιαστικές οντότητες Βιβλιοθήκη entity architecture configuration package Μεταγλωττιστής VHDL entity architecture configuration package ΣΧΗΜΑ 3.1 Μεταγλωττιστής VHDL Η εσωτερική διασύνδεση των σηµάτων της οντότητας περιγράφεται στην entity (οντότητα). Η συµπεριφορά του σχεδιασµού αποτελεί µέρος της architecture (αρχιτεκτονική). Στο τµήµα της configuration (συνδεσµολογίας) καθορίζεται η επιλογή της αρχιτεκτονικής που θα χρησιµοποιηθεί. Για ευκολία, χρησιµοποιείται η δήλωση πακέτου για να δηλώσει στοιχεία που είναι κοινά σε µία ή περισσότερες οντότητες. Οι συνδεσµολογίες παρέχουν ευελιξία που επιτρέπουν τις αλλαγές σε τµήµατα του σχεδιασµού χωρίς να χρειάζεται να µεταγλωττίζεται ολόκληρη η σχεδιαστική οντότητα. 3.2 ΕΝΤΟΛΕΣ ΤΗΣ VHDL Αξίζει τον κόπο να αναφέρουµε µερικές από τις εντολές, που χρησιµοποιήθηκαν στην εκπόνηση αυτής της διπλωµατικής, που παρουσιάζουν κάποιες ιδιαιτερότητες. Ένα µέρος των οντοτήτων που σχεδιάστηκαν είναι σε structural αρχιτεκτονική µορφή. Σ' αυτό τον τύπο αρχιτεκτονικής δηλώνονται οι υποµονάδες (components) που συνθέτουν το κύκλωµα και καθορίζονται τα σήµατα για την µεταξύ τους συνδεσµολογία. Η σειρά δήλωσης των υποµονάδων δεν έχει σηµασία. Η σύνταξη των εντολών είναι: δήλωση υποµονάδας component component_name port (list) end component; συνδεσµολογία υποµονάδας 15

16 label: component_name port map ([named positional]); Για µία οντότητα µπορούν να καθοριστούν παράµετροι (generic declarations) που επιτρέπουν την αλλαγή της συµπεριφοράς της µονάδας, όποτε αυτό απαιτείται (π.χ. κατά τη δήλωσή της ως υποµονάδα). ηλώνεται στο εξωτερικό τµήµα της οντότητας και είναι της µορφής: generic (parameter_name: type := default value); Όταν µία οντότητα δηλώνεται ως υποµονάδα και στο εξωτερικό της τµήµα περιλαµβάνεται µία δήλωση generic, απαιτείται ο προσδιορισµός του default value. Αυτό γίνεται µε τη χρήση της generic map. Αυτή η δήλωση πρέπει να γίνεται πριν από την δήλωση port map. Η κατασκευή της υποµονάδας devidef, όπως θα δούµε παρακάτω, περιλαµβάνει µία τέτοια δήλωση. Αποτελεί έναν µετρητή, του οποίου η ανώτατη τιµή προσδιορίζεται από τη δήλωση generic map. Προφανώς, η δήλωση αυτή ήταν απαραίτητη γιατί ο µετρητής δηλώθηκε περισσότερες από µία φορές ως υποµονάδα και µε διαφορετική ανώτατη τιµή µέτρησης την κάθε φορά. Κατά την εξοµοίωση της τελικής µονάδας που υλοποιήθηκε θεωρήθηκε απαραίτητη η αποστολή µηνυµάτων από τον εξοµοιωτή, ώστε ο χρήστης να γνωρίζει το τρέχον σφάλµα που έχει προκληθεί σκοπίµως. Το µήνυµα αποστέλλεται ως µήνυµα σχολίου (note), προειδοποίησης (warning) ή σφάλµατος (error) και η δυνατότητα αυτή παρέχεται µέσω της εντολής assert. Η εντολή assert ελέγχει το αληθές (true) µίας συνθήκης και αποστέλλει το αντίστοιχο µήνυµα εάν αυτή είναι εσφαλµένη (false). Η σύνταξή της είναι: assert codition[report string_expression] [severity expression]; Η εντολή severity ιεραρχείται σε τέσσερα επίπεδα σηµαντικότητας: FAILURE, ERROR, WARNING, NOTE. Ο εξοµοιωτής σταµατάει την εξοµοίωση ή εξάγει κάποιο µήνυµα και την συνεχίζει ανάλογα µε το επίπεδο σηµαντικότητας severity. 16

17 ΚΕΦΑΛΑΙΟ 4 ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ ΦΟΡΗΤΗΣ ΑΝΤΛΙΑΣ ΕΓΧΥΣΗΣ ΦΑΡΜΑΚΟΥ Σκοπός της παρούσας διπλωµατικής είναι η δηµιουργία ενός testbench για το ηλεκτρονικό τµήµα της φορητής αντλίας έγχυσης φαρµάκου µε χρήση σύριγγας. Είναι απαραίτητη µια σύντοµη αναφορά στον τρόπο λειτουργίας της συσκευής. 4.1 USER INTERFACE Η αντλία έγχυσης φαρµάκου µε χρήση σύριγγας υπάρχει σε προγραµµατισµένη και σε µη προγραµµατιζόµενη έκδοση. Η εξωτερική απεικόνιση του User Interface της προγραµµατιζόµενης αντλίας παρουσιάζεται στο κάτωθι σχήµα: ml/h Up Down Enter Σχήµα 4.1 Απεικόνιση του User Interface της αντλίας. Για την περίπτωση µε τις προγραµµατιζόµενες αντλίες χρησιµοποιείται, για τον έλεγχο, ένα TRIPLEX LCD σε συνδυασµό µε τρία πλήκτρα (up, down, enter) και ένα Buzzer, όπως φαίνεται παραπάνω. Για την απλοποιηµένη περίπτωση, που θα έχουµε σταθερό ρυθµό παλµοδότησης, δεν θα υπάρχουν τα εξωτερικά πλήκτρα και το display. Οι πιθανές διαδικασίες που ακολουθούνται κατά την λειτουργία της αντλίας δίνονται στην συνέχεια: 17

18 ιαδικασία Power on Η συσκευή µετά από power on αρχικοποιεί όλα τα εσωτερικά/εξωτερικά σήµατα µε τις κατάλληλες τιµές και την µνήµη µε την τιµή 0.00ml/h. ιαδικασία On Στην προγραµµατιζόµενη συσκευή η λειτουργία αρχίζει µετά από επίµονο πάτηµα των πλήκτρων Up, Down για χρονικό διάστηµα τουλάχιστον ίσο µε 0.8 sec, δεδοµένου ότι οι εξωτερικές είσοδοι mode1, mode2, που επιλέγουν τον τρόπο λειτουργίας βρίσκονται στο λογικό 0 και όλες οι διπλές είσοδοι ( mode1-mode2, run1- run2, pause1-pause2 ) δεν έχουν διαφορετική τιµή. Εάν κατά την διαδικασία ON, η τιµή που είναι αποθηκευµένη στους εσωτερικούς καταχωρητές του ASIC και εκφράζει τον ρυθµό έγχυσης φαρµάκου, είναι η 0.00 ml/h τότε το buzzer χτυπά διαρκώς µέχρι να γίνει έγκυρη εισαγωγή νέου ρυθµού λειτουργίας (µε τιµή διάφορη από 0.00 ml/h ), όπως περιγράφεται στην παράγραφο 6. Ταυτόχρονα εκτελούνται οι ακόλουθες διαδικασίες: α) Έλεγχος του display : Ανάβουν όλα τα segments του display και παραµένουν αναµµένα για 4 sec. β) Ηλεκτρικός έλεγχος του κυκλώµατος έναυσης του κινητήρα. γ) Έλεγχος της µηχανικής δυνατότητας κίνησης του δροµέα. Στην περίπτωση που δεν διαπιστωθεί κάποιο σφάλµα, τότε χτυπά το Buzzer για 0.5 sec, φορτώνονται οι καταχωρητές, που αποθηκεύουν την τιµή έγχυσης, µε την τιµή µε την οποία λειτουργούσε η συσκευή την τελευταία φορά, αναβοσβήνουν στο display η ένδειξη ml/h και το σύµβολο του buzzer και ξεκινά η λειτουργία της συσκευής µετά από την πάροδο χρόνου 4 sec. Στην περίπτωση που ανιχνευθεί κάποιο σφάλµα είτε οι διπλές είσοδοι διαφέρουν χτυπά το buzzer διαρκώς µέχρι ο χρήστης να κάνει OFF. Στην µη προγραµµατιζόµενη συσκευή, η λειτουργία αρχίζει θέτοντας στο λογικό 1 τις εισόδους mode1 και mode2. Σ αυτήν την περίπτωση πραγµατοποιούνται οι έλεγχοι β) και γ) όπως αναφέρθηκε παραπάνω και η συσκευή λειτουργεί, στην περίπτωση που δεν ανιχνευθεί σφάλµα µε σταθερό ρυθµό 05.0 ml/h. ιαδικασία OFF Η προγραµµατιζόµενη συσκευή σταµατά την λειτουργία της µετά από επίµονο πάτηµα των πλήκτρων Up και Down για χρόνο 0.8 sec. Στην κατάσταση OFF σβήνει το display, παύει η παλµοδότηση του κινητήρα, χτυπά το Buzzer για 0.5 sec και εσωτερικά στο ολοκληρωµένο κόβεται το ρολόι από κάθε κύκλωµα εκτός από το κύκλωµα εκείνο που επιβλέπει το πληκτρολόγιο. Στην περίπτωση της µη προγραµµατιζόµενης συσκευής η λειτουργία διακόπτεται εάν και οι δύο είσοδοι mode1, mode2 τεθούν στο λογικό 0. Τέλος, θα σηµειώσουµε ότι µετά από 2 sec από την µετάβαση στην κατάσταση OFF, η έξοδος power_down, που δηλώνει ότι η συσκευή είναι στην κατάσταση OFF, τίθεται σε υψηλή στάθµη. 18

19 Reset Στην κατάσταση αυτή εισέρχεται η συσκευή µετά από ενεργοποίηση (σε χαµηλή στάθµη) της αντίστοιχης εισόδου, κάτι που συµβαίνει κάθε φορά που τίθεται η τροφοδοσία (όταν δηλαδή αλλάζουµε την µπαταρία στην συσκευή). Τότε εσωτερικά στο ASIC αρχικοποιούνται όλοι οι µετρητές και γενικότερα όλα τα σήµατα και οι µεταβλητές. Κατάσταση κανονικής λειτουργίας Στην κατάσταση αυτή παλµοδοτείται ο κινητήρας µε το ρυθµό που έχει επιλεγεί από το πληκτρολόγιο ( είτε µε τον σταθερό ρυθµό 05.0 ml/h στην συσκευή χωρίς πλήκτρα ). Τότε στην προγραµµατιζόµενη συσκευή θα αναβοσβήνει η ένδειξη ml/h ( σύµφωνα µε ρολόι συχνότητας 5 Hz ) στο display. Με την έναρξη κάθε παλµού έναυσης του κινητήρα και µετά το τέλος αυτού ελέγχεται η µηχανική δυνατότητα κίνησης του δροµέα ( όπως περιγράφεται στην παράγραφο 7 ) καθώς επίσης και το γεγονός αν έχει ολοκληρωθεί το προηγούµενο βήµα περιστροφής του κινητήρα. Αν διαπιστωθεί κάποιο σφάλµα στους προηγούµενους ελέγχους τότε ηχεί το buzzer συνεχώς µέχρι να γίνει OFF η συ-σκευή και σταµατά η παλµοδότηση του κινητήρα. Στην περίπτωση που ανιχνευθεί διαφορά στις διπλές εισόδους τότε σταµατά η λειτουργία του κινητήρα και το buzzer ηχεί αδιαλείπτως. Τέλος όταν οι είσοδοι pause1, pause2 έχουν τεθεί στο λογικό 1 τότε σταµατά η έγχυση του φαρµάκου και το buzzer χτυπά κάθε 1 sec για χρόνο 0.5 sec. Αλλαγή του ρυθµού κίνησης του δροµέα Σε οποιαδήποτε περίπτωση πιέσουµε κάποιο από τα πλήκτρα Up και Down, όταν η συσκευή έχει γίνει On, τότε αυτό θα έχει σαν άµεσο αποτέλεσµα την αλλαγή της τιµής του ρυθµού που αναγράφεται στο display καθώς και την διακοπή της λειτουργίας του κινητήρα. Στην περίπτωση που συνεχίζουµε να πατάµε κάποιο από τα πλήκτρα Up και Down για χρόνο µεγαλύτερο από 2.5 sec τότε θα έχουµε σαν αποτέλεσµα την επιτάχυνση κατά 20 φορές, σε σύγκριση µε την προηγούµενη ταχύτητα, του ρυθµού αλλαγής της τιµής που αναγράφεται στο display. Κάθε αλλαγή στην τιµή του ρυθµού κίνησης του δροµέα γίνεται αποδεκτή αν και µόνο αν µέσα σε διάστηµα 5 sec από την τελευταία αλλαγή, πατηθεί το πλήκτρο Enter για χρονικό διάστηµα τουλάχιστον ίσο µε 0.6 sec. Αν η νέα τιµή γίνει αποδεκτή τότε ηχεί το buzzer για διάστηµα 0.5 sec. Αν η αλλαγή δεν γίνει αποδεκτή τότε µετά από την πάροδο των 5 sec, στο display αναγράφεται η προηγούµενη τιµή του ρυθµού κίνησης του δροµέα και χτυπά το buzzer για διάστηµα 0.5 sec. Τέλος, η λειτουργία του κινητήρα συνεχίζεται 5 sec µετά από την απελευθέρωση των πλήκτρων Up και Down ή µόλις πατηθεί το πλήκτρο Enter. Ηλεκτρικός έλεγχος του κυκλώµατος έναυσης του κινητήρα 19

20 Το κύκλωµα έναυσης του κινητήρα δείχνεται στο ακόλουθο σχήµα : Σχήµα 4.2 Κύκλωµα έναυσης κινητήρα Ο έλεγχος αυτός έχει σκοπό να διαπιστώσει την καλή λειτουργία των δύο transistor και ειδικότερα, την ικανότητα του πάνω να σταµατά την παλµοδότηση. Η διαδικασία, που πραγµατοποιείται κάθε φορά που ανάβουµε την συσκευή, έχει ως εξής: Θέτουµε την έξοδο motor2 σε χαµηλή στάθµη και την έξοδο motor1 σε υψηλή στάθµη και για 4 sec αναµένουµε να µην έχουµε µετάβαση στην στάθµη του σένσορα. Αν ο έλεγχος επιτύχει τότε θέτουµε την έξοδο motor2 σε υψηλή στάθµη, έτσι ώστε ο κινητήρας να παλµοδοτείται σύµφωνα µε τον ρυθµό που έχει υπολογιστεί από την κεντρική µονάδα, αλλιώς χτυπά το buzzer διαρκώς µέχρι να σβήσουµε την συσκευή. Έλεγχος της µηχανικής δυνατότητας κίνησης του δροµέα Εφόσον ο ηλεκτρικός έλεγχος επιτύχει, θέτουµε το motor1 σε υψηλή στάθµη, σύµφωνα µε την συχνότητα του ρολογιού που έχουµε υπολογίσει στην κεντρική µονάδα για τον συγκεκριµένο ρυθµό έγχυσης φαρµάκου που έχει επιλεγεί, χρησιµοποιώντας το πληκτρολόγιο. Αναµένουµε για χρόνο 4 sec να στραφεί το µαγνητικό τύµπανο κατά το 1/6 µίας πλήρους περιστροφής. Στην περίπτωση που ο έλεγχος αποτύχει τότε σταµατά η παλµοδότηση του κινητήρα και ηχεί το buzzer διαρκώς µέχρι να σβήσουµε την συσκευή ή να πατήσουµε το πλήκτρο reset. Επίσης στην περίπτωση που δεν έχουµε εντολή κίνησης του κινητήρα ( motor1 σε χαµηλή στάθµη ) αλλά ο κινητήρας περιστρέφεται, τότε ηχεί το buzzer διαρκώς και κόβεται το ρολόι από κάθε κύκλωµα που έχει σχέση µε την παλµοδότηση του κινητήρα. Στο σηµείο αυτό θα αναφέρουµε ακόµα, ότι στην περίπτωση που και οι δύο είσοδοι run1, run2 του ASIC βρίσκονται σε υψηλή στάθµη, δίνεται εντολή στο µαγνητικό τύµπανο 20

21 να περιστρέφεται διαρκώς (δηλαδή motor1, motor2 σε υψηλή στάθµη) χωρίς να πραγµατοποιείται ο έλεγχος της µηχανικής δυνατότητας κίνησης του δροµέα. Έλεγχος της συχνότητας παλµοδότησης του κινητήρα Για τον υπολογισµό της συχνότητας παλµοδότησης του κινητήρα, εισέρχονται στο ASIC οι συχνότητες f1, f2 οι οποίες δεν θα πρέπει να διαφέρουν µεταξύ τους κατά την διάρκεια της λειτουργίας περισσότερο από 5%. Για το λόγο αυτό, κάθε φορά που ανιχνεύουµε την ανερχόµενη παρυφή είτε της εισόδου f1 είτε της εισόδου f2, αυξάνουµε, για κάθε µία είσοδο χωριστά, ένα µετρητή. Μέσα σ ένα παράθυρο χρόνου των 5 sec, αφαιρούµε διαρκώς αυτούς τους δύο µετρητές και αναµένουµε µέσα σ αυτό το χρονικό διάστηµα, να µην έχουµε την υπέρβαση κάποιου ορίου, που εξασφαλίζει ότι οι συχνότητες f1, f2 δεν διαφέρουν µεταξύ τους περισσότερο από 5%. Στην περίπτωση που ο έλεγχος αυτός αποτύχει το buzzer ηχεί διαρκώς και σταµατά η παλµοδότηση του κινητήρα. Low Battery και Dead Battery Αν το κύκλωµα επίβλεψης της µπαταρίας ανιχνεύσει την κατάσταση low battery τότε στο display αναβοσβήνει το σύµβολο της µπαταρίας και ηχεί το buzzer περιοδικά µε κάθε άναµµα του κινητήρα. Σε περίπτωση dead battery, ηχεί το buzzer διαρκώς, σβήνει το display και η συσκευή τίθεται σε κατάσταση OFF. 21

22 4.2 BLOCK DIAGRAM Το block διάγραµµα που περιγράφει την λειτουργία του ASIC δίνεται στο παρακάτω σχήµα: Keyboard Controller & Interface Unit Motor Frequency Control Unit Motor Controller Hall Sensor Central Unit LCD Controller & Multiplex Leds Motor Driver Safety Pins Control Buzzer Control Unit Tristate Unit LCD Driver ( COP472 ) OR LEDS Σχήµα 4.3: Block διάγραµµα λειτουργίας του ASIC Central Unit : Η µονάδα αυτή αποτελεί την καρδιά του συστήµατος και επικοινωνεί µε όλες τις επιµέρους µονάδες του. Σκοπός της είναι ο υπολογισµός του ρυθµού κίνησης του δροµέα, ο έλεγχος των κυκλωµάτων έναυσης του κινητήρα, η αντιµετώπιση πιθανών σφαλµάτων στη λειτουργία της και η δηµιουργία ηχητικών και οπτικών ερεθισµάτων. Keyboard Controller & Interface Unit : Ο controller αυτός χειρίζεται το πληκτρολόγιο και πραγµατοποιεί όλες εκείνες τις λειτουργίες που σχετίζονται µε το user interface. Για το λόγο αυτό επικοινωνεί απ ευθείας µε τις µονάδες LCD Controller και Buzzer Control Unit. Motor Controller : Η µονάδα αυτή επιβλέπει την λειτουργία του κινητήρα και πιστοποιεί την ορθή της λειτουργία σύµφωνα µε τις εντολές της Central Unit. Σε περίπτωση σφάλµατος σταµατά τον κινητήρα και πληροφορεί την κεντρική µονάδα για αυτό. Safety Pins Control : Στην µονάδα αυτή ελέγχονται εάν όλα τα διπλά pins ( run1 - run2, mode1- mode2, pause1 - pause2 ) συγκρατούν διαρκώς την ίδια λογική τιµή. LCD Controller & Multiplex Leds: Στέλνει στον LCD Driver ( COP472 ) µηνύµατα που ελέγχονται τόσο από την Central Unit όσο και από την Keyboard Controller & Interface Unit. Στην µονάδα αυτή πραγµατοποιείται επίσης η πολύπλεξη δύο από τις 22

23 εξόδους που οδηγούν τον COP472 µε τις εξόδους που οδηγούν τα Led που χρησιµοποιούνται στην µη προγραµµατιζόµενη έκδοση της συσκευής. Buzzer Control Unit : Ελέγχει το buzzer σύµφωνα µε τις απαιτήσεις της Central Unit και της Keyboard Controller & Interface Unit. Frequency Comparator Unit : Η µονάδα αυτή πραγµατοποιεί τον έλεγχο της συχνότητας παλµοδότησης του κινητήρα µε βάση τις εξωτερικές, προς το ASIC, συχνότητες f1, f2 µε στόχο οι συχνότητες αυτές να µη διαφέρουν µεταξύ τους περισσότερο από 5%. Tristate Unit : Όταν η συσκευή είναι στην κατάσταση OF, τότε η µονάδα αυτή εξασφαλίζει ότι όλες οι έξοδοι θα είναι σε κατάσταση υψηλής αντίστασης. Στην αντίθετη περίπτωση οι έξοδοι έχουν την τιµή που έχει υπολογιστεί από την κάθε υπεύθυνη µονάδα. Ακροδέκτες του ASIC Ο αριθµός των εισόδων/εξόδων του ASIC είναι 42 η περιγραφή των οποίων δίνεται στην συνέχεια: Τροφοδοσία : 4 in ( 2 VDD, 2GND ) Display : 4 out lcd_ena, lcd_on, lcd_data πολυπλεγµένο µε το green_led, lcd_clk πολυπλεγµένο µε το red_led Mode : 2 in mode1, mode2 Πληκτρολόγιο: 3 in button1, button2, button3 Reset : 1 in reset DC Motor : 2 out motor, safe Hall Sensor : 1 in hall Battery : 2 in battery_low, battery_dead Buzzer : 1 out buzzer Alarm : 1 in alarm_in 1 out alarm_out Oscillator : 2 in f*8 f1, f2 2 out f1_out, f2_out Oscillator : 1 in 32KHz clk_in 1 out clk_out Continuous Run : 2 in run1, run2 Pause : 2 in pause1, pause2 Power Down : Debugging Pins : 1 out shut_down 9 out freq_error, sampled_error, no_freq, invalid_freq, comp_error, data_error, mismatch, mech_error, safe_error. Η ακριβής ανάθεση των bond-pins στα pins του package CLCC44 δίνεται στον παρακάτω πίνακα: 23

24 Αριθµός Όνοµα Περιγραφή Pin * 1 F2 Είσοδος: Είσοδος: Συνδέεται ο δεύτερος ταλαντωτής για τον υπολογισµό της συχνότητας παλµοδότησης του µοτέρ. 2 PAUSE2 Είσοδος: Συνδέεται η δεύτερη είσοδος pause. 3 F2_OUT Έξοδος: εύτερος ταλαντωτής - Έξοδος 4 BATTERY_LOW Είσοδος: Το low σε αυτή την είσοδο σηµαίνει Battery Low. 5 BATTERY_DEAD Είσοδος: Το high σε αυτή την είσοδο σηµαίνει Battery Dead. 6 VSS Τροφοδοσία: GND. 7 unused 8 CLK Είσοδος: Clock.32KHz. 9 BUTTON1 Είσοδος: Συνδέουµε το button up. 10 MODE1 Είσοδος: Όταν είναι στο low και το Mode2 επίσης έχουµε λειτουργία µε LCD κλπ. 11 BUTTON2 Είσοδος: Συνδέουµε το button down. 12 CLK_OUT Έξοδος: Clock.32KHz - Έξοδος 13 BUTTON3 Είσοδος: Συνδέεται το button enter. 14 MODE2 Είσοδος: Όταν είναι στο low και το Mode1 επίσης έχουµε λειτουργία µε LCD κλπ. 15 ALARM_IN Είσοδος: alarm. 16 POWER_DOWN Έξοδος: Πηγαίνει σε low όταν η συσκευή είναι σε κατάσταση λειτουργίας. Χρησιµοποιείται σε συνδυασµό µε pnp transistor προκειµένου να διακόψει εντελώς την τροφοδοσία της συσκευής. 17 VDD Τροφοδοσία: +5V. 18 RESET Είσοδος: Σε low γίνεται reset. 19 ALARM_OUT Έξοδος: Όταν συµβεί οποιοδήποτε alarm πηγαίνει σε κατάσταση high ενώ αναιρείται οποτεδήποτε και µε όποιο τρόπο η συσκευή επιστρέψει στη κανονική λειτουργία. 20 LCD_ON Έξοδος: Όταν η συσκευή είναι σε κατάσταση λειτουργίας πηγαίνει σε κατάσταση low προκειµένου να ανοίξει την τροφοδοσία του LCD και του COP

25 21 LCD_DATA Έξοδος: Συνδέεται µε το DI του COP SAFE Έξοδος: Τίθεται σε high οποτεδήποτε πρέπει να ενεργοποιηθεί το µοτέρ. 23 RUN2 Έξοδος: Όταν είναι στο high και το Run1 επίσης το µοτέρ γυρίζει αδιάκοπα. 24 LCD_CLK Έξοδος: Συνδέεται µε το SK του COP MOTOR Έξοδος: Τίθεται σε high οποτεδήποτε πρέπει να ενεργοποιηθεί το µοτέρ. 26 LCD_ENA Έξοδος: Συνδέεται µε το CS του COP RUN1 Είσοδος: Όταν είναι στο high και το Run2 επίσης το µοτέρ γυρίζει αδιάκοπα. 28 VSS Τροφοδοσία: GND. 29 unused 30 MISMATCH Έξοδος: Τίθεται σε high όταν ανιχνεύεται κάποια διαφορά στην στάθµη των διπλών pins. 31 SAFE_ERROR Έξοδος: Τίθεται σε high όταν αποτυγχάνει ο αρχικός ηλεκτρικός έλεγχος των transistor έναυσης. 32 MECH_ERROR Έξοδος: Τίθεται σε high όταν αποτυγχάνει ο έλεγχος της µηχανικής δυνατότητας κίνησης του δροµέα. 33 DATA_ERROR Έξοδος: Τίθεται σε high όταν ανιχνεύεται διαφορά στους καταχωρητές που αποθηκεύουν την επιθυµητή τιµή λειτουργίας της συσκευής, 34 COMP_ERROR Έξοδος: Τίθεται σε high όταν ανιχνεύεται διαφορά στο redudant path των adders. 35 INVALID_FREQ Έξοδος: Τίθεται σε high όταν ανιχνεύεται διαφορά στις συχνότητες f1, f2 µεγαλύτερη από 5%. 36 NO_FREQ Έξοδος: Τίθεται σε high όταν ανιχνεύεται ότι και οι δύο συχνότητες f1, f2 δεν ταλαντώνουν. 37 SAMPLED_ERROR Έξοδος: Τίθεται σε high όταν ανιχνευθεί διαφορά στις συχνότητες f1, f2 µεγαλύτερη από 5% και έχει λήξει και το απαιτούµενο χρονικό 25

26 διάστηµα για sampling. 38 FREQ_ERROR Έξοδος: Τίθεται σε high όταν ανιχνευθεί ότι η κεντρική συχνότητα δεν ταλαντώνει. 39 VDD Τροφοδοσία: +5V. 40 BUZZER Έξοδος: Οδηγεί το DC Buzzer. 41 F1 Είσοδος: Συνδέεται ο πρώτος ταλαντωτής για τον υπολογισµό της συχνότητας παλµοδότησης του µοτέρ. 42 PAUSE1 Είσοδος: Συνδέεται η πρώτη είσοδος pause. 43 F1_OUT Έξοδος: Πρώτος ταλαντωτής - Έξοδος 44 HALL Είσοδος: Συνδέεται o Hall sensor. 26

27 ΚΕΦΑΛΑΙΟ 5 ΓΕΝΙΚΗ Ι ΕΑ ΕΛΕΓΧΟΥ ΤΗΣ ΣΥΣΚΕΥΗΣ Αρχικός στόχος είναι η δηµιουργία µιας µονάδας που να ενεργοποιεί τη συσκευή, να είναι ικανή να αλλάζει τις καταστάσεις της, να ενεργοποιεί όλα τα πιθανά σφάλµατα και κάποια πιθανά mismatches, ώστε να διαπιστώνεται η σωστή λειτουργία της. Προφανώς για το σκοπό αυτό είναι απαραίτητη η αποκωδικοποίηση όλων των πιθανών καταστάσεων της συσκευής. Απαραίτητη προϋπόθεση, λοιπόν, είναι η δηµιουργία µιας οντότητας που να µπορεί, βάση προεπιλεγµένων εισόδων, να µεταβάλει την τρέχουσα κατάσταση της συσκευής. Είσοδοι Decode Εσωτερικές ιεργασίες Ανάθεση Συσκευής ΣΧΗΜΑ 5.1 Ανάθεση της συσκευής Η δυνατότητα επιλογής των εισόδων θα γίνεται µε 3 διανύσµατα εισόδων (λέξεις), το καθένα από τα οποία θα µεταβάλλει αντίστοιχα τη κατάσταση της συσκευής. Περιγράφεται κάτωθι, εν συντοµία, το κάθε διάνυσµα εισόδου και αναλύεται ο λόγος επιλογής των. 27

28 5.1 DATA CONTROL Πρωταρχικός στόχος, όπως ειπώθηκε, είναι η δυνατότητα ενεργοποίησης της συσκευής, επιλογής του mode της (προγραµµατιζόµενη ή µη) και εναλλαγής των καταστάσεών της. Όπως αναφέρθηκε, για τη µη προγραµµατιζόµενη συσκευή οι πιθανές καταστάσεις λειτουργίας της είναι η ΟΝ (ενεργοποιηµένη)και η OFF (απενεργοποιηµένη). Το µοτέρ λειτουργεί µε σταθερό ρυθµό παλµοδότησης εποµένως δεν υπάρχουν άλλες πιθανές καταστάσεις. Η προγραµµατιζόµενη έχει τη δυνατότητα αλλαγής του ρυθµού κίνησης του µοτέρ. Η δυνατότητα αυτή παρέχεται από τα πλήκτρα UP και DOWN. Κάθε αλλαγή στην τιµή του ρυθµού κίνησης του δροµέα γίνεται αποδεκτή αν και µόνον αν πατηθεί το πλήκτρο ENTER, όπως έχει αναφερθεί. Οι καταστάσεις, λοιπόν, στις οποίες µπορεί να βρεθεί η συσκευή είναι οι : ΟΝ, ΟFF, UP, DOWN, ENTER, NO_ENTER, MODE 0, MODE 1. Οι καταστάσεις MODE 0, MODE 1, έχουν να κάνουν µε την επιλογή της συσκευής. Η MODE 0 αφορά την επιλογή της προγραµµατιζόµενης ενώ η MODE 1 τη µη προγραµµατιζόµενη. Η NO_ENTER επιλέχθηκε για την περίπτωση που κατά τη µετάβαση σε µια UP ή DOWN κατάσταση δεν έχει πατηθεί τo ΕΝΤΕR. Συνοψίζοντας, το πρώτο διάνυσµα εισόδου, όπως διαπιστώσαµε, επιλέχθηκε να είναι 7 bits (λέξεων), η µεταβολή των οποίων θα έχει ως αποτέλεσµα την δυνατότητα εναλλαγής των άνω καταστάσεων. Bit Κατάσ ΟΝ OFF UP DOWN ENTER MODE0 MODE1 NO_ ταση ENTER Η ενεργοποίηση των παραπάνω καταστάσεων, όπως και αυτών που ακολουθούν στις κάτωθι παραγράφους, θα γίνεται µε επιβολή του αντίστοιχου bit στην τιµή ERROR CONTROL Κατά την ενεργοποίηση της προγραµµατιζόµενης συσκευής, πραγµατοποιούνται οι έλεγχοι που αναφέρθηκαν στην παράγραφο 4.1. Στην κατάσταση ΟΝ, το κύκλωµα επίβλεψης της µπαταρίας ανιχνεύει την κατάσταση low battery και dead battery, ενώ ταυτόχρονα ελέγχεται αν οι συχνότητες παλµοδότησης του κινητήρα f1και f2 διαφέρουν περισσότερο από 5%. Πραγµατοποιούνται, λοιπόν, κάποιοι έλεγχοι που σαν στόχο έχουν την ανίχνευση σφάλµατος στη λειτουργία της συσκευής. 28

29 Σκοπός, λοιπόν, του δεύτερου διανύσµατος ελέγχου είναι η ενεργοποίηση αυτών των σφαλµάτων ώστε να διαπιστωθεί η εύρυθµη λειτουργία των διεργασιών ανίχνευσής των από τη συσκευή. Επιλέχθηκε για το σκοπό αυτό ένα διάνυσµα εισόδου, ενεργοποίησης αυτών των σφαλµάτων, 7 bits. Bit BAT BAT MECH SAFETY FREQ NEITHER LOW DEAD MAIN FREQ Κατάσ ταση FREQ DIFF Tα bit 0 και 1 θα οδηγήσουν τη συσκευή σε κατάσταση BAT_LOW και BAT_DEAD αντίστοιχα. Τα bits 2 και 3 αφορούν την ενεργοποίηση ηλεκτροµηχανικού σφάλµατος ενώ τα 4,5,6 την ενεργοποίηση σφάλµατος στην κεντρική συχνότητα λειτουργίας, των 32 Khz και τις συχνότητες παλµοδότησης του κινητήρα. 5.3 ΜISMATCH - ALARM CONTROL Για να γίνει η συσκευή ΟΝ πρέπει, εκτός των άνω επιτυχών ελέγχων, όλες οι διπλές είσοδοι (mode1-mode2, run1-run2, pause1-pause2) να µην έχουν διαφορετική τιµή (mismatch). Aν συµβεί οποιοδήποτε mismatch error στις εισόδους αυτές χτυπά το buzzer. Η πρόκληση αυτού του σφάλµατος θα γίνεται µε ένα διάνυσµα εισόδου 5 bits. Bit Κατάσταση MISM RUN MISM MODE MISM PAUSE ALARM STOP Στην κατάσταση ALARM ενεργοποιούµε την έξοδο ALARM. Στην κατάσταση STOP οι είσοδοι PAUSE1, PAUSE2 βρίσκονται στο λογικό 1, που υποδηλώνει ότι το καπάκι της συσκευής είναι ανοιχτό και εποµένως δεν είναι δυνατή η ενεργοποίηση της συσκευής. Η συσκευή ενεργοποιείται µόνο αν PAUSE1, PAUSE2 βρεθούν στο 0. 29

30 ΚΕΦΑΛΑΙΟ 6 ΠΕΡΙΓΡΑΦΗ ΤΗΣ DATA CONTROL Απαραίτητη προϋπόθεση για την υλοποίηση µιας σχεδιαστική οντότητας που να µπορεί να µεταβάλλει τις καταστάσεις τις συσκευής είναι η αποκωδικοποίηση των εσωτερικών διεργασιών που προκαλούν τις µεταβολές στην ίδια τη συσκευή. Μία σύντοµη αναφορά σ αυτές τις διεργασίες είναι απαραίτητη. ΟΝ ιαδικασία Για να έχουµε αλλαγή κατάστασης από την OFF στην ON πρέπει οι έξοδοι button1 και button2, που οδηγούν το component pump να βρίσκονται στο λογικό 1 για διάστηµα τουλάχιστον 0.8 sec OFF ιαδικασία Η συσκευή σταµατά τη λειτουργία της µόνο αν οι έξοδοι button1, button2 είναι στο λογικό 1 για χρονικό διάστηµα τουλάχιστον 0.8 sec. ENTER ιαδικασία Σ αυτήν την κατάσταση πρέπει να παραµείνει η συσκευή για διάστηµα τουλάχιστον 0.6 sec, αλλιώς δεν µπορεί να γίνει αποδεκτή η αλλαγή της τιµής του ρυθµού κίνησης του δροµέα (καταστάσεις UP και DOWN). Η διαδικασία, ΕΝΤΕR, πραγµατοποιείται µε το θέσιµο του button3 στην τιµή ΥΛΟΠΟΙΗΣΗ ΜΕΤΡΗΤΗ Οι προϋποθέσεις για να γίνει ΟΝ, ΟFF, ENTER η προγραµµατιζόµενη συσκευή απαιτούν την υλοποίηση ενός µετρητή, βάση του οποίου θα καθορίζεται η χρονική διάρκεια µέσα στην οποία πρέπει να µένουν ενεργοποιηµένα τα αντίστοιχα button. 30

31 Ο ζητούµενος απαριθµητής πρέπει να µπορεί να υπολογίζει τα ζητούµενα χρονικά διαστήµατα των 0.8 sec, 0.6 sec. Με τη δεδοµένη είσοδο των 32 KHz ο υπολογισµός των παραπάνω χρονικών διαρκειών απαιτεί έναν απαριθµητή που να µετρά, π.χ. για τη διάρκεια των 0.8 sec, µέχρι το Επιβάλλεται, λοιπόν, η υλοποίηση ενός διαιρέτη συχνότητας. Επιλέχθηκε η διαίρεση της f = 32 KHz δια 640. Βασισµένοι στη νέα συχνότητα των 50 Ηz είναι εφικτή, πλέον, η υλοποίηση ενός απαριθµητή που να µπορεί να µετρήσει χρόνους των 0.8 sec ή 0.6 sec. H περίοδος των 50 Hz είναι 0.02 sec. Για να µπορέσουµε να υπολογίσουµε τις χρονικές διάρκειες που µας ενδιαφέρουν, χρειαζόµαστε έναν απαριθµητή που θα µετρά, ανερχόµενες παρυφές της νέας συχνότητας, µέχρι τουλάχιστον το 40 ( 08. sec 002. sec = 40). H διαίρεση συχνότητας γίνεται ως ακολούθως. Ο απαριθµητής µετρά κατερχόµενες παρυφές του clock εισόδου των 32 KHz. Μόλις φτάσει στο 639, έχει δηλαδή µετρήσει 640 ((639-0) + 1) παρυφές, µηδενίζεται ενώ ταυτόχρονα κατά την κατερχόµενη παρυφή του clock λαµβάνω ένα λογικό 1 για το νέο clock, που θα γίνει 0 στην επόµενη κατερχόµενη παρυφή του clk_in. Κατά τη διάρκεια της µέτρησης µέχρι το 639 το νέο clock θα παραµείνει στο λογικό 0. Αυτό µεταφράζεται στην κάτωθι κυµατοµορφή. Clk_in Σχήµα 6.1. ιαιρέτης Συχνότητας New_Clk Το clk_in αποτελεί το Counter κεντρικό ρόλοι εισόδου, συχνότητας 32 KHz. Το New_clk είναι το διαιρεµένο, συχνότητας 50 Hz. O Counter αποτελεί τον απαριθµητή που χρειαζόµαστε για να επιτελέσουµε τη διαίρεση συχνότητας. Η νέα περίοδος του New_clk εικονίζεται κάτωθι: Clk_in New_Clk Counter Σχήµα 6.2. Η νέα περίοδος του διαιρεµένου clk 31

32 Επόµενο βήµα είναι η υλοποίηση ενός νέου απαριθµητή που θα µετρά ανερχόµενες παρυφές του νέου clock των 50 Hz. Με τη χρήση του θα µπορούµε να υπολογίσουµε τις χρονικές διάρκειες των 0.8 sec και 0.6 sec, µέσα στις οποίες πρέπει οι προαναφερόµενες έξοδοι που οδηγούν το pump, να είναι στο λογικό 1. Λαµβάνοντας υπόψη τις οποιεσδήποτε καθυστερήσεις, θεωρήθηκε απαραίτητο να αυξηθούν οι άνω χρόνοι. Θεωρήθηκε, επίσης, απαραίτητο, χάριν ευκολίας, να γίνει ενσωµάτωση του νέου µετρητή στην ίδια σχεδιαστική οντότητα µ αυτήν του διαιρέτη συχνότητας. Το µοντέλο υλοποίησης του διαιρέτη συχνότητας και του απαριθµητή εικονίζεται στο κάτωθι σχήµα. clk_outd clk reset Devidef count Σχήµα 6.3. Το µοντέλο του διαιρέτη συχνότητας και απαριθµητή Η είσοδος clk_outd είναι η είσοδος του κεντρικού clock των 32 KHz. H έξοδος clk δίνει τη διαιρεµένη συχνότητα των 50 Hz, ενώ το count µετρά ανερχόµενους παλµούς του clk. Το reset όταν είναι high µηδενίζει τον απαριθµητή, ενώ επιτρέπει τη µέτρηση µόνο όταν είναι low. Η υλοποίηση του παραπάνω µοντέλου σε VHDL κώδικα δίνεται κάτωθι: -- ιαιρέτης Συχνότητας και απαριθµητής library ieee; use ieee.std_logic_1164.all; Entity Devidef is end Devidef ; generic ( n: integer ); port ( clk_outd, reset : in std_logic; clk : buffer std_logic; count : out integer range 0 to n ); Architecture DevidefBEH of Devidef is Begin signal x: std_logic; -- Το χ παίρνει την τιµή του clk: out a: Process ( clk_outd ) -- το νέο clock 50 Hz variable count1: integer range 0 to 639 :=0; begin 32

33 end process; if ( clk_outd = '0' and clk_outd'event ) then if ( count1 = 639 ) then else end if; clk <= x; end if ; count1 := 0; x <= '1'; x <= '0'; count1 := count1 + 1; b: process ( clk_outd, reset ) -- Μέτρηση των παλµών του νέου clk variable c: integer range 0 to n := 0; begin if ( reset = '1' ) then c := 0; elsif ( clk_outd = '0' and clk_outd'event ) then if ( x = '1' ) then if ( c = n ) then else end if; c := 0; c := c+1; end if; end if; count <= c; end process; end DevidefBEH; Παραθέτουµε και τον κώδικα εξοµοίωσης του µοντέλου devidef: --testbench for devidef library ieee; use ieee.std_logic_1164.all; 33

34 library work; use work.all; entity testdevidef is end; architecture testbench of testdevidef is component Devidef generic ( n: integer ); port ( clk_outd, reset: in std_logic; clk: buffer std_logic; count: out integer range 0 to n ); end component; begin signal clk_out1 : std_logic ; signal clk1: std_logic; signal countx: integer range 0 to 40 ; signal test: std_logic:='0'; signal resetx: std_logic ; a: process begin clk_out1 <= '0' ; wait for ns; -- T/2 (εξοµοίωση του ρολοϊού εισόδου, των 32 KHz) clk_out1 <= '1'; wait for ns; -- T/2 end process; b: process begin resetx <= '0', '1' after 50 ms, '0' after 90 ms; wait; end process; c: Devidef generic map ( n => 40) port map (clk_out1,resetx, Clk1,countx); end testbench ; Τα αποτελέσµατα της εξοµοίωσης των 150 msec παραθέτονται στο κάτωθι σχήµα 34

35 Σχήµα 6.4. Εξοµοίωση της Devidef Για το άνω µοντέλο (testbench) ο µετρητής µετρά από το 0 έως το n=40. Για τη νέα συχνότητα των 50 Hz το χρονικό διάστηµα που µπορεί να υπολογίζει το µοντέλο είναι 0.8 sec, όπως εικονίζεται στο κάτωθι σχήµα. Σχήµα 6.5. Εξοµοίωση της Devidef, µέτρηση του countx µέχρι το 40 35

36 6.2 ΥΛΟΠΟΙΗΣΗ DATA_CONTROL COMPONENT Το Data_Control component αποτελεί το δεύτερο component, µετά τον µετρητή, για την ολοκλήρωση της Data Control. Για την αρχιτεκτονική υλοποίησής του χρησιµοποιήθηκαν µηχανές καταστάσεων (state machines). Αναφέρουµε ενδεικτικά τη δοµή µιας τέτοιας αρχιτεκτονικής, κάτωθι. Η δοµή µιας µηχανής πεπερασµένων καταστάσεων απεικονίζεται στο ακόλουθο σχήµα. Ρολόϊ Μηδενισµός Είσοδος Συνδιαστική λογική επόµενης κατάστασης Επόµενη κατάσταση Μονάδα αποθήκευσης Συνδιαστική λογική εξόδου Έξοδος Παρούσα κατάσταση ΣΧΗΜΑ 6.6 Μηχανή πεπερασµένων καταστάσεων Αποτελείται από το συνδυαστικό κύκλωµα υπολογισµού της επόµενης κατάστασης βάση των εισόδων της παρούσης κατάστασης, τη µονάδα αποθήκευσης της παρούσας κατάστασης, και τέλος, της µονάδας εξόδου για τον υπολογισµό της τιµής των εξόδων. Ως κατάσταση µηδενισµού θεωρείται συνήθως η προκαθορισµένη αρχική κατάσταση του κυκλώµατος. Συνίσταται ο διαχωρισµός της περιγραφής της µηχανής καταστάσεων σε δύο διεργασίες. Στη διεργασία αποθήκευσης όπου καταχωρείται η παρούσα κατάσταση και ελέγχεται η πιθανή είσοδος µηδενισµού, και στη διεργασία συνδυαστικής λογικής όπου υπολογίζονται η επόµενη κατάσταση και οι τιµές των εξόδων. Για τον υπολογισµό τους χρησιµοποιείται η εντολή κατάστασης ή άλλης ισοδύναµης (π.χ. εντολή υπόθεσης). Οι τιµές των εξόδων εκχωρούνται κατά την εκτέλεση της εντολής κατάστασης όπου παράλληλα καθορίζεται και η επόµενη κατάσταση. Συνίσταται η δήλωση αρχικών τιµών για τις εξόδους, εξασφαλίζοντας τους την εκάστοτε τιµή για όλες τις πιθανές καταστάσεις και τους συνδυασµούς των εισόδων, αποφεύγοντας έτσι την επιλογή µανδαλωτών. Το εξωτερικό τµήµα της υποµονάδας Data_Control εικονίζεται στο ακόλουθο σχήµα. 36

37 Data_control clock1 clock2 count1 count2 DataControl_Cmp button1 button2 button3 mode1_1 mode2_1 rst1 rst2 on_state ΣΧΗΜΑ 6.7 H υποµονάδα DataControl_Comp Περιγράφουµε στον ακόλουθο πίνακα τις εισόδους-εξόδους της υποµονάδας. Είσοδοι Τύπος Περιγραφή Data_control std_logic_vector(7 down to 0) ιάνυσµα, 7 bits, µέσω του οποίου µεταβάλλουµε τις καταστάσεις της συσκευής, θέτοντας 1 ή 0. clock1 std_logic Συνδέεται µε την έξοδο του διαιρεµένου clk των 50 Hz της υποµονάδας Devidef clock2 std_logic Συνδέεται µε την έξοδο του διαιρεµένου clk των 50 Hz της υποµονάδας Devidef count1 integer range 0 to 38 Συνδέεται µε την έξοδο count της υποµονάδας Devidef. Μετρά το διάστηµα των 0.6 sec για την ENTER κατάσταση count1 integer range 0 to 50 Συνδέεται µε την έξοδο count της υποµονάδας Devidef. Μετρά το διάστηµα των 0.8 sec για την ΟΝ κατάσταση 37

38 Έξοδοι Τύπος Περιγραφή Βutton1 std_logic Οδηγεί το button1 της συσκευής Βutton2 std_logic Οδηγεί το button2 της συσκευής Βutton3 std_logic Οδηγεί το button3 της συσκευής mode1_1 std_logic Συνδέεται µε την είσοδο mode1d του πολυπλέκτη (Κεφ.10) mode2_1 std_logic Συνδέεται µε την είσοδο mode2d του πολυπλέκτη (Κεφ.10) rst1 std_logic Συνδέεται µε την είσοδο reset της υποµονάδας Devidef. Μηδενίζει τον µετρητή rst2 std_logic Συνδέεται µε την είσοδο reset της υποµονάδας Devidef. Μηδενίζει τον µετρητή on_state std_logic Συνδέεται µε τις εισόδους on_state1, on_state2 των υποµονάδων Mismatch_Control (Κεφ.9) και Error_Control (Κεφ.10). Με τιµή 1 η συσκευή είναι ΟΝ Η δυνατότητα επιλογής καταστάσεων δίνεται από το διάνυσµα εισόδου Data_control, βάση του οποίου θα ενεργοποιούνται ή όχι,µέσω κάποιων εσωτερικών διεργασιών, οι έξοδοι που οδηγούν το component pump. Οι καταστάσεις που θα µας απασχολήσουν για την προγραµµατιζόµενη συσκευή είναι: ΟΝ, OFF, UP, ENTER, NO_ENTER, ενώ για τη µη προγραµµατιζόµενη συσκευή είναι η ΟΝ και η OFF. Επίσης το διάνυσµα εισόδου θα πρέπει να είναι σε θέση να αλλάζει το mode της συσκευής, δηλαδή να επιλέγει την προγραµµατιζόµενη ή τη µη προγραµµατιζόµενη συσκευή. Η σειρά και ερµηνεία του κάθε bit ξεχωριστά, αναλύεται κάτωθι: ΟΝ OFF UP DOWN ENTER MODE0 MODE1 NO_ENTER Συνεπώς, για να µεταβούµε στην κατάσταση ΟΝ, για παράδειγµα, θα θέσουµε το πρώτο bit της λέξης, δηλαδή το data_control(0), στο λογικό 1. Οµοίως και για τις άλλες καταστάσεις. Με τα ΜΟDE1 και MODE2 ουσιαστικά επιλέγεται το mode της συσκευής. 38

39 Θεωρείται απαραίτητη µια σύντοµη αναφορά στις απαιτούµενες προϋποθέσεις για την αλλαγή κατάστασης, καθώς και µια σύντοµη περιγραφή της κάθε κατάστασης. ΕΠΙΛΟΓΗ MODE Η επιλογή της συσκευής, προγραµµατιζόµενη ή µη, µπορεί να γίνει µέσω των data_control(5) και data_control(6). Όταν είναι και τα δυο στο λογικό 1 επιλέγεται η µη προγραµµατιζόµενη συσκευή, ενώ αν βρίσκονται στο 0 επιλέγεται η προγραµµατιζόµενη. ΜΗ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΣΥΣΚΕΥΗ Στην µη προγραµµατιζόµενη, τα µόνα bits της λέξης data_control που θα µας απασχολήσουν είναι: το data_control(0), data_control(1) και data_control(5), data_control(6). H λογική κατάσταση στην οποία βρίσκονται τα άλλα bits δεν µπορεί να προκαλέσει καµία αλλαγή στην κατάσταση της συσκευής, µια που οι µόνες καταστάσεις στις οποίες µπορεί να βρεθεί είναι η ON και OFF. ΟΝ Κατάσταση Με data_control(0) = 1 επιλέγεται η ΟΝ κατάσταση. Τα modes1 και modes2 θα βρεθούν στο λογικό 1. ΟFF Κατάσταση Αν επιλεγεί data_control(1) = 1, η συσκευή θα γίνει OFF, ενώ οι έξοδοι mode1 και mode2 που οδηγούν τις αντίστοιχες εισόδους στο component pump θα βρεθούν στο λογικό 0. ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΣΥΣΚΕΥΗ ΟΝ Κατάσταση Η µονάδα pump θα έρθει σε κατάσταση ΟΝ µόνο αν τα button1 και button2 βρίσκονται στο λογικό 1 για διάστηµα τουλάχιστον 0.8 sec. Συνεπώς σκοπός της µονάδας που θα οδηγεί το pump, είναι η τοποθέτηση των εισόδων button1 και button2, του pump, στο high. Αυτό θα επιτευχθεί µόνο αν το data_control(0) έρθει στο λογικό 1 και παραµείνει εκεί για διάστηµα τουλάχιστον 0.8 sec. OFF Κατάσταση Η µονάδα pump θα έρθει σε κατάσταση OFF µόνο αν τα button1 και button2 βρίσκονται στο λογικό 1 για διάστηµα τουλάχιστον 0.8 sec. Οµοίως µε την άνω κατάσταση, επιβάλλεται το data_control(1) να γίνει 1 για χρόνο τουλάχιστον 0.8 sec, για την επιλογή αυτής της κατάστασης. 39

40 UP Κατάσταση Στην UP κατάσταση µπορεί να επιλεχθεί αλλαγή, αύξηση προφανώς, του ρυθµού κίνησης του δροµέα. Για να έρθει η συσκευή σ αυτήν την κατάσταση, είναι προφανώς απαραίτητο να είναι η συσκευή σε κατάσταση ΟΝ. Από κει και έπειτα, η επιλογή της κατάστασης γίνεται µε data_control(2) = 1. Το button1 γίνεται 1 σ αυτήν την κατάσταση. DOWN Κατάσταση Στη DOWN επιλέγω µείωση του ρυθµού κίνησης του δροµέα. Oµοίως µε την UP πρέπει η συσκευή να είναι πρώτα ΟΝ και µετά να γίνει επιλογή αυτής της κατάστασης. Αν η συσκευή είναι OFF δεν θα υπάρξει καµία επίδραση στις εξόδους µε επιλογή data_control(3) = 1. To button2 γίνεται 1 και οδηγεί έτσι την είσοδο button2 του component pump, όπως θα δούµε παρακάτω. ENTER Κατάσταση Σε αυτή την κατάσταση εισέρχεται η συσκευή µετά από µια κατάσταση UP ή DOWN. Η έξοδος από την κατάσταση UP ή DOWN πραγµατοποιείται, αν τα button1, button2 - που σ αυτές τις καταστάσεις ήταν στο λογικό 1 - βρεθούν στο λογικό 0.Κάθε αλλαγή στο ρυθµό κίνησης του δροµέα θα γίνει αποδεκτή αν µέσα σε 5 sec από την τελευταία αλλαγή, µεταβούµε στην κατάσταση ENTER. Η µετάβαση στην ENTER γίνεται µε data_control(4) = 1, που θα µεταφραστεί σε έξοδο button3 = 1. Για να έχει νόηµα το πάτηµα του button3 θα πρέπει να µείνει στο λογικό 1 τουλάχιστον για 0.6 sec, αλλιώς οποιαδήποτε αλλαγή έγινε στην UP ή DOWN δεν θα γίνει αποδεκτή. NO_ENTER Κατάσταση Με επιλογή data_control(7) = 1, µεταβαίνουµε σ αυτήν την κατάσταση, µε τη την προϋπόθεση ότι πριν ήµασταν σε µία από τις UP ή DOWN και ότι τα button1, button2 βρίσκονται στο λογικό 0. Το ουσιαστικό νόηµα της NO_ENTER κατάστασης είναι η απλά η µη επιλογή της ENTER κατάστασης. Στην περίπτωση, δηλαδή, που είχε επιλεγεί UP ή DOWN και δεν θέλουµε, τελικά, να περάσουµε την αλλαγή αυτή στο ρυθµό κίνησης του δροµέα, επιλέγουµε NO_ENTER. Οι προαναφερόµενες καταστάσεις και τα ερεθίσµατα για την ενεργοποίησή τους, µεταφράζονται στο κάτωθι block διάγραµµα. 40

41 else OFF chng_to_nprogr <= '1'; on_state <= '0'; button1 <= '0'; button2 <= '0'; button3 <= '0'; Data_control(0) = '1' Data_control(1) = '1' and count2 >= 50 and count2 >= 50 Data_control(1) = '1' and count2 >= 50 Data_control(1) = '1' and count2 >= 50 ON flag_on := '1' else Data_control(2) = '1' and flag_on := '1' Data_control(3) = '1' and flag_on := '1' else UP DOWN else Data_control(2) = '0' and clock1 = '1' and clock1'event Data_control(3) = '0' and clock1 = '1' and clock1'event Data_control(1) = '1' and count2 >= 50 WAIT FOR ENTER clock1 = '1' and clock1'event Data_control(4) = '1' and clock1 = '1' and clock1'event else Data_control(7) = '1' and clock1 = '1' and clock1'event else ENTER rst1 <= '0'; NO_ENTER ΣΧΗΜΑ 6.8 Block ιάγραµµα της υποµονάδας DataControl_Comp Οι αρχικοποίηση της υποµονάδας αφορά το µηδενισµό των counters (rst1<= 1, rst2<= 1 ) και τη θεώρηση ότι η συσκευή είναι η προγραµµατιζόµενη και σε OFF κατάσταση. Παραθέτουµε και τον πλήρη κώδικα υλοποίησης του άνω µοντέλου. 41

42 --Προγραµµατιζόµενη library ieee; use ieee.std_logic_1164.all; library work; use work.diplo.all; entity DataControl_Cmp is port ( data_control : in std_logic_vector( 7 downto 0 ) ; clock1, clock2 : in std_logic; count1 : in integer range 0 to 38; count2 : in integer range 0 to 50 ; button1, button2, button3, mode1_1, mode2_1, rst1, rst2, on_state : out std_logic); end DataControl_Cmp; architecture behavioral of DataControl_Cmp is begin signal device : select_device; signal current_status : State := OFF ; signal chng_to_nprogr : std_logic := '1' ; signal chng_to_progr : std_logic := '1' ; signal flag_off_nonpr: std_logic ; P1: Process ( data_control, clock1) variable mode_select : std_logic; variable mode : std_logic_vector(1 downto 0 ); variable flag_on : std_logic ; variable flag_enter : std_logic ; -- variable flag_off_nonpr: std_logic ; begin Initializations --case mode rst1 <= '1'; rst2 <= '1'; mode:= data_control(5) & data_control(6); case mode is when "00" => if ( chng_to_progr = '1') then 42

43 mode1_1 <= '0'; -- Use Of Programmable Device mode2_1 <= '0'; mode_select := '1'; end if; when "11" => if ( chng_to_nprogr = '1') then end if; when others => end case; mode1_1 <= '1'; -- Use Of Noneprogrammable Device mode2_1 <= '1'; mode_select := '0'; if ( chng_to_progr = '1') then end if; mode1_1 <= '0'; -- Use Of Programmable Device mode2_1 <= '0'; mode_select := '1'; if ( mode_select = '1' ) then device <= Programmable; assert( mode_select = '0' ) report " Eπιλογή Προγραµµατιζόµενης Συσκευής" severity Note; case current_status is when OFF => chng_to_nprogr <= '1'; on_state <= '0'; button1 <= '0'; button2 <= '0'; button3 <= '0'; if ( data_control(0) = '1' ) then chng_to_nprogr <= '0'; rst2 <= '0'; 43

44 button1 <= '1'; button2 <= '1'; button3 <= '0'; if ( count2 >= 50 ) then end if; current_status <= ON1; flag_on := '1'; button1 <= '0'; button2 <= '0'; on_state <= '1'; if ( data_control(1) = '1' ) then end if; chng_to_nprogr <= '1'; rst2 <= '1'; button1 <= '0'; button2 <= '0'; else chng_to_nprogr <= '1'; current_status <= current_status; button1 <= '0'; button2 <= '0'; end if; when ON1 => if ( flag_on = '1' ) then if ( data_control(2) = '1' ) then current_status <= UP; button1 <= '1'; elsif ( data_control(3) = '1' ) then current_status <= DOWN; button2 <= '1'; elsif ( data_control(1) = '1' ) then rst2 <= '0'; button1 <= '1'; button2 <= '1'; if ( count2 >= 50 ) then 44

45 current_status <= OFF; button1 <= '0'; button2 <= '0'; end if; elsif ( data_control(1) = '0' ) then chng_to_nprogr <= '0'; current_status <= current_status; button1 <= '0'; button2 <= '0'; else end if; current_status <= current_status; else end if; current_status <= current_status; when UP => if ( data_control(2) = '0' ) then if (clock1 = '1' and clock1'event) then end if; current_status <= WAIT_FOR_ENTER; button1 <= '0'; elsif ( data_control(1) = '1' ) then rst2 <= '0'; button1 <= '1'; button2 <= '1'; if ( count2 >= 50 ) then current_status <= OFF; button1 <= '0'; button2 <= '0'; end if; elsif ( data_control(1) = '0' ) then chng_to_nprogr <= '0'; current_status <= current_status; button1 <= '1'; button2 <= '0'; 45

46 else end if; current_status <= current_status; when DOWN => if ( data_control(3) = '0' ) then if (clock1 = '1' and clock1'event) then end if; current_status <= WAIT_FOR_ENTER; button2 <= '0'; elsif ( data_control(1) = '1' ) then rst2 <= '0'; button1 <= '1'; button2 <= '1'; if ( count2 >= 50 ) then current_status <= OFF; button1 <= '0'; button2 <= '0'; end if; elsif ( data_control(1) = '0' ) then else end if; chng_to_nprogr <= '0'; current_status <= current_status; button1 <= '0'; button2 <= '1'; current_status <= current_status; when WAIT_FOR_ENTER => if ( data_control(4) = '1' ) then rst1 <= '0'; button3 <= '1'; flag_enter := '1'; current_status <= ENTER; elsif ( data_control(7) = '1' ) then if (clock1 = '1' and clock1'event) then current_status <= NO_ENTER; 46

47 assert( data_control(7) = '0' ) report " Κατάσταση NO_ENTER" severity warning; end if; elsif ( data_control(1) = '1' ) then rst2 <= '0'; button1 <= '1'; button2 <= '1'; if ( count2 >= 50 ) then current_status <= OFF; button1 <= '0'; button2 <= '0'; end if; elsif ( data_control(1) = '0' ) then chng_to_nprogr <= '0'; current_status <= current_status; button1 <= '0'; button2 <= '0'; else current_status <= current_status; end if; when ENTER => rst1 <= '0'; if ( count1 >= 38 ) then end if; flag_enter := '0'; button3 <= '0'; if (flag_enter = '0') then if (clock1 = '1' and clock1'event) then end if; current_status <= ON1; elsif ( data_control(1) = '1' ) then rst1 <= '1'; rst2 <= '0'; button1 <= '1'; button2 <= '1'; 47

48 button3 <= '0'; current_status <= ON1; if ( count2 >= 50 ) then end if; current_status <= OFF; button1 <= '0'; button2 <= '0'; else end if; current_status <= current_status; when NO_ENTER => if (clock1 = '1' and clock1'event) then end if; current_status <= ON1; when others => current_status <= current_status; end case; flag_off_nonpr <= '0'; else device <= Noneprogrammable; current_status <= ON1; chng_to_progr <= '0'; on_state <= '1'; --mode1_1 <= '1'; η τρέχουσα κατάσταση των modes --mode2_1 <= '1'; assert( mode_select = '1' ) report " Eπιλογή Μη Προγραµµατιζόµενης Συσκευής" severity Note; if ( data_control(1) = '1') then if (clock1 = '1' and clock1'event) then end if; flag_off_nonpr <= '1'; elsif ( data_control(0) = '1') then 48

49 flag_off_nonpr <= '0'; current_status <= ON1; mode1_1 <= '1'; mode2_1 <= '1'; chng_to_progr <= '0'; on_state <= '1'; end if; if (flag_off_nonpr = '1') then end if; current_status <= OFF; mode1_1 <= '0'; mode2_1 <= '0'; chng_to_progr <= '1'; on_state <= '0'; end if; end process; end behavioral; 49

50 6.3 DATACONTROL Στο κεφάλαιο αυτό θα παρουσιαστεί ο τελικός σχεδιασµός της Datacontrol. Η σχεδιαστική δοµή αναπτύσσεται σε structural δοµή και περιλαµβάνει την υποµονάδα Data_Control_Cmp και δύο υποµονάδες Devidef, όπως παρουσιάστηκαν παραπάνω. Η εξωτερική δοµή της τελικής σχεδιαστικής οντότητας Datacontrol εικονίζεται µε τις θύρες και τις εσωτερικές υποµονάδες της στο ακόλουθο σχήµα. DataControl button1 data_control button2 clk_out clk_outd reset reset1x Devidef clk count clock2 count1 DataControl _Cmp button3 mode1_1 mode2_1 clk_outd clk clock2 on_state reset Devidef count count2 rst1 rst2 ΣΧΗΜΑ 6.9 DataControl Παρατίθεται κάτωθι ο κώδικας ΗDL, της οντότητας σε δοµή structural. --DataControl library ieee; use ieee.std_logic_1164.all; library work; use work.all; entity DataControl is port ( data_control : in std_logic_vector( 7 downto 0 ) ; 50

51 clk_out : in std_logic; button1, button2, button3, mode1_1, mode2_1, on_state end DataControl; : out std_logic); architecture structural of DataControl is component DataControl_Cmp port ( data_control : in std_logic_vector( 7 downto 0 ) ; clock1,clock2 : in std_logic; count1 : in integer range 0 to 38; count2 : in integer range 0 to 50 ; button1,button2,button3, mode1_1, mode2_1,rst1, rst2, on_state : out std_logic); end component; component Devidef generic ( n: integer ); port ( clk_outd,reset : in std_logic; clk : buffer std_logic; count : out integer range 0 to n ); end component; signal clk1x : std_logic; signal clk2x : std_logic; signal count1x : integer range 0 to 38; signal count2x : integer range 0 to 50; signal reset1x : std_logic; signal reset2x : std_logic; begin DW: DataControl_Cmp port map ( data_control, clk1x,clk2x, count1x, count2x, button1, button2, button3, mode1_1, mode2_1, reset1x, reset2x, on_state ); DF1: Devidef generic map ( n => 38) port map (clk_out, reset1x, Clk1x, count1x); DF2: Devidef generic map ( n => 50) port map (clk_out, reset2x, Clk2x, count2x); end structural; 51

52 Εξοµοιώσαµε την παραπάνω µονάδα στο V-SYSTEM ώστε να δούµε την απόκρισή του στα ερεθίσµατα της εισόδου Data_Control. Η πρώτη εξοµοίωση αφορά την απόκριση της µη προγραµµατιζόµενης συσκευής. Οι καταστάσεις που θέλουµε να διασταυρώσουµε είναι µόνο οι ΟΝ και OFF, καθώς και η δυνατότητα εναλλαγής του mode. Λάβαµε τις εικονιζόµενες κυµατοµορφές για τα εξής ερεθίσµατα: --επιλογή mode data_controlx(5) <= '1' after 100 ms, '0' after 600 ms; data_controlx(6) <= '1' after 100 ms, '0' after 600 ms; --on data_controlx(0) <= '1' after 200 ms; --off data_controlx(1) <= '1' after 300 ms, '0' after 400 ms, '1' after 500 ms; 0 ms 250 ms 500 ms ΣΧΗΜΑ 6.10 Εξοµοίωση Μη Προγραµµατιζόµενου µοντέλου Από την παρατήρηση των κυµατοµορφών διαπιστώνουµε, τα κάτωθι: Η συσκευή αρχικοποιείται σε κατάσταση OFF και επιλέγεται η προγραµµατιζόµενη έκδοσή της. ( εν δόθηκε κανένα ερέθισµα στα πρώτα 100ms). Οι έξοδοι mode1_1, mode2_1 αποκρίνονται όπως περιγράψαµε, ενώ τα button1, button2 δεν λαµβάνουν καµία απόκριση σε καταστάσεις ΟΝ και OFF µιας και έχει επιλεχθεί η µη προγραµµατιζόµενη έκδοση. Η εναλλαγή των ON και OFF καταστάσεων γίνεται όπως περιµέναµε. Η δυνατότητα αλλαγής του mode της συσκευής, που µεταφράζεται στην τιµή των σηµάτων chng_to_nprog και chng_to_prog (για 1 υπάρχει δυνατότητα αλλαγής του mode σε προγραµµατιζόµενη και µη, αντίστοιχα) είναι η επιθυµητή. Παραθέτουµε την εξοµοίωση του προγραµµατιζόµενου µοντέλου, για την απόκρισή του στις καταστάσεις ΟΝ-OFF. Η εξοµοίωση έγινε βάση των κάτωθι ερεθισµάτων της εισόδου data_control. 52

53 --ON1 data_controlx(0) <= '1' after 100 ms; --OFF data_controlx(1) <= '1' after 1080 ms, '0' after 1500 ms; --UP data_controlx(2) <= '1' after 300 ms; --DOWN data_controlx(3) <= '1' after 500 ms; --ENTER data_controlx(4) <= '1' after 700 ms; --NO_ENTER data_controlx(7) <= '1' after 900 ms; 0 ms 1 sec 2 sec ΣΧΗΜΑ 6.11 Συµπεριφορά Προγραµµατιζόµενου µοντέλου στις καταστάσεις ON - OFF Επιβεβαιώθηκαν τα κάτωθι: Η οντότητα θα βρεθεί σε κατάσταση ΟΝ αν και µόνον αν data_control(0) <= 1 και data_control(1) <= 0 για διάστηµα µεγαλύτερο του 1 sec (επιλέχθηκε µεγαλύτερος χρόνος από 0,8 sec για την εξουδετέρωση τυχών καθυστερήσεων στην οδήγηση της συσκευής). Σε κατάσταση OFF καµία επίδραση στη µεταβολή της δεν έχει η επιβολή οποιουδήποτε bit στο λογικό 1,εκτός βέβαια του data_control(0). Μία τελευταία εξοµοίωση θα περιλαµβάνει τη δυνατότητα προσπέλασης όλων των δυνατών καταστάσεων του υπό µελέτη µοντέλου. Η γεννήτρια ερεθισµάτων είναι η ακόλουθη: --ON1 53

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Ρόλος των γλωσσών περιγραφής υλικού σε μια τυπική ροή σχεδίασης: Documentation Simulation Synthesis Οι γλώσσες περιγραφής υλικού μπορούν να

Διαβάστε περισσότερα

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL) Προσοµοίωση Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Μηχανές Πεπερασμένων Καταστάσεων Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ

Διαβάστε περισσότερα

Κυκλωμάτων» Χειμερινό εξάμηνο

Κυκλωμάτων» Χειμερινό εξάμηνο «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 VHDL, Χαρακτηριστικά και τρόποι περιγραφής Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ http://diceslab.cied.teiwest.gr

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Γενικά χαρακτηριστικά, σύνταξη και τύποι Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Περίγραµµα διάλεξης Τι είναι η VHDL? Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL) Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη

Διαβάστε περισσότερα

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα

Διαβάστε περισσότερα

VHDL Εισαγωγικές έννοιες

VHDL Εισαγωγικές έννοιες VHDL Εισαγωγικές έννοιες ρ. Κ. Καραφασούλης ckaraf@aegean.gr Σχεδίαση Αρχικά ψηφιακά κυκλώµατα µπορούν να σχεδιασθούν µε το κατάλληλο λογισµικό. Μεγαλύτερα κυκλώµατα µπορούν να σχεδιασθούν ιεραρχικά από

Διαβάστε περισσότερα

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Περίγραµµα διάλεξης Υποκυκλώµατα Περιγραφή δοµής στη VHDL Βιβλιοθήκες

Διαβάστε περισσότερα

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος

Διαβάστε περισσότερα

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Αγαθοκλής Παπαδόπουλος και Δρ. Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

Διαβάστε περισσότερα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης

Διαβάστε περισσότερα

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ Β. Verification

ΠΑΡΑΡΤΗΜΑ Β. Verification ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι απαριθμητές ή μετρητές (counters) είναι κυκλώματα που

Διαβάστε περισσότερα

Σχεδίαση Ψηφιακών Συστημάτων

Σχεδίαση Ψηφιακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 6: Σύγχρονα Ακολουθιακά Κυκλώματα Κυριάκης Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ατζέντα 1. Στόχοι 3

Διαβάστε περισσότερα

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Περιγραφή Κυκλωμάτων με χρήση της VHDL Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Οργάνωση Παρουσίασης Περιγραφή Δομής σε VHDL (Structural Description) Μηχανές Πεπερασμένων Καταστάσεων

Διαβάστε περισσότερα

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης

Διαβάστε περισσότερα

Εισαγωγή στη VHDL Υλοποίηση στο Quartus

Εισαγωγή στη VHDL Υλοποίηση στο Quartus ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκοντες: Δρ. Γιώργος Ζάγγουλος και Δρ. Παναγιώτα Μ. Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη VHDL Processes Εντολές If-Then Then-Else και CASE Περιγραφή Flip-Flop Flop με VHDL

Διαβάστε περισσότερα

Σχεδίαση Ψηφιακών Συστημάτων

Σχεδίαση Ψηφιακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 2: Βασικές Μονάδες Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες

Διαβάστε περισσότερα

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ

Διαβάστε περισσότερα

Structural VHDL. Structural VHDL

Structural VHDL. Structural VHDL Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected inputs Generic map command Generate command Configuration Παράδειγμα 4-bit Adder

Διαβάστε περισσότερα

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Περιγραφή Κυκλωμάτων με χρήση της VHDL Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Οργάνωση Παρουσίασης VHDL εισαγωγικές έννοιες Ροή και επίπεδα σχεδιασμού ψηφιακών κυκλωμάτων Μοντελοποίηση Καθυστερήσεων

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ᄃ Σχεδίαση Ψηφιακών Συστημάτων Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές

Διαβάστε περισσότερα

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH. ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Σχεδίαση Ψηφιακών Συστημάτων

Σχεδίαση Ψηφιακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 4: Σχεδιασμός Σειριακού Αθροιστή Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Καταχωρητές - Απαριθμητές Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

Διαβάστε περισσότερα

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής VHDL Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής Structural (Δομική) Dataflow (Ροής δεδομένων) Behavioral (Συμπεριφοράς) Η VDHL χρησιμοποιείται για την περιγραφή

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΗΛΕΚΤΡΟΝΙΚΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΟΜΑ Α Α Αριθµητική Λογική Μονάδα των 8-bit 1. Εισαγωγή Γενικά µια αριθµητική λογική µονάδα (ALU, Arithmetic Logic Unit)

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 10 ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ

ΑΣΚΗΣΗ 10 ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ ΑΣΚΗΣΗ ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Στόχος της άσκησης: Η διαδικασία σχεδίασης σύγχρονων ακολουθιακών κυκλωμάτων. Χαρακτηριστικό παράδειγμα σύγχρονων ακολουθιακών κυκλωμάτων είναι οι σύγχρονοι μετρητές. Τις αδυναμίες

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 216-217 Συντρέχων Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

Ασύγχρονοι Απαριθμητές. Διάλεξη 7

Ασύγχρονοι Απαριθμητές. Διάλεξη 7 Ασύγχρονοι Απαριθμητές Διάλεξη 7 Δομή της διάλεξης Εισαγωγή στους Απαριθμητές Ασύγχρονος Δυαδικός Απαριθμητής Ασύγχρονος Δεκαδικός Απαριθμητής Ασύγχρονος Δεκαδικός Απαριθμητής με Latch Ασκήσεις 2 Ασύγχρονοι

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS)

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS) ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS) Αντικείμενο της άσκησης: H σχεδίαση και η χρήση ασύγχρονων απαριθμητών γεγονότων. Με τον όρο απαριθμητές ή μετρητές εννοούμε ένα ακολουθιακό κύκλωμα με FF, οι καταστάσεις

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι σύγχρονοι μετρητές υλοποιούνται με Flip-Flop τύπου T

Διαβάστε περισσότερα

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 ) ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 9 ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των απαριθµητών. Υλοποίηση ασύγχρονου απαριθµητή 4-bit µε χρήση JK Flip-Flop. Κατανόηση της αλλαγής του υπολοίπου

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Προχωρημένα Θέματα Σχεδιασμού με VHDL Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

Διαβάστε περισσότερα

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ,

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016 2017 Χ. Βέργος Καθηγητής ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Σκοπός της φετινής εργασίας εξαμήνου είναι η σχεδίαση ενός Συστήματος Απεικόνισης Χαρακτήρων

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Χ. Βέργος Καθηγητής

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Χ. Βέργος Καθηγητής ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013 2014 Χ. Βέργος Καθηγητής ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Σκοπός της φετινής εργασίας εξαμήνου είναι η σχεδίαση ενός Συστήματος Απεικόνισης Χαρακτήρων

Διαβάστε περισσότερα

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

Διαβάστε περισσότερα

Εισαγωγή στη Γλώσσα VHDL

Εισαγωγή στη Γλώσσα VHDL Εισαγωγή στη Γλώσσα VHDL Παράδειγμα and3 Entity και Architecture Entity Entity - Παραδείγματα Architecture VHDL simulation παραδείγματος and3 Παράδειγμα NAND VHDL simulation παραδείγματος nand Boolean

Διαβάστε περισσότερα

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού 7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού Εισαγωγή Η χειρονακτική σχεδίαση ενός ψηφιακού συστήµατος είναι εξαιρετικά δύσκολη και επιρρεπής σε λάθη Συστήµατα που ξεπερνούς τις µερικές

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2 η N-MOS ΚΑΙ P-MOS TRANSISTOR ΩΣ ΔΙΑΚΟΠΤΗΣ

ΑΣΚΗΣΗ 2 η N-MOS ΚΑΙ P-MOS TRANSISTOR ΩΣ ΔΙΑΚΟΠΤΗΣ ΑΣΚΗΣΗ 2 η N-MOS ΚΑΙ P-MOS TRANSISTOR ΩΣ ΔΙΑΚΟΠΤΗΣ ΘΕΩΡΙΑ 1. Εργαλεία εξομοίωσης, SPICE, αρχεία περιγραφής κυκλωμάτων (netlist) (Παρ. 3.4, σελ 152-155) 2. To transistor ως διακόπτης, πύλη διέλευσης. (Παρ

Διαβάστε περισσότερα

H γλώσσα περιγραφής κυκλωµάτων VHDL

H γλώσσα περιγραφής κυκλωµάτων VHDL H γλώσσα περιγραφής κυκλωµάτων VHDL Καβουσιανός Χρ. Τσιατούχας Γ. Λέκτορες Πανεπιστηµίου Ιωαννίνων (Peter Ashenden, The Students Guide to VHDL) Γενικά VHDL = VHSIC (Very High Speed Integrated Circuits)

Διαβάστε περισσότερα

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

Διαβάστε περισσότερα

Το κύκλωμα σε breadboard

Το κύκλωμα σε breadboard Φύλλο εργασίας 8 - Ανιχνευτής απόστασης Σε αυτήν τη δραστηριότητα θα κατασκευάσουμε έναν ανιχνευτή απόστασης. Θα χρησιμοποιήσουμε τον αισθητήρα υπερήχων (ή απόστασης) HC-SR04 για τον υπολογισμό της απόστασης.

Διαβάστε περισσότερα

Library, package και subprograms

Library, package και subprograms Library, package και subprograms Libraries Packages Subprograms Procedures Functions Overloading Αριθμητικά πακέτα Type conversion Shift operators Παράδειγμα Library - Package Ασκήσεις-Προβλήματα 12/8/2009

Διαβάστε περισσότερα

Σύγχρονοι Απαριθμητές. Διάλεξη 8

Σύγχρονοι Απαριθμητές. Διάλεξη 8 Σύγχρονοι Απαριθμητές Διάλεξη 8 Δομή της διάλεξης Εισαγωγή Σύγχρονος Δυαδικός Απαριθμητής Σύγχρονος Δεκαδικός Απαριθμητής Προγραμματιζόμενοι Απαριθμητές Ασκήσεις 2 Σύγχρονοι Απαριθμητές Εισαγωγή 3 Εισαγωγή

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ Τεχνικών Σχολών, Θεωρητικής Κατεύθυνσης

Διαβάστε περισσότερα

Μοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL)

Μοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL) Μοντελοποίηση Επιπέδου Πύλης (Peter Ashenden, The Students Guide to VHDL) Πολλαπλά Επίπεδα Τιµών Η κατάσταση µίας γραµµής δεν είναι πάντα 0 ή 1. ιαµάχες οδηγούν σε απροσδιοριστία. Χρήση πολλαπλών επιπέδων

Διαβάστε περισσότερα

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 3 -i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων Περίληψη Αρχές σχεδιασµού Ιεραρχία σχεδιασµού Σχεδιασµός

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ. ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος

Διαβάστε περισσότερα

Σχεδίαση Ψηφιακών Συστημάτων

Σχεδίαση Ψηφιακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 1: Εισαγωγή - Ιστορία Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες

Διαβάστε περισσότερα

ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ

ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Τμήμα Ηλεκτρολόγων Μηχανικών Εργαστήριο Ενσύρματης Τηλεπικοινωνίας ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Μάθημα 10: Ασύχρονα ακολουθιακά κυκλώµατα (µερος Α ) Διδάσκων: Καθηγητής Ν. Φακωτάκης Ασύγχρονα ακολουθιακά κυκλώµατα

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων Σε αυτήν τη δραστηριότητα θα κατασκευάσουμε ένα αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων. Εκτός από τον μικροελεγκτή Arduino, το breadboard,

Διαβάστε περισσότερα

ΨΗΦΙΑΚΗ ΣΥΣΚΕΥΗ ΑLARM Μοντέλο ALU-AP

ΨΗΦΙΑΚΗ ΣΥΣΚΕΥΗ ΑLARM Μοντέλο ALU-AP ΨΗΦΙΑΚΗ ΣΥΣΚΕΥΗ ΑLARM Μοντέλο ALU-AP Περιγραφή Η συσκευή ALU-AP διαθέτει τα εξής χαρακτηριστικά: 1. Προγραμματίζεται σε MASTER ή SLAVE λειτουργία. 2. Συνδέεται σε δίκτυο RS485 με άλλες συσκευές με δυο

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΑΣΚΗΣΗ 9. Tα Flip-Flop ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

Διαβάστε περισσότερα

VHDL Introduction. Subtitle

VHDL Introduction. Subtitle VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει

Διαβάστε περισσότερα

VERILOG. Γενικά περί γλώσσας

VERILOG. Γενικά περί γλώσσας VERILOG Γενικά περί γλώσσας Χρησιµότητα της Verilog Υψηλού επιπέδου περιγραφή της συµπεριφοράς του συστήµατος µε σκοπό την εξοµοίωση. RTL περιγραφή της λειτουργίας του συστήµατος µε σκοπό τη σύνθεσή του

Διαβάστε περισσότερα

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι Περιγραφή Κυκλωμάτων με χρήση της VHDL Καταχωρητές και χρονισμός με ρολόι Οργάνωση Παρουσίασης Διεργασίες (κανόνες) Ακολουθιακές Δηλώσεις (Sequential Statements) Καταχωρητές και χρονισμός Συμπληρωματική

Διαβάστε περισσότερα

5.1 Θεωρητική εισαγωγή

5.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ΚΩ ΙΚΟΠΟΙΗΣΗ BCD Σκοπός: Η κατανόηση της µετατροπής ενός τύπου δυαδικής πληροφορίας σε άλλον (κωδικοποίηση/αποκωδικοποίηση) µε τη µελέτη της κωδικοποίησης BCD

Διαβάστε περισσότερα

Σχεδίαση µε CAD tools

Σχεδίαση µε CAD tools Σχεδίαση µε CAD tools Χρ. Καβουσιανός Επίκουρος Καθηγητής Εισαγωγή Σχεδίασης Σύγχρονες Απαιτήσεις Σχεδίασης Χρήση Αυτόµατων Εργαλείων (EDA) Εισαγωγή Σχεδίασης (design entry): Περιγραφή συστήµατος στην

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Συστημάτων με τεχνικές VLSI Χειμερινό Εξάμηνο 2015 FSM

Διαβάστε περισσότερα

Κυκλωμάτων» Χειμερινό εξάμηνο

Κυκλωμάτων» Χειμερινό εξάμηνο «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Εισαγωγή στα Συστήματα Ολοκληρωμένων Κυκλωμάτων Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής http://diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

Ψηφιακά Ηλεκτρονικά. Προαιρετική εργασία

Ψηφιακά Ηλεκτρονικά. Προαιρετική εργασία Τ.Ε.Ι. ΑΘΗΝΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΙΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Ψηφιακά Ηλεκτρονικά Προαιρετική εργασία «Κατασκευή δυαδικού απαριθμητή με δεκαδική απεικόνιση δεκάδων και μονάδων» Συνυπεύθυνος

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u Εφαρμογή 1: Το ρομπότ INTELITEK ER-2u Εργαστήριο Ευφυών Συστημάτων και Ρομποτικής Τμήμα Μηχανικών Παραγωγής και Διοίκησης Πολυτεχνείο Κρήτης www.robolab.tuc.gr, τηλ: 28210 37292 / 37314 e-mail: savas@dpem.tuc.gr,

Διαβάστε περισσότερα

ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων

ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων Γιώργος Δημητρακόπουλος Μονάδες επεξεργασίας δεδομένων και ο έλεγχος τους Δόμηση σύνθετων κυκλωμάτων 1. Γενική περιγραφή

Διαβάστε περισσότερα

AC-10S, AC- 10F. Πληκτρολόγια Access Control Για αυτόνοµη (stand alone) λειτουργία.

AC-10S, AC- 10F. Πληκτρολόγια Access Control Για αυτόνοµη (stand alone) λειτουργία. AC-10S, AC- 10F Πληκτρολόγια Access Control Για αυτόνοµη (stand alone) λειτουργία. ΕΠΙΤΟΙΧΟ ΕΝΤΟΙΧΙΖΟΜΕΝΟ Ο ΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΣΟΧΗ: Ένας τόνος (beep) και το πράσινο LED να ανάβει

Διαβάστε περισσότερα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο 2006-2007 Εκφώνηση Εργαστηρίου Στο εργαστήριο του µαθήµατος σας ζητείται να σχεδιάσετε, να υλοποιήσετε και να επαληθεύσετε

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Τύποι Δεδομένων και Τελεστές Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr Αντίρριο

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές... Περιεχόμενα Πρόλογος... XI Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA... 1 1.1 Εισαγωγή... 1 1.2 Βασικές Αρχές... 1 1.2.1 Boolean Άλγεβρα... 1 1.2.2 Σχηματικά και Λογικά Σύμβολα... 6 1.3 Ψηφιακή Σχεδίαση

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΠΡΑΚΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Αυτοματισμοί και

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΙΚΤΥΩΝ Τοµέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ232 - Ψηφιακή Σχεδίαση µε CAD ΙΙ Design Flow Simulation - Synthesis

Διαβάστε περισσότερα