13
αγγίξουν όλες τις εφαρμογές σε αυτό το περιβάλλον. Στο τέλος της εργασίας γίνονται αναφορές
για πιθανές μελλοντικές επεκτάσεις. Αυτές οι επεκτάσεις αφορούν κυρίως τις ίδιες τις
λειτουργίες του εργαλείου. Νέες όμως εξελίξεις τόσο στις δυνατότητες εξυπηρετητών όσο και
στις ταχύτητες του δικτύου μπορούν να ανοίξουν τον δρόμο για λειτουργίες που αυτή τη στιγμή
θα απαιτούσαν υπερβολικούς πόρους. Παράλληλα, εξελίξεις στις χρησιμοποιούμενες
τεχνολογίες δημιουργούν ήδη νέες δυνατότητες όπως η χρήση HTML 5 και του στοιχείου
‘canvas’ που μας επιτρέπουν την χρήση της κάρτας γραφικών σε εφαρμογές περιηγητών
απελευθερώνοντας τον επεξεργαστή του χρήστη που δεν είναι εξειδικευμένος για τέτοιες
λειτουργίες.
Στην εργασία αυτή αυτό θα αναλύσουμε την εφαρμογή που αναπτύξαμε για την
επεξεργασία, μεταγλώττιση και προσομοίωση HDL προγραμμάτων και το βοηθητικό εργαλείο
της για την σχεδίαση κυματομορφών σημάτων που προκύπτουν από την προσομοίωση καθώς
και όλα τα στάδια υλοποίησής τους από την ιδέα ως τη δημιουργία. Θα δούμε αναλυτικά τους
λόγους που σχεδιάστηκε αυτή η εφαρμογή, τα εργαλεία που χρησιμοποιήθηκαν, τον τρόπο
υλοποίησης καθώς και τον τρόπο αντιμετώπισης απαιτήσεων που προέκυψαν και τέλος τον
τρόπο λειτουργίας της εφαρμογής. Συνολικά περιγράφεται η ολοκληρωμένη διαδικασία
ανάπτυξής και σχεδίασης μίας διαδικτυακής εφαρμογής.
1.1 Κίνητρα και Στόχοι Υλοποίησης
Ο προγραμματισμός σε HDL έχει ως στόχο την δημιουργία προγραμμάτων για την
περιγραφή κυκλωμάτων. Ένα πρόγραμμα HDL περιγράφει ένα ψηφιακό σύστημα και μας
επιτρέπει τόσο την ανάλυση και προσομοίωσή του πριν το εισάγουμε στο υλικό όσο και την
σύνθεσή του σε προγραμματιζόμενες πλακέτες χωρίς την απαίτηση δημιουργίας νέου
ολοκληρωμένου κυκλώματος. Όπως γίνεται προφανές, ένα πολύ σημαντικό ορόσημο αυτής
της διαδικασίας είναι η προσομοίωση του κώδικα. Μέσω της προσομοίωσης επιβεβαιώνεται η
σωστή λειτουργία του προγράμματος άμεσα και αποτελεσματικά σε ένα εικονικό περιβάλλον.
Υπάρχουν διάφορες γλώσσες HDL όπως η VHDL (Very High Speed Integrated Circuit HDL,
πολύ υψηλής ταχύτητας ολοκληρωμένων κυκλωμάτων HDL) και η Verilog, εμείς θα
ασχοληθούμε με την VHDL. Συγκεκριμένα για την γλώσσα VHDL τα διαθέσιμα προγράμματα
που επιτρέπουν την παραπάνω διαδικασία είναι κυρίως εμπορικά και πάντα τοπικά. Όπως
γίνεται εύκολα αντιληπτό αυτές οι ιδιότητες προκαλούν πολλούς περιορισμούς σε μια τόσο
σημαντική εφαρμογή. Έτσι προέκυψε η ανάγκη για την δημιουργία μιας δωρεάν και ανοιχτού
κώδικα εφαρμογής που θα προσφέρει τα απαραίτητα εργαλεία σε ένα διαδικτυακό περιβάλλον.
Η εφαρμογή που παρουσιάζεται έχει ως πρώτο στόχο την διευκόλυνση τη δημιουργία
και τον έλεγχο προγραμμάτων HDL. Πρόκειται για μια ιστοσελίδα που επιτρέπει την
διατήρηση προγραμμάτων στον εξυπηρετητή καθώς και την μεταγλώττιση και προσομοίωσή
τους. Υποστηρίζονται τρεις οντότητες χρηστών με διαφορετικά δικαιώματα, τον επισκέπτη,
εγγεγραμμένου χρήστη και διαχειριστή. Επιτρέπει την δημιουργία και επεξεργασία αρχείων σε
κειμενογράφο με ειδικές επισημάνσεις, την ανάλυση των αποτελεσμάτων σε ενσωματωμένο
εργαλείο προβολής κυματομορφών καθώς και την διαμοίραση αρχείων ως εξαρτήματα μεταξύ
χρηστών. Γενικά, η εφαρμογή μας στοχεύει να προσφέρει σε προγραμματιστές HDL την
δυνατότητα ανάπτυξης και ανάλυσης των προγραμμάτων τους σε ένα διαδικτυακό περιβάλλον.