background image

Κεφάλαιο 1 - Εισαγωγή 
 
 

16 

 

Παράλληλα δίνει την δυνατότητα σε συνδεμένους χρήστες να διατηρήσουν το έργο τους αλλά 
προσφέρει  ακόμα  και  μια  δοκιμαστική  εμπειρία  διαμοιρασμού  και  παράλληλης  προβολής 
κώδικα.  Το  EDA  Playground  είναι  αντικειμενικά  το  κοντινότερο  εργαλείο  σε  αυτό  που 
αναπτύξαμε  αλλά  και  πάλι  βλέπουμε  σημαντικές  διαφορές.  Το  EDA  Playground  δεν 
υποστηρίζει δωρεάν προσομοιωτές για VHDL και παρότι η χρήση του είναι δωρεάν, δεν είναι 
ανοιχτού κώδικα. Η λειτουργία του για συνεργασία προγραμματιστών βασίζεται στην λογική 
της επίδειξης κώδικα και όχι στην παράλληλη συγγραφή του. Παράλληλα βλέπουμε ότι ενώ 
υπάρχουν  συγκεκριμένα  παραδείγματα  και  εξωτερικές  βιβλιοθήκες,  δεν  υπάρχει  τρόπος  να 
διαμοιραστεί κάποιος συχνά επαναλαμβανόμενος κώδικας μεταξύ χρηστών. Ενώ το εργαλείο 
παρουσίασης κυματομορφών είναι σίγουρα αποτελεσματικό, βλέπουμε αρκετές λεπτομέρειες 
που το διαχωρίζουν από αυτό που αναπτύξαμε. Συγκεκριμένα, δεν υπάρχει τρόπος ανάπτυξης 
σημάτων πάνω από ένα bit, δεν υπάρχει συνεχής δείκτης αναφοράς τιμών ώστε να υποβοηθήσει 
την ανάλυση του σήματος,  ο δείκτης που θέτει ο χρήστης βρίσκεται μόνο στην αλλαγή τιμής 
του συγκεκριμένου σήματος με αποτέλεσμα να μην συγκρίνει τα υπόλοιπα σήματα στην ίδια 
χρονική  στιγμή.  Γίνεται  προφανές  ότι  οι  λεπτομέρειες  αυτές  είναι  αρκετά  τεχνικές  και 
χρειάζονται ίσως ιδιαίτερη προσοχή από κάποιο σημείο και μετά για να γίνουν εμφανείς. Αυτές 
όμως οι λεπτομέρειες  τελικά δημιουργούν δύο διαφορετικά συστήματα που προσφέρουν τα 
ίδια  βασικά  χαρακτηριστικά  αλλά  με  διαφορετική  προσέγγιση  και  καταλήγουν  να 
αντικατοπτρίζουν διαφορετικό κοινό χρηστών.   

 

Οι εφαρμογές που παρουσιάστηκαν παραπάνω αποτελούν τελικά το περιβάλλον στο 

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

 

1.3 Διάρθρωση Βιβλίου 

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