Μετατροπή κώδικα Matlab σε γλώσσα προγραμματισμού C και η χρήση του CCC για παραγωγή Hardware απο αυτό
Abstract
Η εργασία αφορά την μετατροπή κώδικα Matlab σε γλώσσα προγραμματισμού C, και η εισαγωγή του στο πρόγραμμα CCC για την παραγωγή hardware από αυτό. O αρχικός κώδικας, (Matlab), υλοποιούσε συνάρτηση η οποία αποτελεί μέρος αλγόριθμου προσομοίωσης κοπτικού εργαλείου. Σκοπός της συνάρτησης είναι να υπολογιστούν οι δυνάμεις οι οποίες ασκούνται στο κάθε άτομο, η επιτάχυνση του κάθε ατόμου που προκύπτει από αυτές τις δυνάμεις και η τελική θέση του κάθε ατόμου για το επόμενο χρονικό βήμα μέσω διπλής ολοκλήρωσης. Ουσιαστικά πρόκειται για έναν αλγόριθμο υπολογισμού δυνάμεων μοριακής δυναμικής με χρήση High Level Synthesis (HLS). Το HLS αποτελεί μια διαδικασία σχεδίασης υλικού με την χρήση γλώσσας υψηλού επιπέδου, όπου γίνεται μετατροπή της γλώσσας υψηλού επιπέδου σε γλώσσα περιγραφής υλικού (HDL), και έχει ως αποτέλεσμα την μείωση του χρόνου, της πολυπλοκότητας και του κόστους σχεδιασμού. Η διαδικασία μετατροπής σε γλώσσα περιγραφής υλικού γίνεται μέσω του προγράμματος CCC, και γίνεται σε δυο στάδια. Στο πρώτο στάδιο έχουμε την μετατροπή από γλώσσα προγραμματισμού C σε ADA, και στο δεύτερο στάδιο την μετατροπή του ADA σε HDL. Το CCC είναι ένα εργαλείο βασισμένο σε τυπικές μεθόδους (Formal Methods), και δίνει την δυνατότητα να δημιουργηθεί Hardware το οποίο είναι ειδικού σκοπού, από κώδικα υψηλού επιπέδου. Με αυτόν τον τρόπο μειώνεται ο χρόνος σχεδίασης και υλοποίησης κατά τάξης μεγέθους. Δέχεται ως είσοδο ANSI C ή ADA και παράγει Verilog ή VHDL. Αξίζει να σημειώσουμε τέλος ότι προσφέρεται δωρεάν μέσω εργονομικής ιστοσελίδας για ερευνητική, πειραματική και ακαδημαϊκή αποκλειστικά χρήση.