Un primo esempio di programma in VHDL
In questa esercitazione si suppone che sappiate gia' usare un poco l' editor ed il DOS, quindi se avete dei problemi potete rileggervi quanto fatto nella esercitazione precedente. In questa esercitazione proveremo a compilare ed eseguire delle semplici entita' VHDL che sono dei modelli di porte logiche che introducono un ritardo di 5ns. Il codice VHDL e' fornito gia' bello che pronto perche', in questa esercitazione, quello che interessa e' acquisire la capacita' di simulare un' entita' esistente. La prossima volta impareremo a scriverne una semplice da soli. A proposito leggete subito quale documentazione VHDL vi dovete procurare in segreteria. Il software usato per le esercitazioni di laboratorio e' l' ambiente di sviluppo VHDL della Green Mountain che ha il pregio di girare su piattaforme e macchine modeste (386+VGA+DOS) e viene distribuito, in versione limitata, come shareware. Si consiglia a quanti hanno un PC, anche molto modesto, di provare ad usarlo a casa. Prima di cominciare l' esercitazione di quest' oggi potete provare a dare un' occhiata al file che accompagna la versione di prova, ci sono tutte le notizie essenziali per usare questo sistema di sviluppo. Si propone poi di eseguire, per esercizio, le seguenti attivita':
- Aprire con l' editor il file gates.vhd e usando l' editor modificarlo fino ad ottenere il file sgates.vhd;
- Aprire una seconda finestra dell' editor, con il comando :bu e portare il cursore in tale finestra (se si usa l'editor vi)
- Provare a lanciare il compilatore senza parametri (con la sequenza !!vh nel caso del vi) per vedere la linea di help
- Lanciare la compilazione di sgates.vhd con la sequenza vh sgates.vhd (o !!vh sgates.vhd). Su alcuni sistemi sostituire a vh vhdl o vhdl14.
- Nel caso usiate vi, correggere gli errori nel programma nell' altra finestra e salvare le modifiche con :w! e ricompilare fino ad ottenere una compilazione con successo. Con l'altro editor entrare e uscire dalla shell del dos.
- Lanciare il linker senza parametri con la linea di comando link (o !!link … ) per vedere il significato dei singoli parametri (su alcuni sistemi anziche link provare con link14).
- Lanciare il link del file sgates con il comando link sgates sgates and2
- Salvare il file sgates.vhd nella sua edizione finale.
- Uscire dall' editor Vi
- Consultare la documentazione completa del sistema di sviluppo Green Mountain VHDL con il comando DOS infolink per ritrovarvi il significato delle operazioni fin qui compiute (questo lo si fa per imparare ad usare la documantazione del GM VHDL a questo livello, tuttavia, il riassunto che accompagna la versione di prova e' piu' comodo). Operando con Infolink le cose immediatamente interessanti si trovano sotto i seguenti percorsi:
- User guide, Using the compiler, Compiling (per avere informazioni su come compilare ed eseguire files VHDL).
- Il riferimento User Guide, SimVHDL dice invece come usare il simulatore.
- Editare un file sgates.env che fissa l' attenzione sulle cose da visualizzare durante la simulazione. Ad esempio si potrebbe avere come file sgates.env:
--------------------
80ns view
10ns step
a trace
b trace
c trace
a i0o5p13.waw
b i0o7p17.waw
--------------
dove sono stati usati due files .waw che descrivono delle forme d' onda.
- Lanciare il simulatore sve senza parametri per vedere la linea di comando tipo. A questo punto salvare tutti i file prodotti su dischetto, inclusi: i due files .waw, sgates.o e sgates. Uscire poi da Windows NT con CTRL-ALT-DEL shutdown e ripartire in DOS copiando i files salvati su dischetto sul disco fisso.
- Lanciare la simulazione con il comando sve sgates sgates.env e seguire per qualche step l' evoluzione della rete verificando che si comporta veramente come una porta AND.
- Ripetere le operazioni viste sopra in DOS modificando nel passo di link il nome dell' entita' che potra' essere or2 xor2 etc. e verificare il comportamento delle varie entita'.
- Consultare la sezione del manualetto GM VHDL: WRITING CONFIGURATION AND WAVEFORM FILES che descrive come creare files .ENV e provare a modificare sgates.env
- Consultare la stessa porzione del manualetto GM VHDL che descrive anche come creare files per le forme d' onda (.WAW) e provare a modificare i files .waw oppure prendere ad esempio altre onde quadre tra:
Appunti a cura di morando@disi.unige.it