background image

 
 

13 

 

αγγίξουν όλες τις εφαρμογές σε αυτό το περιβάλλον. Στο τέλος της εργασίας γίνονται αναφορές 
για  πιθανές  μελλοντικές  επεκτάσεις.  Αυτές  οι  επεκτάσεις  αφορούν  κυρίως  τις  ίδιες  τις 
λειτουργίες του εργαλείου. Νέες όμως εξελίξεις τόσο στις δυνατότητες εξυπηρετητών όσο και 
στις ταχύτητες του δικτύου μπορούν να ανοίξουν τον δρόμο για λειτουργίες που αυτή τη στιγμή 
θα  απαιτούσαν  υπερβολικούς  πόρους.  Παράλληλα,  εξελίξεις  στις  χρησιμοποιούμενες 
τεχνολογίες  δημιουργούν  ήδη  νέες  δυνατότητες  όπως  η  χρήση  HTML  5  και  του  στοιχείου 
‘canvas’  που  μας  επιτρέπουν  την  χρήση  της  κάρτας  γραφικών  σε  εφαρμογές  περιηγητών 
απελευθερώνοντας  τον  επεξεργαστή  του  χρήστη  που  δεν  είναι  εξειδικευμένος  για  τέτοιες 
λειτουργίες. 

Στην  εργασία  αυτή  αυτό  θα  αναλύσουμε  την  εφαρμογή  που  αναπτύξαμε  για  την 

επεξεργασία, μεταγλώττιση και προσομοίωση HDL προγραμμάτων και το βοηθητικό εργαλείο 
της για την σχεδίαση κυματομορφών σημάτων που προκύπτουν από την προσομοίωση καθώς 
και όλα τα στάδια υλοποίησής τους από την ιδέα ως τη δημιουργία. Θα δούμε αναλυτικά τους 
λόγους  που  σχεδιάστηκε  αυτή  η  εφαρμογή,  τα  εργαλεία  που  χρησιμοποιήθηκαν,  τον  τρόπο 
υλοποίησης καθώς και τον τρόπο αντιμετώπισης απαιτήσεων που προέκυψαν και τέλος τον 
τρόπο  λειτουργίας  της  εφαρμογής.  Συνολικά  περιγράφεται  η  ολοκληρωμένη  διαδικασία 
ανάπτυξής και σχεδίασης μίας διαδικτυακής εφαρμογής. 
 

1.1 Κίνητρα και Στόχοι Υλοποίησης 

 

Ο  προγραμματισμός  σε  HDL  έχει  ως  στόχο  την  δημιουργία  προγραμμάτων  για  την 

περιγραφή  κυκλωμάτων.  Ένα  πρόγραμμα  HDL  περιγράφει  ένα  ψηφιακό  σύστημα  και  μας 
επιτρέπει τόσο την ανάλυση και προσομοίωσή του πριν το εισάγουμε στο υλικό όσο και την 
σύνθεσή  του  σε  προγραμματιζόμενες  πλακέτες  χωρίς  την  απαίτηση  δημιουργίας  νέου 
ολοκληρωμένου κυκλώματος.  Όπως γίνεται  προφανές, ένα πολύ σημαντικό ορόσημο  αυτής 
της διαδικασίας είναι η προσομοίωση του κώδικα. Μέσω της προσομοίωσης επιβεβαιώνεται η 
σωστή λειτουργία του προγράμματος άμεσα και αποτελεσματικά σε ένα εικονικό περιβάλλον. 
Υπάρχουν διάφορες γλώσσες HDL όπως η VHDL (Very High Speed Integrated Circuit HDL, 
πολύ  υψηλής  ταχύτητας  ολοκληρωμένων  κυκλωμάτων  HDL)  και  η  Verilog,  εμείς  θα 
ασχοληθούμε με την VHDL. Συγκεκριμένα για την γλώσσα VHDL τα διαθέσιμα προγράμματα 
που  επιτρέπουν  την  παραπάνω  διαδικασία  είναι  κυρίως  εμπορικά  και  πάντα  τοπικά.  Όπως 
γίνεται εύκολα  αντιληπτό αυτές οι ιδιότητες  προκαλούν πολλούς περιορισμούς σε μια τόσο 
σημαντική εφαρμογή. Έτσι προέκυψε η ανάγκη για την δημιουργία μιας δωρεάν και ανοιχτού 
κώδικα εφαρμογής που θα προσφέρει τα απαραίτητα εργαλεία σε ένα διαδικτυακό περιβάλλον.  

Η εφαρμογή που παρουσιάζεται έχει ως πρώτο στόχο την διευκόλυνση τη δημιουργία 

και  τον  έλεγχο  προγραμμάτων  HDL.  Πρόκειται  για  μια  ιστοσελίδα  που  επιτρέπει  την 
διατήρηση προγραμμάτων στον εξυπηρετητή καθώς και την μεταγλώττιση και προσομοίωσή 
τους. Υποστηρίζονται τρεις οντότητες  χρηστών με διαφορετικά δικαιώματα,  τον  επισκέπτη, 
εγγεγραμμένου χρήστη και διαχειριστή. Επιτρέπει την δημιουργία και επεξεργασία αρχείων σε 
κειμενογράφο με ειδικές επισημάνσεις, την ανάλυση των αποτελεσμάτων σε ενσωματωμένο 
εργαλείο προβολής κυματομορφών καθώς και την διαμοίραση αρχείων ως εξαρτήματα μεταξύ 
χρηστών.  Γενικά,  η  εφαρμογή  μας  στοχεύει  να  προσφέρει  σε  προγραμματιστές  HDL  την 
δυνατότητα ανάπτυξης και ανάλυσης των προγραμμάτων τους σε ένα διαδικτυακό περιβάλλον.