Υλοποίηση πυρήνα 2D Delaunay τριγωνισμού για την ανακατασκευή επιφάνειας σε πραγματικό χρόνο μέσω σύνθεσης υψηλού επίπεδου σε κυκλώματα προγραμματιζόμενης λογικής
Date Issued
May 19, 2017
Author(s)
Advisor
Abstract
Στην παρούσα πτυχιακή εργασία ασχοληθήκαμε με την κατασκευή πυρήνα που εκτελεί την διαδικασία του 2D Delaunay τριγωνισμού έτσι ώστε να πετύχουμε ανακατασκευή επιφάνειας σε πραγματικό χρόνο μέσω της σύνθεσης υψηλού επιπέδου σε κυκλώματα προγραμματιζόμενης λογικής. Για να ολοκληρώσουμε επιτυχώς την διαδικασία σχεδιασμού ακολουθήσαμε κάποιες πολύ σημαντικές διαδικασίες που προσφέρονται στο περιβάλλον εργασίας ενός εξειδικευμένου λογισμικού εργαλείου που ονομάζεται Vivado. Αρχικά, κατασκευάσαμε τον αλγόριθμο του τριγωνισμού
σε γλώσσα προγραμματισμού (C + +) και μέσω του εργαλείου ακολουθήσαμε την διαδικασία της σύνθεσης υψηλού επιπέδου έτσι ώστε να μεταγλωττίσουμε τον αλγόριθμο του σχεδιασμού σε γλώσσα περιγραφής υλικού (Verilog). Με πρωταρχικό στόχο, να δημιουργήσουμε ένα πυρήνα που θα εκτελεί ανακατασκευή επιφάνειας σε πραγματικό χρόνο, χρειάστηκε να περάσουμε τον σχεδιασμό από διαδικασίες βελτιστοποίησης. Έτσι, με την χρήση υψηλού επιπέδου οδηγιών και παραλληλοποίηση καταφέραμε να αυξήσουμε τον χρόνο ανταπόκρισης του σχεδιασμού, μειώνοντας σε μεγάλο βαθμό τους κύκλους καθυστέρησης που δημιουργούν οι διαδικασίες του τριγωνισμού. Αφού ολοκληρώσαμε τις διαδικασίες υλοποίησης και βελτιστοποίησης του σχεδιασμού μπορούσαμε πλέον να δούμε τα αποτελέσματα που παράγει ο σχεδιασμός που κατασκευάσαμε. Γενικά, καταφέραμε να δημιουργήσουμε ένα σχεδιασμό ανακατασκευής επιφάνειας με 2DDelaunay τριγωνισμό που φτάνει σε ταχύτητα 0:0445s ή 70FPS με αρχείο εισόδου 477 σημείων. Επιπρόσθετα συγκρίναμε την ταχύτητα εκτέλεσης του λογισμικού αλγορίθμου με την ταχύτητα εκτέλεσης του αλγορίθμου του υλικού πυρήνα και διαπιστώσαμε πως σε υλοποιήσεις υλικού έχουμε 19 μεγαλύτερη ταχύτητα εκτέλεσης από τις υλοποιήσεις λογισμικού. Στην εργασία αυτή παρουσιάζονται εκτενώς όλες οι διαδικασίες/στάδια που πέρασε ο αλγόριθμος του τριγωνισμού, όπως επίσης και στοιχεία που αποδεικνύουν την απόδοση/ταχύτητα που πετύχαμε.
σε γλώσσα προγραμματισμού (C + +) και μέσω του εργαλείου ακολουθήσαμε την διαδικασία της σύνθεσης υψηλού επιπέδου έτσι ώστε να μεταγλωττίσουμε τον αλγόριθμο του σχεδιασμού σε γλώσσα περιγραφής υλικού (Verilog). Με πρωταρχικό στόχο, να δημιουργήσουμε ένα πυρήνα που θα εκτελεί ανακατασκευή επιφάνειας σε πραγματικό χρόνο, χρειάστηκε να περάσουμε τον σχεδιασμό από διαδικασίες βελτιστοποίησης. Έτσι, με την χρήση υψηλού επιπέδου οδηγιών και παραλληλοποίηση καταφέραμε να αυξήσουμε τον χρόνο ανταπόκρισης του σχεδιασμού, μειώνοντας σε μεγάλο βαθμό τους κύκλους καθυστέρησης που δημιουργούν οι διαδικασίες του τριγωνισμού. Αφού ολοκληρώσαμε τις διαδικασίες υλοποίησης και βελτιστοποίησης του σχεδιασμού μπορούσαμε πλέον να δούμε τα αποτελέσματα που παράγει ο σχεδιασμός που κατασκευάσαμε. Γενικά, καταφέραμε να δημιουργήσουμε ένα σχεδιασμό ανακατασκευής επιφάνειας με 2DDelaunay τριγωνισμό που φτάνει σε ταχύτητα 0:0445s ή 70FPS με αρχείο εισόδου 477 σημείων. Επιπρόσθετα συγκρίναμε την ταχύτητα εκτέλεσης του λογισμικού αλγορίθμου με την ταχύτητα εκτέλεσης του αλγορίθμου του υλικού πυρήνα και διαπιστώσαμε πως σε υλοποιήσεις υλικού έχουμε 19 μεγαλύτερη ταχύτητα εκτέλεσης από τις υλοποιήσεις λογισμικού. Στην εργασία αυτή παρουσιάζονται εκτενώς όλες οι διαδικασίες/στάδια που πέρασε ο αλγόριθμος του τριγωνισμού, όπως επίσης και στοιχεία που αποδεικνύουν την απόδοση/ταχύτητα που πετύχαμε.
File(s)![Thumbnail Image]()
Name
thesis_christakis_kallis_abstract.pdf
Size
126.38 KB
Format
Adobe PDF
Checksum (MD5)
06179494e1d902af7de71311d3a98cbc

