Hab nen Problem mit dem GHDL-Simulator. Es läuft alles normal, nur wenn
ich in einem Design die unisim einbinde mit
1 | library unisim;
|
2 | use unisim.VComponents.all;
|
findet er diese Library nicht.
Übersetzen tu ich mit folgendem Skript:
1 | export DESIGN=adder
|
2 | export TB_DESIGN=adder_tb
|
3 |
|
4 | #remove library directories if they exist
|
5 | cd ../libs
|
6 | if [ -e work ]; then
|
7 | rm -r work
|
8 | fi
|
9 | if [ -e unisim ]; then
|
10 | rm -r unisim
|
11 | fi
|
12 | #make new directories
|
13 | mkdir work
|
14 | mkdir unisim
|
15 | cd ..
|
16 |
|
17 | #compile xilinx unisim libraries
|
18 | ghdl -i --work=unisim --workdir=libs/unisim
|
19 | /home/torsten/Xilinx/vhdl/src/unisims/*.vhd
|
20 |
|
21 | #compile design files
|
22 | ghdl -i --workdir=libs/work ../rtl/*.vhd
|
23 |
|
24 | #make a design
|
25 | ghdl -m -g --workdir=libs/work --warn-default-binding --warn-binding
|
26 | --warn-library --warn-body --warn-specs --warn-unused ${TB_DESIGN}
|
27 |
|
28 | echo '=================================='
|
29 | echo 'design consists of following units:'
|
30 | echo '----------------------------------'
|
31 | ghdl -d --work=work --workdir=libs/work
|
32 | echo '===================================='
|
33 | echo 'detected following design hierarchy:'
|
34 | echo '------------------------------------'
|
35 |
|
36 | #run the testbench
|
37 | ghdl -r ${TB_DESIGN} --disp-tree=inst --wave=waveform/${DESIGN}.ghw
|
38 |
|
39 | echo '===================================='
|
40 |
|
41 | #run gtkwave
|
42 | gtkwave waveform/${DESIGN}.ghw
|
Ich kompiliere also die Unisim Bibliotheken, da meckert er auch nicht
rum und legt ein *.cf File in dem Ordner ab. Muss ich noch irgendwo
einen Pfad darauf setzen? So richtig schlau werd ich aus dem Manual auf
der Homepage nicht, habe zumindestens nichts richtiges dazu gefunden,
ausser dass es beim kompilieren Probleme geben kann, die aber nicht
aufgetreten sind...
T.M.
=============================
http://editthis.info/freefpga
=============================