Υλοποίηση πυρήνα 2D Delaunay τριγωνισμού για την ανακατασκευή επιφάνειας σε πραγματικό χρόνο μέσω σύνθεσης υψηλού επίπεδου σε κυκλώματα προγραμματιζόμενης λογικής - Καλλής, Χριστάκης (Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Σχολή Μηχανικής και Τεχνολογίας, Τεχνολογικό Πανεπιστήμιο Κύπρου, 2017)
Στην παρούσα πτυχιακή εργασία ασχοληθήκαμε με την κατασκευή πυρήνα που εκτελεί την διαδικασία του 2D Delaunay τριγωνισμού έτσι ώστε να πετύχουμε ανακατασκευή επιφάνειας σε πραγματικό χρόνο μέσω της σύνθεσης υψηλού επιπέδου σε κυκλώματα προγραμματιζόμενης λογικής. Για να ολοκληρώσουμε επιτυχώς την διαδικασία σχεδιασμού ακολουθήσαμε κάποιες πολύ σημαντικές διαδικασίες που προσφέρονται στο περιβάλλον εργασίας ενός εξειδικευμένου λογισμικού εργαλείου που ονομάζεται Vivado. Αρχικά, κατασκευάσαμε τον αλγόριθμο του τριγωνισμού σε γλώσσα προγραμματισμού (C + +) και μέσω του εργαλείου ακολουθήσαμε την διαδικασία της σύνθεσης υψηλού επιπέδου έτσι ώστε να μεταγλωττίσουμε τον αλγόριθμο του σχεδιασμού σε γλώσσα περιγραφής υλικού (Verilog). Με πρωταρχικό στόχο, να δημιουργήσουμε ένα πυρήνα που θα εκτελεί ανακατασκευή επιφάνειας σε πραγματικό χρόνο, χρειάστηκε να περάσουμε τον σχεδιασμό από διαδικασίες βελτιστοποίησης. Έτσι, με την χρήση υψηλού επιπέδου οδηγιών και παραλληλοποίηση καταφέραμε να αυξήσουμε τον χρόνο ανταπόκρισης του σχεδιασμού, μειώνοντας σε μεγάλο βαθμό τους κύκλους καθυστέρησης που δημιουργούν οι διαδικασίες του τριγωνισμού. Αφού ολοκληρώσαμε τις διαδικασίες υλοποίησης και βελτιστοποίησης του σχεδιασμού μπορούσαμε πλέον να δούμε τα αποτελέσματα που παράγει ο σχεδιασμός που κατασκευάσαμε. Γενικά, καταφέραμε να δημιουργήσουμε ένα σχεδιασμό ανακατασκευής επιφάνειας με 2DDelaunay τριγωνισμό που φτάνει σε ταχύτητα 0:0445s ή 70FPS με αρχείο εισόδου 477 σημείων. Επιπρόσθετα συγκρίναμε την ταχύτητα εκτέλεσης του λογισμικού αλγορίθμου με την ταχύτητα εκτέλεσης του αλγορίθμου του υλικού πυρήνα και διαπιστώσαμε πως σε υλοποιήσεις υλικού έχουμε 19 μεγαλύτερη ταχύτητα εκτέλεσης από τις υλοποιήσεις λογισμικού. Στην εργασία αυτή παρουσιάζονται εκτενώς όλες οι διαδικασίες/στάδια που πέρασε ο αλγόριθμος του τριγωνισμού, όπως επίσης και στοιχεία που αποδεικνύουν την απόδοση/ταχύτητα που πετύχαμε.
Keywords: 2D Delaunay τριγωνισμού; Σύνθεση υψηλού επιπέδου; Κυκλώματα προγραμματιζόμενης λογικής; Γλώσσα περιγραφής υλικού; 2D Delaunay triangulation; High level synthesis; Hardware description language; Programmable logic circuits