COMPILING VHDL DESIGNS
Έχοντας καθαρά ASCII αρχεία για τις VHDL αρχιτεκτονικές και/ή οντότητες, είμαστε έτοιμοι για να τα κάνουμε compile. Κάνοντας compile η VHDL κάνει κάποια πράγματα:
Προετοιμάζοντας τις σχεδιάσεις για το compile, πρέπει να δημιουργήσουμε έναν κατάλογο βιβλιοθήκη (library directory) όπου θα τοποθετηθούν τα compiled μοντέλα. Τον κατάλογο αυτόν μπορούμε να τον ονομάσουμε όπως θέλουμε, αλλά υποθέτουμε ότι αυτός καλείται my_vhdl. Μπορούμε να έχουμε αρκετές βιβλιοθήκες για διάφορους σκοπούς ή μπορούμε να τοποθετήσουμε τα πάντα σε μία μεγάλη βιβλιοθήκη.
Για να δημιουργήσουμε μία βιβλιοθήκη, πάμε στον κατάλογο:
~/mentor/VHDL/tutorial
και τυπώνουμε στο UNIX prompt : qhlib my_vhdl.
Αυτό δημιουργεί έναν κατάλογο βιβλιοθήκη. Το επόμενο που χρειάζεται είναι να δημιουργήσουμε μία είσοδο χάρτη (map entry) για αυτήν την βιβλιοθήκη. Αυτό γίνεται με :
qhmap library my_vhdl.
Τώρα είμαστε έτοιμοι να κάνουμε compile τα VHDL μοντέλα και να τοποθετήσουμε στην βιβλιοθήκη μας. Οι παρακάτω οδηγίες υποθέτουν ότι ο πηγαίος κώδικας (source code) βρίσκεται στο τρέχον directory. Αν δεν είναι έτσι, δίνουμε πλήρες μονοπάτι στα source αρχεία.
qvhcom -93 -work library reg4_e.vhd
Αυτό θα κάνει compile τον κώδικα χρησιμοποιώντας την σύνταξη VHDL-93 και θα τοποθετήσει την compiled οντότητα στην βιβλιοθήκη μας. Αν υπάρχουν λάθη, αυτά θα τα δούμε να αναφέρονται. Πρέπει να διορθώσουμε όλα τα λάθη και να έχουμε ένα σωστό compile πριν συνεχίσουμε στο επόμενο βήμα.
qvhcom -93 -work library reg4_a_behav.vhd
Αυτό θα αποτύχει αν δεν έχουμε ορίσει μία έγκυρη οντότητα στην VHDL βιβλιοθήκη. Επίσης, μέχρι να γίνει σωστά το compile, δεν μπορούμε να εξομοιώσουμε την σχεδίασή μας. Έτσι πρέπει να διορθώσουμε όλα τα λάθη και να κάνουμε πάλι compile μέχρι να δουλέψει. Αν έχουμε πολλαπλές αρχιτεκτονικές μπορούμε να κάνουμε compile οποιαδήποτε ή όλες σε αυτό το σημείο, με τον ίδιο τρόπο. Για παράδειγμα, θα μπορούσαμε τώρα να κάνουμε compile το test bench για το reg4:
qvhcom -93 -work library test_bench.vhd
Θυμίζουμε, ότι το test bench έχει μαζί και οντότητα και αρχιτεκτονική έτσι μπορούμε να κάνουμε compile και τα δύο μαζί, την ίδια στιγμή