χεδιαςμόσ και υλοποίθςθ ςυςτιματοσ ςε προγραμματιηόμενθ ψθφίδα (System-on-a-chip) µε βάςθ τον επεξεργαςτι Nios II

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

Download "χεδιαςμόσ και υλοποίθςθ ςυςτιματοσ ςε προγραμματιηόμενθ ψθφίδα (System-on-a-chip) µε βάςθ τον επεξεργαςτι Nios II"

Transcript

1 Σ Ε Χ Ν Ο Λ Ο Γ Ι Κ Ο Ε Κ Π Α Ι Ε Τ Σ Ι Κ Ο Ι Ρ Τ Μ Α Ε Ρ Ρ Ω Ν Χ Ο Λ Η Σ Ε Χ Ν Ο Λ Ο Γ Ι Κ Ω Ν Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η & Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Ω Ν χεδιαςμόσ και υλοποίθςθ ςυςτιματοσ ςε προγραμματιηόμενθ ψθφίδα (System-on-a-chip) µε βάςθ τον επεξεργαςτι Nios II Πτυχιακι Εργαςία του Δωρόπουλου ταφρου (1713) Επιβλζπων: Δρ. Ι.Καλόμοιροσ, Επίκουροσ Κακθγθτισ ΕΡΡΕ, ΙΟΤΝΙΟ 2013

2 Βεβαιϊνω ότι είμαι ςυγγραφζασ αυτισ τθσ πτυχιακισ εργαςίασ και ότι κάκε βοικεια τθν οποία είχα για τθν προετοιμαςία τθσ, είναι πλιρωσ αναγνωριςμζνθ και αναφζρεται ςτθν πτυχιακι εργαςία. Επίςθσ ζχω αναφζρει τισ όποιεσ πθγζσ από τισ οποίεσ ζκανα χριςθ δεδομζνων, ιδεϊν ι λζξεων, είτε αυτζσ αναφζρονται ακριβϊσ είτε παραφραςμζνεσ. Επίςθσ βεβαιϊνω ότι αυτι θ πτυχιακι εργαςία προετοιμάςτθκε από εμζνα προςωπικά ειδικά για τισ απαιτιςεισ του προγράμματοσ ςπουδϊν του Σμιματοσ Πλθροφορικισ & Επικοινωνιϊν του Σ.Ε.Ι. ερρϊν. 2/110

3 ΠΕΡΙΛΗΨΗ κοπόσ αυτισ τθσ πτυχιακισ είναι θ αποτφπωςθ διακριτϊν, εφκολα επαναλαμβανόμενων οδθγιϊν για τθν υλοποίθςθ ενςωματωμζνου ςυςτιματοσ ςε προγραμματιηόμενθ ψθφίδα με χριςθ του software επεξεργαςτι Nios II τθσ Altera, για τθν επικοινωνία αυτοφ μζςω ςειριακισ κφρασ και του προγραμματιςμοφ του. Εξερευνικθκαν οι μεκοδολογίεσ ςχεδιαςμοφ υλικοφ (Quartus II, SoPC Builder, Qsys) και λογιςμικοφ (Nios IDE, Nios II SBT for Eclipse) και το πωσ αυτζσ με μια ςυνδυαςτικι ςχεδιαςτικι προςζγγιςθ απαντοφν ςτισ ςφγχρονεσ ανάγκεσ ςχεδιαςμοφ ςυςτθμάτων. Επιτεφχκθκε θ δυνατότθτα προγραμματιςμοφ επί των περιφερειακϊν του και επικοινωνίασ αυτϊν μζςω τθσ ςειριακισ κφρασ και μιασ host εφαρμογισ ςτον υπολογιςτι (εφαρμογι που υλοποιικθκε ςε C++ με χριςθ του Qt5). Σμιματα τθσ πειραματικισ διαδικαςίασ αποτελοφν ο προγραμματιςμόσ του επεξεργαςτι Nios II, θ διαδικαςία επιλογισ περιφερειακϊν, θ ενςωμάτωςθ του ςυςτιματοσ και θ διαμόρφωςθ τθσ προγραμματιηόμενθσ ψθφίδασ απαντϊντασ ςε αρκετά ςχεδιαςτικά προβλιματα. Παρουςιάηεται ςτθ ςυνζχεια θ υλοποίθςθ εφαρμογισ ςε ανϊτερθ γλϊςςα προγραμματιςμοφ C/C++ θ οποία εκτελείται ςτον επεξεργαςτι επιτελϊντασ βαςικζσ λειτουργίεσ επί των περιφερειακϊν και αξιοποιϊντασ τθ ςειριακι επικοινωνία. Σζλοσ υλοποιικθκε Host εφαρμογι ςειριακισ επικοινωνίασ ςε C++ για τισ ανάγκεσ επικοινωνίασ με το ενςωματωμζνο ςφςτθμα. 3/110

4 ABSTRACT The purpose of this project was to imprint discrete, easily repeatable instructions for implementing embedded systems on a programmable chip using the Nios II software processor of Altera, as well as communicating via his serial port and create algorithms to be executed on the processor. Methodologies were explored regarding hardware design (Quartus II, SoPC Builder, Qsys) and software tools (Nios IDE, Nios II SBT for Eclipse) in order to understand how they meet the needs of modern embedded system design interdependent process. We achieved to program Nios II peripherals and communicate with them via the serial port and a host computer application (an application that was implemented in C + + using the Qt5). Parts of the experimental procedure were programming the processor Nios II, the process of selecting peripherals, system integration and configuration of the programmable chip while answering several design problems. Afterwards the implementation of applications in a higher programming language (C/C++) are introduced. These applications are executed on the processor performing basic operations on peripherals using the serial communication. Finally a host application for serial communication was implemented in C++ fulfilling the purpose of communication with the embedded system. 4/110

5 Πίνακασ περιεχομένων ΠΕΡΙΛΗΨΗ... 3 ABSTRACT... 4 ΕΙΑΓΩΓΗ... 9 Κεφάλαιο 1: Ενςωματωμζνα υςτιματα Ειςαγωγι ςτα Ενςωματωμζνα υςτιματα Απαιτιςεισ Ενςωματωμζνων υςτθμάτων Διαφορετικζσ προςεγγίςεισ τθσ υλοποίθςθσ Ενςωματωμζνων υςτθμάτων Κυκλϊματα Προγραμματιηόμενθσ Λογικισ Πίνακεσ Πυλϊν Προγραμματιηόμενοι ςτο πεδίο (FPGA) Ενςωματωμζνα υςτιματα ςε Προγραμματιηόμενεσ Ψθφίδεσ (SoPCs) Οφζλθ χριςθσ SoPC Επεξεργαςτζσ των SoPC Περιφερειακά και Διεπαφζσ - ειριακι επικοινωνία Κεφάλαιο 2: Δομικά χαρακτθριςτικά του υπό ανάπτυξθ ςυςτιματοσ Ειςαγωγι ςτα μζρθ του ςυςτιματοσ Επεξεργαςτισ Nios II Ειςαγωγι ςτον Nios II Περιγραφι χαρακτθριςτικϊν του Nios II Η αναπτυξιακι πλακζτα DE2 τθσ Altera Κεφάλαιο 3: Μεκοδολογίεσ και Εργαλεία χεδίαςθσ SoPC τθσ Altera Ειςαγωγι ςτθ ςχεδίαςθ SoPC Εργαλεία χεδίαςθσ υλικοφ Ενςωματωμζνων υςτθμάτων Quartus II SoPC builder Qsys /110

6 3.3 Εργαλεία ςχεδίαςθσ λογιςμικοφ Ενςωματωμζνων υςτθμάτων Nios II EDS Altera Monitor Program - Debug Client Ομαδοποιθμζνθ διαδικαςία ςχεδιαςμοφ SoPC Κεφάλαιο 4: Διαδικαςία ςχεδιαςμοφ και υλοποίθςθσ του υλικοφ του πειραματικοφ ςυςτιματοσ Περιγραφι του ςυςτιματοσ Quartus II SOPC Builder Ενςωμάτωςθ ςτο Quartus II υγγραφι top-level vhdl Προγραμματιςμόσ του FPGA Κεφάλαιο 5: Διαδικαςία ςχεδιαςμοφ και υλοποίθςθσ του λογιςμικοφ του ςυςτιματοσ Ειςαγωγι ςτθ πλατφόρμα Nios II Software Build Tools for Eclipse χεδίαςθ ςτθ πλατφόρμα Nios II Software Build Tools for Eclipse Τλοποίθςθ πειραματικισ εφαρμογισ ςειριακισ επικοινωνίασ και χριςθσ περιφερειακϊν Qt 5 - Εφαρμογι Εξυπθρετθτι ειριακισ Επικοινωνίασ Παρουςίαςθ τθσ εφαρμογισ Παρουςίαςθ τθσ βιβλιοκικθσ για τθ ςειριακι επικοινωνία ΤΜΠΕΡΑΜΑΣΑ - ΕΠΙΛΟΓΟ ΑΝΑΦΟΡΕ ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΣΗΜΑΣΑ /110

7 Ευρετιριο Εικόνων Εικόνα 1 Αναπτυξιακι Πλακζτα DE2 τθσ Altera [12] Εικόνα 2 SoPC Components Εικόνα 3 τιγμιότυπο του SoPC Builder Εικόνα 4 Nios II EDS Εικόνα 5 Quartus II: Δθμιουργία Project 1/ Εικόνα 6 Quartus II: Δθμιουργία Project 3/ Εικόνα 7 SoPC Builder: Δθμιουργία του Project Εικόνα 8 SoPC Builder: Clocks του ςυςτιματοσ Εικόνα 9 SoPC Builder: On-Chip Memory Εικόνα 10 SoPC Builder: SDRAM Controller Εικόνα 11 SoPC Builder: Nios II Processor Εικόνα 12 SoPC Builder: JTAG UART Εικόνα 13 SoPC Builder: RS Εικόνα 14 SoPC Builder: Output Εικόνα 15 SoPC Builder: Μετονομαςία των LEDs Εικόνα 16 SoPC Builder: Seven Segment Displays Εικόνα 17 SoPC Builder: Ολοκλθρωμζνο φςτθμα Εικόνα 18 Quartus II: Δθμιουργία top-level αρχείου Εικόνα 19 Quartus II: Ενςωμάτωςθ των αρχείων που παριγαγε ο SOPC Builder Εικόνα 20 Quartus II: Import Assignments Εικόνα 21 Quartus II: TimeQuest Timing Analyzer Wizard Εικόνα 22 Quartus II: Χρονικι Ανάλυςθ Εικόνα 23 Quartus II: MegaWizard Plug-In Manager - ALTPLL Εικόνα 24 Quartus II: MegaWizard ALTPLL 3/ Εικόνα 25 Quartus II: MegaWizard ALTPLL 4/ Εικόνα 26 Quartus II: MegaWizard ALTPLL 6/ Εικόνα 27 Quartus II: MegaWizard ALTPLL 10/ Εικόνα 28 Quartus II: Programmer Εικόνα 29 Nios II SBT: Perspectives Εικόνα 30 Nios II SBT: Προςκικθ των Views ςτα Perspectives /110

8 Εικόνα 31 Nios II SBT: Nios II Perspective Εικόνα 32 Nios II SBT: Οδθγόσ δθμιουργίασ Project από Templates Εικόνα 33 Nios II SBT: Παράκυρο του Run Configurations / Καρτζλα Project Εικόνα 34 Nios II SBT: Παράκυρο του Run Configurations / Καρτζλα Target Connection - Μθ ορατι ςυςκευι > Refresh Connections Εικόνα 35 Nios II SBT: BSP Editor Εικόνα 36 Nios II SBT: Οριςμόσ τθσ uart ωσ ςυςκευι ειςόδου/εξόδου Εικόνα 37 Nios II SBT: BSP Editor / Καρτζλα Drivers Εικόνα 38 Ρυκμίςεισ τθσ ςειριακισ επικοινωνίασ ςτθν Host εφαρμογι Tera Term.. 72 Εικόνα 39 Προβολι μθνφματοσ από τον Nios II μζςω ςειριακισ κφρασ Εικόνα 40 Nios II SBT: C2H Compiler Εικόνα 41 τιγμιότυπο Εφαρμογισ ειριακισ επικοινωνίασ Ευρετιριο Πινάκων Πίνακασ 1 φγκριςθ υλοποιιςεων SoC [5] Πίνακασ 2 υγκριςθ του Nios II και του MicroBlaze [6] Πίνακασ 3 υγκριτικι Λίςτα Soft Επεξεργαςτϊν * Πίνακασ 4 φγκριςθ των πυρινων Nios II Πίνακασ 5 Καταχωρθτζσ γενικοφ ςκοποφ Nios II [11] Ευρετιριο χθμάτων χιμα 1 Αρχιτεκτονικι των CPLDs και των FPGA [3] χιμα 2 Αρχιτεκτονικι των FPGA [4] χιμα 3 Παράδειγμα υλοποίθςθσ ςυςτιματοσ με τον Nios II [10] χιμα 4 Block Διάγραμμα του αναπτυξιακοφ DE2 τθσ Altera χιμα 5 Ροι χεδιαςμοφ υςτιματοσ χιμα 6 Απλουςτευμζνθ Ροι χεδιαςμοφ SoPC χιμα 7 Ομαδοποιθμζνθ διαδικαςία ςχεδιαςμοφ SoPC [5] χιμα 8 Περιγραφι του υλικοφ του πειραματικοφ ςυςτιματοσ χιμα 9 Nios II SBT: Διάγραμμα Ροισ πειραματικισ εφαρμογισ /110

9 ΕΙΑΓΩΓΗ Αυτι θ πτυχιακι εργαςία κα επιχειριςει μια πλιρθ αναςκόπθςθ των τεχνολογιϊν που επιτρζπουν τθ δθμιουργία ενςωματωμζνων ςυςτθμάτων ςε προγραμματιηόμενεσ ψθφίδεσ. Για το ςκοπό αυτό υπάρχει αρχικά μια ειςαγωγι ςτα ενςωματωμζνα ςυςτιματα κακϊσ και ανάλυςθ των απαιτιςεων αυτοφ του είδουσ των κυκλωμάτων. Θα περιγραφοφν οι διαφορετικζσ προςεγγίςεισ τθσ υλοποίθςθσ ενςωματωμζνων ςυςτθμάτων και αφοφ γίνει μια ειςαγωγι ςτα κυκλϊματα Προγραμματιηόμενθσ Λογικισ και ςτουσ πίνακεσ Πυλϊν προγραμματιηόμενοι ςτο πεδίο (FPGA) κα οδθγθκοφμε ςτον οριςμό των ενςωματωμζνων ςυςτθμάτων ςε προγραμματιηόμενεσ Ψθφίδεσ (SoPCs). Αφοφ παρουςιαςτοφν και αναλυκοφν τα οφζλθ χριςθσ τουσ ζναντι των παραδοςιακϊν ςυςτθμάτων ςτθ ςυνζχεια κα ακολουκιςει μια μικρι αναςκόπθςθ τθσ εςωτερικισ τουσ δομισ και κα παρατεκεί θ κατθγοριοποίθςθ των επεξεργαςτϊν που χρθςιμοποιοφν. Μετά το κεωρθτικό υπόβακρο κα παρουςιαςτοφν τα τμιματα τθσ προσ ανάπτυξθ εφαρμογισ τθσ πτυχιακισ εργαςίασ. υγκεκριμζνα κα αναλυκοφν τα δομικά χαρακτθριςτικά του υπό ανάπτυξθ ςυςτιματοσ δθλαδι ο software επεξεργαςτισ Nios II και το αναπτυξιακό κφκλωμα DE2. τθ ςυνζχεια αναφζρονται οι μεκοδολογίεσ και τα εργαλεία ςχεδίαςθσ SoPC ξεκινϊντασ από μια ειςαγωγι ςτθ ςχεδίαςθ SoPC και ςτα εργαλεία ςχεδίαςθσ υλικοφ ενςωματωμζνων ςυςτθμάτων και φτάνοντασ ςτα εργαλεία τθσ Altera που χρθςιμοποιικθκαν ςε επίπεδο υλικοφ (Quartus II, SoPC builder, Qsys) αλλά και ςε επίπεδο ςχεδίαςθσ λογιςμικοφ (Nios II EDS). Μετά τθ ςφνδεςθ των όςων αναφζρονται ακολουκεί θ διαδικαςία ςχεδιαςμοφ και υλοποίθςθσ του υλικοφ του πειραματικοφ ςυςτιματοσ αλλά και θ διαδικαςία ςχεδιαςμοφ και υλοποίθςθσ του λογιςμικοφ του εξειδικευμζνου ςυςτιματοσ. Αναλφονται τα βαςικά ςτάδια ςε κάκε μια από αυτζσ τισ φάςεισ ςχεδίαςθσ. Σζλοσ παρουςιάηεται μια εφαρμογι ςειριακισ επικοινωνίασ και θ ςφνδεςθ τθσ με το ολοκλθρωμζνο ςφςτθμα που δθμιουργικθκε. 9/110

10 Κεφάλαιο 1: Ενςωματωμένα υςτήματα 1.1 Ειςαγωγή ςτα Ενςωματωμένα υςτήματα Ο ςτόχοσ τθσ δθμιουργίασ ψθφιακϊν ςυςτθμάτων είναι θ υλοποίθςθ αποδοτικϊν κυκλωμάτων με μικρι κατανάλωςθ ενζργειασ, ελαχιςτοποιθμζνο χρόνο ςχεδίαςθσ και υψθλι απόδοςθ. Σα ενςωματωμζνα ςυςτιματα είναι υπολογιςτικά ςυςτιματα ειδικοφ ςκοποφ. Βρίςκονται ενςωματωμζνα ςε ςυςκευζσ και μποροφν να περιζχουν μζρθ υλικοφ και προγραμματιηόμενα ςτοιχεία, που ςε ςυνδυαςμό με περιφερειακά, υποςτθρίηουν κακοριςμζνεσ λειτουργίεσ. Είναι ςχεδιαςμζνα για να υλοποιοφν μεταξφ άλλων φυςικζσ διαδικαςίεσ με ιδιαίτερα χαμθλό κόςτοσ και κακοριςμζνθ ταχφτθτα επεξεργαςίασ. Ζχουν ςυνικωσ απλοφςτερθ ςχεδίαςθ ςε ςχζςθ με τα ςυςτιματα γενικοφ ςκοποφ, και αυτό τουσ επιτρζπει να ζχουν μικρότερο κόςτοσ. Παρά τθ μικρότερθ υπολογιςτικι ιςχφ και τουσ περιοριςμζνουσ πόρουσ, ςυχνά ανταποκρίνονται ςε απαιτιςεισ πραγματικοφ χρόνου και επιτελοφν τισ λειτουργίεσ τουσ διαρκϊσ, χωρίσ ςφάλματα. Η πολυπλοκότθτά τουσ αυξάνεται όταν εξυπθρετοφν ςκοποφσ εξελιγμζνων ςυςτθμάτων ι είναι μζροσ μεγάλων καταςκευϊν, ενςωματϊνοντασ πολλαπλά ψθφιακά μζρθ, αναλογικά ςτοιχεία και ενςωματωμζνο λογιςμικό. Για τισ ανάγκεσ διαςφνδεςθσ τα ενςωματωμζνα ςυςτιματα χρθςιμοποιοφν διατάξεισ ςειριακισ, παράλλθλθσ και αςφρματθσ επικοινωνίασ. Η ςειριακι επικοινωνία κυρίωσ λόγω του χαμθλοφ κόςτουσ και τθσ απλότθτασ ςχεδίαςθσ κυριαρχεί ακόμα και ςιμερα ςτο χϊρο των ενςωματωμζνων ςυςτθμάτων. Οι ειδικζσ λειτουργίεσ των ενςωματωμζνων ςυςτθμάτων υποςτθρίηονται από ςυςτιματα χρονιςμοφ, απαρικμθτζσ, LCD διαςυνδζςεισ, διεπαφζσ USB, Ethernet και πολλαπλά αναλογικά ςτοιχεία όπωσ αιςκθτιρεσ (φωτόσ, ιχου, κίνθςθσ, πίεςθσ). 10/110

11 Η φφςθ των ενςωματωμζνων ςυςτθμάτων επιβάλει τον διεξοδικό ζλεγχο τθσ λειτουργίασ τουσ πριν τθ παραγωγι και τθν χριςθ τουσ ςε πραγματικζσ ςυνκικεσ. ε αρκετζσ περιπτϊςεισ μετά τθν τοποκζτθςθ τουσ δεν μποροφν να είναι προςβάςιμα από άνκρωπο και άρα είναι αναγκαίο να υπάρχουν μθχανιςμοί αυτοδιόρκωςθσ. Σα ιδιαίτερα αυτά χαρακτθριςτικά τα διαφοροποιοφν από τα ςυςτιματα γενικοφ ςκοποφ. Οι εφαρμογζσ των ενςωματωμζνων ςυςτθμάτων εκτείνονται ςε βιομθχανικοφσ κλάδουσ όπωσ αυτοκινθτοβιομθχανία, αεροδιαςτθμικι, ςε μθχανολογικό, θλεκτρολογικό, τθλεπικοινωνιακό, ιατρικό εξοπλιςμό, ςε ςυςτιματα ςυλλογισ δεδομζνων, ρομποτικά ςυςτιματα, αλλά και ςε πολυμεςικζσ εφαρμογζσ, τεχνθτισ νοθμοςφνθσ και μθχανικισ όραςθσ. Θα μποροφςε να ειπωκεί πωσ ςχεδόν κάκε πτυχι του ςφγχρονου κόςμου χρθςιμοποιεί ςτθν τεχνολογικι τθσ υλοποίθςθ ενςωματωμζνα ςυςτιματα για τθν επίτευξθ εξειδικευμζνων λειτουργιϊν. Λόγω του τεράςτιου εφρουσ τθσ χριςθσ των ενςωματωμζνων ςυςτθμάτων υπάρχουν μόνο εκτιμιςεισ τθσ εξάπλωςθσ τουσ ςτθ παγκόςμια αγορά που κυμαίνονται από 60 ωσ 138δισ ευρϊ [1]. 11/110

12 1.2 Απαιτήςεισ Ενςωματωμένων υςτημάτων Όπωσ περιγράφθκε οι απαιτιςεισ των ενςωματωμζνων ςυςτθμάτων μποροφν να περιλαμβάνουν δυνατότθτα επεξεργαςίασ πραγματικοφ χρόνου χωρίσ ςφάλματα αλλά και εξιςορρόπθςθ μεταξφ κόςτουσ και επιδόςεων με ςτακερό παράγοντα τθ χαμθλι κατανάλωςθ και τθν υψθλι αξιοπιςτία. ε αρκετζσ εφαρμογζσ ενςωματωμζνων ςυςτθμάτων είναι απαραίτθτθ θ, ςυνικωσ χρονικά και ποςοτικά κακοριςμζνθ, αλλθλεπίδραςθ με το περιβάλλον. Οι χρονικοί περιοριςμοί δανειηόμενοι τισ απαιτιςεισ των ςυςτθμάτων πραγματικοφ χρόνου διακρίνονται ςε αυςτθροφσ και χαλαροφσ ανάλογα με τθ διατιρθςθ τθσ χρθςιμότθτασ του ςυςτιματοσ όταν δε καταφζρνει να ανταποκρικεί ςε προκεςμίεσ. Σα ςφγχρονα καταναλωτικά αγακά όπωσ κινθτά, μζςα πολυμεςικισ καταγραφισ, υπολογιςτζσ χειρόσ και πάςθσ φφςθσ ςφγχρονθσ ςυςκευισ ειδικοφ ςκοποφ, απαιτοφν μικρό μζγεκοσ με υψθλι ολοκλιρωςθ και μικρό βάροσ. Τλοποιοφνται ϊςτε να ζχουν τθ μικρότερθ δυνατι κατανάλωςθ και να αποφζρουν το μεγαλφτερο δυνατό κζρδοσ ςτον καταςκευαςτι λόγο χαμθλοφ κόςτουσ καταςκευισ. Κακϊσ ηοφμε ςε μια εποχι εκκετικισ τεχνολογικισ ανάπτυξθσ οι απαιτιςεισ τθσ αγοράσ ςυνδζονται άμεςα με τθν επιςτθμονικι ζρευνα ςτον τομζα των ενςωματωμζνων ςυςτθμάτων. υμπεραςματικά θ πολυπλοκότθτα τουσ απαιτεί τεχνικζσ, μεκοδολογίεσ και εργαλεία ςχεδιαςμοφ που αυτοματοποιοφν και διευκολφνουν διαδικαςίεσ ελζγχου και προτυποποίθςθσ. Οι οικονομικζσ και τεχνολογικζσ αυτζσ επιταγζσ οδιγθςαν ςτθ νζα εποχι ςχεδιαςμοφ ενςωματωμζνων ςυςτθμάτων που ςυνδυάηει το ςχεδιαςμό υλικοφ και λογιςμικοφ ςε πλατφόρμεσ που ενςωματϊνουν και παραλλθλοποιοφν τθ διαδικαςία υλοποίθςθσ. Η μείωςθ του κόςτουσ παραγωγισ προζρχεται από τθ δυνατότθτα επαναχρθςιμοποίθςθσ τμθμάτων κϊδικα υλικοφ και λογιςμικοφ για τθ δθμιουργία ετερογενϊν ςυςτθμάτων εκτεταμζνων λειτουργιϊν. Η εν λόγω ετερογζνεια αυξάνει τθν πολυπλοκότθτα υλοποίθςθσ και τθν ανάγκθ υιοκζτθςθσ προθγμζνων διαδικαςιϊν επαλικευςθσ και μεκοδολογιϊν ανάπτυξθσ. 12/110

13 1.3 Διαφορετικέσ προςεγγίςεισ τησ υλοποίηςησ Ενςωματωμένων υςτημάτων Σα ενςωματωμζνα ςυςτιματα μποροφν να υλοποιιςουν τισ λειτουργίεσ τουσ με ζνα μεγάλο εφροσ τεχνολογιϊν όπωσ μικροελεγκτζσ, μικροεπεξεργαςτζσ, ψθφιακοφσ επεξεργαςτζσ ςιματοσ, διαμορφοφμενεσ διατάξεισ και εξειδικευμζνα ASICs (Application Specific Integrated Circuit). Σο λογιςμικό που εμπεριζχεται κυμαίνεται από προγράμματα εφαρμογϊν ζωσ οδθγοφσ περιφερειακϊν και λειτουργικά ςυςτιματα (ειδικοφ ςκοποφ και ςυνικωσ πραγματικοφ χρόνου RTOS). Σα κυκλϊματα ειδικοφ ςκοποφ (ASICs) παρά τθν υψθλι απόδοςθ και τθ χαμθλι κατανάλωςθ ζχουν ιδιαίτερα υψθλό κόςτοσ. Σο κόςτοσ αυτό αφορά τόςο τθ διαδικαςία παραγωγισ αλλά και αυτι του ςχεδιαςμοφ κακϊσ τα περικϊρια για λανκαςμζνο ςχεδιαςμό είναι μθδαμινά. Εναλλακτικι λφςθ με ζμφαςθ ςτο μικρότερο κόςτοσ ανάπτυξθσ και τθν δυνατότθτα αναπροςαρμογισ ςτισ ανάγκεσ δίνουν οι προγραμματιηόμενεσ διατάξεισ. Οι απαιτιςεισ που περιγράφθκαν οδιγθςαν ςτθν υλοποίθςθ των SoC (system-on-achip) με τθ χριςθ επαναχρθςιμοποιοφμενων ςτοιχείων (IPs Intellectual Property blocks). Σα IPs είναι blocks υλικοφ των οποίων θ λειτουργία ζχει εκτενϊσ επαλθκευτεί, χρθςιμοποιοφνται ταυτόχρονα ςε πολλαπλά ςχζδια ανά τον κόςμο και καλφπτουν ανάγκεσ υλικοφ. Σα εν λόγω blocks υλικοφ περιγράφουν ςτοιχεία όπωσ διεπαφζσ διαςφνδεςθσ, μνιμεσ, επεξεργαςτζσ, ςτοιχεία δικτφωςθσ, μεταςχθματιςμοφ δεδομζνων και πλικοσ άλλων περιφερειακϊν. Η υλοποίθςθ SoC ςε προγραμματιηόμενα ςτοιχεία είναι μια βζλτιςτθ λφςθ ωσ προσ τισ οικονομικζσ, χρονικζσ και ςχεδιαςτικζσ απαιτιςεισ των εξειδικευμζνων ςυςτθμάτων. τα πλαίςια αυτισ τθσ πτυχιακισ κα μασ απαςχολιςει θ δθμιουργία ενςωματωμζνου ςυςτιματοσ με τθ διαμόρφωςθ προγραμματιηόμενθσ ψθφίδασ 13/110

14 ϊςτε να περιλαμβάνει των επεξεργαςτι Nios II και πλικοσ περιφερειακϊν με τθ χριςθ των IP (Intellectual Properties) πακζτων τθσ Altera. 1.4 Κυκλώματα Προγραμματιζόμενησ Λογικήσ Οι προγραμματιηόμενεσ λογικζσ διατάξεισ είναι λογικά κυκλϊματα που εμφανίςτθκαν τθ δεκαετία του εβδομιντα και ονομάηονται PLDs (Programmable Logic Devices). Με διαμόρφωςθ από τον χριςτθ τθσ εςωτερικισ διαςφνδεςθσ των πινάκων τουσ, υλοποιοφςαν ςυγκεκριμζνεσ ςυναρτιςεισ ϊςτε να εκφράηουν οποιαδιποτε ψθφιακι λειτουργία ιταν επικυμθτι [2]. Μεγαλφτερα ςυςτιματα καταςκευάηονται με τα Complex Programmable Logic Devices (CPLDs) που περιζχουν ζνα ςφνολο από PLDs διαςυνδεμζνα μεταξφ τουσ. Σα CPLDs προγραμματίηονται τόςο ςτο επίπεδου του κάκε block PLD, όςο και ςτο επίπεδο τθσ μεταξφ τουσ διαςφνδεςθσ. Μια διαφορετικι προςζγγιςθ τθσ ανάγκθσ ςχεδιαςμοφ προγραμματιηόμενων ςυςτθμάτων υλοποιοφν οι Πίνακεσ Πυλϊν Προγραμματιηόμενοι ςτο πεδίο, τα λεγόμενα FPGA (Field Programmable Gate Arrays). Η αρχιτεκτονικι τουσ [χιμα 1] διαφζρει ωσ προσ τα CPLDs κακϊσ δεν περιζχουν πίνακεσ AND,OR αλλά διαμορφοφμενα λογικά ςτοιχεία, πίνακα διαςυνδζςεων και blocks ειςόδου/εξόδου. χιμα 1 Αρχιτεκτονικι των CPLDs και των FPGA [3] 14/110

15 1.4.1 Πίνακεσ Πυλών Προγραμματιζόμενοι ςτο πεδίο (FPGA) H αρχιτεκτονικι των FPGA εμπεριζχει λογικά blocks, blocks ειςόδου εξόδου και κανάλια διαςφνδεςθσ. Σα λογικά blocks αποτελοφνται από Look Up Tables, ςτοιχεία μνιμθσ και ειδικά ςυςτιματα αρικμθτικισ υποςτιριξθσ *4+. Ενςωματϊνονται ςε μια κάλαςςα καναλιϊν διαςφνδεςθσ με προγραμματιηόμενουσ διακόπτεσ ϊςτε να υλοποιοφν τθν επικυμθτι λογικι *χιμα 2]. Σα FPGA ζχουν αυξθμζνεσ επιδόςεισ και μζγεκοσ αποτφπωςθσ ψθφιακισ λογικισ. Ενεργό πεδίο ζρευνασ αποτελεί θ καλφτερθ κατανάλωςθ ενζργειασ, οι μικρότερεσ χρονικζσ κακυςτεριςεισ, και το κόςτοσ. Σο υψθλά αφαιρετικό επίπεδο που επιτρζπουν τα ςφγχρονα περιβάλλοντα ςχεδίαςθσ των FPGA είναι ςθμαντικόσ παράγοντασ του γριγορου ςχεδιαςμοφ ολοκλθρωμζνων ςυςτθμάτων. Μεγάλο ερευνθτικό ενδιαφζρον παρουςιάηει και θ βελτιςτοποίθςθ του χρόνου προγραμματιςμοφ των διατάξεων ϊςτε να αντιπροςωπεφουν νζεσ λειτουργίεσ. Για το ςκοπό αυτό υπάρχουν λφςεισ που περιλαμβάνουν τθ δθμιουργία αρκρωτϊν τμθμάτων (modular design) με ςκοπό τθν επαναχρθςιμοποίθςθ τουσ και τθν αποτφπωςθ διαφορετικϊν λογικϊν επιτρζποντασ τθ δυναμικι εναλλαγι ανάμεςα ςε αυτζσ (content switching) [4]. χιμα 2 Αρχιτεκτονικι των FPGA [4] 15/110

16 Διαφορά των FPGA με τα CPLD είναι και ο τρόποσ προγραμματιςμοφ τουσ. τα FPGA ο προγραμματιςμόσ τουσ βαςίηεται ςε μνιμεσ SRAM και όχι ςε τθκόμενεσ ςυνδζςεισ. το παρελκόν τα FPGA είχαν μεγαλφτερεσ απαιτιςεισ ςε ενζργεια ςε ςχζςθ με τα αντίςτοιχεσ υλοποιιςεισ ςε ASICs και μικρότερεσ αποδόςεισ. Η εξζλιξθ των τεχνολογιϊν που τα ςυνοδεφει ζχει εκμθδενίςει αυτζσ τισ διαφορζσ ενϊ ζχει αναδειχκεί θ αξία του επαναπρογραμματιςμοφ και του γριγορου ςχεδιαςμοφ. Σα ςφγχρονα FPGA ενςωματϊνουν ςτισ αναπτυξιακζσ τουσ πλατφόρμεσ περιφερειακά, μνιμεσ, ενςωματωμζνουσ επεξεργαςτζσ και άλλα κυκλϊματα ειδικοφ ςκοποφ. Επιτυγχάνεται ζτςι θ αφξθςθ των δυνατοτιτων τουσ δθμιουργϊντασ υβριδικά ςυςτιματα που ςυνδυάηουν τθ χριςθ υλικοφ με επαναπρογραμματιηόμενα ςτοιχεία. Για τον προγραμματιςμό των FPGA γίνεται χριςθ των γλωςςϊν περιγραφισ υλικοφ HDL (Hardware Description Language) ι ςχθματικι περιγραφι του ςυςτιματοσ. Οι γλϊςςεσ περιγραφισ υλικοφ που χρθςιμοποιοφνται είναι θ VHDL και θ Verilog παρζχοντασ ζνα αφαιρετικό επίπεδο ςτον ςχεδιαςτι του ςυςτιματοσ Δίνουν τθ δυνατότθτα υλοποίθςθσ των ολοκλθρωμζνων κυκλωμάτων με περιγραφι τθσ επικυμθτισ λογικισ και χρονικισ ςυμπεριφοράσ και αρχιτεκτονικισ τουσ. Οι εταιρίεσ που κυριαρχοφν ςτον χϊρο των FPGA είναι θ Altera και θ Xilinx με τισ αντίςτοιχεσ οικογζνειεσ FPGA FLEX και XC. τα πλαίςια τθσ πτυχιακισ εργαςίασ κα χρθςιμοποιθκεί θ αναπτυξιακι πλακζτα DE2 τθσ οικογζνειασ Cyclone II τθσ Altera. 16/110

17 1.5 Ενςωματωμένα υςτήματα ςε Προγραμματιζόμενεσ Ψηφίδεσ (SoPCs) Ο ςχεδιαςμόσ των παραδοςιακϊν system-on-a-chip απαιτεί τθν υλοποίθςθ ι τθ χριςθ ολοκλθρωμζνων κυκλωμάτων ειδικοφ ςκοποφ. Αυτόσ ο τρόποσ υλοποίθςθσ ζχει μεγάλο κόςτοσ, απαγορευτικό για οικονομικά περιοριςμζνα ζργα ι είναι ανεπαρκισ, λόγω τθσ ςτατικισ του φφςθσ, για ζργα με δυναμικό εφροσ απαιτιςεων υλικοφ. Μια εναλλακτικι ςχεδίαςθ system-on-a-chip επιτρζπει τθ χριςθ FPGA που περιζχουν λογικά ςτοιχεία και μνιμθ, ςε ςυνδυαςμό με επεξεργαςτζσ λογιςμικοφ (IP) και άλλα περιφερειακά, για τθ γριγορθ και ευζλικτθ δθμιουργία ενςωματωμζνων ςυςτθμάτων που ονομάηονται SoPC (system-on-a-programmablechip). Ο παρακάτω πίνακασ [Πίνακασ 1] παρουςιάηει τθ ςφγκριςθ των SoPC, ASIC και Fixed-Processor υλοποιιςεων ωσ προσ τθν ευελιξία υλικοφ, λογιςμικοφ, δυνατότθτα επαναπρογραμματιςμοφ, κόςτοσ χρόνου ςχεδίαςθσ, κόςτοσ περιφερειακϊν, απόδοςθ, κόςτοσ παραγωγισ και κατανάλωςθσ. Πίνακασ 1 φγκριςθ υλοποιιςεων SoC [5] 17/110

18 Αδιαμφιςβιτθτα οι ςθμαντικότεροι παράγοντεσ ςτθ δθμιουργία υλικοφ είναι θ απόδοςθ, θ κατανάλωςθ και το κόςτοσ παραγωγισ. Λόγω τθσ εκκετικισ τεχνολογικισ εξζλιξθσ των μζςων υλοποίθςθσ SoC οι διαφορζσ τείνουν να ιςορροπθκοφν με κφρια διαφοροποίθςθ να παραμζνει θ δυνατότθτα ι μθ επαναπρογραμματιςμοφ. Κάποιεσ από τισ κατατάξεισ του παραπάνω πίνακα [Πίνακασ 1+ δεν είναι πλζον αντιπροςωπευτικζσ των ςφγχρονων ολοκλθρωμζνων που ανικουν ςε αυτζσ τισ κατθγορίεσ, επιβεβαιϊνοντασ ζτςι τθν αλματϊδθ ανάπτυξθ και ςθμαντικι ζρευνα που υφίςταται ςτον τομζα των ενςωματωμζνων ςυςτθμάτων. Σα νεότερα ASICs προςπακοφν να ενςωματϊςουν πυρινεσ FPGA ςτον ςχεδιαςμό τουσ για να υποςτθρίξουν λειτουργίεσ δυναμικοφ επαναπρογραμματιςμοφ. Αντίςτοιχα τα FPGA ζχουν κάνει αλματϊδθ πρόοδο ςτο τομζα τθσ απόδοςθσ και τθσ κατανάλωςθσ ενζργειασ. Παραςκευάηονται επίςθσ υβριδικζσ πλατφόρμεσ που ζχουν ενςωματωμζνο υλικό όπωσ μικροεπεξεργαςτζσ αλλά και προγραμματιηόμενα λογικά ςτοιχεία Οφέλη χρήςησ SoPC Σο κφριο όφελοσ τθσ χριςθσ των SoPCs είναι θ δυνατότθτα επαναπρογραμματιςμοφ του υλικοφ. Η ευζλικτθ διαδικαςία ςχεδιαςμοφ τουσ επιτρζπει τθν δυναμικι επιλογι χαρακτθριςτικϊν και τθν εφκολθ αλλαγι τουσ ςε οποιοδιποτε ςτάδιο του κφκλου ςχεδίαςθσ. Παραδείγματα τζτοιων αλλαγϊν κα μποροφςε να είναι θ χριςθ περιφερειακϊν των οποίων θ ανάγκθ εμφανίςτθκε ςε διαφορετικι χρονικι ςτιγμι από αυτι του αρχικοφ ςχεδιαςμοφ, όπωσ αλλαγζσ ςτα πρωτόκολλα επικοινωνίασ και ςτισ διεπαφζσ διαςφνδεςθσ. τα παραδοςιακά SoC τζτοιου είδουσ αλλαγζσ μπορεί να ςιμαιναν τθν εξολοκλιρου διαφοροποίθςθ του υλικοφ που ζπρεπε να χρθςιμοποιθκεί, όπωσ θ επιλογι μικροεπεξεργαςτι, με αποτζλεςμα τθν μεγάλθ κακυςτζρθςθ ςτο χρονοδιάγραμμα ςχεδιαςμοφ ι και τθν εξολοκλιρου αδυναμία υποςτιριξθσ των νζων απαιτιςεων. 18/110

19 Η δυνατότθτα επαναπρογραμματιςμοφ του υλικοφ προεκτείνει τον εν δυνάμει χρόνο ηωισ του ςυςτιματοσ μετά τθν παραγωγι του και επιτρζπει τθ γριγορθ διαφοροποίθςθ του για τθν κάλυψθ παραμετροποιθμζνων αναγκϊν. Ζνα μεγάλο όφελοσ των SoPC είναι θ δυνατότθτα προγραμματιςμοφ του υλικοφ ϊςτε να επιτελεί ρουτίνεσ λογιςμικοφ επαναλαμβανόμενων διεργαςιϊν. Σο τελικό ςφςτθμα επωφελείται από τθν μεγαλφτερθ απόδοςθ ταχφτθτασ τθσ υλοποίθςθσ αυτϊν των ςυναρτιςεων ςε γλϊςςα υλικοφ κακϊσ οι ςυναρτιςεισ μεταφράηονται από γλϊςςεσ προγραμματιςμοφ λογιςμικοφ (π.χ. C) ςε υποςυςτιματα υλικοφ. τθ ςυνζχεια αυτά τα υποςυςτιματα ενςωματϊνονται ςτον ςχεδιαςμό του υλικοφ και προγραμματίηεται το FPGA. Σζλοσ γίνεται χριςθ wrapper ςυναρτιςεων που χρθςιμοποιοφν των επιταχυντι υλικοφ που ζχει δθμιουργθκεί (hardware accelerator) με δυνατότθτεσ παράλλθλθσ επεξεργαςίασ αν οι εξαρτιςεισ δεδομζνων το επιτρζπουν Επεξεργαςτέσ των SoPC Σα SoPC χρθςιμοποιοφν FPGA που υποςτθρίηουν τθν φπαρξθ πυρινων επεξεργαςτϊν που χαρακτθρίηονται ωσ "soft" ι ωσ "hard" επεξεργαςτζσ και κατθγοριοποιοφνται ζτςι ωσ προσ τθ δυνατότθτα παραμετροποίθςθσ, επαναπρογραμματιςμοφ αλλά και του τρόπου υλοποίθςθσ αυτϊν. Hard πυρινεσ επεξεργαςτϊν Οι "hard" επεξεργαςτζσ είναι VLSI κυκλϊματα που ενςωματϊνονται ςτα FPGA και δεν ζχουν μεγάλεσ δυνατότθτεσ παραμετροποίθςθσ. Για τθν υλοποίθςθσ τουσ δε χρθςιμοποιοφν τα λογικά ςτοιχεία του FPGA αλλά υπάρχουν ωσ αυτόνομα κυκλϊματα που ςυνδζονται με το FPGA. Αυτι θ κατθγορία επεξεργαςτϊν μπορεί να επιτφχει μεγαλφτερεσ ταχφτθτεσ επεξεργαςίασ αλλά δεν επιτρζπει τθν παραμετροποίθςθ τουσ ϊςτε να υποςτθρίηουν ςυγκεκριμζνεσ απαιτιςεισ. τα ςφγχρονα ςυςτιματα γίνεται χριςθ των hardware επεξεργαςτϊν ςε ςυνδυαςμό με 19/110

20 soft επεξεργαςτζσ ςτο ίδιο FPGA ϊςτε να επιτφχουμε υβριδικά ςυςτιματα υψθλϊν προδιαγραφϊν ευελιξίασ και αποδόςεων. Soft πυρινεσ επεξεργαςτϊν Οι "soft" πυρινεσ επεξεργαςτϊν υλοποιοφνται με τθν χριςθ επαναχρθςιμοποιιςιμων υποςυςτθμάτων block υλικοφ (IP cores) που περιγράφονται ςε γλϊςςεσ περιγραφισ υλικοφ (HDL), ενςωματϊνονται ςτο ςφςτθμα και χρθςιμοποιοφν τα λογικά ςτοιχεία του FPGA. Ζχουν μικρότερεσ αποδόςεισ ςε ςχζςθ με τουσ "hard" επεξεργαςτζσ αλλά τρομερά αυξθμζνθ δυνατότθτα παραμετροποίθςθσ. Επιτρζπουν τθν ρφκμιςθ τουσ ϊςτε να βελτιςτοποιοφνται ωσ προσ τθν εξειδικευμζνθ λειτουργία που επικυμοφμε. Δίνουν δυνατότθτεσ όπωσ custom instructions με προςκικθ προςαρμοςμζνων εντολϊν ςτον επεξεργαςτι κακϊσ και τθ δυνατότθτα ςυνφπαρξθσ πολλϊν πυρινων ςτο ίδιο FPGA όςο το επιτρζπει θ κατανάλωςθ ςε λογιςτικά ςτοιχεία. ε πολλζσ περιπτϊςεισ υπάρχουν διαφορετικζσ εκδόςεισ για τον ίδιο επεξεργαςτι με διαφοροποιθμζνεσ απαιτιςεισ κατανάλωςθσ ςε λογικά ςτοιχεία και αντίςτοιχο εφροσ λειτουργιϊν. τα ςυςτιματα με πολλαπλοφσ soft επεξεργαςτζσ τα περιφερειακά προςπελάηονται από πολλαπλοφσ επεξεργαςτζσ με κόςτοσ όμωσ ςτθν απόδοςθ που αντιςτακμίηεται από τθ χριςθ των custom instructions. Οι επαναπρογραμματιηόμενοι επεξεργαςτζσ υπόκεινται ςτθν ζννοια του Virtual hardware κατά το οποίο οι εφαρμογζσ κεωροφν ότι τρζχουν ςε υλικό βελτιςτοποιθμζνο για αυτζσ. Αυτζσ οι τεχνολογίεσ ζχουν επιδείξει μεγάλθ ευελιξία και καλζσ αποδϊςεισ με ςκοπό να αντικαταςτιςουν τισ παραδοςιακζσ λφςεισ για τα πολφ απαιτθτικά προβλιματα [4]. Οι ανάγκεσ των ενςωματωμζνων ςυςτθμάτων ακολουκοφν τθν πορεία που είχε θ διάχυςθ τθσ επεξεργαςίασ των δεδομζνων ςε cloud based ςυςτιματα για εφαρμογζσ πλθροφορικισ κακϊσ, αν και ςε εμφανϊσ μικρότερθ κλίμακα, οι ανάγκεσ παραλλθλοποίθςθσ και εξατομίκευςθσ του ςυςτιματοσ επεξεργαςίασ είναι παρόμοιασ λογικισ. 20/110

21 Παραδείγματα "soft" επεξεργαςτϊν αποτελοφν ο Nios II τθσ Altera και ο MicroBlaze τθσ Xilinx που αποτελοφν τουσ πλζον διαδεδομζνουσ κακϊσ είναι ευζλικτοι και ζχουν ευκολότερθ διαδικαςία ενςωμάτωςθσ [Πίνακασ 2]. Πίνακασ 2 υγκριςθ του Nios II και του MicroBlaze [6] Οι επεξεργαςτζσ τθσ Xilinx ζχουν μεγαλφτερθ απιχθςθ ςτθ ςυςτιματα πολλαπλϊν επεξεργαςτϊν SoC, τα λεγόμενα Multiprocessor Systems-on-Chip (MPSoC) [7]. Σα MPSoC είναι μια νζα αναδυόμενθ τεχνολογία των soft επεξεργαςτϊν που επιτρζπει τθν τοποκζτθςθ ςτο ίδιο FPGA πολλαπλϊν επεξεργαςτϊν. Σα οφζλθ εμπερικλείουν αυτά των κλαςςικϊν SoPC αλλά προεκτείνονται και ςτο επίπεδο τθσ επεκταςιμότθτασ, κακϊσ ο μόνοσ περιοριςμόσ ςτον αρικμό των επεξεργαςτϊν είναι τα διακζςιμα λογικά ςτοιχεία τθσ προγραμματιηόμενθσ ψθφίδασ. Οι τρεισ τρόποι υλοποίθςθσ τζτοιων ςυςτθμάτων είναι με βάςθ τθ λογικι master-slave όπου ζνασ επεξεργαςτισ λειτουργεί ωσ ςυντονιςτισ, με pipelines διαδοχικισ επεξεργαςίασ και θ δθμιουργία ομογενοφσ ςυςτιματοσ δικτφου επεξεργαςτϊν ίδιασ ιεραρχίασ. Εκτόσ από τουσ επεξεργαςτζσ ιδιοκτθςίασ εταιριϊν υπάρχουν και Open Source επεξεργαςτζσ όπωσ φαίνεται ςτον παρακάτω ςυγκεντρωτικό πίνακα *Πίνακασ 3]. 21/110

22 Πίνακασ 3 υγκριτικι Λίςτα Soft Επεξεργαςτϊν [7] Πσρήνας Αρτιηεκηονική Bits Άδεια τρήζης Pipeline depth Cycles per instruction Area (LEs) S1 Core SPARC-v9 64 Opensource (GPL) LEON3 SPARC-v8 32 LEON2 SPARC-v8 32 Opensource (GPL) Opensource (LGPL) OpenRISC 1200 OpenRISC Opensource (LGPL) MicroBlaze MicroBlaze 32 Proprietary 3, aemb MicroBlaze 32 OpenFire MicroBlaze Nios II/f Nios II 32 Proprietary Nios II/s Nios II 32 Proprietary Nios II/e Nios II 32 Proprietary no LatticeMico32 LatticeMico Cortex-M1 ARMv6 32 Proprietary DSPuva16 DSPuva16 16 PicoBlaze PicoBlaze 8 PacoBlaze PicoBlaze 8 Opensource (LGPL) Opensource (MIT) Opensource Opensource Proprietary, zero-cost Opensource (BSD) no no no /110

23 υμπεραςματικά Οι ςχεδιαςτζσ ςυςτθμάτων επιλζγουν το τρόπο υλοποίθςθσ των SoPC με βάςθ τισ απαιτιςεισ τθσ εφαρμογισ. Οι hard επεξεργαςτζσ εκτελοφν εντολζσ με υψθλό χρονιςμό και μικρότερθ κατανάλωςθ ενζργειασ όμωσ απαιτοφν μεγαλφτερο χρόνο ςχεδιαςμοφ και υψθλότερο κόςτοσ. Εμπεριζχουν ςτθ λογικι χριςθσ τουσ και τα προβλιματα από τθ μθ δυνατότθτα επαναπρογραμματιςμοφ τουσ. Αυτό κάνει ζναν "hard" πυρινα να μειονεκτεί γριγορα ζναντι ενόσ soft πυρινα που μπορεί να βελτιςτοποιείται ςυνεχϊσ χωρίσ τθν αγορά νζου υλικοφ. Οι "soft" επεξεργαςτζσ είναι αντικείμενο ζρευνασ κακϊσ ενϊ ξεκίνθςαν ωσ ουτοπικι επικυμία των ςχεδιαςτϊν υλικοφ ζχουν καταφζρει τθν τελευταία δεκαετία, κυρίωσ λόγω τθσ Altera και τθσ Xilinx, να ζχουν ολοζνα αυξανόμενθ απιχθςθ ςτθν βιομθχανικι ζρευνα αλλά και τθν αγορά. Ενϊ αρχικά φαινόταν ωσ ςυςτιματα τρομερά υψθλϊν απαιτιςεων ενζργειασ (power hungry) και χαμθλισ απόδοςθσ ζχουν μετουςιωκεί ςε δυναμικά ςυςτιματα ανάπτυξθσ εξειδικευμζνων λειτουργιϊν. Σα πλεονεκτιματα τθσ ςχεδίαςθσ ςε "soft" επεξεργαςτζσ εμπεριζχουν τθ μείωςθ του χρόνου ςχεδιαςμοφ, με γριγορθ προτυποποίθςθ και παραγωγι του προϊόντοσ, κακϊσ είναι θ δυνατι θ εκ των υςτζρων αναβάκμιςθ των δυνατοτιτων του. Είναι επίςθσ δυνατι θ απεξάρτθςθ του κϊδικα του επεξεργαςτι από το υλικό ςτο οποίο εκτελείται, προςτατεφοντασ ζτςι τθν όποια οικονομικι επζνδυςθ από τθ φκορά του χρόνου, κακϊσ ο παραγόμενοσ κϊδικασ είναι μεταφζρςιμοσ ςε άλλεσ ςυςκευζσ, αλλά και ευζλικτοσ ςε παραμετροποιιςεισ που μπορεί να χρειαςτοφν ϊςτε να καλφψουν ανάγκεσ που κα εμφανιςτοφν μελλοντικά. 23/110

24 1.6 Περιφερειακά και Διεπαφέσ - ειριακή επικοινωνία Σα SoC ενςωματϊνουν μικροελεγκτζσ, μικροεπεξεργαςτζσ, μνιμεσ τφπου ROM, RAM και flash, πθγζσ χρονιςμοφ, χρονιςτζσ, διεπαφζσ επικοινωνίασ όπωσ USB, ETHERNET, UART, αναλογικά ςτοιχεία και ςυςτιματα τροφοδοςίασ. τα πλαίςια τθσ πτυχιακισ κα χρθςιμοποιθκεί θ ςειριακι επικοινωνία με ςκοπό τθ μετάδοςθ δεδομζνων μεταξφ του ςυςτιματοσ και του εξυπθρετθτι (Host) υπολογιςτι. ειριακι επικοινωνία Η ειριακι επικοινωνία επιτρζπει τθ μετάδοςθ δεδομζνων με τθν διαδοχικι αποςτολι bits. Χαρακτθρίηεται από ςχετικά μικρζσ ταχφτθτεσ επικοινωνίασ επιτρζποντασ όμωσ τθν εφκολθ και απλουςτευμζνθ διαςφνδεςθ ανομοιογενϊν ςυςκευϊν με μία γραμμι δεδομζνων ακόμα και ςε μεγάλεσ αποςτάςεισ. Για τθ ςωςτι διεκπεραίωςθ τθσ ςειριακισ επικοινωνίασ είναι απαραίτθτο να γίνουν ρυκμίςεισ και ςτα δφο άκρα αυτισ. υγκεκριμζνα κάποιεσ βαςικζσ ρυκμίςεισ είναι τα Bit Rate, Baud Rate, Parity και Stop Bits. Σο Baud Rate αφορά τθ ταχφτθτα μετάδοςθσ και ςυγκεκριμζνα τον αρικμό των μεταφορϊν bits ανά δευτερόλεπτο. Μεγάλα baud rate μειϊνουν τθν δυνατι απόςταςθ μεταξφ των ςυςκευϊν. Σα Data Bits είναι ο αρικμόσ των bits που μεταφζρονται ςε κάκε μετάδοςθ. υνικωσ για τθ μεταφορά χαρακτιρων επιλζγεται θ χριςθ 8 Data Bits ϊςτε να μπορεί να αναπαραςτακεί ο εκτεταμζνοσ πίνακασ ASCII. Σα Stop Bits ςθματοδοτοφν τθ λιξθ τθσ επικοινωνίασ για ζνα πακζτο. Επιπρόςκετα βοθκοφν ςτο ςυγχρονιςμό τθσ επικοινωνίασ των δφο ςυςκευϊν δίνοντασ ςε αυτζσ ζνα μικρό παράκυρο λάκουσ ςτο χρονιςμό τουσ. Όςο περιςςότερα bits χρθςιμοποιοφνται ωσ Stop Bits τόςο μεγαλφτερο είναι αυτό το περικϊριο μειϊνοντασ όμωσ το ρυκμό επικοινωνίασ. 24/110

25 To Parity Bit είναι μια απλι μορφι διαδικαςίασ εφρεςθσ λάκουσ ςτθ μετάδοςθ. Για παράδειγμα κατά τθ ηυγι/μονι ιςοτιμία το Parity bit παίρνει τιμι ϊςτε να είναι το ςφνολο τον άςςων τθσ μετάδοςθσ ηυγόσ ι μονόσ αρικμόσ αντίςτοιχα. Σο πιο κακιερωμζνο πρότυπο ςειριακισ επικοινωνίασ είναι το RS-232 και είναι αυτό ςφμφωνα με το όποιο είναι καταςκευαςμζνεσ οι ςειριακζσ κφρεσ που βριςκόταν ςτουσ περιςςότερουσ θλεκτρονικοφσ υπολογιςτζσ. Αυτόσ είναι ο και λόγοσ που ςχεδόν ταυτίηεται με τθν ζννοια τθσ ςειριακισ επικοινωνίασ. ιμερα για τθν υλοποίθςθ ςειριακισ επικοινωνίασ ςε υπολογιςτζσ χωρίσ ςειριακι κφρα γίνεται χριςθ των USB - to - Serial Adapters που δθμιουργοφν εικονικζσ ςειριακζσ κφρεσ. Η διαςφνδεςθ για τθν RS232 επικοινωνία πραγματοποιείται ςυνικωσ με ςυνδζςμουσ DΒ-9 (9 ακροδεκτϊν) που εξυπθρετοφν τισ ανάγκεσ μεταφοράσ δεδομζνων, τθ γείωςθ και τθ δυνατότθτα χειραψίασ. Σο κφκλωμα που υλοποιεί τθ μετάδοςθ ονομάηεται UART (Universal Asynchronous receiver/transmitter) και μεταφράηει τα δεδομζνα από παράλλθλθ ςε ςειριακι μορφι. Ο κορμόσ ενόσ κυκλϊματοσ UART είναι ο καταχωρθτισ ολίςκθςθσ που χρθςιμοποιείται για τθ μετατροπι αυτι. 25/110

26 Κεφάλαιο 2: Δομικά χαρακτηριςτικά του υπό ανάπτυξη ςυςτήματοσ 2.1 Ειςαγωγή ςτα μέρη του ςυςτήματοσ τα πλαίςια τθσ πτυχιακισ εργαςίασ κα αναπτυχκεί ζνα ςφςτθμα ςε προγραμματιηόμενθ ψθφίδα με βάςθ τον επεξεργαςτι Nios II. Σο αναπτυξιακό κφκλωμα, του οποίου ο προγραμματιςμόσ, κα επιτρζψει αυτι τθν υλοποίθςθ είναι το DE2 τθσ Altera. τα επόμενα υποκεφάλαια κα γίνει μία παρουςίαςθ του βαςικοφ κορμοφ του ςυςτιματοσ, δθλαδι του επεξεργαςτι Nios II αλλά και μια αναφορά ςτθν αναπτυξιακι πλακζτα. 2.2 Επεξεργαςτήσ Nios II Ειςαγωγή ςτον Nios II O Nios II είναι ζνασ "soft" πυρινασ επεξεργαςτι αρχιτεκτονικισ Harvard RISC (Reduced Instruction Set Computer) των 32bit, ιδιοκτθςία τθσ εταιρίασ Altera και προορίηεται για χριςθ ςτα FPGA που αυτι παράγει και αναπτφςςει. Κακϊσ είναι αρχιτεκτονικισ Harvard ο χϊροσ διευκφνςεων του προγράμματοσ είναι ανεξάρτθτοσ από εκείνο των δεδομζνων. Επιτρζπει τθ διαμόρφωςθ του και τθν εξαγωγι ι ειςαγωγι χαρακτθριςτικϊν ϊςτε να επιτφχουμε τθ δυνατι ςχζςθ απόδοςθσ και κόςτουσ. Είναι ίςωσ ο πιο διαδεδομζνοσ software επεξεργαςτισ κακϊσ ςφμφωνα με ςτοιχεία από τθν Altera αρικμείται ςε διατάξεισ και χρθςιμοποιείται από τουσ είκοςι μεγαλφτερουσ OEMs (Original Equipment Manufacturers) παγκοςμίωσ [9]. Η αρχιτεκτονικι του δομείται ωσ εξισ: 32 bit Αρχιτεκτονικι ςετ εντολϊν 32 bit διάδρομοσ δεδομζνων και μνιμθσ 32 καταχωρθτζσ γενικοφ ςκοποφ Κοινι διεπαφι για ζωσ 256 custom instructions 26/110

27 Εντολζσ πολλαπλαςιαςμοφ και διαίρεςθσ Ο Nios II μπορεί να χρθςιμοποιθκεί ςε τρεισ διαφορετικζσ εκδόςεισ ανάλογα με το εφροσ των δυνατοτιτων που κζλουμε να υποςτθρίηει και τθν κατανάλωςθ ςε λογικά ςτοιχεία όπωσ φαίνεται και ςτον παρακάτω πίνακα [Πίνακασ 4]. Nios II/f (fast) Είναι βελτιςτοποιθμζνοσ με ςκοπό τθν απόδοςθ και περιλαμβάνει ξεχωριςτζσ μνιμεσ προςωρινισ αποκικευςθσ εντολϊν και δεδομζνων, MMU (Memory Management Unit) και MPU (Memory Protection Unit). Nios II/s (standard) Αποτελεί τθ μεςαία λφςθ του επεξεργαςτι με προςωρινι μνιμθ αποκικευςθσ εντολϊν αλλά όχι δεδομζνων και δε περιλαμβάνει MMU και MPU. Nios II/e (economy) Αποτελεί τθν πιο απλουςτευμζνθ ζκδοςθ του Nios II κακϊσ δεν περιζχει κάποιο από τα παραπάνω χαρακτθριςτικά κάτι που του επιτρζπει να χρθςιμοποιεί το μικρότερο αρικμό λογικϊν ςτοιχείων. Γενικά ο /f πυρινασ είναι βελτιςτοποιθμζνοσ για αποδϊςεισ ενϊ ο /e είναι παραμετροποιθμζνοσ ϊςτε να ζχει το μικρότερο δυνατό μζγεκοσ πυρινα, κατά πολφ μικρότερο από τουσ άλλουσ Nios II αλλά και από τον MicroBlaze τθσ Xilinx κακιςτϊντασ τον ιδανικό για εφαρμογζσ μικρο-ελεγκτϊν. Πίνακασ 4 φγκριςθ των πυρινων Nios II Nios II Cores Features Economy Standard Fast Area (LEs) <700 <1400 <1800 Performance 1x 4.7x 7.5x Instruction Cache No Yes Yes Data Cache No No Optional Multiply Software 3-cycle 1-cycle 27/110

28 χιμα 3 Παράδειγμα υλοποίθςθσ ςυςτιματοσ με τον Nios II [10] το παραπάνω ςχιμα *χιμα 3+ παρουςιάηεται μια ολοκλθρωμζνθ υλοποίθςθ ενόσ ςυςτιματοσ με τον επεξεργαςτι Nios II και πλικοσ περιφερειακϊν. υγκεκριμζνα εμπεριζχεται ςτο ςχεδιαςμό ζνασ ελεγκτισ μνιμθσ SDRAM, On-Chip ROM μνιμθ, χρονιςτζσ, κφκλωμα UART, οδθγοί για τον ζλεγχο LCD οκόνθσ και άλλων διεπαφϊν διαςφνδεςθσ και περιφερειακϊν. Σθ μεταξφ τουσ διαςφνδεςθ αναλαμβάνει το ςφςτθμα διαςφνδεςθσ ενϊ οι επιμζρουσ οδθγοί επιτρζπουν τθ ςφνδεςθ με τα εξωτερικά περιφερειακά όπωσ Buttons κλπ Περιγραφή χαρακτηριςτικών του Nios II Περιφερειακά Οι περιφερειακζσ ςυςκευζσ ςυνδζονται ςτουσ Nios II πυρινεσ μζςω του Avalon switch fabric που είναι ζνα ςφνολο από ςθμείο ςε ςθμείο, master to slave ςυνδζςεισ. Ζνασ master μπορεί να ςυνδεκεί ςε πολλαπλοφσ slaves και ζνα slave μπορεί να ςυνδεκεί ςε πολλαπλοφσ master. Αν ζνα slave είναι ςυνδεδεμζνο ςε 28/110

29 πολλοφσ masters τότε παράγεται από τουσ SOPC builders ζνασ προγραμματιςμόσ επιλογισ, που ςυνικωσ χρθςιμοποιεί round robin αλγόρικμουσ επιλογισ του master και επιδζχεται τον οριςμό προτεραιοτιτων. Σα περιςςότερα από αυτά τα περιφερειακά παρζχονται από τθν Altera ωσ IPs που μποροφν να προςτεκοφν ςτο ςφςτθμα. Σα IP (Intellectual Properties) είναι κϊδικασ ςε γλϊςςα περιγραφισ υλικοφ HDL που περιγράφει τθ λειτουργία τουσ και τουσ επιτρζπει να ενςωματϊνονται δυναμικά κατά τον ςχεδιαςμό των SoPCs. Πζρα από τα IPs τθσ Altera δίνεται θ δυνατότθτα ςτο χριςτθ να ενςωματϊςει κάποιο δικό του περιφερειακό ι να χρθςιμοποιιςει IPs τρίτων που εκτελοφν ςυγκεκριμζνεσ λειτουργίεσ. Η υλοποίθςθ custom περιφερειακϊν ζχει μεγάλο ενδιαφζρον κακϊσ επιτρζπει τθν μεταφορά ςυναρτιςεων, που επαναλαμβάνονται, μεταφράηοντασ τθν ίδια λειτουργία ςε υλικό, αυξάνοντασ ζτςι τθ ςυνολικι απόδοςθ του ςυςτιματοσ. Η αφξθςθ τθσ απόδοςθσ προζρχεται τόςο από το γεγονόσ πωσ θ υλοποίθςθ ςε υλικό είναι εν γζνει γρθγορότερθ από τθν αντίςτοιχθ ςε λογιςμικό αλλά και ταυτόχρονα απελευκερϊνεται ο επεξεργαςτισ ϊςτε να εκτελζςει άλλεσ διεργαςίεσ παράλλθλα με αυτι που διεκπεραιϊνεται ςτο περιφερειακό. Custom Instructions Πζρα από τθν δθμιουργία Custom περιφερειακϊν δίνεται και θ δυνατότθτα δθμιουργίασ custom εντολϊν. Η υλοποίθςθ κρίςιμων για το ςφςτθμα λειτουργιϊν με custom instructions μπορεί να αυξιςει δραματικά τθν απόδοςθ. Η εξειδικευμζνθ λογικι που επικυμοφμε ενςωματϊνεται ςτθν αρικμθτικι και λογικι μονάδα του Nios II (ALU). Όπωσ και με τισ κανονικζσ εντολζσ του Nios II μποροφν να πάρουν τιμζσ από δφο καταχωρθτζσ και να γράψουν το πικανό αποτζλεςμα ςε κάποιο καταχωρθτι. Παρζχεται ςτουσ ςχεδιαςτζσ ζνα υψθλό επίπεδο προςπζλαςθσ των εντολϊν χρθςιμοποιϊντασ μακροεντολζσ ςε Assembly ι ςυναρτιςεισ ςε C. Δομι καταχωρθτϊν Ο Nios II περιζχει 32 καταχωρθτζσ γενικοφ ςκοποφ και 32 καταχωρθτζσ ελζγχου. Κάποιοι από τουσ καταχωρθτζσ γενικοφ ςκοποφ χρθςιμοποιοφνται για 29/110

30 ςυγκεκριμζνεσ λειτουργίεσ όπωσ τθν εκςφαλμάτωςθ, τον ζλεγχο του stack ι τθν αποκικευςθ τθσ τιμι επιςτροφισ μετά τθν κλιςθ υπορουτίνασ όπωσ περιγράφονται ςτον παρακάτω πίνακα [Πίνακασ 5]. Πίνακασ 5 Καταχωρθτζσ γενικοφ ςκοποφ Nios II [11] Οι καταχωρθτζσ ελζγχου χρθςιμοποιοφνται για ςκοποφσ ελζγχου και ο χειριςμόσ τουσ γίνεται με ειδικζσ εντολζσ που εκτελοφνται ςε ςυγκεκριμζνο τρόπο λειτουργίασ του επεξεργαςτι (supervisor mode). Προςπζλαςθ Μνιμθσ και περιφερειακϊν Ο Nios II επιτρζπει τθν προςπζλαςθ περιφερειακϊν και μνθμϊν. Για τισ ανάγκεσ ςε μνιμθ ςτουσ fast και standard Cores του Nios II εμπεριζχεται μνιμθ προςωρινισ αποκικευςθσ (cache memory). Η προςπζλαςθ τθσ μνιμθσ μπορεί να γίνει μζςω του Avalon network. Για τθν On-chip μνιμθ, αυτι δθλαδι που χρθςιμοποιεί πόρουσ των λογικϊν ςτοιχείων του FPGA για τθ δθμιουργία τθσ, μπορεί να χρθςιμοποιθκεί το Avalon Interface ι με απευκείασ διαςφνδεςθ του επεξεργαςτι. Για τθσ μνιμεσ που δεν είναι πάνω ςτο FPGA όπωσ SRAM, SDRAM και FLASH θ προςπζλαςθ τουσ πραγματοποιείται με τθ χριςθ των αντίςτοιχων διεπαφϊν και ελεγκτϊν. Οι 30/110

31 λειτουργίεσ επί των μνθμϊν (Load - store instructions) πραγματοποιοφνται με τθ προςπζλαςθ των χαρτογραφθμζνων διευκφνςεων μνιμθσ. Για τθ διευκυνςιοδότθςθ ο Nios II χρθςιμοποιεί διευκφνςεισ των 32 bits. Οι εντολζσ μποροφν να εγγράψουν ι να διαβάςουν 32,16 ι 8 bits δεδομζνων. Εντολζσ Assembly του Nios II Οι τρεισ βαςικζσ κατθγορίεσ εντολϊν του Nios II είναι οι I-Type, R-Type και J-Type εντολζσ. Οι I-Type εντολζσ είναι εντολζσ αρικμθτικϊν και λογικϊν πράξεων που περιζχουν μια άμεςθ τιμι ςτο Instruction word τουσ. Οι R-Type χαρακτθρίηονται από τθ χριςθ καταχωρθτϊν τόςο για τθν είςοδο όςο και τθν ζξοδο των αποτελεςμάτων τουσ. Οι J-Type εντολζσ είναι υπεφκυνεσ για τθν αλλαγι τθσ ροισ του προγράμματοσ. Σο OP Code πεδίο όλων των εντολϊν κακορίηει τθν προσ εκτζλεςθ εντολι και μπορεί να προεκτακεί με τθ χριςθ του OPX πεδίου. Σο ςετ εντολϊν του Nios II περιλαμβάνει εντολζσ φόρτωςθσ, αποκικευςθσ και μεταφοράσ για τισ ανάγκεσ μεταφοράσ δεδομζνων των μνθμϊν και των καταχωρθτϊν. Περιζχει επίςθσ αρικμθτικζσ και λογικζσ εντολζσ που δζχονται ωσ ορίςματα τιμζσ ι καταχωρθτζσ και επιτελοφν αρικμθτικζσ και λογικζσ πράξεισ. Για τισ ανάγκεσ ςυγκρίςεων υπάρχουν εντολζσ ςφγκριςθσ. Επιπρόςκετα υποςτθρίηονται όλεσ οι κλαςςικζσ λειτουργίεσ επί των δεδομζνων, όπωσ εντολζσ ολίςκθςθσ, περιςτροφισ, εφρεςθσ υπερχείλιςθσ και κρατουμζνου, ενϊ υπάρχουν και εντολζσ για τθν αλλαγι τθσ ροισ του προγράμματοσ μζςω του αποτελζςματοσ ςυγκρίςεων και οριςμοφ κζςεωσ μεταπιδθςθσ. Σζλοσ με τισ εντολζσ υπορουτινϊν υποςτθρίηεται θ μετάβαςθ και επιςτροφι από τθν εκτζλεςθ αυτϊν. 31/110

32 2.3 Η αναπτυξιακή πλακέτα DE2 τησ Altera Εικόνα 1 Αναπτυξιακι Πλακζτα DE2 τθσ Altera [12] Για τθ δθμιουργία του ςυςτιματοσ ζγινε θ χριςθ τθσ αναπτυξιακισ πλακζτασ DE2 που παράγεται από τθν εταιρία Altera. Η παραπάνω εικόνα *Εικόνα 1+ είναι ζνα οπτικό ςτιγμιότυπο τθσ πλακζτασ και ονομάηει τα επιμζρουσ υποςυςτιματα και περιφερειακά τθσ. Η εν λόγω πλατφόρμα παρουςιάηει εκπαιδευτικό ενδιαφζρον κακϊσ περιλαμβάνει πλθκϊρα περιφερειακϊν αλλά και αυξθμζνεσ δυνατότθτεσ που επιτρζπουν τθσ δθμιουργία αρκετά πολφπλοκων εφαρμογϊν εμπορικισ εμβζλειασ. Η καρδιά του ςυςτιματοσ είναι το Cyclone II FPGA chip που διαςυνδζεται με όλα τα ςθμαντικά επιμζρουσ υποςυςτιματα επιτρζποντασ ςτο χριςτθ τθν παραμετροποίθςθ των επιμζρουσ διαςυνδζςεων [13]. Για τθ διαςφνδεςθ και χριςθ του αναπτυξιακοφ είναι απαραίτθτθ θ εγκατάςταςθ ςτον υπολογιςτι των USB-Blaster drivers μζςω τθσ υποςτιριξθσ τθσ οικογζνειασ Cyclone II κατά τθν εγκατάςταςθ του Quartus II, του προγράμματοσ ςχεδιαςμοφ ςυςτθμάτων που παρζχει θ Altera. 32/110

33 χιμα 4 Block Διάγραμμα του αναπτυξιακοφ DE2 τθσ Altera Όπωσ παρουςιάηεται και ςτο παραπάνω block διάγραμμα [χιμα 4+ θ αναπτυξιακι πλατφόρμα DE2 εμπεριζχει: Σο FPGA Cyclone II 2C35 τθσ Altera με λογικά ςτοιχεία, 105 M4K RAM blocks, 483,840 ςυνολικά RAM bits, 35 ενςωματωμζνουσ πολλαπλαςιαςτζσ, 4 PLLs και ακίδεσ (pins) ειςόδου/εξόδου. Εμπεριζχει κυκλϊματα για τθν υλοποίθςθ του προγραμματιςμοφ μζςω ςειριακισ μορφοποίθςθσ EPCS16 τθσ Altera και του USB Blaster για το προγραμματιςμό τθσ. Παρζχεται μνιμθ SRAM των 512 Kbyte, οργανωμζνθ ωσ 256K x 16 bits, SDRAM μνιμθ των 8 Mbyte, οργανωμζνθ ωσ 1M x 16 bits x 4 banks και Flash μνιμθ των 4 Mbyte με 8bit δίαυλο δεδομζνων. Παράλλθλα ζχει υποδοχι για κάρτεσ SD. Όλεσ οι μνιμεσ είναι διακζςιμεσ από τον Nios II με χριςθ των αντίςτοιχων περιφερειακϊν για τον ζλεγχο τουσ. 33/110

34 Παρζχονται επίςθσ τζςςερα push button και βρίςκονται ςε υψθλι ςτάκμθ. Όταν πιζηονται παράγουν ζναν active - low παλμό. Τπάρχουν δεκαοχτϊ switch διακόπτεσ που παράγουν το λογικό 0 όταν είναι ςτθ κζςθ down και το λογικό 1 όταν είναι ςτθ κζςθ up, ενϊ για ανάγκεσ εξόδου υπάρχουν δεκαοκτϊ κόκκινα και εννζα πράςινα LEDs. Για τισ ανάγκεσ χρονιςμοφ υπάρχουν δφο κρφςταλλοι, 50 MHz και 27 MHz αντίςτοιχα. Διατίκεται επίςθσ θ δυνατότθτα ςφνδεςθσ εξωτερικισ πθγισ χρονιςμοφ μζςω SMA. Για τισ ανάγκεσ ιχου υπάρχει ζνασ Audio CODEC (Wolfson WM8731) των 24 bit, γραμμι ειςόδου, εξόδου και μικροφϊνου. Η ςυχνότθτα δειγματολθψίασ μπορεί να κυμανκεί από τα 8KHz ζωσ τα 96KHz. Ενςωματωμζνοσ βρίςκεται και ζνασ VGA μετατροπζασ (ADV7123) υψθλισ ταχφτθτασ που υποςτθρίηει αναλφςεισ ζωσ και με 100Hz ρυκμό ανανζωςθσ. Ζναν 10/100 Ethernet ελεγκτι που υποςτθρίηει λειτουργία αμφίδρομθσ επικοινωνίασ με ρυκμοφσ μετάδοςθσ 10 Mb/s και 100 Mb/s. Εμπεριζχεται αποκωδικοποιθτισ NTSC/PAL που χρονίηεται από ρολόι των 27MHz. Μία οκόνθ LCD για τθ προβολι κειμζνου. Ζνασ Host/Slave ελεγκτισ USB ςυμβατόσ με το Universal Serial Bus Specification Rev. 2.0 που μπορεί να λειτουργιςει ωσ USB Host και ωσ ςυςκευι. Σζλοσ υπάρχουν ςειριακζσ κφρεσ RS 232 και διαςφνδεςθσ ποντικιοφ και πλθκτρολογίου PS/2, πομποδζκτθσ υπζρυκρων (IrDA) και κεφαλζσ επζκταςθσ. 34/110

35 Κεφάλαιο 3: Μεθοδολογίεσ και Εργαλεία χεδίαςησ SoPC τησ Altera 3.1 Ειςαγωγή ςτη ςχεδίαςη SoPC το κεφάλαιο αυτό κα γίνει μια ειςαγωγι ςτισ τυπικζσ μεκοδολογίεσ ςχεδιαςμοφ FPGA και πωσ αυτζσ πραγματοποιοφνται μζςα από τα εργαλεία τθσ Altera. Η μεκοδολογία που παρουςιάηεται παρακάτω αναφζρεται ςτθ γενικότερθ διαμόρφωςθ των FPGA και των CPLD και οπτικοποιείται ςτο διπλανό ςχιμα [χιμα 5]. Αρχικά με βάςθ τισ προδιαγραφζσ ςχεδιαςμοφ, δθμιουργείται μια αναπαράςταςθ του ςυςτιματοσ. Αυτό επιτυγχάνεται με τθ βοικεια ςχθματικισ αναπαράςταςθσ, κϊδικα ςε HDL ι με τθ βοικεια εργαλείων ςχεδιαςμοφ ςυςτθμάτων όπωσ είναι το Qsys και ο SOPC Builder. Ανεξάρτθτα από τον τρόπο παραγωγισ, το αποτζλεςμα είναι θ περιγραφι τθσ ςυμπεριφοράσ, τθσ λογικισ και αρχιτεκτονικισ του κυκλϊματοσ. τθ ςυνζχεια γίνεται θ λειτουργικι προςομοίωςθ που ελζγχει τισ λειτουργίεσ του ςυςτιματοσ χωρίσ όμωσ να λαμβάνει υπόψθ τισ χρονικζσ παραμζτρουσ κακϊσ ςε αυτι τθ φάςθ του ςχεδιαςμοφ δεν υπάρχει γνϊςθ για τουσ χρονιςμοφσ τθσ ςυγκεκριμζνθσ ςυςκευισ. κοπόσ τθσ είναι να επιβεβαιϊςει το λογικό μοντζλο που περιγράφθκε και τθ ςωςτι ροι των δεδομζνων. Σο ςφςτθμα πρζπει να περάςει από το ςτάδιο τθσ ςφνκεςθσ (Synthesis) όπου γίνεται θ μετάφραςθ του χιμα 5 Ροι χεδιαςμοφ υςτιματοσ 35/110

36 ςχεδίου και θ αρχικοποίθςθ του ςε λογικά ςτοιχεία με βάςθ τθ ςυγκεκριμζνθ ςυςκευι. Η διαδικαςία τθσ ςφνκεςθσ περιλαμβάνει και τθ βελτιςτοποίθςθ του ςχεδίου με βάςθ τουσ περιοριςμοφσ απόδοςθσ, μεγζκουσ και χρονιςμοφ. Σα αποτελζςματα τθσ ςφνκεςθσ αποκθκεφονται και θ διαδικαςία προχωράει ςτο επόμενο ςτάδιο τθσ φυςικισ δρομολόγθςθσ (Fitting) κατά τθν οποία γίνεται θ αντιςτοίχθςθ των ςυντεκειμζνων λογικϊν ςτοιχείων με πραγματικοφσ προοριςμοφσ τθσ ςυςκευισ. Δθμιουργεί διαςυνδζςεισ και δρομολογιςεισ που ενϊνουν τθ ςυντεκειμζνθ λογικι λαμβάνοντασ υπόψθ τουσ περιοριςμοφσ χϊρου, χρόνου, απόδοςθσ και κατανάλωςθσ. Σο αποτζλεςμα αυτισ τθσ διαδικαςίασ τροφοδοτεί το επόμενο ςτάδιο αυτό τθσ χρονικισ ανάλυςθσ. Η χρονικι ανάλυςθ επιβεβαιϊνει πωσ θ διαδικαςία του fitting ζχει πετφχει τουσ περιοριςμοφσ χρόνου και απόδοςθσ. Μετά τθ χρονικι ανάλυςθ υπάρχει ζνα προαιρετικό ςτάδιο τθσ που ελζγχει για το αν το ςχζδιο κα λειτουργεί ςωςτά ςτθ ςυςκευι που κα τοποκετθκεί με βάςθ τουσ περιοριςμοφσ που ζχουν τεκεί. Θεωρθτικά θ λειτουργικι προςομοίωςθ και θ χρονικι ανάλυςθ ςυνικωσ αρκοφν για τθν εξαγωγι του ςυμπεραςμάτων αυτϊν. Σζλοσ παράγονται τα αρχεία προγραμματιςμοφ των FPGA με τα οποία, κάνοντασ χριςθ των εργαλείων προγραμματιςμοφ, ρυκμίηεται και μεταφζρεται ςτθ ςυςκευι το ςχζδιο που ζχει δθμιουργθκεί ϊςτε αυτι να διαμορφωκεί κατάλλθλα. Οι παραπάνω απαιτιςεισ και φάςεισ ςχεδιαςμοφ καλφπτονται από τθ χριςθ οργανωμζνων και ολοκλθρωμζνων ςυςτθμάτων λογιςμικοφ όπωσ είναι οι πλατφόρμεσ ςχεδίαςθσ τθσ Altera, το Quartus II και το Xilinx Platform Studio τθσ Xilinx. Η ροι ςχεδιαςμοφ SοPC περιλαμβάνει τθν δθμιουργία του ςχεδίου ςτο Quartus II με τθ βοικεια οδθγϊν επιλογισ υλικοφ (SOPC Builder, Qsys), τον προγραμματιςμό των διατάξεων και ςτθ ςυνζχεια τθν ανάπτυξθ λογιςμικοφ ςε εργαλεία όπωσ το Nios II IDE που επιτρζπουν τθ παραγωγι κϊδικα C/C++ που κα εκτελείται ςτο παραγόμενο ςφςτθμα. 36/110

37 3.2 Εργαλεία χεδίαςησ υλικού Ενςωματωμένων υςτημάτων Quartus II Η πλατφόρμα ςχεδίαςθσ Quartus II παρζχει τθν εξολοκλιρου δυνατότθτα του ευζλικτου ςχεδιαςμοφ, δθμιουργίασ, επιβεβαίωςθσ και προγραμματιςμοφ του ψθφιακοφ ςυςτιματοσ. Επιτρζπει τθ δθμιουργία των Project που είναι ομαδοποιθμζνα ςφνολα όλων των ςχετικϊν αρχείων και βιβλιοκθκϊν που απαιτοφνται για ζνα ςφςτθμα. Η λογικι ςχεδίαςθσ απαιτεί τθν φπαρξθ ενόσ top-level αρχείου που εξυπθρετεί τισ ανάγκεσ διαςφνδεςθσ των επιμζρουσ οντοτιτων και τθν αρχικοποίθςθ των αντίςτοιχων ςτιγμιότυπων αυτϊν. Επιπρόςκετα ο ςχεδιαςμόσ πρζπει να αφορά ςυγκεκριμζνθ ςυςκευι που όμωσ, όπωσ και το ανϊτατο ιεραρχικά αρχείο που αναφζρκθκε, μπορεί να αλλάξει και μετά τθ δθμιουργία του Project. Οι ρυκμίςεισ του κάκε Project αποκθκεφονται ςτα QSF αρχεία ενϊ ςτο φάκελο db αποκθκεφονται πλθροφορίεσ που δθμιουργοφνται κατά τθ διαδικαςία του Compilation. Μια απλουςτευμζνθ αναπαράςταςθ τθσ διαδικαςίασ ςχεδιαςμοφ περιγράφεται ςτο παρακάτω ςχιμα *χιμα 6]. χιμα 6 Απλουςτευμζνθ Ροι χεδιαςμοφ SoPC 37/110

38 3.2.2 SoPC builder Η καρδιά τθσ ολικισ ροι ςχεδιαςμοφ των ενςωματωμζνων ςυςτθμάτων ςε προγραμματιηόμενεσ διατάξεισ είναι θ δθμιουργία του ςυςτιματοσ με τθ βοικεια των οδθγϊν επιλογισ υποςυςτθμάτων υλικοφ. Μζςω τθσ αφαιρετικισ προςζγγιςθσ ςχεδιαςμοφ επιτυγχάνεται θ γριγορθ ανάπτυξθ πολφπλοκων ςυςτθμάτων με τθν χριςθ των IP που είναι διακζςιμα. Ο SoPC Builder αποτελεί ζνα τζτοιο εργαλείο για τθ γριγορθ δθμιουργία και ζλεγχο ενςωματωμζνων ςυςτθμάτων. Αυτό επιτυγχάνεται με τθ χριςθ διαφόρων block υλικοφ, μειϊνοντασ δραματικά τον χρόνο ςχεδίαςθσ. Είναι ζνα υπο-λογιςμικό του Quartus II που αυτοματοποιεί τθ διαδικαςία δθμιουργίασ και διαςφνδεςθσ υποςυςτθμάτων μζςα από τθ χριςθ βιβλιοκθκϊν ςε ζνα εφχρθςτο γραφικό περιβάλλον. Παράγεται λοιπόν ςε μικρό χρόνο ζνα ολοκλθρωμζνο SοPC ςφςτθμα που μπορεί να περιλαμβάνει περιφερειακά, μνιμεσ, ελεγκτζσ, κανάλια επικοινωνίασ, Ι/Ο γενικοφ ςκοποφ και επεξεργαςτζσ που επιλζγονται προσ ειςαγωγι από το περιβάλλον του [Εικόνα 2]. Παρά τθν εκτεταμζνθ χριςθ του SOPC Builder για δθμιουργία SοPC που περιλαμβάνουν τον επεξεργαςτι Nios II, το πρόγραμμα αυτό λειτουργεί γενικότερα ωσ ςχεδιαςτισ ςυςτθμάτων που μπορεί να περιλαμβάνουν άλλουσ ι και κανζναν επεξεργαςτι. Λειτουργεί ςε αφαιρετικό, για τον τελικό χριςτθ, επίπεδο καλφπτοντασ τθν ανάγκθ ςυγγραφισ και διαςφνδεςθσ των υποςυςτθμάτων και παράγοντασ αρχεία περιγραφισ υλικοφ ςτθ γλϊςςα που επικυμοφμε (Verilog - VHDL). Εικόνα 2 SoPC Components 38/110

39 Σα δομικά ςτοιχεία του SOPC Builder είναι τα Modules. Χρθςιμοποιοφν τισ διεπαφζσ Avalon για τθ φυςικι τουσ διαςφνδεςθ υλοποιϊντασ τθ λογικι που ζχουμε ορίςει. Κατά τθ διαδικαςία ςχεδίαςθσ δθμιουργοφμε ςτιγμιότυπα των υποςυςτθμάτων αυτϊν που τα παραμετροποιοφμε κατά τισ ανάγκεσ μασ. Πζρα από τα εγκατεςτθμζνα components υπάρχουν και διάφορα άλλα πακζτα όπωσ αυτά του εκπαιδευτικοφ πακζτου τθσ Altera "University Program" αλλά και IPs τρίτων. Παρζχεται τζλοσ θ δυνατότθτα ςυγγραφισ των δικϊν μασ component ϊςτε να ενςωματϊνουν τθ λογικι, τθ λειτουργία και τισ διαςυνδζςεισ που κζλουμε. Σο παρακάτω είναι ζνα ςτιγμιότυπο ενόσ ςχεδιαςμζνου ςυςτιματοσ ςτον SoPC Builder που περιζχει τον επεξεργαςτι Nios II, onchip μνιμθ, Jtag UART, leds, διακόπτεσ και ςειριακι κφρα *Εικόνα 3]. το ολοκλθρωμζνο ςφςτθμα γίνεται θ απόδοςθ διευκφνςεων μνιμθσ κακϊσ και οι απαραίτθτεσ ςυνδζςεισ για τθν υποςτιριξθ των απαραίτθτων διακοπϊν. Εικόνα 3 τιγμιότυπο του SoPC Builder Qsys Σο Qsys είναι ζνα αναςχεδιαςμζνο εργαλείο που ςτθν ουςία παρζχει τισ ίδιεσ δυνατότθτεσ με τον SOPC Builder. Όπωσ αναφζρουν οι ςχεδιαςτζσ του *14] διαφζρει, λόγω του αρκρωτοφ και ευζλικτου αλγορικμικοφ ςχεδιαςμοφ του, ςε ςχζςθ με το παλαιότερο, γραμμζνο ςε Perl, SOPC Builder. Αναφζρουν επίςθσ πωσ τα παραγόμενα ςχζδια είναι ταχφτερα αν και λίγο μεγαλφτερα ςε μζγεκοσ. Σο ςίγουρο 39/110

40 είναι πωσ το ςχεδίαςαν με τζτοιο τρόπο, ϊςτε να παρζχουν τθ μεγαλφτερθ δυνατι ευελιξία ςτον χριςτθ με χαρακτθριςτικό παράδειγμα τθ δυνατότθτα χριςθσ ενόσ ιδθ ςχεδιαςμζνου ςυςτιματοσ μζςα ςε ζνα άλλο, κάτι που δε γινόταν ςτον SOPC builder. Παρά τισ διαφορζσ τουσ όμωσ διατθροφν το ίδιο ςφνολο βαςικϊν λειτουργιϊν. 3.3 Εργαλεία ςχεδίαςησ λογιςμικού Ενςωματωμένων υςτημάτων Nios II EDS Εικόνα 4 Nios II EDS Μετά τθ διαμόρφωςθ του ςυςτιματοσ με βάςθ το ςφςτθμα που είχε ςχεδιαςτεί από το Quartus II, για να προγραμματιςτεί ο επεξεργαςτισ Nios II είναι απαραίτθτθ θ ανάπτυξθ κϊδικα ςτο Nios II EDS (Embedded Design Suite) [Εικόνα 4+ ςε C\C++ που κα εκτελεςτεί από τον επεξεργαςτι. Για το ςκοπό αυτό μπορεί να χρθςιμοποιθκεί το παλαιότερο Nios II IDE που όμωσ κεωρείται πλζον legacy λογιςμικό ι τα Nios ΙΙ System Build Tools που χρθςιμοποιοφν τθν πλατφόρμα Eclipse. Μασ παρζχεται λοιπόν ζνα περιβάλλον ανάπτυξθσ λογιςμικοφ με όλεσ τισ απαραίτθτεσ λειτουργικότθτεσ, ϊςτε να βελτιςτοποιεί τθ διαδικαςία ςυγγραφισ κϊδικα και να διευκολφνει τθν εκςφαλμάτωςθ. Μετά τθ ςυγγραφι και τθν εκςφαλμάτωςθ του κϊδικα γίνεται παραγωγι του εκτελζςιμου το οποίο αφοφ μεταφορτωκεί ςτον Nios II αρχίηει τθν εκτζλεςι του. 40/110

41 3.3.2 Altera Monitor Program - Debug Client Σο Altera Monitor Program και το Altera Debug Client αποτελοφν μικρζσ εφαρμογζσ κυρίωσ εκπαιδευτικισ φφςεωσ που επιτρζπουν τθν επικοινωνία με ζνα ςφςτθμα ςτο οποίο λειτουργεί επεξεργαςτισ Nios II και τθν εκτζλεςθ ςε αυτό κϊδικα ςε Assembly και C. Προχποκζτει τθν ςφνδεςθ ενόσ Host υπολογιςτι με τον Nios II και παρζχει τθ δυνατότθτα τθσ μεταφόρτωςθσ προγραμμάτων ςε αυτόν. τθ ςυνζχεια δίνεται θ δυνατότθτα για τθν παρακολοφκθςθ του περιεχομζνου των καταχωρθτϊν και τθσ μνιμθσ, τθν ειςαγωγι ςθμείων ελζγχου και δυνατότθτα Ι/Ο διαδικαςιϊν με χριςθ του JTAG UART υποςυςτιματοσ. 3.4 Ομαδοποιημένη διαδικαςία ςχεδιαςμού SoPC Η ροι ςχεδίαςθσ των SoPC αποτελείται από τθ κλαςςικι διαδικαςία ςχεδίαςθσ των FPGA-CPLD διατάξεων με τθ προςκικθ εργαλείων διαμόρφωςθσ του επεξεργαςτι και τθσ μεταγενζςτερθσ ςχεδίαςθσ λογιςμικοφ για αυτόν. Σο παρακάτω ςχιμα περιγράφει με λεπτομζρειεσ αυτι τθ διαδικαςία *χιμα 7]. χιμα 7 Ομαδοποιθμζνθ διαδικαςία ςχεδιαςμοφ SoPC [5] 41/110

42 Κεφάλαιο 4: Διαδικαςία ςχεδιαςμού και υλοποίηςησ του υλικού του πειραματικού ςυςτήματοσ 4.1 Περιγραφή του ςυςτήματοσ το κεφάλαιο αυτό κα παρουςιαςτεί αναλυτικά θ μεκοδολογία ςχεδιαςμοφ του υλικοφ του ςυςτιματοσ τθσ πτυχιακισ. Σο κφριο μζροσ τθσ εργαςίασ αφορά τθ ςχεδίαςθ ενόσ ολοκλθρωμζνου ςυςτιματοσ ςε προγραμματιηόμενο κφκλωμα (SOPC) και τα βιματα που ακολουκικθκαν για τθν ενςωμάτωςθ του επεξεργαςτι Nios II. Θα αναλυκοφν οι μεκοδολογίεσ ςχεδιαςμοφ του ςυςτιματοσ, με τα εργαλεία που μασ παρζχει θ Altera για αυτό τον ςκοπό. Σο παλαιότερο εργαλείο είναι ο SOPC Builder ενϊ το νεότερο εργαλείο ςχεδιαςμοφ είναι το Qsys. Σο ςφςτθμα που κα αναπτυχκεί περιγράφεται από το παρακάτω ςχιμα *χιμα 8]. Περιζχει τον επεξεργαςτι Nios II, ςειριακι κφρα RS-232, JTAG UART, on-chip μνιμθ, ελεγκτι μνιμθσ SDRAM και διαςυνδζςεισ με περιφερειακά ειςόδου/εξόδου. χιμα 8 Περιγραφι του υλικοφ του πειραματικοφ ςυςτιματοσ 42/110

43 4.2 Quartus II Αρχικά για τθν αναγνϊριςθ τθσ αναπτυξιακισ πλακζτασ από τον υπολογιςτι κα πρζπει να γίνει εγκατάςταςθ τθσ ςουίτασ Quartus II και των USB-Blaster drivers. Η διαδικαςία ξεκινάει με τθ δθμιουργία ενόσ project από τον οδθγό δθμιουργίασ project του Quartus II (New Project Wizard) ορίηοντασ τον φάκελο που κα εργαςτοφμε κακϊσ και το όνομα του Project όπωσ ςτθν παρακάτω εικόνα [Εικόνα 5]. Εικόνα 5 Quartus II: Δθμιουργία Project 1/5 τθ ςυνζχεια ορίηουμε τθν οικογζνεια FPGA και ςυγκεκριμζνα το μοντζλο που διακζτουμε [Εικόνα 6]. τα πλαίςια αυτισ τθσ πτυχιακισ είναι το DE2 EP2C35F672C6 τθσ οικογζνειασ Cyclone II τθσ Altera. 43/110

44 Εικόνα 6 Quartus II: Δθμιουργία Project 3/5 τα υπόλοιπα βιματα αφινουμε τισ προεπιλεγμζνεσ τιμζσ και τελικά δθμιουργοφμε το Project. 4.3 SOPC Builder Για το ςχεδιαςμό του SOPC κα χρθςιμοποιιςουμε τον SOPC Builder τθσ Altera. Αφοφ εκκινιςουμε το υπο - πρόγραμμα από το μενοφ Tools -> SOPC Builder δίνουμε ζνα όνομα για το ςφςτθμα μασ και επιλζγουμε τθ γλϊςςα περιγραφισ υλικοφ (HDL) που επικυμοφμε να είναι θ VHDL [Εικόνα 7]. φμφωνα με τθ λογικι και τισ λειτουργίεσ που κζλουμε να υλοποιεί το ςφςτθμα μασ, κα επιλζξουμε και κα παραμετροποιιςουμε τα components που χρειαηόμαςτε. τα πλαίςια τθσ εργαςίασ κα δθμιουργιςουμε ζνα ςφςτθμα που κα περιζχει τον Εικόνα 7 SoPC Builder: Δθμιουργία του Project 44/110

45 επεξεργαςτι Nios II, τθν JTAG Uart, UART (RS232 Serial Port), on-chip memory, SDRAM controller, περιφερειακά ειςόδου εξόδου κακϊσ και clocks απαραίτθτα για το χρονιςμό του ςυςτιματοσ. Παρατθροφμε πωσ ο builder ζχει προςκζςει ζνα clock των 50MHz που εξυπθρετεί τισ ανάγκεσ ςχεδιαςμοφ του ςυςτιματοσ μασ [Εικόνα 8]. Εικόνα 8 SoPC Builder: Clocks του ςυςτιματοσ τθ ςυνζχεια κα προςκζςουμε όλα τα components που περιγράψαμε. Αρχικά κα ειςάγουμε ζνα instance τθσ on-chip memory (Memories and Memory Controllers -> On-Chip -> On-Chip Memory RAM or ROM). Για αποφυγι χριςθσ πολλϊν λογικϊν ςτοιχείων του FPGA και με τθ λογικι ότι κα προςκζςουμε SDRAM αφινουμε τα υπόλοιπα πεδία ςτισ προεπιλεγμζνεσ τουσ τιμζσ και ορίηουμε μόνο το μζγεκοσ τθσ μνιμθσ ςτα 8Kbytes όπωσ φαίνεται ςτθ παρακάτω εικόνα *Εικόνα 9]. Εικόνα 9 SoPC Builder: On-Chip Memory τθ ςυνζχεια κα προςκζςουμε τον SDRAM Controller (Memories and Memory Controllers -> External Memory Interfaces -> SDRAM Interfaces -> SDRAM Controller). το πεδίο Presets επιλζγουμε το Custom, ενϊ επιλζγουμε ωσ Data 45/110

46 Widths των bits το 16 με αποτζλεςμα να μπορεί ο controller να ελζγξει το chip 8MBytes SDRAM μνιμθσ που περιζχεται ςτο αναπτυξιακό μασ [Εικόνα 10]. Εικόνα 10 SoPC Builder: SDRAM Controller Σο κφριο τμιμα του ςυςτιματοσ είναι ο επεξεργαςτισ Nios II και αφοφ τον ειςάγουμε (Processors -> Nios II Processor) τον παραμετροποιοφμε για χριςθ ςτο ςφςτθμα. Διαλζγουμε τθν ζκδοςθ /e και ορίηουμε τθν μνιμθ sdram για διανφςματα Reset και exception όπωσ φαίνεται ςτθν παρακάτω εικόνα *Εικόνα 11]. Η ζκδοςθ economy είναι θ μόνθ που δίνεται προσ χριςθ χωρίσ χρονικοφσ περιοριςμοφ με τθν δωρεάν ζκδοςθ του επεξεργαςτι. Δεν περιζχει cache μνιμεσ δεδομζνων ι εντολϊν και ζχει χαμθλότερθ απόδοςθ ςε ςχζςθ με τισ άλλεσ εκδόςεισ. Αφινοντασ τισ άλλεσ τιμζσ ωσ ζχουν τον ειςάγουμε (Finish) ςτο ςφςτθμα. 46/110

47 Εικόνα 11 SoPC Builder: Nios II Processor Για τθν επικοινωνία του επεξεργαςτι με τον host υπολογιςτι JTAG_UART κφρα (Interface Protocols -> Serial -> JTAG UART) [Εικόνα 12]. ειςάγουμε μια Εικόνα 12 SoPC Builder: JTAG UART Για τισ ανάγκεσ εξωτερικισ επικοινωνίασ ειςάγουμε επίςθσ μία RS-232 κφρα όπου ορίηουμε το Baud rate ςτα [Εικόνα 13]. 47/110

48 Εικόνα 13 SoPC Builder: RS-232 τθ ςυνζχεια κα ειςάγουμε περιφερειακά ειςόδου εξόδου για τον ζλεγχο των διακοπτϊν και των Leds. Δθμιουργοφμε κφρεσ εξόδου (Peripherals -> Microcontroller Peripherals -> PIO (Parallel I/O) [Εικόνα 14] και τισ μετονομάηουμε ςε Leds [Εικόνα 15]. Ακολουκϊντασ τθν ίδια διαδικαςία δθμιουργοφμε κφρεσ ειςόδου (Direction -> Input) και τισ μετονομάηουμε ςε switches. Για τον ζλεγχο των Seven Segment Displays κα κάνουμε χριςθ του component Parallel Port από το πακζτο Altera University Program. (University Program -> Generic I/O -> Parallel Port). τθ ςυνζχεια πρζπει να επιλεχκεί από τα Presets ωσ ςυςκευι ειςόδου / εξόδου τα Seven Segment Display και να επιλεγοφν τα digits 3 to 0. τθν ςυνζχεια κα ακολουκθκεί θ ίδια διαδικαςία για τθν ειςαγωγι των digits 4 to 7 [Εικόνα 16]. 48/110

49 Εικόνα 14 SoPC Builder: Output Εικόνα 15 SoPC Builder: Μετονομαςία των LEDs Εικόνα 16 SoPC Builder: Seven Segment Displays 49/110

50 Ζχοντασ ολοκλθρϊςει το ςχεδιαςμό κα πρζπει να ορίςουμε τισ διευκφνςεισ των υποςυςτθμάτων με αυτόματο ι μθ τρόπο. Ο SOPC παρζχει τθ δυνατότθτα του να τισ ορίςει αυτόματα (System -> Assign Base Addresses) εξαφανίηοντασ τυχόν errors ι warnings που υπιρχαν. Λόγω του ότι το ςφςτθμα δε κα περιζχει περιςςότερα του ενόσ από τα εν λόγω υποςυςτιματα μετονομάςτθκαν αφαιρϊντασ το "_0" από το όνομα τουσ και ζτςι ζχουμε το ολοκλθρωμζνο ςφςτθμα όπωσ παρουςιάηεται ςτθν παρακάτω εικόνα [Εικόνα 17]. Εικόνα 17 SoPC Builder: Ολοκλθρωμζνο φςτθμα Σο τελευταίο βιμα είναι να πατιςουμε ςτο Generate ϊςτε ο SOPC Builder να δθμιουργιςει όλα τα απαραίτθτα αρχεία. Σο top level HDL αρχείο κακϊσ και vhd αρχεία για τα υποςυςτιματα, sdc αρχείο με πλθροφορίεσ για το χρονιςμό και block symbol files. Αφοφ ολοκλθρωκεί με επιτυχία θ διαδικαςία μποροφμε να προχωριςουμε ςτθν ενςωμάτωςθ του ςχεδίου ςτο Quartus II. 50/110

51 4.4 Ενςωμάτωςη ςτο Quartus II Για τθν ενςωμάτωςθ του παραγμζνου ςχεδίου από τον SOPC Builder ι το Qsys μπορεί να χρθςιμοποιθκεί VHDL, Verilog ι ςχθματικι απεικόνιςθ. τα πλαίςια τθσ πτυχιακισ κα γίνει με χριςθ VHDL. Δθμιουργοφμε το top-level VHDL αρχείο που κα ορίηει και κα ενεργοποιεί τα υπόλοιπα components. Πρζπει να ζχει το ίδιο όνομα με αυτό του Project και άρα ςτθν περίπτωςθ μασ nios_system.vhd [Εικόνα 18]. Εικόνα 18 Quartus II: Δθμιουργία top-level αρχείου το αρχείο αυτό μπορεί να αποτυπωκεί οποιαδιποτε λογικι είναι απαραίτθτθ και να γίνει θ κλιςθ πολλαπλϊν components. Για να χρθςιμοποιιςουμε το ςφςτθμα που ςχεδιάςαμε κα κάνουμε import ςτο Project τα αρχεία που δθμιοφργθςε ο Builder [Εικόνα 19]. Εικόνα 19 Quartus II: Ενςωμάτωςθ των αρχείων που παριγαγε ο SOPC Builder 51/110

52 Αντιςτοίχιςθ ακροδεκτϊν Εικόνα 20 Quartus II: Import Assignments Αρχικά κα πρζπει να ορίςουμε ςε ποιουσ πραγματικοφσ ακροδζκτεσ αντιςτοιχοφν τα ςιματα που κα χρθςιμοποιιςουμε. Για εκπαιδευτικοφσ ςκοποφσ θ Altera περιλαμβάνει ζνα csv (comma separated values) αρχείο για τθν γριγορθ αντιςτοίχιςθ των ακροδεκτϊν. Από το μενοφ Assignments -> Import Assignments επιλζγουμε το αρχείο DE2_pin_assignements.csv [Εικόνα 20]. ε περίπτωςθ που κάνουμε χριςθ του Quartus II 12.1 θ παραπάνω λειτουργία δε κα ολοκλθρωκεί λόγο προβλιματοσ του προγράμματοσ που λφνεται με τθν εγκατάςταςθ του Service Pack 1 για τθν εν λόγω ζκδοςθ. Χρονιςμόσ Για το χρονιςμό του ςυςτιματοσ πρζπει να δθμιουργιςουμε ζνα sdc αρχείο μζςω του TimeQuest Timing Analyzer Wizard που περιγράφει τουσ χρονικοφσ περιοριςμοφσ του ςυςτιματοσ. Πατϊντασ Next ςτθν πρϊτθ εικόνα φτάνουμε ςτο βιμα που φαίνεται ςτο παρακάτω ςτιγμιότυπο [Εικόνα 21]. Εδϊ πρζπει να ορίςουμε τθ περίοδο που κα ζχει το clock μασ (20ns = 50MHz) κακϊσ και ποιο κα είναι το input pin. Σο αποτζλεςμα αυτοφ του οδθγοφ είναι θ δθμιουργία ενόσ sdc αρχείου που περιζχει τθν εντολι create_clock -name "CLOCK_50" -period ns [get_ports {CLOCK_50}] 52/110

53 Εικόνα 21 Quartus II: TimeQuest Timing Analyzer Wizard και δθμιουργεί το clock που χρειάηεται το ςφςτθμα. Μποροφμε να παρατθριςουμε ςτθν Timing ανάλυςθ του ςυςτιματοσ [Εικόνα 22] ότι ζχουν δθμιουργθκεί τζςςερα clocks. Εικόνα 22 Quartus II: Χρονικι Ανάλυςθ Σο πρϊτο παράγεται αυτόματα από το Quartus για τθν επικοινωνία με τθν JTAG UART, το δεφτερο είναι το ρολόι του ςυςτιματοσ που ορίςαμε ενϊ τα άλλα δφο 53/110

54 δθμιουργοφνται από το PLL κφκλωμα που είναι απαραίτθτο για το ςωςτό χρονιςμό τθσ SDRAM και κα αναλυκεί ςτθ ςυνζχεια. Χρονιςμόσ τθσ SDRAM - PLL Για τθ ςωςτι λειτουργία τθσ SDRAM ςτο FPGA που χρθςιμοποιοφμε είναι απαραίτθτθ θ δθμιουργία ενόσ PLL (Phased-Locked Loop) αρχείου. Ο λόγοσ είναι ότι εξαιτίασ των φυςικϊν χαρακτθριςτικϊν του DE2 πρζπει το ρολόι τθσ SDRAM να οδθγεί το ρολόι του ςυςτιματοσ κατά 3 nanoseconds. Για να δθμιουργιςουμε αυτό το κφκλωμα κα πρζπει να γίνει χριςθ μίασ Megafunction του Quartus II, τθσ ALTPLL, μζςω του Quartus II MegaWizard Plug-In Manager. Από το μενοφ Tools -> MegaWizard Plug-In Manager ξεκινάμε τον οδθγό. το πρϊτο βιμα επιλζγουμε το Create a new custom megafunction varation ενϊ ςτθ ςυνζχεια διαλζγουμε από τα εγκατεςτθμζνα Plug-Ins τθσ κατθγορίασ I/O το ALTPLL και δίνουμε όνομα ςτο αρχείο sdram_pll.vhd [Εικόνα 23]. το επόμενο βιμα ορίηουμε πωσ το ρολόι μασ είναι τθσ τάξθσ των 50MHz και βεβαιωνόμαςτε πωσ θ οικογζνεια FPGA που είναι επιλεγμζνθ είναι θ Cyclone II [Εικόνα 24]. Εικόνα 23 Quartus II: MegaWizard Plug-In Manager - ALTPLL 54/110

55 Εικόνα 24 Quartus II: MegaWizard ALTPLL 3/10 το επόμενο βιμα από - επιλζγουμε τα checkboxes γιατί τα υπόλοιπα ςιματα δε χρειάηονται [Εικόνα 25]. Εικόνα 25 Quartus II: MegaWizard ALTPLL 4/10 55/110

56 το επόμενο βιμα απλά πατάμε Next ϊςπου να φτάςουμε ςτθν παρακάτω εικόνα και να ορίςουμε το ρολόι c0 να ζχει phase shift τθσ τάξθσ των -3 ns [Εικόνα 26]. Εικόνα 26 Quartus II: MegaWizard ALTPLL 6/10 ενϊ για τα υπόλοιπα απλά ορίηουμε τθ ςυχνότθτα (50MHz) ςτθν οποία κζλουμε να λειτουργοφν. Σζλοσ διαλζγουμε τα αρχεία που κζλουμε να εξάγουμε και πατάμε ςτο Finish [Εικόνα 27]. Εικόνα 27 Quartus II: MegaWizard ALTPLL 10/10 Με αυτό τον τρόπο ζχουμε δθμιουργιςει ζνα component sdram_pll που κα το κάνουμε instantiate από το top-level VHDL μασ. 56/110

57 4.5 υγγραφή top-level vhdl Ζχοντασ δθμιουργιςει τα απαραίτθτα components τόςο με τον SOPC builder όςο και με τον MegaFunction Wizard ιρκε θ ϊρα του ςχεδιαςμοφ του ανϊτερου επιπζδου του ςυςτιματοσ. το top-level nios_system.vhd αρχείο αρχικά ορίηουμε τθν top-level οντότθτα nios_system. ENTITY nios_system IS PORT ( SW : IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLOCK_50 : IN STD_LOGIC; LEDG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); UART_RXD : IN STD_LOGIC; UART_TXD : OUT STD_LOGIC; DRAM_DQ : inout std_logic_vector (15 downto 0); DRAM_ADDR : out std_logic_vector (11 downto 0); DRAM_BA_1 : buffer std_logic; DRAM_BA_0 : buffer std_logic; DRAM_CAS_N : out std_logic; DRAM_RAS_N : out std_logic; DRAM_CLK : out std_logic; DRAM_CKE : out std_logic; DRAM_CS_N : out std_logic; DRAM_WE_N : out std_logic; DRAM_UDQM : buffer std_logic; DRAM_LDQM : buffer std_logic ); END nios_system; Χρθςιμοποιϊντασ τθν ονοματολογία του csv αρχείου για τα PIN Assignments ορίηουμε τθν οντότθτα nios_system. Με τθ βοικεια τθσ διλωςθσ PORT γίνονται οι δθλϊςεισ των ςθμάτων διαςφνδεςθσ. Σο CLOCK_50 αντιςτοιχεί ςτο ρολόι των 50MHz του αναπτυξιακοφ μασ, το SW ςτουσ διακόπτεσ, το LEDG ςτα πράςινα leds, ενϊ τα DRAM_* pins αναφζρονται ςτα ςιματα που χρειάηεται θ SDRAM για τθ λειτουργία τθσ. 57/110

58 τθ ςυνζχεια ορίηουμε τθν αρχιτεκτονικι του ςυςτιματοσ. Ακολουκεί θ διλωςθ των δομικϊν ςτοιχείων nios_sopc και sdram_pll ενϊ γίνεται και θ ενεργοποίθςθ των αντίςτοιχων ςτιγμιότυπων. COMPONENT nios_sopc port ( -- global signals: signal clk_0 : IN STD_LOGIC; signal reset_n : IN STD_LOGIC; -- the_leds signal out_port_from_the_leds : OUT STD_LOGIC_VECTOR (7 DOWNTO 0); -- the_switches signal in_port_to_the_switches : IN STD_LOGIC_VECTOR (7 DOWNTO 0); -- the_uart signal rxd_to_the_uart : IN STD_LOGIC; signal txd_from_the_uart : OUT STD_LOGIC; -- sdram signal zs_addr_from_the_sdram : OUT STD_LOGIC_VECTOR (11 DOWNTO 0); signal zs_ba_from_the_sdram : BUFFER STD_LOGIC_VECTOR (1 DOWNTO 0); signal zs_cas_n_from_the_sdram : OUT STD_LOGIC; signal zs_cke_from_the_sdram : OUT STD_LOGIC; signal zs_cs_n_from_the_sdram : OUT STD_LOGIC; signal zs_dq_to_and_from_the_sdram : INOUT STD_LOGIC_VECTOR (15 DOWNTO 0); signal zs_dqm_from_the_sdram : BUFFER STD_LOGIC_VECTOR (1 DOWNTO 0); signal zs_ras_n_from_the_sdram : OUT STD_LOGIC; signal zs_we_n_from_the_sdram : OUT STD_LOGIC ); END COMPONENT; 58/110

59 COMPONENT sdram_pll port ( signal inclk0 : IN STD_LOGIC; signal c0 : OUT STD_LOGIC; signal c1 : OUT STD_LOGIC ); end COMPONENT; Ο παρακάτω κϊδικασ εξυπθρετεί δφο ςκοποφσ signal system_clock : STD_LOGIC; signal BA : STD_LOGIC_VECTOR(1 DOWNTO 0); signal DQM : STD_LOGIC_VECTOR(1 DOWNTO 0); Ο SOPC builder για τισ Bank Addresses δθμιουργεί δυο διανφςματα των δφο bits ba_from_the_sdram, zs_dqm_from_the_sdram όμωσ ςτα Pin Assignments είναι οριςμζνα ςαν δφο διαφορετικά ςιματα για το κακζνα. Δθμιουργιςαμε λοιπόν τα DQM και ΒΑ ςτα οποία δίνονται οι τιμζσ από τα τζςςερα ςιματα και ςτθ ςυνζχεια τροφοδοτοφνται ωσ δφο διανφςματα ςτον nios_sopc component. DRAM_BA_1 <= BA(1); DRAM_BA_0 <= BA(0); DRAM_UDQM <= DQM(1); DRAM_LDQM <= DQM(0); zs_ba_from_the_sdram => BA zs_dqm_from_the_sdram => DQM To system_clock είναι το βαςικό ρολόι του ςυςτιματοσ. Σο pll Που φτιάξαμε κατά τθ διάρκεια ενεργοποίθςθσ του ςτιγμιότυποφ του δζχεται ωσ είςοδο το ρολόι του ςυςτιματοσ και παράγει το ζνα ρολόι με τθν αρνθτικι μετατόπιςθ των 3ns που οδθγεί τθν SDRAM αλλά και το system_clock που οδθγεί το υπόλοιπο ςφςτθμα. 59/110

60 neg_3ns : sdram_pll port map ( inclk0 c0 c1 ); => CLOCK_50, => DRAM_CLK, => system_clock Σζλοσ ςυμπεριλαμβάνεται και θ ενεργοποίθςθ του nios_sopc. nios_sopc_inst : nios_sopc port map( out_port_from_the_leds => LEDG, clk_0 => system_clock, in_port_to_the_switches => SW, reset_n => '1', rxd_to_the_uart => UART_RXD, txd_from_the_uart => UART_TXD, zs_addr_from_the_sdram zs_ba_from_the_sdram zs_cas_n_from_the_sdram zs_cke_from_the_sdram zs_cs_n_from_the_sdram zs_dq_to_and_from_the_sdram zs_dqm_from_the_sdram zs_ras_n_from_the_sdram zs_we_n_from_the_sdram ); => DRAM_ADDR, => BA, => DRAM_CAS_N, => DRAM_CKE, => DRAM_CS_N, => DRAM_DQ, => DQM, => DRAM_RAS_N, => DRAM_WE_N Σροφοδοτείται το ςτιγμιότυπο με τα αντίςτοιχα ςιματα. το reset δίνεται θ μονάδα κακϊσ είναι active_low. 60/110

61 4.6 Προγραμματιςμόσ του FPGA Ζχοντασ ολοκλθρϊςει τθν ενςωμάτωςθ του Nios II και τθσ υπόλοιπθσ απαραίτθτθσ λογικισ προχωράμε ςτο Compilation του Project (Processing -> Start Compilation). Αφοφ ολοκλθρωκεί με επιτυχία γίνεται ο προγραμματιςμόσ (Tools -> Programmer) τθσ αναπτυξιακισ πλακζτασ επιλζγοντασ το sof αρχείο που ζχει παραχκεί. Εικόνα 28 Quartus II: Programmer Γίνεται επιλογι του αρχείου sof και επιλζγεται το Program/Configure. Αφοφ αναγνωριςτεί το FPGA, μζςω του Auto Detect, πατϊντασ ςτο Start ξεκινάει θ διαδικαςία και πλζον είμαςτε ζτοιμοι για το ανϊτερο ςτάδιο προγραμματιςμοφ του επεξεργαςτι [Εικόνα 28]. 61/110

62 Κεφάλαιο 5: Διαδικαςία ςχεδιαςμού και υλοποίηςησ του λογιςμικού του ςυςτήματοσ 5.1 Ειςαγωγή ςτη πλατφόρμα Nios II Software Build Tools for Eclipse Για τον προγραμματιςμό του Nios II με ςχεδιαςμό εφαρμογισ ςε C/C++ θ Altera προτείνει το Nios II Software Build Tools που βαςίηεται ςτθν πλατφόρμα Eclipse ενϊ το παλαιότερο Nios II IDE αποτελεί legacy εργαλείο. Η πλατφόρμα Nios II SBT υποςτθρίηει τθ δθμιουργία εφαρμογϊν για όλα τα ςυςτιματα με ενςωματωμζνουσ επεξεργαςτζσ Nios II και εξυπθρετεί όλεσ τισ ανάγκεσ προγραμματιςμοφ όπωσ τθ δθμιουργία, τθν εκτζλεςθ τθν εκςφαλμάτωςθ και τθν ανάλυςθ (profiling) των προγραμμάτων. Η ζκδοςθ που χρθςιμοποιικθκε για τθν υλοποίθςθσ αυτισ τθσ εφαρμογισ είναι θ Nios II Software Build Tools for Eclipse (SBT4E) Version: 12.1 Μεκοδολογία ςχεδίαςθσ Αρχικά ορίηουμε το workbench που κα εργαςτοφμε και που κα περιζχει πλθροφορίεσ για τα Projects μασ. Σο περιβάλλον τθσ εφαρμογισ επιτρζπει τθν τροποποίθςθ του, ϊςτε να καλφπτει τισ δικζσ μασ ανάγκεσ. Παρζχει πολλαπλά Perspectives τα οποία εμπεριζχουν Views. Ωσ perspective νοείται ζνα ςφνολο από εργαλεία που παρζχει το περιβάλλον, τα οποία προβάλλονται μζςα από τα αντίςτοιχα τουσ views, και επιτρζπει τθν εκτζλεςθ ςυγκεκριμζνου υποςυνόλου λειτουργιϊν. Σα Perspectives που παρζχονται είναι μεταξφ άλλων αυτά τθσ C/C++, εκςφαλμάτωςθσ, Nios II, GIT αποκετθρίου και άλλα που φαίνονται ςτθν παρακάτω εικόνα [Εικόνα 29]. 62/110

63 Εικόνα 29 Nios II SBT: Perspectives τα πλαίςια τθσ πτυχιακισ ζγινε χριςθ των Perspective άμεςα ςχετιηόμενα με τον Nios II. ε κάκε perspective μποροφν να προςτεκοφν Views ϊςτε να υποςτθρίηονται οι επικυμθτζσ δυνατότθτεσ [Εικόνα 30]. Εικόνα 30 Nios II SBT: Προςκικθ των Views ςτα Perspectives Παρακάτω αποτυπϊνεται ζνα ςτιγμιότυπο του IDE ςε Nios II Perspective και με ενεργοποιθμζνα τα Views του Project Explorer, τθσ Αναηιτθςθσ, των Problems, Tasks, Console, Properties και Nios II Console [Εικόνα 31]. 63/110

64 Εικόνα 31 Nios II SBT: Nios II Perspective Για τθ δθμιουργία εφαρμογισ για ςφςτθμα με ενςωματωμζνο επεξεργαςτι Nios II είναι απαραίτθτο να είναι ενεργοποιθμζνο το Nios II Perspective. 5.2 χεδίαςη ςτη πλατφόρμα Nios II Software Build Tools for Eclipse Βαςικόσ κορμόσ τθσ εφαρμογισ είναι θ δθμιουργία του Application Project και του BSP (Board Support Package). Σο Application Project περιζχει το Business Logic τθσ εφαρμογισ ενϊ το BSP είναι το ενδιάμεςο επίπεδο που επιτρζπει τθν επικοινωνία με το hardware. Σο BSP ςυγκεκριμζνα ζχει τθ λογικι τθσ βιβλιοκικθσ που παρζχει πρόςβαςθ ςτα επιμζρουσ τμιματα και περιφερειακά του ςυςτιματοσ. Είναι φυςικά δυνατό να προςκζςουμε και δικζσ μασ βιβλιοκικεσ. Από το Menu File -> Nios II Application and BSP from Template ξεκινάει ο οδθγόσ δθμιουργίασ των αντίςτοιχων Project [Εικόνα 32]. 64/110

65 Πρϊτο βιμα είναι θ επιλογι του SOPC αρχείου που δθμιουργικθκε ςτο προθγοφμενο μζροσ. Αφοφ επιλεχκεί αναγνωρίηεται και προβάλλεται ςτο πεδίο CPU name το όνομα που ζχουμε δϊςει ςτον επεξεργαςτι Nios II. τθ ςυνζχεια πρζπει να δοκεί ζνα όνομα για το Project και ζνασ φάκελοσ για να αποκθκευτεί. Εικόνα 32 Nios II SBT: Οδθγόσ δθμιουργίασ Project από Templates Για τισ ανάγκεσ τθσ εφαρμογισ κα χρθςιμοποιθκεί το template "Hello World" που παρζχει απλά τθ βάςθ για τθ δθμιουργία τθσ δικιάσ μασ εφαρμογισ και παρουςιάηει τθ ςωςτι δομι. 65/110

66 τθν επόμενθ ςελίδα του οδθγοφ δε χρειάηεται να γίνει κάποια αλλαγι κακϊσ απλά ηθτείται όνομα και τοποκεςία του BSP Project. Πατϊντασ ςτο Finish θ πλατφόρμα αντιγράφει τα απαραίτθτα αρχεία ςτουσ φακζλουσ των Project και δθμιουργεί τα makefiles. υγκεκριμζνα τα makefiles είναι αρχεία που περιγράφουν τθ διαδικαςία του "χτιςίματοσ" (build) τθσ εφαρμογισ και του BSP αντίςτοιχα. Σζλοσ εκτελεί τθν εντολι make clean που κακαρίηει τυχόν dependencies και ετοιμάηει το Project για τθ διαδικαςία του χτιςίματοσ ( Build). Για να χτίςουμε το Project αρκεί να πάμε ςτο μενοφ Project -> Build Project και αν όλα ζχουν γίνει ςωςτά κα λάβουμε ςτθν κονςόλα μινυμα πωσ ζχει ολοκλθρωκεί το Build. Σα ποιο ςθμαντικά αρχεία που παράγονται από τθ διαδικαςία του Build είναι το *.elf αρχείο και το system.h. Σο elf αρχείο (Executable Linkable Format) είναι ςτθν ουςία θ ζξοδοσ του compiled κϊδικα που κα εκτελεςτεί αφοφ περαςτεί ςτο FPGA και εμπεριζχεται ςτο Application Project. Σο δεφτερο ςθμαντικό αρχείο είναι το system.h που είναι ζνασ header file περιγραφισ του ςυςτιματοσ. Εμπεριζχεται ςτο BSP Project και περιζχει το χάρτθ μνιμθσ όλων των υποςυςτθμάτων, το BASE Address αυτϊν κακϊσ και τα ςυμβολικά τουσ ονόματα που μποροφν να χρθςιμοποιθκοφν αργότερα ςτθν εφαρμογι. Σο επόμενο βιμα είναι να τρζξουμε το πρόγραμμα μασ ςτον Nios II που ζχουμε δθμιουργιςει ςτο FPGA. Αυτό προχποκζτει φυςικά πωσ ζχει χρθςιμοποιθκεί ο Quartus II Programmer για τθ διαμόρφωςθ του FPGA με τθ βοικεια του sof αρχείου που είχε παραχκεί από το Quartus II [Εικόνα 28]. Αφοφ το FPGA είναι προγραμματιςμζνο με βάςθ το sof που είχε δθμιουργθκεί μποροφμε να εκτελζςουμε τθν εφαρμογι ωσ Nios II Hardware. υγκεκριμζνα δεξί click ςτο όνομα του Project και Run As -> Nios II Hardware. Η διαδικαςία αυτι περιλαμβάνει τθ δθμιουργία ενόσ Configuration για το Nios II Hardware που κα επιτρζψει τθν επικοινωνία με τθ ςυςκευι, build του Project αν χρειάηεται και τζλοσ 66/110

67 το download του εκτελζςιμου (elf αρχείου) ςτον Nios II με ςκοπό τθν εκτζλεςθ αυτοφ. Για το ςκοπό αυτό πρζπει να παραμετροποιιςουμε κατάλλθλα το ςτιγμιότυπο του Configuration που ζχουμε δθμιουργιςει. υγκεκριμζνα ςτθ καρτζλα Project μποροφμε να επιλζξουμε τον επεξεργαςτι που κα τρζξει θ εφαρμογι (ςτθ δικιά μασ περίπτωςθ είναι ζνασ), ποια ςυςκευι κα χρθςιμοποιθκεί για είςοδο - ζξοδο (τθν οποία κα αλλάξουμε αργότερα με ςκοπό τθ προβολι ενόσ άλλου τμιματοσ τθσ πλατφόρμασ) κακϊσ και πιο προχωρθμζνεσ επιλογζσ για τθ χριςθ Profiling δυνατοτιτων. τα πλαίςια αυτισ τθσ εφαρμογισ δε χρειάηεται να γίνει κάποια αλλαγι ςτισ ρυκμίςεισ αυτζσ [Εικόνα 33]. Εικόνα 33 Nios II SBT: Παράκυρο του Run Configurations / Καρτζλα Project 67/110

68 Η επόμενθ καρτζλα Target Connection είναι απαραίτθτο να ρυκμιςτεί ςωςτά ϊςτε να επιτφχουμε τθ ςωςτι διαςφνδεςθ του Host μθχανιματοσ με το FPGA. Εικόνα 34 Nios II SBT: Παράκυρο του Run Configurations / Καρτζλα Target Connection - Μθ ορατι ςυςκευι > Refresh Connections ε περίπτωςθ που δεν είναι ορατι θ ςυςκευι μασ, αρκεί να γίνει click ςτο Refresh Connections [Εικόνα 34]. τθ παραπάνω εικόνα υπάρχει μια επιςκόπθςθ του τρόπου διαςφνδεςθσ, τθσ ςυςκευισ αλλά και τθσ αρχιτεκτονικισ του ςυςτιματοσ. Δεν απαιτείται κάποια αλλαγι ςτισ υπόλοιπεσ καρτζλεσ παρά μόνο διαδοχικά click ςτο Apply και ςτο Run. Αν όλα ζχουν προχωριςει χωρίσ πρόβλθμα κα πρζπει ςτο View: Nios II Console view να ζχει εμφανιςτεί το μινυμα Hello from Nios II!. Σο μινυμα αυτό προβλικθκε ςτθν κονςόλα γιατί θ ςυςκευι που ζχουμε ορίςει ωσ standard input - output είναι θ JTAG UART. υγκεκριμζνα ωσ τϊρα ζχουμε ορίςει τθν JTAG UART ωσ stdin, stdout και stderr ςυςκευι επικοινωνίασ. 68/110

69 O κϊδικασ που είχε δθμιουργιςει το template για μασ, υπάρχει ςτο αρχείο hello_world.c. #include <stdio.h> int main() { printf("hello from Nios II!\n"); } return 0; το πλαίςιο τθσ πτυχιακισ αυτισ ηθτικθκε θ ςειριακι επικοινωνία με τον Nios II. Για το ςκοπό αυτό ενςωματϊκθκε, όπωσ περιγράφτθκε ςτο προθγοφμενο τμιμα, ςτο ςφςτθμα μασ το component UART RS-232 Serial Port. Για να επιτρζψουμε ςτθν εφαρμογι να χρθςιμοποιιςει τθ ςειριακι κφρα ερευνικθκαν δφο μζκοδοι. Ο ζνασ τρόποσ περιζχει τον οριςμό τθσ ςειριακισ κφρασ που ενςωματϊκθκε ςτο ςφςτθμα ωσ standard input - output τθσ εφαρμογισ. Ο δεφτεροσ περιγράφει τθ δυνατότθτα του να ανοίξουμε προγραμματιςτικά μια δίοδο επικοινωνίασ. Οι δφο αυτοί τρόποι κα χρθςιμοποιθκοφν ςυμπλθρωματικά κατά τθ ςυγγραφι τθσ εφαρμογισ. Για τον οριςμό των standard input/output και άλλων ρυκμίςεων του ςχεδίου είναι απαραίτθτθ θ χριςθ του BSP Editor. BSP Editor Ζνα ςθμαντικό εργαλείο του Nios II SBT (Software Build Tools) είναι ο BSP Editor. Με τθ βοικεια του BSP Editor μποροφμε να ζχουμε μια επιςκόπθςθ του ςυςτιματοσ μασ, αλλά και να προβοφμε ςε αλλαγζσ αυτοφ. τθν παρακάτω εικόνα παρουςιάηεται το ςτιγμιότυπο του BSP Editor για το ςφςτθμα που ζχει περιγραφτεί ζωσ τϊρα *Εικόνα 35]. 69/110

70 Εικόνα 35 Nios II SBT: BSP Editor τθν αρχικι ςελίδα μασ δίνονται βαςικζσ άλλα και προχωρθμζνεσ επιλογζσ για το ςφςτθμα. Περιζχονται switches όπωσ το enable_reduced_device_drivers που επιτρζπει τθν ελαχιςτοποίθςθ του κϊδικα που χρειάηεται για επικοινωνία με τισ ςυςκευζσ του ςυςτιματοσ. Εικόνα 36 Nios II SBT: Οριςμόσ τθσ uart ωσ ςυςκευι ειςόδου/εξόδου Μια ςθμαντικι ρφκμιςθ που πραγματοποιείται εδϊ είναι θ αλλαγι των stdin, stdout και stderr ςυςκευϊν. Κακϊσ ο ςκοπόσ τθσ πτυχιακισ είναι θ ςειριακι επικοινωνία με τον Nios II επιλζγεται θ UART ωσ standard ςυςκευι ειςόδου / εξόδου και ζτςι μασ παρζχεται τρομερι ευκολία επικοινωνίασ [Εικόνα 36]. Ζνα 70/110

71 παράδειγμα είναι μια ότι μια απλι printf μετά από αυτι τθν αλλαγι κα αποςτζλλεται πλζον ςτθ ςειριακι κφρα. τθ καρτζλα Software Packages μποροφμε να ενεργοποιιςουμε επιπλζον software components αν χρειάηεται ενϊ ςτθ καρτζλα Drivers υπάρχει μια λίςτα από Drivers που χρθςιμοποιοφνται για τθν επικοινωνία με τα υποςυςτιματα τθσ εφαρμογισ όπωσ αυτά περιγράφονται ςτο αρχείο system.h [Εικόνα 37]. Εικόνα 37 Nios II SBT: BSP Editor / Καρτζλα Drivers τθ καρτζλα Linker script γίνεται το mapping των περιοχϊν του κϊδικα με τισ φυςικζσ - πραγματικζσ μνιμεσ (physical memories) του ςυςτιματοσ. Μποροφμε επίςθσ να δοφμε τθν περιοχι διευκφνςεων που καταλαμβάνουν κακϊσ και το μζγεκοσ τουσ. τθν τελευταία καρτζλα προβάλλονται τα αρχεία που κα δθμιουργθκοφν / αντιγραφοφν κατά τθ δθμιουργία του BSP. Ζχοντασ ουςιαςτικά αλλάξει μόνο τα stdin, stdout, stderr devices κάνουμε Generate του BSP. Αποκθκεφονται οι αλλαγζσ μασ ςτο BSP project ενϊ αφοφ παραχκοφν τα αντίςτοιχα αρχεία πρζπει να γίνει ξανά Build του BSP και του Application Project. Αν δοκιμάςουμε να τρζξουμε εκ νζου τθν εφαρμογι (Run as Nios II Hardware) κα παρατθριςουμε ότι δεν υπάρχει κάποια ζξοδοσ ςτθν κονςόλα του Nios II. Ο λόγοσ είναι ότι πλζον ζχουμε κατευκφνει τθν ζξοδο του Nios II ςτθν ςειριακι κφρα του υπολογιςτι μασ. Για να επικοινωνιςουμε με τον Nios II είναι απαραίτθτθ θ χριςθ μιασ host εφαρμογισ. ε αυτό το βιμα τθσ πτυχιακισ κα χρθςιμοποιθκεί ζνα πρόγραμμα που ζχει αυτζσ τισ δυνατότθτεσ ενϊ αργότερα κα υλοποιθκεί host εφαρμογι ςε C++. Με τθ βοικεια τθσ εφαρμογισ Tera Term πραγματοποιοφμε 71/110

72 ςφνδεςθ με τθ ςειριακι κφρα του υπολογιςτι. τθν πραγματικότθτα είναι μια virtual ςειριακι κφρα κακϊσ δθμιουργείται από τον USB to Serial Adaptor που με τθ χριςθ μιασ USB κφρα του υπολογιςτι και ενόσ ςειριακοφ καλωδίου μασ επιτρζπει τθ ςφνδεςθ με τον Nios II. Για τθ ςωςτι υλοποίθςθ τθσ επικοινωνίασ πρζπει να γίνουν οι απαραίτθτεσ ρυκμίςεισ όπωσ το Baud Rate που είχαμε κακορίςει κατά τθν δθμιουργία του component UART RS232 Serial Port και τθσ ενςωμάτωςθσ αυτοφ ςτο ςφςτθμα μασ [Εικόνα 38]. Εικόνα 38 Ρυκμίςεισ τθσ ςειριακισ επικοινωνίασ ςτθν Host εφαρμογι Tera Term Αφοφ παραμετροποιθκεί θ ςφνδεςθ, κάνοντασ reset τον Nios II (πατϊντασ ςτο Push Button που είχε οριςτεί για reset) λαμβάνουμε ςτθν οκόνθ, μζςω τθσ ςειριακισ κφρασ, το μινυμα τθσ printf [Εικόνα 39]. Εικόνα 39 Προβολι μθνφματοσ από τον Nios II μζςω ςειριακισ κφρασ 72/110

73 5.3 Τλοποίηςη πειραματικήσ εφαρμογήσ ςειριακήσ επικοινωνίασ και χρήςησ περιφερειακών Nios II SBT for Eclipse Η δοκιμαςτικι αυτι εφαρμογι παρζχει ςτο χριςτθ ζνα μενοφ επιλογϊν και με βάςθ τθν είςοδο που λαμβάνει από τθν ςειριακι κφρα εκτελεί το αντίςτοιχο τμιμα κϊδικα. Σα επιμζρουσ τμιματα κϊδικα εκτελοφν ςφνολα εντολϊν που ςχετίηονται με τα περιφερειακά του ςυςτιματοσ όπωσ οι διακόπτεσ, τα LEDs και τα Seven Segment Displays με ςκοπό τθ μεταξφ τουσ αλλθλεπίδραςθ αλλά και τθν επίτευξθ διαδραςτικότθτασ με τθ βοικεια τθσ ςειριακισ κφρασ. υγκεκριμζνα οι τρεισ υπο - εφαρμογζσ πραγματοποιοφν ζνα μοτίβο ςτα πράςινα LEDs με βάςθ παραμετροποιιςιμθ κακυςτζρθςθ, υπολογιςμοφσ με βάςθ τθν είςοδο που λαμβάνουν από τθν ςειριακι κφρα και τζλοσ αποτφπωςθ χαρακτιρων ςτα 7Segment Displays ακολουκϊντασ ζνα μοτίβο κίνθςθσ με δυνατότθτα ελζγχου τθσ ταχφτθτασ αυτοφ. Η λογικι τθσ εφαρμογισ αποτυπϊνεται ςτο παρακάτω διάγραμμα ροισ ενϊ αργότερα αναλφονται κάποια ςθμαντικά τμιματα του κϊδικα [χιμα 9]. 73/110

74 χιμα 9 Nios II SBT: Διάγραμμα Ροισ πειραματικισ εφαρμογισ Αρχικά γίνεται ο κακοριςμόσ των μεταβλθτϊν κάνοντασ χριςθ του HAL Layer που παρζχει το BSP Project. υγκεκριμζνα ενςωματϊνεται το αρχείο system.h ϊςτε να μποροφν να χρθςιμοποιθκοφν, οι καταςκευαςμζνεσ από το BSP μεταβλθτζσ, που περιγράφουν του ςφςτθμα μασ. το system.h ζχει παραχκεί κϊδικασ που περιγράφει όλα τα υποςυςτιματα του Nios II όπωσ αυτά ςχθματίηονται από το sopc info αρχείο που είχαμε δθλϊςει. Οι μεταβλθτζσ που περιγράφουν το κάκε 74/110

75 υποςφςτθμα περιζχουν πλθροφορίεσ όπωσ τθ κζςθ μνιμθσ του υποςυςτιματοσ, το όνομα και άλλα ςτοιχεία που μπορεί να χρειαςτοφν από το επίπεδο του λογιςμικοφ. Ο κακοριςμόσ των μεταβλθτϊν γίνεται με δθμιουργία volatile pointers που δείχνουν ςτο BASE address (διεφκυνςθ μνιμθσ) του αντίςτοιχου υποςυςτιματοσ. Ο τφποσ volatile δθλϊνει ςτον compiler πωσ θ τιμι ςτθν οποία δείχνει ο pointer είναι δυνατό να αλλάξει ανά πάςα ςτιγμι από κάποια εξωτερικι ενζργεια εκτόσ προγράμματοσ. Αυτό είναι απαραίτθτο κακϊσ για παράδειγμα οι τιμζσ των διακοπτϊν αλλάηουν ξεκάκαρα από ανκρϊπινθ παρζμβαςθ. volatile int * RED_LED_ptr = (int *) RED_LEDS_BASE; volatile int * GREEN_LEDS_BASE_ptr = (int *) GREEN_LEDS_BASE; volatile int * SW_switch_ptr = (int *) SWITCHES_BASE; volatile int * HEX3_HEX0_ptr = (int *) HEX3_HEX0_BASE; volatile int * HEX7_HEX4_ptr = (int *) HEX7_HEX4_BASE; volatile int * PUSHBUTTONS_ptr = (int *) PUSHBUTTONS_BASE; Οι παραπάνω δείκτεσ χρθςιμοποιοφνται κατά τθν εκτζλεςθ του προγράμματοσ και τθν υλοποίθςθ του business logic τθσ εφαρμογισ. ε πολλά ςθμεία τθσ εφαρμογισ χρθςιμοποιείται θ ςυνάρτθςθ delaycalculator που δεχόμενθ τθν τιμι του περιεχομζνου του δείκτθ των διακοπτϊν παράγει ανάλογθ κακυςτζρθςθ απαραίτθτθ για τισ εναλλαγζσ ςτα οπτικά μοτίβα και τθν παρατιρθςθ αυτϊν από το ανκρϊπινο μάτι. Η ςειριακι επικοινωνία υλοποιείται με τθ χριςθ απλϊν εντολϊν τφπου printf κακϊσ ζχουμε επιλζξει πωσ θ ζξοδοσ του ςυςτιματοσ (stdout) κα είναι θ ςειριακι κφρα. Για εκπαιδευτικοφσ λόγουσ όμωσ ενςωματϊνεται ςτθν εφαρμογι και θ διαδικαςία χριςθσ τθσ ςειριακισ κφρασ αυτόνομα. υγκεκριμζνα ςτο επόμενο τμιμα τθσ εφαρμογισ γίνεται άνοιγμα τθσ ςειριακισ επικοινωνίασ για εγγραφι και ανάγνωςθ. Για να πραγματοποιθκεί αυτό αρκεί να προςπελαςτεί το υποςφςτθμα τθσ UART ωσ αρχείο για εγγραφι και ανάγνωςθ. 75/110

76 fp = fopen(uart_name, "r+"); if (fp) { Με αυτό το τρόπο μποροφμε να χρθςιμοποιοφμε εντολζσ τφπου getc για επικοινωνία με τθ ςειριακι κφρα. τθ ςυνζχεια γίνεται αναμονι για παραλαβι χαρακτιρα που κα κακορίςει ποιο υποςφςτθμα κα εκτελεςτεί. Μοτίβο ςτα LEDs Με τθν παραλαβι του "1" εκτελείται ζνα πρόγραμμα που δθμιουργεί μοτίβο ςτα πράςινα LEDS και επαναλαμβάνεται με ςυχνότθτα που ορίηεται από τον αρικμό των Switches που είναι τοποκετθμζνοι ςτο ON. Η επανάλθψθ αυτι διακόπτεται μόνο εάν ο χριςτθσ τοποκετιςει τουσ διακόπτεσ ςτο OFF. υγκεκριμζνα αρχικά αποτυπϊνεται θ τιμι των ανοικτϊν διακοπτϊν ςτα κόκκινα LEDs με ςκοπό τθν οπτικι αναπαράςταςθ αυτϊν. Εγγράφεται ςτθ τιμι του περιεχόμενου του δείκτθ των κόκκινων LEDs θ αντίςτοιχθ τιμι περιεχομζνου των διακοπτϊν. SW = *(SW_switch_ptr); *(RED_LED_ptr) = SW; delaycalculator(sw); τθ ςυνζχεια εκτελείται μια εςωτερικι επανάλθψθ ϊςτε να ανάψουν διαδοχικά τα 8 πράςινα LEDs με κακυςτζρθςθ των εςωτερικϊν μεταβάςεων ανάλογθ των ανοικτϊν διακοπτϊν. Για εκπαιδευτικοφσ λόγουσ θ εγγραφι τθσ εκάςτοτε τιμισ ςτα πράςινα LEDs γίνεται με τθ χριςθ τθσ IOWR_ALTERA_AVALON_PIO_DATA(GREEN_LEDS_BASE, sum); 76/110

77 μιασ ςυνάρτθςθσ τθσ Altera που ανικει ςε ζνα ςφνολο βοθκθτικϊν ςυναρτιςεων και πραγματοποιεί IOWR δθλαδι εγγραφι δεδομζνων ςε κάποια κφρα. Παίρνει ωσ όριςμα το BASE address του περιφερειακοφ και τθν τιμι εγγραφισ ςε αυτό (εδϊ το sum ορίηει το ποια πράςινα LEDs κα είναι ανοικτά ακολουκϊντασ το μοτίβο). Η ςυγκεκριμζνθ εντολι είναι ιςοδφναμθ με τθν *(GREEN_LED_ptr) = sum; που λειτουργεί με τον τρόπο που ζχει περιγραφεί. Σζλοσ αν κατά τθ διάρκεια των επαναλιψεων το πρόγραμμα ανιχνεφςει πωσ ζχουν κλείςει οι διακόπτεσ οδθγείται ςε ζξοδο από τον βρόγχο και κατευκφνεται ςτον προθγοφμενο βρόγχο επιλογισ χαρακτιρα. Επεξεργαςία δεδομζνων που λαμβάνονται από τθ ςειριακι κφρα Με τθν παραλαβι του χαρακτιρα "2" εκτελείται ζνα υπο-πρόγραμμα που προςομοιϊνει τθ χριςθ του Nios II ωσ υλικό που επεξεργάηεται δεδομζνα. Η υλοποίθςθ είναι απλι κακϊσ δζχεται από τθν ςειριακι κφρα τον αρικμό ςτον οποίο κα ικελε να υψϊςει το δφο και του επιςτρζφεται το αποτζλεςμα. Σο ενδιαφζρον είναι θ δθμιουργία custom hardware που να εκτελεί κάποια διεργαςία που ζχει περιγραφεί ωσ ςυνάρτθςθ ςε C. C2H Compiler Σο Nios 2 IDE υποςτθρίηει τον C2H Compiler ο οποίοσ δεν ζχει ακόμα μεταφερκεί ςτο Nios II SBT για τον Eclipse. υγκεκριμζνα ο C2Η υλοποιεί τθν μεταφορά ςυναρτιςεων που ζχουν γραφτεί ςε C και τθ μετάφραςθ αυτϊν ςε block υλικοφ. 77/110

78 Οι βελτιϊςεισ ςτο επίπεδο τθσ ταχφτθτασ εκτζλεςθσ είναι τρομερά υψθλζσ ςε περιπτϊςεισ που οι αλλθλεξαρτιςεισ των δεδομζνων επιτρζπουν ςτον C2H να υλοποιεί παράλλθλα διεργαςίεσ. Σο ςυχνότερο εμπόδιο ςτθν μεγιςτοποίθςθ του χρόνου εκτζλεςθσ των διεργαςιϊν είναι θ ταχφτθτα ανάγνωςθσ τθσ μνιμθσ. Αυτόσ είναι και ο λόγοσ που ο C2H Compiler απαιτεί βελτιςτοποιιςεισ ςτο επίπεδο τθσ χριςθσ τθσ μνιμθσ. Μια αλλαγι που επιφζρει δραματικι βελτίωςθ είναι θ μεταφορά των δεδομζνων από τθν αργι SDRAM ςτθν low-latency on-chip ram. Αν για παράδειγμα ζνα τμιμα τθσ εφαρμογισ επιβάλει τθν ανάγνωςθ πολλϊν δεδομζνων από τθν SDRAM κα μποροφςε να χρθςιμοποιθκεί θ ONCHIP μνιμθ ωσ ενδιάμεςοσ Buffer ανάμεςα ςτθν διεργαςία που επιτελεί ο hardware accelerator και τθσ τελικισ αποκικευςθσ των δεδομζνων ςτθν SDRAM. Ο τφποσ ςυναρτιςεων που μποροφν να επωφελθκοφν περιςςότερο από τθ μετατροπι τουσ ςε hardware με τον C2H Compiler είναι αυτζσ που επιτελοφν επαναλαμβανόμενεσ διεργαςίεσ ςε μεγάλα κομμάτια δεδομζνων. Σζτοιεσ είναι θ κρυπτογράφθςθ / αποκρυπτογράφθςθ ι το φιλτράριςμα δεδομζνων. Αντικζτωσ διεργαςίεσ που ζχουν πολλζσ εξαρτιςεισ δεδομζνων με αποτζλεςμα να απαιτείται ςειριακι εκτζλεςθ λειτουργιϊν ίςωσ τυγχάνουν καλφτερθσ βελτιςτοποίθςθσ αν εκτελεςτοφν κανονικά ςτον επεξεργαςτι. Από το περιβάλλον του Nios II IDE υπάρχει θ δυνατότθτα κάνοντασ δεξί click ςε κάποια ςυνάρτθςθ θ επιλογι "Accelerate with Nios II C2H Compiler". Τλοποιείται ζτςι θ εφκολθ δθμιουργία αντίςτοιχων hardware blocks βελτιϊνοντασ τθν ταχφτθτα εκτζλεςθσ των λειτουργιϊν τθσ ςυγκεκριμζνθσ ςυνάρτθςθσ αλλά και τθσ κατανάλωςθσ ενζργειασ ενςωματϊνοντασ ςτο προγραμματιηόμενο ςφςτθμα τθν υλοποίθςθ, από επίπεδο λογιςμικοφ ςε επίπεδο υλικοφ. Επαναδθμιουργεί αυτόματα με τθ χριςθ του SOPC Builder και του Quartus II νζο sof αρχείο που περιζχει τθν υλοποίθςθ. υγκεκριμζνα ο C2H αναλφει των κϊδικα, δθμιουργεί βελτιςτοποιιςεισ μελετϊντασ τισ εξαρτιςεισ μεταξφ των δεδομζνων τθσ εφαρμογισ, επιτελεί χρονοπρογραμματιςμό των διεργαςιϊν και τζλοσ παράγει ζναν C wrapper που 78/110

79 ενςωματϊνει και αποκρφπτει τθν πολυπλοκότθτα τθσ διαςφνδεςθσ του Nios II με τον hardware accelerator. τθ ςυνζχεια από το περιβάλλον του IDE απλά επιλζγεται από τον C2H compiler θ χριςθ του hardware για τθν υλοποίθςθ τθσ ςυνάρτθςθσ [Εικόνα 40]. Εικόνα 40 Nios II SBT: C2H Compiler υγκεντρωτικά ο C2H Compiler μετατρζπει μια ςυνάρτθςθ ςε C ςε block υλικοφ που τθν ενςωματϊνει ωσ component ςτον SOPC Builder και μασ επιτρζπει να τθν διαχειριςτοφμε από το Nios II IDE. Μοτίβο ςτα 7Segment Displays Η υπορουτίνα του προγράμματοσ επιςτρζφει ςτο αρχικό menu επιλογϊν όταν ανιχνεφςει πωσ οι διακόπτεσ είναι κλειςτοί. Με τθ παραλαβι του χαρακτιρα "3" γίνεται εκκίνθςθ ενόσ υποπρογράμματοσ που προβάλει ςτα 7Segment Displays το μινυμα "tei Ser" και το μετακινεί υλοποιϊντασ ολίςκθςθ του μοτίβου. Η ταχφτθτα τθσ ολίςκθςθσ ρυκμίηεται από τουσ διακόπτεσ ςτζλνοντασ τουσ ωσ όριςμα ςτθν ςυνάρτθςθ κακυςτζρθςθσ. Για το μοτίβο ολίςκθςθσ γίνεται αποτφπωςθ του αρχικοφ μθνφματοσ ςτα HEX Displays και ςτθ ςυνζχεια υλοποιείται μία επανάλθψθ που μετατοπίηει τον αρικμό (και άρα το μινυμα) με ενδιάμεςθ παραμετροποιιςιμθ κακυςτζρθςθ. 79/110

80 SW = *(SW_switch_ptr); *(RED_LED_ptr) = SW; delaycalculator(sw); tei = tei << 8; ser = ser << 8; *(HEX7_HEX4_ptr) = tei; *(HEX3_HEX0_ptr) = ser; Αν το πρόγραμμα ανιχνεφςει το κλείςιμο τον διακοπτϊν, επιςτρζφει τον χριςτθ ςτο αρχικό μενοφ. 5.4 Qt 5 - Εφαρμογή Εξυπηρετητή ειριακήσ Επικοινωνίασ Για τθν υλοποίθςθ host εφαρμογισ και τθν επίτευξθ τθσ ςειριακι επικοινωνία με τον Nios II χρθςιμοποιικθκε ο Qt Creator 5 και υλοποιικθκε ςυγγραφι τθσ εφαρμογισ ςε C++. Για τθ πραγματοποίθςθ τθσ ςειριακισ επικοινωνίασ χρθςιμοποιικθκε θ βιβλιοκικθ qextserialport [16] που υπόκειται ςe MIT License. Με τθ βοικεια τθσ βιβλιοκικθσ και του Qt 5 θ παροφςα εφαρμογι είναι crossplatform και άρα μπορεί να εκτελεςτεί ςε Windows, Linux, FreeBsd και Max OS X. Ειςαγωγι ςτο περιβάλλον Qt. To Qt 5 [17+ είναι ζνα περιβάλλον ανάπτυξθσ εφαρμογϊν που παράγει κϊδικα εκτελζςιμο ςε διαφορετικά λειτουργικά ςυςτιματα (cross - platform framework) Χρθςιμοποιείται εκτενϊσ για τθ δθμιουργία εφαρμογϊν, με γραφικό περιβάλλον ι μθ, χρθςιμοποιϊντασ μια εμπλουτιςμζνθ μορφι τθσ γλϊςςα προγραμματιςμοφ C++. Οι βαςικζσ ςυνιςτϊςεσ του Qt είναι θ φπαρξθ πολλϊν κλάςεων για τθν εφκολθ δθμιουργία γραφικοφ περιβάλλοντοσ, ςφνδεςθσ με βάςεισ δεδομζνων και θ κάλυψθ άλλων βαςικϊν αναγκϊν προγραμματιςμοφ. Σο Qt περιλαμβάνει τον Qt Creator ζνα περιβάλλον που ενςωματϊνει τθ δυνατότθτα του γραφιςτικοφ ςχεδιαςμοφ αλλά και προγραμματιςμοφ εφαρμογϊν. 80/110

81 5.4.1 Παρουςίαςη τησ εφαρμογήσ Η εφαρμογι υλοποιικθκε με χριςθ τθσ βιβλιοκικθσ qextserialport, παραδειγμάτων που εςωκλείονταν, του γραφικοφ ςχεδιαςμοφ του QT και τθσ event driver ςχεδίαςθσ. Ενςωματϊκθκε θ λειτουργικότθτα που παρζχει θ βιβλιοκικθ ςε ζνα γραφικό περιβάλλον που επιτρζπει τθν αποςτολι και λιψθ δεδομζνων από τθ ςειριακι κφρα με δυνατότθτα ρφκμιςθσ των ιδιοτιτων τθσ ςφνδεςθσ. Ακολουκεί ζνα ςτιγμιότυπο τθσ εφαρμογισ που αναπτφχκθκε *Εικόνα 41]. Εικόνα 41 τιγμιότυπο Εφαρμογισ ειριακισ επικοινωνίασ 81/110

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1 Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology)

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

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι Λογιςμικό (Software), Πρόγραμμα (Programme ι Program), Προγραμματιςτισ (Programmer), Λειτουργικό Σφςτθμα (Operating

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν Τπόβακρο (1/3) τουσ παλαιότερουσ υπολογιςτζσ θ Κεντρικι Μονάδα Επεξεργαςίασ (Κ.Μ.Ε.) μποροφςε κάκε ςτιγμι να εκτελεί μόνο ζνα πρόγραμμα τουσ ςφγχρονουσ

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ ελιδοποίθςθ (1/10) Σόςο θ κατάτμθςθ διαμεριςμάτων ςτακεροφ μεγζκουσ όςο και θ κατάτμθςθ διαμεριςμάτων μεταβλθτοφ και άνιςου μεγζκουσ δεν κάνουν

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

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι 2.1 Ο Προςωπικόσ Υπολογιςτήσ εςωτερικά Σροφοδοτικό, Μθτρικι πλακζτα (Motherboard), Κεντρικι Μονάδα Επεξεργαςίασ (CPU), Κφρια Μνιμθ

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

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 2

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 2 Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 2 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology)

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

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format. Virtualization Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format. Το virtualization πρόκειται για μια τεχνολογία, θ οποία επιτρζπει το διαχωριςμό

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

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι Τλικό υπολογιςτι (Hardware), Προςωπικόσ Τπολογιςτισ (ΡC), υςκευι ειςόδου, υςκευι εξόδου, Οκόνθ (Screen), Εκτυπωτισ (Printer), αρωτισ

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

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο Νικόλασ Κυπαριςςάσ, 414 Τπεφκυνοι Κακθγθτζσ: Δρ. Μθνάσ Δαςυγζνθσ,

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

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ Ειρινθ Φιλιοποφλου Ειςαγωγι Ο Παγκόςμιοσ Ιςτόσ (World Wide Web - WWW) ι πιο απλά Ιςτόσ (Web) είναι μία αρχιτεκτονικι για τθν προςπζλαςθ διαςυνδεδεμζνων εγγράφων

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

Συςκευζσ τθλεπικοινωνιϊν και δικτφωςθσ:

Συςκευζσ τθλεπικοινωνιϊν και δικτφωςθσ: Συςκευζσ τθλεπικοινωνιϊν και δικτφωςθσ: Σειριακι Θφρα (1/2): Σειριακι Θφρα Σειριακι (2/2): Σειριακι Θφρα Σειριακι Θφρα (1/2): Σειριακι Θφρα Ακροδζκτεσ Σειριακισ Θφρασ Σειριακι Θφρα Dial Up Mo.dem: Mo.dem:

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

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν Τι είναι θ Γραμμι Εντολϊν (1/6) Στουσ πρϊτουσ υπολογιςτζσ, και κυρίωσ από τθ δεκαετία του 60 και μετά, θ αλλθλεπίδραςθ του χριςτθ με τουσ

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

Δίκτυα Μεταγωγισ Δεδομζνων

Δίκτυα Μεταγωγισ Δεδομζνων Δίκτυα Μεταγωγισ Δεδομζνων Χ.25 (1/9): Πρόκειται για ζνα πρωτόκολλο τθσ ITU για δίκτυα WAN, το οποίο κακορίηει πωσ ςυνδζονται οι ςυςκευζσ του χριςτθ και του δικτφου. Είναι ανεξάρτθτο από τον τφπο των ςυςτθμάτων

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

Ειςαγωγή ςτην πληροφορική

Ειςαγωγή ςτην πληροφορική Ειςαγωγή ςτην πληροφορική Δρ. Θεοδώρου Παύλοσ theodorou@uoc.gr Δομή ηλεκτρονικού υπολογιςτή - Υλικό Μια γενικι διάκριςθ ςυςτατικϊν που ςυνκζτουν ζναν Η/Υ (πόροι *resources]) Μονάδα ειςόδου (Input unit)

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

Ηλιακι Θζρμανςθ οικίασ

Ηλιακι Θζρμανςθ οικίασ Ηλιακι Θζρμανςθ οικίασ Δυνατότθτα κάλυψθσ κερμαντικϊν αναγκϊν ζωσ και 100% (εξαρτάται από τθν τοποκεςία, τθν ςυλλεκτικι επιφάνεια και τθν μάηα νεροφ αποκθκεφςεωσ) βελτιςτοποιθμζνο ςφςτθμα με εγγυθμζνθ

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

ελ. 11/235, Περιεχόμενα Φακζλου "Σεχνικι Προςφορά"

ελ. 11/235, Περιεχόμενα Φακζλου Σεχνικι Προςφορά υντάκτθσ : Ευάγγελοσ Κρζτςιμοσ χόλιο: ΠΑΡΑΣΗΡΗΗ 1 ελ. 11/235, Περιεχόμενα Φακζλου "Σεχνικι Προςφορά" Για τθν αποφυγι μεγάλου όγκου προςφοράσ και για τθ διευκόλυνςθ του ζργου τθσ επιτροπισ προτείνεται τα

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

Σο θλεκτρικό κφκλωμα

Σο θλεκτρικό κφκλωμα Σο θλεκτρικό κφκλωμα Για να είναι δυνατι θ ροι των ελεφκερων θλεκτρονίων, για να ζχουμε θλεκτρικό ρεφμα, απαραίτθτθ προχπόκεςθ είναι θ φπαρξθ ενόσ κλειςτοφ θλεκτρικοφ κυκλϊματοσ. Είδθ κυκλωμάτων Σα κυκλϊματα

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

τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, www.e-kepa.gr για τθν περίοδο 1/1/2011-31/12/2014

τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, www.e-kepa.gr για τθν περίοδο 1/1/2011-31/12/2014 τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, www.e-kepa.gr για τθν περίοδο 1/1/2011-31/12/2014 Ειςαγωγι Στο παρόν κείμενο παρουςιάηονται και αναλφονται τα ςτατιςτικά ςτοιχεία του ιςτοτόπου τθσ ΚΕΠΑ-ΑΝΕΜ,

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

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ Αρχείο (File) Φάκελοσ (Folder) Διαχειριςτισ Αρχείων (File Manager) Τφποι Αρχείων Σε τι εξυπθρετεί θ οργάνωςθ των εργαςιϊν μασ ςτουσ υπολογιςτζσ; Πϊσ κα οργανϊςουμε

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

ECM PLUS TM Σφςτθμα Διαχείριςθσ Κρίςεων Σειςμϊν 2.0. www.aratos.gr

ECM PLUS TM Σφςτθμα Διαχείριςθσ Κρίςεων Σειςμϊν 2.0. www.aratos.gr ECM PLUS TM Σφςτθμα Διαχείριςθσ Κρίςεων Σειςμϊν 2.0 www.aratos.gr 1 Η προςτικζμενθ αξία Η Άρατοσ Τεχνολογίεσ Α.Ε. μζςα από το ολοκλθρωμζνο ςφςτθμα ECM-PLUS παρζχει μια αποδοτικι λφςθ τθλεπικοινωνίασ για

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 8 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Α

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 8 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Α ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 8 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Α Βαςικι Ορολογία Ιδεατή Μνήμη: χιμα ανάκεςθσ αποκθκευτικοφ χϊρου, ςτο οποίο θ δευτερεφουςα μνιμθ μπορεί να διευκυνςιοδοτθκεί ςαν να ιταν μζροσ τθσ κφριασ

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν Παράλλθλεσ Διεργαςίεσ (1/5) Δφο διεργαςίεσ λζγονται «παράλλθλεσ» (concurrent) όταν υπάρχει ταυτοχρονιςμόσ, δθλαδι οι εκτελζςεισ τουσ επικαλφπτονται

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

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι Παράςταςη κινητήσ υποδιαςτολήσ ςφμφωνα με το πρότυπο ΙΕΕΕ Δρ. Χρήστος Ηλιούδης το πρότυπο ΙΕΕΕ 754 ζχει χρθςιμοποιθκεί ευρζωσ ςε πραγματικοφσ υπολογιςτζσ. Το πρότυπο αυτό κακορίηει δφο βαςικζσ μορφζσ κινθτισ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Δίκτυα Επικοινωνιών ΙΙ Διδάςκων: Απόςτολοσ Γκάμασ (Διδάςκων ΠΔ 407/80) Βοθκόσ Εργαςτθρίου: Δθμιτριοσ Μακρισ Ενδεικτική Λύση 3

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Δίκτυα Επικοινωνιϊν ΙΙ Διδάςκων: Απόςτολοσ Γκάμασ (Διδάςκων ΠΔ 407/80) Βοθκόσ Εργαςτθρίου: Δθμιτριοσ Μακρισ Ενδεικτική Λύση 2

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

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Εργονομία, ωςτι ςτάςθ εργαςίασ, Εικονοςτοιχείο (pixel), Ανάλυςθ οκόνθσ (resolution), Μζγεκοσ οκόνθσ Ποιεσ επιπτϊςεισ μπορεί να ζχει θ πολφωρθ χριςθ του υπολογιςτι ςτθν

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

Εφαρμογέσ Μικροχπολογιςτών ςτισ Τηλεπικοινωνίεσ. Έλεγχοσ ςειριακήσ θφρασ του 8051 (Serial Port)

Εφαρμογέσ Μικροχπολογιςτών ςτισ Τηλεπικοινωνίεσ. Έλεγχοσ ςειριακήσ θφρασ του 8051 (Serial Port) Εφαρμογέσ Μικροχπολογιςτών ςτισ Τηλεπικοινωνίεσ Έλεγχοσ ςειριακήσ θφρασ του 8051 (Serial Port) 8051 Serial Ports Port Bit Name Alternate Function P3.0 RxD Receive data for serial port P3.1 TxD Transmit

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

Διαχείριςη έργου. Αντώνησ Μαΰργιώτησ Msc, PhD Πληροφορικήσ

Διαχείριςη έργου. Αντώνησ Μαΰργιώτησ Msc, PhD Πληροφορικήσ Διαχείριςη έργου Αντώνησ Μαΰργιώτησ Msc, PhD Πληροφορικήσ Ανάλυςη Βαςικών εννοιών για τα έργα (1) Τα ζργα υπιρξαν μζροσ τθσ ανκρώπινθσ ηωισ από τθ ςτιγμι που ξεκίνθςε ο πολιτιςμόσ. Η ανάγκθ για οργάνωςθ

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

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2 Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2 Δρ. Χρήζηος Ηλιούδης Μθ Προςθμαςμζνοι Ακζραιοι Εφαρμογζσ (ςε οποιαδιποτε περίπτωςθ δεν χρειάηονται αρνθτικοί αρικμοί) Καταμζτρθςθ. Διευκυνςιοδότθςθ.

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V Σ ΤΑΤ Ι Σ Τ Ι Κ Η i Statisticum collegium V Στατιςτική Συμπεραςματολογία Ι Σημειακζσ Εκτιμήςεισ Διαςτήματα Εμπιςτοςφνησ Στατιςτική Συμπεραςματολογία (Statistical Inference) Το πεδίο τθσ Στατιςτικισ Συμπεραςματολογία,

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

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1 Περιεχόμενα Περιεχόμενα... 1 1. Ειςαγωγή... 2 1.1 Σχετικά... 2 2. Γενικέσ Πληροφορίεσ για τα Cookies... 2 2.1 Οριςμόσ... 2 2.2 Χρήςη... 3 2.3 Τφποι... 3 2.4 Έλεγχοσ... 3 3. Cookies Σχολήσ... 4 3.1 Ειςαγωγή...

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

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ Εισαγωγικές έννοιες Αντώνησ Κ Μαώργιώτησ Έννοιεσ που πρϋπει να επιβεβαιώςουμε ότι τισ ξϋρουμε (1) - αναζότηςη Ιςτοςελίδα Αρχείο που περιζχει πλθροφορίεσ προοριςμζνεσ για δθμοςίευςθ ςτο Παγκόςμιο Ιςτό (www).

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

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ ΕΙΑΓΩΓΗ Ο νζοσ δικτυακόσ τόποσ τθσ Δ.Δ.Ε. Θεςπρωτίασ παρζχει πλζον τθ δυνατότθτα τθσ καταχϊρθςθσ νζων, ειδιςεων και

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

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

ΑΠΑΝΣΗ ΕΙ Ε ΕΡΩΣΗΜΑΣΑ ΤΠΟΨΗΦΙΩΝ ΑΝΑΔΟΧΩΝ ΓΙΑ ΣΟΝ ΑΝΟΙΚΣΟ ΔΙΕΘΝΗ ΔΙΑΓΩΝΙ ΜΟΤ ΓΙΑ ΣΟ ΕΡΓΟ «ΣΗΛΕΜΑΣΙΚΕ ΤΠΗΡΕ ΙΕ ΕΠΕΚΣΑ Η ΔΙΑΧΕΙΡΙ Η Α ΣΙΚΟΤ ΚΣΕΛ ΛΑΡΙ Α Α ΑΠΑΝΣΗΕΙ Ε ΕΡΩΣΗΜΑΣΑ ΤΠΟΨΗΦΙΩΝ ΑΝΑΔΟΧΩΝ ΓΙΑ ΣΟΝ ΑΝΟΙΚΣΟ ΔΙΕΘΝΗ ΔΙΑΓΩΝΙΜΟΤ ΓΙΑ ΣΟ ΕΡΓΟ «ΣΗΛΕΜΑΣΙΚΕ ΤΠΗΡΕΙΕ ΕΠΕΚΣΑΗ ΔΙΑΧΕΙΡΙΗ ΑΣΙΚΟΤ ΚΣΕΛ ΛΑΡΙΑ Α.Ε. ΚΑΙ ΕΞΤΠΗΡΕΣΗΗ ΕΠΙΒΑΣΙΚΟΤ ΚΟΙΝΟΤ» Ερώτηςη 1: A1.3, ςελ.

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

RED Pro Consultants

RED Pro Consultants Περιεχόμενα RED Pro 3E Τι είναι το SynaptiQ; Ανεξάρτθτοσ ζλεγχοσ Πωσ λειτουργεί το SynaptiQ Πζρα από τθν απλι παρακολοφκθςθ Αποκικευςθ δεδομζνων Ανάλυςθ δεδομζνων Ανάλυςθ ςφαλμάτων Εκκζςεισ Εγκατάςταςθ

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

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Διαχείριςη Αριθμοδεικτών (v.1.0.7) Διαχείριςη Αριθμοδεικτών (v.1.0.7) Περιεχόμενα 1. Μενοφ... 5 1.1 Αρικμοδείκτεσ.... 5 1.1.1 Δθμιουργία Αρικμοδείκτθ... 6 1.1.2 Αντιγραφι Αρικμοδείκτθ... 11 2. Παράμετροι... 12 2.1.1 Κατθγορίεσ Αρικμοδεικτϊν...

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

ΣΕΦΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΤΣΙΚΟ ΙΔΡΤΜΑ ΚΕΝΣΡΙΚΗ ΜΑΚΕΔΟΝΙΑ (ΕΡΡΕ) ΣΜΗΜΑ ΜΗΦΑΝΙΚΨΝ ΠΛΗΡΟΥΟΡΙΚΗ Σ.Ε.

ΣΕΦΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΤΣΙΚΟ ΙΔΡΤΜΑ ΚΕΝΣΡΙΚΗ ΜΑΚΕΔΟΝΙΑ (ΕΡΡΕ) ΣΜΗΜΑ ΜΗΦΑΝΙΚΨΝ ΠΛΗΡΟΥΟΡΙΚΗ Σ.Ε. ΣΕΦΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΤΣΙΚΟ ΙΔΡΤΜΑ ΚΕΝΣΡΙΚΗ ΜΑΚΕΔΟΝΙΑ (ΕΡΡΕ) ΣΜΗΜΑ ΜΗΦΑΝΙΚΨΝ ΠΛΗΡΟΥΟΡΙΚΗ Σ.Ε. Ανϊπτυξη μοντϋλου επανακαθοριζόμενου υλικού (Reconfigurable Hardware) ςε FPGA που θα περιλαμβϊνει soft processor

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

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό Βαγγζλθσ Οικονόμου Περιεχόμενα Πλθροφορίεσ Μακιματοσ Δομθμζνοσ Προγραμματιςμόσ (Οριςμοί, Γενικζσ Ζννοιεσ) Αλγόρικμοι και Ψευδοκϊδικασ Γλϊςςα προγραμματιςμοφ C Πλθροφορίεσ

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

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10 Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό Διάλεξθ 10 Γενικό Σχιμα Μετατροπζασ Αναλογικοφ ςε Ψθφιακό Ψθφιακό Τθλεπικοινωνιακό Κανάλι Μετατροπζασ Ψθφιακοφ ςε Αναλογικό Τα αναλογικά ςιματα μετατρζπονται ςε

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

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων» Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων» Το Πλθροφοριακό Σφςτθμα τθσ δράςθσ «e-κπαιδευτείτε» ζχει ςτόχο να αυτοματοποιιςει τισ ακόλουκεσ

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

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7) Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων (v.1.0.7) 1 Περίληψη Το ςυγκεκριμζνο εγχειρίδιο δθμιουργικθκε για να βοθκιςει τθν κατανόθςθ τθσ διαδικαςίασ διαχείριςθσ ςτθλών βιβλίου Εςόδων - Εξόδων.

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

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ Οδηγός Χρήσης Εφαρμογής Ελέγχου Προσφορών Αφοφ πιςτοποιθκεί ο λογαριαςμόσ που δθμιουργιςατε ςτο πρόγραμμα ωσ Πάροχοσ Προςφορϊν, κα λάβετε ζνα e-mail με

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

SynaptiQ Software. Περά από τθν απλι παρακολοφκθςθ

SynaptiQ Software. Περά από τθν απλι παρακολοφκθςθ SynaptiQ Software Περά από τθν απλι παρακολοφκθςθ Περιεχόμενα Τι είναι το SynaptiQ Ανεξάρτθτοσ Ζλεγχοσ Τρόποσ λειτουργίασ Ανάγνωςθ Δεδομζνων Αποκικευςθ Δεδομζνων Ανάλυςθ Δεδομζνων Ζγκαιρθ Διάγνωςθ Σφαλμάτων

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

1 0 ΕΠΑΛ ΞΑΝΘΗ ΕΙΔΙΚΟΣΗΣΑ : ΗΛΕΚΣΡΟΝΙΚΩΝ ΕΙΔΙΚΗ ΘΕΜΑΣΙΚΗ ΕΡΓΑΙΑ Β ΗΛΕΚΣΡΟΝΙΚΩΝ ΘΕΜΑ : ΚΑΣΑΚΕΤΗ ΠΟΜΠΟΤ FM

1 0 ΕΠΑΛ ΞΑΝΘΗ ΕΙΔΙΚΟΣΗΣΑ : ΗΛΕΚΣΡΟΝΙΚΩΝ ΕΙΔΙΚΗ ΘΕΜΑΣΙΚΗ ΕΡΓΑΙΑ Β ΗΛΕΚΣΡΟΝΙΚΩΝ ΘΕΜΑ : ΚΑΣΑΚΕΤΗ ΠΟΜΠΟΤ FM 1 0 ΕΠΑΛ ΞΑΝΘΗ ΕΙΔΙΚΟΣΗΣΑ : ΗΛΕΚΣΡΟΝΙΚΩΝ ΕΙΔΙΚΗ ΘΕΜΑΣΙΚΗ ΕΡΓΑΙΑ Β ΗΛΕΚΣΡΟΝΙΚΩΝ ΘΕΜΑ : ΚΑΣΑΚΕΤΗ ΠΟΜΠΟΤ FM ΣΙ ΕΙΝΑΙ ΠΟΜΠΟ FM; Πρόκειται για μια θλεκτρονικι διάταξθ που ςκοπό ζχει τθν εκπομπι ραδιοςυχνότθτασ

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

Περιφερειακό Ψθφιακό Αποκετιριο: Ανοικτά Δεδομζνα και Επιχειρθματικότθτα. Γ. Φραγκιαδάκθσ Κζντρο Επικοινωνιϊν και Δικτφων Πανεπιςτιμιο Κριτθσ

Περιφερειακό Ψθφιακό Αποκετιριο: Ανοικτά Δεδομζνα και Επιχειρθματικότθτα. Γ. Φραγκιαδάκθσ Κζντρο Επικοινωνιϊν και Δικτφων Πανεπιςτιμιο Κριτθσ Περιφερειακό Ψθφιακό Αποκετιριο: Ανοικτά Δεδομζνα και Επιχειρθματικότθτα Γ. Φραγκιαδάκθσ Κζντρο Επικοινωνιϊν και Δικτφων Πανεπιςτιμιο Κριτθσ Περιφερειακό υμβοφλιο Καινοτομίασ Κριτθσ Σο ΠΚΚ αποτελείται

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

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό. Κωδικοποιητές Ο κωδικοποιθτισ (nor) είναι ζνα κφκλωμα το οποίο διακζτει n γραμμζσ εξόδου και το πολφ μζχρι m = 2 n γραμμζσ ειςόδου και (m 2 n ). Οι ζξοδοι παράγουν τθν κατάλλθλθ λζξθ ενόσ δυαδικοφ κϊδικα

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

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε) ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε) Γραφικό Περιβάλλον Επικοινωνίασ Περιβάλλον Εντολϊν Γραμμισ (Graphical User Interface/GUI), (Command Line Interface),

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

Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ

Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ Διαδίκτυο: μια πόρτα ςτον κόςμο Πϊσ μπορεί κανείσ ςε λίγα λεπτά να μάκει ποιεσ ταινίεσ παίηονται ςτουσ κινθματογράφουσ, να ςτείλει

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

Αποτελζςματα Ζρευνασ για τθν Απαςχολθςιμότθτα ςτθν Ελλάδα

Αποτελζςματα Ζρευνασ για τθν Απαςχολθςιμότθτα ςτθν Ελλάδα Αποτελζςματα Ζρευνασ για τθν Απαςχολθςιμότθτα ςτθν Ελλάδα Ιοφνιοσ 2017 Ταυτότθτα τθσ Ζρευνασ Η παροφςα ζρευνα διεξιχκθ το διάςτθμα Μαΐου - Ιουνίου 2017. Δείγμα: 180 επιχειριςεισ που δραςτθριοποιοφνται

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

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων Εκπαιδεφτρια: Μαρία Πολίτθ Σύνδεςη με προηγούμενα Κάκε μονάδα ενόσ υπολογιςτι που χρθςιμεφει για τθ μόνιμθ ι προςωρινι αποκικευςθ δεδομζνων ανικει ςτθ μνήμη

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

Οδηγίες αναβάθμισης χαρτών

Οδηγίες αναβάθμισης χαρτών Οδηγίες αναβάθμισης χαρτών Για να κάνετε τθν αναβάκμιςθ χαρτϊν Ελλάδοσ κα πρζπει να εγγραφείτε ωσ νζο μζλοσ ςτθν ιςτοςελίδα http://www.mls.gr. 1) Εγγραφή νέου μέλουσ ςτην ιςτοςελίδα αναβαθμίςεων Α) Αντιγράψτε

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

ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πρόγραμμα Επιμόρυωσης Τποψηυίων Καθηγητών Σεχνολογίας. Ηλεκτρονικά ΙΙ

ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πρόγραμμα Επιμόρυωσης Τποψηυίων Καθηγητών Σεχνολογίας. Ηλεκτρονικά ΙΙ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πρόγραμμα Επιμόρυωσης Τποψηυίων Καθηγητών Σεχνολογίας Ηλεκτρονικά ΙΙ Πέμπτη 3/3/2011 Διδάζκων: Γιώργος Χαηζηιωάννοσ Τηλέθωνο: 99653828 Ε-mail: georghios.h@cytanet.com.cy Ώρες

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

ΘΕΜΑ Α /25 (A1)Χαρακτηρίςτε τισ παρακάτω προτάςεισ ωσ (Σ)ωςτζσ ή (Λ)άθοσ

ΘΕΜΑ Α /25 (A1)Χαρακτηρίςτε τισ παρακάτω προτάςεισ ωσ (Σ)ωςτζσ ή (Λ)άθοσ Μάθημα: ΔΙΚΣΤΑ Τάξη Γ Λυκείου, ΕΠΑΛ Καθηγητήσ : ιαφάκασ Γιϊργοσ Ημερομηνία : 21/02/2016 Διάρκεια: 3 ϊρεσ ΘΕΜΑ Α /25 (A1)Χαρακτηρίςτε τισ παρακάτω προτάςεισ ωσ (Σ)ωςτζσ ή (Λ)άθοσ 1. Σο πρωτόκολλο RARP μετατρζπει

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

Electronics μαηί με τα ςυνοδευτικά καλϊδια και το αιςκθτιριο κερμοκραςίασ LM335 που περιζχονται

Electronics μαηί με τα ςυνοδευτικά καλϊδια και το αιςκθτιριο κερμοκραςίασ LM335 που περιζχονται Σομζασ: Ηλεκτρονικόσ Εκπαιδευτικόσ: Μπουλταδάκθσ τζλιοσ Μάθημα: υλλογι και μεταφορά δεδομζνων μζςω Η/Τ, Αιςκθτιρεσ-Ενεργοποιθτζσ Αντικείμενο: α) Μζτρθςθ κερμοκραςίασ με το αιςκθτιριο LM335 και μεταφορά

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

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων Πίνακεσ Διζγερςησ των FF Όπωσ είδαμε κατά τθ μελζτθ των FF, οι χαρακτθριςτικοί πίνακεσ δίνουν τθν τιμι τθσ επόμενθσ κατάςταςθσ κάκε FF ωσ ςυνάρτθςθ τθσ παροφςασ

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

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v ) Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών (v.1. 0.7) 1 Περίλθψθ Το ςυγκεκριμζνο εγχειρίδιο δθμιουργικθκε για να βοθκιςει τθν κατανόθςθ τθσ διαδικαςίασ διαχείριςθσ Εκτφπωςθσ

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

Δίκτυα Υπολογιςτϊν 2-Rooftop Networking Project

Δίκτυα Υπολογιςτϊν 2-Rooftop Networking Project Ονοματεπώνυμα και Α.Μ. μελών ομάδασ Κοφινάσ Νίκοσ ΑΜ:2007030111 Πζρροσ Ιωακείμ ΑΜ:2007030085 Site survey Τα κτιρια τθσ επιλογισ μασ αποτελοφν το κτιριο επιςτθμϊν και το κτιριο ςτο οποίο ςτεγάηεται θ λζςχθ

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

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα Αυτζσ οι οδθγίεσ ζχουν ςτόχο λοιπόν να βοθκιςουν τουσ εκπαιδευτικοφσ να καταςκευάςουν τισ δικζσ τουσ δραςτθριότθτεσ με το μοντζλο του Άβακα. Παρουςίαςη

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

Πωσ δθμιουργώ φακζλουσ;

Πωσ δθμιουργώ φακζλουσ; Πωσ δθμιουργώ φακζλουσ; Για να μπορζςετε να δθμιουργιςετε φακζλουσ ςτο χαρτοφυλάκιό ςασ ςτο Mahara κα πρζπει να μπείτε ςτο ςφςτθμα αφοφ πατιςετε πάνω ςτο ςφνδεςμο Mahara profiles από οποιοδιποτε ςελίδα

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

Προπτυχιακό Πρόγραμμα ςτην Πληροφορική. Οδθγόσ Σπουδϊν

Προπτυχιακό Πρόγραμμα ςτην Πληροφορική. Οδθγόσ Σπουδϊν Προπτυχιακό Πρόγραμμα ςτην Πληροφορική Οδθγόσ Σπουδϊν ΕΙΑΓΩΓΗ Αμερικανικζσ πανεπιςτημιακζσ ςπουδζσ ςτην Πληροφορική Κατά τθ διάρκεια των προπτυχιακϊν ςπουδϊν ςτθν Πλθροφορικι (BSIT), οι φοιτθτζσ αποκτοφν

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

Μάρκετινγκ V Κοινωνικό Μάρκετινγκ. Πόπη Σουρμαΐδου. Σεμινάριο: Αναπτφςςοντασ μια κοινωνική επιχείρηςη

Μάρκετινγκ V Κοινωνικό Μάρκετινγκ. Πόπη Σουρμαΐδου. Σεμινάριο: Αναπτφςςοντασ μια κοινωνική επιχείρηςη Μάρκετινγκ V Κοινωνικό Μάρκετινγκ Πόπη Σουρμαΐδου Σεμινάριο: Αναπτφςςοντασ μια κοινωνική επιχείρηςη Σφνοψη Τι είναι το Marketing (βαςικι ειςαγωγι, swot ανάλυςθ, τα παλιά 4P) Τι είναι το Marketing Plan

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

SingularLogic Application. Παραμετροποίηση Galaxy Application Server

SingularLogic Application. Παραμετροποίηση Galaxy Application Server Παραμετροποίηση Galaxy Application Server 1 Παραμετροποίηςη Galaxy Application Server Για τθν γριγορθ παραμετροποίθςθ του application server του Galaxy υπάρχει το Glx.Config.exe. Άλλο ςθμείο όπου μπορείτε

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

Τεχνικό Σχζδιο - CAD

Τεχνικό Σχζδιο - CAD Ανοικτά Ακαδθμαϊκά Μακιματα ςτο ΤΕΙ Ιονίων Νιςων Τεχνικό Σχζδιο - CAD Ενότητα 2: Τεχνικό Σχζδιο με τθ βοικεια Η/Υ Το περιεχόμενο του μακιματοσ διατίκεται με άδεια Creative Commons εκτόσ και αν αναφζρεται

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

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ Φιλιοποφλου Ειρινθ Προςθήκη νζων πεδίων Ασ υποκζςουμε ότι μετά τθ δθμιουργία του πίνακα αντιλαμβανόμαςτε ότι ζχουμε ξεχάςει κάποια πεδία. Είναι ζνα πρόβλθμα το οποίο

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

Ζρευνα ικανοποίθςθσ τουριςτϊν

Ζρευνα ικανοποίθςθσ τουριςτϊν Ζρευνα ικανοποίθςθσ τουριςτϊν Ammon Ovis_Ζρευνα ικανοποίθςθσ τουριςτϊν_ Ραδιοςτακμόσ Flash 96 1 ΣΤΟΙΧΕΙΑ ΔΕΙΓΜΑΤΟΣ Σο δείγμα περιλαμβάνει 332 τουρίςτεσ από 5 διαφορετικζσ θπείρουσ. Οι περιςςότεροι εξ αυτϊν

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β 1 ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β 2 ελιδοποίθςθ με Χριςθ Ιδεατισ Μνιμθσ (1/5) Ο όροσ ιδεατή μνήμη ςυνικωσ ςχετίηεται με ςυςτιματα τα οποία εφαρμόηουν ςελιδοποίθςθ, παρόλο που

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

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ Κεφάλαιο 8 Η γλϊςςα Pascal Παράγραφοσ 8.2 Βαςικοί τφποι δεδομζνων Σα δεδομζνα ενόσ προγράμματοσ μπορεί να: είναι αποκθκευμζνα εςωτερικά ςτθν μνιμθ είναι αποκθκευμζνα εξωτερικά

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

Τεχνολογία Λογιςμικού. Έκτη Διάλεξη Πολυπλοκότητα Λογιςμικού Προςεγγίςεισ Ανάλυςησ και Σχεδίαςησ

Τεχνολογία Λογιςμικού. Έκτη Διάλεξη Πολυπλοκότητα Λογιςμικού Προςεγγίςεισ Ανάλυςησ και Σχεδίαςησ Τεχνολογία Λογιςμικού Έκτη Διάλεξη Πολυπλοκότητα Λογιςμικού Προςεγγίςεισ Ανάλυςησ και Σχεδίαςησ Περιεχόμενα Πολυπλοκότθτα Λογιςμικοφ Αποςφνκεςθ Αφαίρεςθ Μοντελοποίθςθ Προςεγγίςεισ Ανάλυςθσ και χεδίαςθσ

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

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Ψθφιακά Ηλεκτρονικά Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ 1 Ανοιχτά Ακαδημαϊκά Μαθήματα ςτο ΤΕΙ Ηπείρου Σμιμα

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

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7) (v.1.0.7) 1 Περίλθψθ Σο ςυγκεκριμζνο εγχειρίδιο δθμιουργικθκε για να βοθκιςει τθν κατανόθςθ τθσ Διαδικαςίασ Προγράμματοσ Ωρομζτρθςθσ. Παρακάτω προτείνεται μια αλλθλουχία ενεργειϊν τθν οποία ο χριςτθσ πρζπει

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

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν κοποί ενότθτασ κοπόσ τθσ ενότθτασ αυτισ είναι θ περιγραφι των οριςμϊν και και

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

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8 Δείκτεσ Διαχείριςθ Μνιμθσ Βαγγζλθσ Οικονόμου Διάλεξθ 8 Δείκτεσ Κάκε μεταβλθτι ςχετίηεται με μία κζςθ ςτθν κφρια μνιμθ του υπολογιςτι. Κάκε κζςθ ςτθ μνιμθ ζχει τθ δικι τθσ ξεχωριςτι διεφκυνςθ. Με άμεςθ

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

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ Ελλθνικι Δθμοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Ψθφιακά Ηλεκτρονικά Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ 1 Ανοιχτά Ακαδημαϊκά Μαθήματα ςτο ΤΕΙ Ηπείρου Τμιμα

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

Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων

Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων ΟΔΗΓΟΣ ΕΦΑΡΜΟΓΗΣ ΒΙΒΛΙΟΘΗΚΩΝ ΙΔΡΥΜΑΤΩΝ 1/13 2/13 Οδθγίεσ Χριςθσ Εφαρμογισ Βιβλιοκθκϊν Ιδρυμάτων 1. Είςοδοσ ςτθν Εφαρμογι

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

ΑΤΣΟΜΑΣΙΜΟ ΓΡΑΦΕΙΟΤ. 2 θ Διάλεξθ Μζρθ Τπολογιςτι

ΑΤΣΟΜΑΣΙΜΟ ΓΡΑΦΕΙΟΤ. 2 θ Διάλεξθ Μζρθ Τπολογιςτι ΑΤΣΟΜΑΣΙΜΟ ΓΡΑΦΕΙΟΤ 2 θ Διάλεξθ Μζρθ Τπολογιςτι Τπολογιςτισ υνοπτικό λεξικό Οξφόρδθσ: «θλεκτρονικι υπολογιςτικι μθχανι» Αρχικόσ ςτόχοσ: Δθμιουργία μιασ γριγορθσ υπολογιςτικισ μθχανισ ιμερα: Αφοροφν κυρίωσ

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Ιοφνιοσ 2013 Περιεχόμενα: Ειςαγωγή... 3 1.Εθνικό Τυπογραφείο... 3 1.1. Είςοδοσ... 3 1.2. Αρχική Οθόνη... 4 1.3. Διεκπεραίωςη αίτηςησ...

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

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

Συγγραφι επιςτθμονικισ εργαςίασ. Η κορφφωςθ τθσ προςπάκειάσ μασ Συγγραφι επιςτθμονικισ εργαςίασ Η κορφφωςθ τθσ προςπάκειάσ μασ Περίγραμμα Ειςήγηςησ Στάδια υλοποίθςθσ τθσ επιςτθμονικισ εργαςίασ Δομι επιςτθμονικισ / πτυχιακισ εργαςίασ Ζθτιματα ερευνθτικισ και ακαδθμαϊκισ

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

Σφςτθμα Διαχείριςθσ Αντλιοςταςίων. Διαφείπιςη ςτςσημάσων ύδπετςηρ Μονάδερ αςύπμασηρ μεσαυοπάρ ςημάσων Radio telemetry

Σφςτθμα Διαχείριςθσ Αντλιοςταςίων. Διαφείπιςη ςτςσημάσων ύδπετςηρ Μονάδερ αςύπμασηρ μεσαυοπάρ ςημάσων Radio telemetry Σφςτθμα Διαχείριςθσ Αντλιοςταςίων Διαφείπιςη ςτςσημάσων ύδπετςηρ Μονάδερ αςύπμασηρ μεσαυοπάρ ςημάσων Radio telemetry Η ςωςτι διαχείριςθ των υδάτινων πόρων αποτελεί ςτθ ςθμερινι εποχι επιτακτικι ανάγκθ,

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

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων Δρ. Θεοδώρου Παύλοσ theodorou@uoc.gr Περιεχόμενα Τι είναι οι Βάςεισ Δεδομζνων (DataBases) Τι είναι Σφςτθμα Διαχείριςθσ Βάςεων Δεδομζνων (DBMS) Οι Στόχοι

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

ΘΕΜΑΣΑ ΕΡΓΑΙΩΝ ΓΙΑ ΣΟ ΜΑΘΗΜΑ ΠΡΟΟΜΟΙΩΗ

ΘΕΜΑΣΑ ΕΡΓΑΙΩΝ ΓΙΑ ΣΟ ΜΑΘΗΜΑ ΠΡΟΟΜΟΙΩΗ ΘΕΜΑΣΑ ΕΡΓΑΙΩΝ ΓΙΑ ΣΟ ΜΑΘΗΜΑ ΠΡΟΟΜΟΙΩΗ Οι εργαςίεσ αναλαμβάνονται από ομάδεσ φοιτθτών όπου θ κάκε ομάδα αποτελείται από ζωσ και 4 άτομα. Περιςςότερεσ από μία ομάδεσ μποροφν να αναλάβουν το ίδιο κζμα. Στη

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

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Ψθφιακά Ηλεκτρονικά Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ 1 Ανοιχτά Σμιμα Ψθφιακά Ηλεκτρονικά Ενότητα 9: Διαδικαςία φνκεςθσ Φϊτιοσ

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

Δίκτυα Μεταγωγήσ. Εκπαιδεφτρια :Μαρία Πολίτθ

Δίκτυα Μεταγωγήσ. Εκπαιδεφτρια :Μαρία Πολίτθ Δίκτυα Μεταγωγήσ Εκπαιδεφτρια :Μαρία Πολίτθ ΠΟΛΥΠΛΕΞΙΑ Ονομάηεται θ τεχνικι για αποδοτικότερθ χριςθ των γραμμϊν επικοινωνίασ όπου πολλζσ ςυνδζςεισ μοιράηονται μια κοινι γραμμι μεγάλθσ χωρθτικότθτασ ΕΙΔΗ

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

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ 3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ 1 2 3 4 5 6 7 Παραπάνω φαίνεται θ χαρακτθριςτικι καμπφλθ μετάβαςθσ δυναμικοφ (voltage transfer characteristic) για ζναν αντιςτροφζα,

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

Δομζσ Δεδομζνων Πίνακεσ

Δομζσ Δεδομζνων Πίνακεσ Δομζσ Δεδομζνων Πίνακεσ Διάλεξθ 2 Περιεχόμενα Πίνακεσ: Οριςμοί, Γενικζσ ζννοιεσ Αποκικευςθ πινάκων Ειδικζσ μορφζσ πινάκων Αλγόρικμοι Αναηιτθςθσ Σειριακι Αναηιτθςθ Δυαδικι Αναηιτθςθ Οριςμοί, Γενικζσ ζννοιεσ

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

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 3 : τοιχεία Μνιμθσ flip-flop.

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 3 : τοιχεία Μνιμθσ flip-flop. Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Ψθφιακά Ηλεκτρονικά Ενότθτα 3 : τοιχεία Μνιμθσ flip-flop Φϊτιοσ Βαρτηιϊτθσ 1 Ανοιχτά Ακαδημαϊκά Σμιμα Ψθφιακά Ηλεκτρονικά Ενότητα 3: τοιχεία

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

Epsilon Cloud Services

Epsilon Cloud Services 1 Περίλθψθ Το ςυγκεκριμζνο εγχειρίδιο δημιουργήθηκε για να βοηθήςει την κατανόηςη τησ λειτουργίασ και παραμετροποίηςησ του Epsilon Cloud Services ςτην εφαρμογή extra Λογιςτική Διαχείριςη. 2 2 Περιεχόμενα

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

Η διανομή. Χριςτόδουλοσ Ράντθσ 1

Η διανομή. Χριςτόδουλοσ Ράντθσ 1 Η διανομή Χριςτόδουλοσ Ράντθσ 1 Διανομή : Όλεσ οι δραςτηριότητεσ που πρζπει να γίνουν για να μεταβιβαςτεί το προϊόν από τον αρχικό παραγωγό / πωλητή ςτον τελικό αγοραςτή. Χριςτόδουλοσ Ράντθσ 2 Μια οργάνωςθ

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

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ Για τθν ανάδειξθ του κζματοσ κα λφνουμε κάποια προβλιματα

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

Δείκτεσ απόδοςθσ υλικών

Δείκτεσ απόδοςθσ υλικών Δείκτεσ απόδοςθσ υλικών Κάκε ςυνδυαςμόσ λειτουργίασ, περιοριςμϊν και ςτόχων, οδθγεί ςε ζνα μζτρο τθσ απόδοςθσ τθσ λειτουργίασ του εξαρτιματοσ και περιζχει μια ομάδα ιδιοτιτων των υλικϊν. Αυτι θ ομάδα των

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Πάτρα, 2013 Περιεχόμενα: Ειςαγωγή... 4 1. Επιμελητήριο... Error! Bookmark not defined. 1.1 Διαχειριςτήσ Αιτήςεων Επιμελητηρίου...

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

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

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΚΑΤΑΧΩΗΣΗ ΣΧΕΔΙΩΝ ΚΑΙΝΟΤΟΜΙΑΣ ΑΡΟ ΦΟΕΙΣ ΚΑΙΝΟΤΟΜΙΑΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΑΤΙΑ ΥΡΟΥΓΕΙΟ ΑΝΑΡΤΥΞΗΣ ΓΕΝΙΚΗ ΓΑΜΜΑΤΕΙΑ ΕΕΥΝΑΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΕΠΙΧΕΙΡΗΙΑΚΑ ΠΡΟΓΡΑΜΜΑΣΑ: ΑΝΣΑΓΩΝΙΣΙΚΟΣΗΣΑ & ΕΠΙΧΕΙΡΗΜΑΣΙΚΟΣΗΣΑ & ΠΕΡΙΦΕΡΕΙΩΝ Ε ΜΕΣΑΒΑΗ ΔΡΑΗ ΕΘΝΙΚΗ ΕΜΒΕΛΕΙΑ «ΚΟΤΠΟΝΙΑ ΚΑΙΝΟΣΟΜΙΑ

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

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ ΦΥΣΙΚΗ vs ΒΙΟΛΟΓΙΑ ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ «Προτείνω να αναπτφξουμε πρώτα αυτό που κα μποροφςε να ζχει τον τίτλο: «ιδζεσ ενόσ απλοϊκοφ φυςικοφ για τουσ οργανιςμοφσ». Κοντολογίσ, τισ ιδζεσ που κα μποροφςαν

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

Ιςτορία του Παγκόςμιου ιςτοφ

Ιςτορία του Παγκόςμιου ιςτοφ INTERNET TCP/IP Ιςτορία του Παγκόςμιου ιςτοφ Ο όροσ Διαδίκτυο/ Ίντερνετ ξεκίνθςε να χρθςιμοποιείται ευρζωσ από τθ δεκαετία του 80 όταν Ίντερνετ ςιμαινε οποιοδιποτε δίκτυο χρθςιμοποιοφςε TCP/IP. Η τεχνολογία

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

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ ΚΑΜΠΤΛΕ ΕΛΕΤΘΕΡΗ ΜΟΡΦΗ Χριςιμεσ για τθν περιγραφι ομαλών και ελεφκερων ςχθμάτων Αμάξωμα αυτοκινιτου, πτερφγια αεροςκαφών, ςκελετόσ πλοίου χιματα χαρακτιρων κινουμζνων ςχεδίων Περιγραφι

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

ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΠΑΡΑΓΩΓΗ E ΕΞΑΜΗΝΟ. ΔΙΔΑΚΩΝ: ΔΡ. ΝΙΚΟΛΑΟ ΡΑΧΑΝΙΩΣΗ ΓΡΑΦΕΙΟ: 312 ΣΗΛ.:

ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΠΑΡΑΓΩΓΗ E ΕΞΑΜΗΝΟ. ΔΙΔΑΚΩΝ: ΔΡ. ΝΙΚΟΛΑΟ ΡΑΧΑΝΙΩΣΗ ΓΡΑΦΕΙΟ: 312 ΣΗΛ.: ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΠΑΡΑΓΩΓΗ E ΕΞΑΜΗΝΟ ΔΙΔΑΚΩΝ: ΔΡ. ΝΙΚΟΛΑΟ ΡΑΧΑΝΙΩΣΗ ΓΡΑΦΕΙΟ: 312 ΣΗΛ.: 210-4142150 E-mail: nraxan@unipi.gr, nickrah@hotmail.com 1 Αντικείμενο μαθήματος Ο Προγραμματιςμόσ και Ζλεγχοσ Παραγωγισ

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

ΔΕΛΣΙΟ ΣΤΠΟΤ ΣΟΧΑΙ ΑΕ: «ΚΛΑΔΙΚΕ ΣΟΧΕΤΕΙ» ΜΕΛΕΣΗ ΑΓΟΡΑ ΑΛΤΙΔΩΝ ΛΙΑΝΙΚΟΤ ΕΜΠΟΡΙΟΤ

ΔΕΛΣΙΟ ΣΤΠΟΤ ΣΟΧΑΙ ΑΕ: «ΚΛΑΔΙΚΕ ΣΟΧΕΤΕΙ» ΜΕΛΕΣΗ ΑΓΟΡΑ ΑΛΤΙΔΩΝ ΛΙΑΝΙΚΟΤ ΕΜΠΟΡΙΟΤ ΔΕΛΣΙΟ ΣΤΠΟΤ ΣΟΧΑΙ ΑΕ: «ΚΛΑΔΙΚΕ ΣΟΧΕΤΕΙ» ΜΕΛΕΣΗ ΑΓΟΡΑ ΑΛΤΙΔΩΝ ΛΙΑΝΙΚΟΤ ΕΜΠΟΡΙΟΤ Μείωςθ 1,9% ςε ςχζςθ με το 2009, παρουςίαςε θ αγορά των αλυςίδων λιανικοφ εμπορίου των οκτϊ εξεταηόμενων κατθγοριϊν το 2010

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

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7) Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών (v.1.0.7) 1 Περίληψη Το ςυγκεκριμζνο εγχειρίδιο δημιουργήθηκε για να βοηθήςει την κατανόηςη τησ διαδικαςίασ δημιουργίασ ειδικών λογαριαςμών. Παρακάτω προτείνεται

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

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 10 : Καταχωρθτζσ Φϊτιοσ Βαρτηιϊτθσ

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 10 : Καταχωρθτζσ Φϊτιοσ Βαρτηιϊτθσ Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Ψθφιακά Ηλεκτρονικά Ενότθτα 10 : Καταχωρθτζσ Φϊτιοσ Βαρτηιϊτθσ 1 Ανοιχτά Ακαδημαϊκά Σμιμα Ψθφιακά Ηλεκτρονικά Ενότητα 10: Καταχωρθτζσ Φϊτιοσ

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

Ειδικά Θζματα Βάςεων Δεδομζνων

Ειδικά Θζματα Βάςεων Δεδομζνων Ειδικά Θζματα Βάςεων Δεδομζνων Ενότητα 11: Αντικειμενοςτραφήσ και αντικείμενοςχεςιακζσ βάςεισ Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Πλθροφορικισ ΤΕ Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Αςφάλεια και Προςταςία Δεδομζνων

Αςφάλεια και Προςταςία Δεδομζνων Αςφάλεια και Προςταςία Δεδομζνων Μοντζλα Αςφάλειασ Σςιρόπουλοσ Γεϊργιοσ ΣΙΡΟΠΟΤΛΟ ΓΕΩΡΓΙΟ 1 Μοντζλα Αςφάλειασ Οι μθχανιςμοί που είναι απαραίτθτοι για τθν επιβολι μιασ πολιτικισ αςφάλειασ ςυμμορφϊνονται

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