Μέθοδοι συσχεδίασης υλικού/λογισμικού με χρήση scripting γλώσσών

Διδακτορική Διατριβή uoadl:1309162 588 Αναγνώσεις

Μονάδα:
Τομέας Υπολογιστικών Συστημάτων και Εφαρμογών
Βιβλιοθήκη Σχολής Θετικών Επιστημών
Ημερομηνία κατάθεσης:
2015-12-10
Έτος εκπόνησης:
2015
Συγγραφέας:
Λογαράς Ευάγγελος
Στοιχεία επταμελούς επιτροπής:
Ηλίας Μανωλάκος, Αγγελική Αραπογιάννη, Αντώνιος Πασχάλης
Πρωτότυπος Τίτλος:
Μέθοδοι συσχεδίασης υλικού/λογισμικού με χρήση scripting γλώσσών
Γλώσσες διατριβής:
Αγγλικά
Μεταφρασμένος τίτλος:
Using scripting languages for hardware/software co-design
Περίληψη:
Τα Ενσωματωμένα Συστήματα σε Ψηφίδα υλικού (embedded Systems on Chip - SoC)
περιέχουν τουλάχιστον έναν προγραμματιζόμενο επεξεργαστή αλλά και διάφορες
μονάδες (IP cores) που διασυνδέονται στους διαύλους ελέγχου και δεδομένων του
ως περιφερειακά ή συνεπεξεργαστές ειδικού σκοπού. Ένας τέτοιος τύπος σύνθετης
ψηφιακής αρχιτεκτονικής μπορεί να αξιοποιήσει τις δυνατότητες
επαναπρογραμματισμού (reconfiguration) των μονάδων FPGA για να επιτύχει υψηλές
επιδόσεις και χαμηλή κατανάλωση ενέργειας. Τις προοπτικές αυτές όμως περιορίζει
η έλλειψη εργαλείων συσχεδίασης υλικού/λογισμικού για τη γρήγορη
πρωτοτυποποίηση(rapidprototyping)ενσωματωμένων πολυεπεξεργαστικών SoCs.

Στην παρούσα διδακτορική διατριβή παρουσιάζουμε μεθοδολογία συσχεδίασης
υλικού/λογισμικού για ενσωματωμένα πολυεπεξεργαστικά SoCsπου υλοποιείται με τη
χρήση της δημοφιλούς scripting γλώσσας προγραμματισμού Python. Αναδεικνύουμε
εκείνα τα χαρακτηριστικά της γλώσσας Pythonπου διευκολύνουν τη σχεδίαση
ενσωματωμένων SoC με προγραμματιζόμενο επεξεργαστή (processor-centric) και την
υλοποίηση τους σε μονάδες FPGA. Συγκεκριμένα αναπτύξαμε μεθόδους για: (α)
υποστήριξη περιγραφών στοιχείων υλικού σε Python και αυτόματη μετατροπή τους σε
VHDL, (β) χρήση περιγραφών Python για την προσομοίωση ενσωματωμένου συστήματος
τόσο σε αλγοριθμικό επίπεδο λειτουργικότητας όσο και σε επίπεδο αρχιτεκτονικής
RTL (Register Transfer level) και αυτόματη παραγωγή αρχείων ψηφιακών
κυματομορφών με τα αποτελέσματα της ακριβούς προσομοίωσης (cycle-accurate και
bit-true) του συστήματος. (γ) Υποστήριξη των απαραίτητων λειτουργιών για τον
προγραμματισμό του επεξεργαστή σε γλώσσα C και (δ) παραγωγή αρχείων script
(Tcl)για την εύκολη συνεργασία με υπάρχοντα εργαλεία λογικής σύνθεσης για τη
φυσική υλοποίηση του συστήματος σε FPGA.

Για τον έλεγχο των δυνατοτήτων της μεθοδολογίαςσχεδιάσαμε και υλοποιήσαμε με τη
χρήση του SysPy τρία ενσωματωμένα πολυεπεξεργαστικά SoCs, τα οποία αναδεικνύουν
τις νέες δυνατότητες συσχεδίασης και προσομοίωσης. Και τα τρία αυτά
SoCsχρησιμοποιούν πυρήνα μικροεπεξεργαστή ως κύριο ελεγκτή του συστήματος αλλά
και ειδικές μονάδες υλικού που σχεδιάστηκαν για την: α) επεξεργασία εικόνων, β)
επεξεργασία αρχείων ήχου και γ) στοχαστική προσομοίωση βιολογικών δικτύων. Η
διαδικασία υλοποίησης των τριώνπολυεπεξεργαστικών SoCs έγινε στα πλαίσια της
εξέλιξης και βελτιστοποίησης του ίδιου του εργαλείου, ενώ κάθε σχέδιο
χρησιμοποιεί και αναδεικνύει συγκεκριμένα του χαρακτηριστικά.

Πιστεύουμε ότι η μεθοδολογία σχεδίασης που αναπτύχθηκε με χρήση της Python
συνεισφέρει σημαντικά προς την κατεύθυνση της συσχεδίασης υλικού/λογισμικού και
πρωτοτυποποίησης για ενσωματωμένα συστήματα σε ψηφίδα υλικού, τομέα όπου σήμερα
δεν υπάρχουν ώριμα διαθέσιμα εργαλεία.
Λέξεις-κλειδιά:
Ψηφιακή σχεδίαση, Ενσωματωμένα συστήματα, Python, SysPy, FPGA
Ευρετήριο:
Ναι
Αρ. σελίδων ευρετηρίου:
67-73
Εικονογραφημένη:
Ναι
Αρ. βιβλιογραφικών αναφορών:
97
Αριθμός σελίδων:
241

 


attachments.zip
733 KB
Δεν επιτρέπεται η πρόσβαση στο αρχείο.