background image

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

15 

 

 

Ένα  από  τα  πιο  διαδεδομένα  και  συχνά  χρησιμοποιημένα  προγράμματα  είναι  το 

ModelSim [1] από την εταιρία Mentor Graphics. Το ModelSim είναι ένα τοπικό πρόγραμμα 
που επιτρέπει την προσομοίωση και ανάλυση αποτελεσμάτων για τις γλώσσες VHDL, Verilog 
και  SystemC  [2].  Οι  σύγχρονες  εκδόσεις  που  προσφέρονται  υποστηρίζουν  μόνο  Microsoft 
Windows  και  ενώ  δίνεται  δοκιμαστική  έκδοση  με  περιορισμό  χρήσης  στις  21  μέρες,  η 
ολοκληρωμένης  έκδοσης  απαιτεί  την  αγορά  άδειας  χρήσης.  Παρόλα  αυτά  το  ModelSim 
προσφέρει  σε  έναν  εξοικειωμένο  χρήστη  την  δυνατότητα  ανάλυσης  του  παραγόμενου 
κυκλώματος σε βάθος, ενώ υπάρχει πλούτος διδακτικού υλικού για τους αρχάριους χρήστες. 
Αξιοσημείωτο επίσης είναι το πρόγραμμα Vivado Design Suite [3] από την εταιρία Xilinx. Το 
συγκεκριμένο  πρόγραμμα  βασίζεται  στο  ISE  Simulator  [4],  επίσης  από  την  Xilinx,  και 
σκοπεύει να το αντικαταστήσει. Το Vivado Design Suite δεν περιορίζεται στην προσομοίωση 
αλλά  περιλαμβάνει  την  ολοκληρωμένη  διαδικασία  από  την  συγγραφή  ως  στην  σύνθεση 
προγραμμάτων  σε  πλακέτα.  Υποστηρίζει  VHDL,  Verilog  και  SystemC  ενώ  μπορεί  να 
λειτουργήσει σε Microsoft Windows αλλά και Linux με περιορισμό όμως σε συστήματα των 
64 bit. Το Vivado Design Suite προσφέρεται σε πολλές διαφορετικές εκδόσεις με διαφορετικές 
δυνατότητες  που  αντικατοπτρίζουν  και  το  κόστος  της  κάθε  έκδοσης  αλλά  και  δοκιμαστική 
έκδοση  με  όλες  τις  δυνατότητες  η  οποία  υπόκειται  σε  περιορισμό  των  30  ημερών. 
Υποστηρίζεται ότι το Vivado Design Suite έχοντας ενσωματωμένο προσομοιωτή μπορεί να 
προσφέρει προσομοίωση μέχρι και τρεις φορές γρηγορότερα από το ISE Simulator [5]. Αξίζει 
να σημειωθεί ότι το ISE Simulator χρησιμοποιεί το ModelSim για προσομοίωση. Κλείνοντας 
τις αναφορές σε τοπικά προγράμματα, θα αρκεστούμε σε μια επιφανειακή ανάλυση του Icarus 
Verilog  [6].  Το  συγκεκριμένο  πρόγραμμα  αποτελείται  από  ένα  εργαλείο  προσομοίωσης  και 
σύνθεσης με περιορισμένες δυνατότητες. Υποστηρίζει μόνο την γλώσσα Verilog αλλά μπορεί 
να χρησιμοποιηθεί σε Microsoft Windows, Linux, OpenSolaris, AIX, FreeBSD και Mac OS X. 
Το  Icarus Verilog στοχεύει κυρίως στην ίδια την προσομοίωση κώδικα  και προτρέπει στην 
χρήση  εξωτερικών  προγραμμάτων  διαδικασίες  όπως  η  προεπισκόπηση  κυματομορφών  με 
GTKWave [7] η ακόμη και η ολοκληρωμένη σύνθεση προγραμμάτων με  Yosys [8]. Γίνεται 
πλέον  φανερό  ότι  υπάρχει  πλήθος  τοπικών  προγραμμάτων  που  αποσκοπούν  στην 
μεταγλώττιση και προσομοίωση  HDL προγραμμάτων με μεγάλη ποικιλία δυνατοτήτων που 
προσφέρονται .   

 

Στο περιβάλλον του διαδικτύου υπάρχουν επίσης πολλά εργαλεία που αποσκοπούν σε 

παρόμοιες  λειτουργίες.  Όπως  είδαμε  στην  προηγούμενη  παράγραφο,  το  Icarus  Verilog 
προσφέρει  περιορισμένες  δυνατότητες  σε  τοπικό  περιβάλλον.  Ταυτόχρονα  όμως  επιτρέπει 
λόγο τις φύσης του ως προσομοιωτής σε τερματικό, την χρήση του στο εργαλείο iVerilog [9]. 
Το  εργαλείο  αυτό  αξιοποιεί  την  χρήση  του  προσομοιωτή  Icarus  Verilog  προσφέροντας  την 
δυνατότητα στον χρήστη να δοκιμάσει και να εκτελέσει τον κώδικά του με την προσιτότητα 
τόσο στην τοποθεσία όσο και στις συσκευές που προσφέρει το διαδίκτυο. Παράλληλα όμως, 
το  iVerilog  μοιράζεται  και  τους  σημαντικότερους  περιορισμούς  του  Icarus  Verilog. 
Συγκεκριμένα,  παρατηρείται  αρχικά  ότι  δεν  υποστηρίζεται  κάποιο  είδος  προβολής 
κυματομορφών  και  ο  μόνος  τρόπος  προβολής  αποτελεσμάτων  είναι  η  έξοδός  τους  προς  το 
τερματικό. Επίσης δεν υπάρχει υποστήριξη για την αποθήκευση προγραμμάτων ή την χρήση 
διαφορετικών αρχείων. Ενώ φυσικά, υποστηρίζεται και πάλι μόνο η γλώσσα Verilog. Ένα πιο 
ολοκληρωμένο εργαλείο είναι το EDA Playground [10]. Το εργαλείο αυτό υποστηρίζει αρκετές 
διαφορετικές γλώσσες τόσο στην περιγραφή υλικού όσο και σε άλλους τομείς. Ταυτόχρονα 
προσφέρει την επιλογή μεταξύ διαφόρων εργαλείων προσομοίωσης, προσθήκη βιβλιοθηκών, 
επιλογές  μεταγλώττισης  αλλά  και  αποτελεσματικό  εργαλείο  προβολής  κυματομορφών.