SYNTHESIS OF SIMPLE VHDL DESIGNS FOR VIEWING IN DA
Το κείμενο αυτό είναι ένα σύντομο εισαγωγικό στο πως συνθέτουμε gate-level σχήματα και πως τα βλέπουμε αυτά στο Design Architect (DA). Προϋπόθεση για αυτό είναι να γνωρίζουμε το πώς κάνουμε compile και εξομοίωση τις VHDL σχεδιάσεις μας.
Εδώ είναι τα βήματα που πρέπει να ακολουθήσουμε για να κάνουμε την σύνθεση του σχεδίου που θέλουμε να δούμε. Πριν κάνουμε την σύνθεση πρέπει να είμαστε σίγουροι ότι η σχεδίασή μας έχει εξομοιωθεί και ότι το κύκλωμα δουλεύει σωστά.
Το πρώτο πράγμα που πρέπει να κάνουμε είναι να δημιουργήσουμε ένα directory για τις VHDL σχεδιάσεις και τα σχήματα που θα δημιουργηθούν. Ένα προτεινόμενο μέρος είναι στο mentor/VHDL. Για να δημιουργήσουμε το directory μπορούμε να χρησιμοποιήσουμε την εντολή mkdir του Unix.
Τώρα switch σε αυτό το directory και το θέτουμε σαν τον κατάλογο εργασίας (working directory). Αυτό το κάνουμε πληκτρολογώντας setenv MGC_WD $cwd στο directory, ή σε CEC υπολογιστή δίνουμε swd αντί της προηγούμενης εντολής.
Έχοντας θέσει το working directory μπορούμε να δημιουργήσουμε την δική μας VHDL βιβλιοθήκη. Αυτή η βιβλιοθήκη είναι εκεί όπου όλα τα compiled και synthesized σχέδια θα πάνε. Για να δουλέψει το synthesis script, χρειαζόμαστε μία βιβλιοθήκη (library ή library map) η οποία καλείται work. Αυτή τη βιβλιοθήκη την δημιουργούμε με την εντολή : qvlib work.
Τώρα μπορούμε να κάνουμε compile και να συνθέσουμε τις VHDL σχεδιάσεις μας σε αυτήν τη βιβλιοθήκη. Για αυτό το tutorial θα χρησιμοποιήσουμε ένα full adder, για να δείξουμε την σύνθεση. Αν είμαστε σε υπολογιστή CEC , μπορούμε απλά να κάνουμε copy τον VHDL κώδικα με την εντολή : cp /project/mgc-class-cec/ee260/VHDL/fa.vhd ή μπορούμε να κάνουμε download από τον server.
Τώρα μπορούμε να κάνουμε compile αυτόν τον VHDL κώδικα. Αν θέλουμε να συνθέσουμε τον κώδικα πρέπει να χρησιμοποιήσουμε τον διακόπτη -synth. Μπορούμε πάντα να χρησιμοποιούμε αυτόν τον διακόπτη ή μπορούμε να κάνουμε compile χωρίς τον διακόπτη, να ελένξουμε για λάθη στον κώδικα, να εξομοιώσουμε την σχεδίασή μας και να κάνουμε ξανά compile με τον διακόπτη πριν από την σύνθεση. Για την άσκησή μας πρέπει να χρησιμοποιήσουμε τον διακόπτη για να ξέρουμε ότι ο κώδικας θα γίνει σωστά compile : qvcom –synth fa.vhd .
Αφού γίνει compile στον κώδικα. Πρέπει να τον εξομοιώσουμε για να σιγουρευτούμε ότι δουλεύει. Αφού ικανοποιηθούμε από το ότι ο κώδικας είναι λειτουργικά σωστός, μπορούμε να τον συνθέσουμε.
Για να συνθέσουμε την VHDL σχεδίαση, πρέπει να τρέξουμε το synthesize script.
Χρήση:
Synthesize <entity> [ -a <architecture> -verbose –help]
<entity> είναι το όνομα της οντότητας στην βιβλιοθήκη μας για να συνθετηθεί.
<architecture> είναι η architecture για την οντότητα που θα συνθετηθεί.
-verbose -τρέχει το script σε verbose mode. Όλα τα μηνύματα εξόδου θα εμφανιστούν στην οθόνη.
-help - εμφανίζει αυτό το μήνυμα.
Σημείωση:
Η μεταβλητή περιβάλλοντος MGC_WD πρέπει να τεθεί στην τοποθεσία της σχεδίασης.
Παραδείγματα: synthesize top
synthesize top –a top_arch –verbose
Για τον full adder πρέπει να πληκτρολογήσουμε: synthesize fulladder.
Το script θα τρέξει (μπορεί να πάρει κάποια λεπτά) και θα δούμε στην οθόνη μερικά μηνύματα κατάστασης καθώς αυτό τρέχει. Δεν πρέπει να ενδιαφερόμαστε με σημειώσεις και προειδοποιήσεις αλλά να ψάχνουμε για τυχόν λάθη. Αν υπάρχουν λάθη, η σύνθεση δεν ολοκληρώνεται σωστά. Πρέπει να είμαστε σίγουροι ότι χρησιμοποιήσαμε το σωστό όνομα οντότητας στην VHDL που θέλαμε να συνθέσουμε.
Αφού η σύνθεση ολοκληρωθεί χωρίς λάθη, θα δούμε ένα μήνυμα παρόμοιο με το παρακάτω:
DONE.
If there were no ERRORS above, then your schematic is in
eddm/work/fullader/opt_s
use the command:
da –readonly –schematic eddm/work/fulladder opt_s
to view your schematic now.
Τότε μπορούμε να δώσουμε αυτήν την εντολή στο UNIX prompt για να δούμε το παραγόμενο σχήμα. Για τον full adder θα δούμε κάτι σαν αυτό:
( εικόνα σχηματικού full adder )
Μπορούμε να τυπώσουμε το σχέδιο, να κάνουμε zoom in και zoom out και οτιδήποτε άλλο μπορούμε να κάνουμε στο DA. Όταν τελειώσουμε με το σχηματικό κλείνουμε το παράθυρο με το πάνω αριστερά window control.