OpenCores
URL https://opencores.org/ocsvn/funbase_ip_library/funbase_ip_library/trunk

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [ip.hwp.communication/] [hibi/] [3.0/] [tb/] [sad_tb/] [compile.sh] - Blame information for rev 145

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 145 lanttu
#!/bin/sh
2
 
3
#
4
# Compiles all VHDL files and special SystemC test suite.
5
#
6
# Test suite supports both normal mode and simultaneous
7
# addr+data (=sad), as well as all commands of HIBI v.3.
8
# Moreover, interface revisions r3 and r4 can be tested.
9
#
10
# Lasse Lehtonen, September 2011
11
 
12
 
13
 
14
# Define the path to hibi root directory (relative to your current directory)
15
root="."
16
 
17
# These external components are all relative to that "root"
18
mem_dir="$root/../../../ip.hwp.storage"
19
tb_dir="$root/tb/sad_tb"
20
 
21
# Define library names
22
msimlibs="msim_libs"
23
vhdlib="$msimlibs/vhd_lib"
24
n4_sclib="$msimlibs/norm4_sc_lib"
25
s4_sclib="$msimlibs/sad4_sc_lib"
26
n3_sclib="$msimlibs/norm3_sc_lib"
27
s3_sclib="$msimlibs/sad3_sc_lib"
28
 
29
# Define macros compilation commands and flags
30
com_vhdl="vcom -check_synthesis -lint -pedanticerrors -novopt -work $vhdlib -quiet"
31
 
32
# Flags define normal vs. sad mode, and r3 vs. r4
33
com_sv_s4="sccom -DHIBI_IN_SAD_MODE -O3 -I $$(tb_dir) -work $s4_sclib -nologo -Wall -incr"
34
com_sv_n4="sccom -O3 -I $$(tb_dir) -work $n4_sclib -nologo -Wall -incr"
35
 
36
com_sv_s3="sccom -DUSE_R3_WRAPPERS -DHIBI_IN_SAD_MODE -O3 -I $$(tb_dir) -work $s3_sclib -nologo -Wall -incr"
37
com_sv_n3="sccom -DUSE_R3_WRAPPERS -O3 -I $$(tb_dir) -work $n3_sclib -nologo -Wall -incr"
38
 
39
 
40
 
41
# Check if directories exist, and create them if necessary
42
echo "##"
43
 
44
if [ -d "$msimlibs" ]
45
then
46
    echo "## 1/5 Modelsim working library directory $msimlibs already exists"
47
else
48
    echo "## 1/5 Creating working libraries for Modelsim in directory $msimlibs"
49
    mkdir $msimlibs
50
fi
51
 
52
if [ -d "$vhdlib" ]
53
then
54
    echo "##  $vhdlib already exists"
55
else
56
    echo "##  Creating $vhdlib"
57
    vlib $vhdlib
58
fi
59
 
60
if [ -d "$n4_sclib" ]
61
then
62
    echo "##  $n4_sclib already exists"
63
else
64
    echo "##  Creating $n4_sclib"
65
    vlib $n4_sclib
66
fi
67
 
68
if [ -d "$s4_sclib" ]
69
then
70
    echo "##  $s4_sclib already exists"
71
else
72
    echo "##  Creating $s4_sclib"
73
    vlib $s4_sclib
74
fi
75
 
76
 
77
if [ -d "$n3_sclib" ]
78
then
79
    echo "##  $n3_sclib already exists"
80
else
81
    echo "##  Creating $n3_sclib"
82
    vlib $n3_sclib
83
fi
84
 
85
if [ -d "$s3_sclib" ]
86
then
87
    echo "##  $s3_sclib already present"
88
else
89
    echo "##  Creating $s3_sclib"
90
    vlib $s3_sclib
91
fi
92
 
93
 
94
echo "##"
95
echo "## 2/5 Compiling VHDL source files"
96
echo "##"
97
 
98
#
99
# FIFOs
100
#
101
$com_vhdl $root/$mem_dir/fifos/fifo/1.0/vhd/fifo.vhd
102
 
103
$com_vhdl $root/$mem_dir/fifos/multiclk_fifo/1.0/vhd//multiclk_fifo.vhd
104
$com_vhdl $root/$mem_dir/fifos/multiclk_fifo/1.0/vhd//re_pulse_synchronizer.vhd
105
$com_vhdl $root/$mem_dir/fifos/multiclk_fifo/1.0/vhd//we_pulse_synchronizer.vhd
106
$com_vhdl $root/$mem_dir/fifos/multiclk_fifo/1.0/vhd//mixed_clk_fifo_v3.vhd
107
 
108
$com_vhdl $root/$mem_dir/fifos/synchronizer/1.0/vhd/aif_read_in.vhd
109
$com_vhdl $root/$mem_dir/fifos/synchronizer/1.0/vhd/aif_read_out.vhd
110
$com_vhdl $root/$mem_dir/fifos/synchronizer/1.0/vhd/aif_read_top.vhd
111
$com_vhdl $root/$mem_dir/fifos/synchronizer/1.0/vhd/aif_we_in.vhd
112
$com_vhdl $root/$mem_dir/fifos/synchronizer/1.0/vhd/aif_we_out.vhd
113
$com_vhdl $root/$mem_dir/fifos/synchronizer/1.0/vhd/aif_we_top.vhd
114
 
115
$com_vhdl $root/$mem_dir/fifos/gray_fifo/1.0/vhd/async_dpram.vhd
116
$com_vhdl $root/$mem_dir/fifos/gray_fifo/1.0/vhd/async_dpram_generic.vhd
117
$com_vhdl $root/$mem_dir/fifos/gray_fifo/1.0/vhd/gray.vhd
118
$com_vhdl $root/$mem_dir/fifos/gray_fifo/1.0/vhd/cdc_fifo_ctrl.vhd
119
$com_vhdl $root/$mem_dir/fifos/gray_fifo/1.0/vhd/cdc_fifo.vhd
120
 
121
#
122
# HIBI files
123
#
124
$com_vhdl $root/vhd/hibiv3_pkg.vhd
125
$com_vhdl $root/vhd/fifo_demux_wr.vhd
126
$com_vhdl $root/vhd/fifo_mux_rd.vhd
127
$com_vhdl $root/vhd/double_fifo_demux_wr.vhd
128
$com_vhdl $root/vhd/double_fifo_mux_rd.vhd
129
$com_vhdl $root/vhd/addr_decoder.vhd
130
$com_vhdl $root/vhd/rx_control.vhd
131
$com_vhdl $root/vhd/receiver.vhd
132
$com_vhdl $root/vhd/cfg_init_pkg.vhd
133
$com_vhdl $root/vhd/cfg_mem.vhd
134
$com_vhdl $root/vhd/lfsr.vhd
135
$com_vhdl $root/vhd/dyn_arb.vhd
136
$com_vhdl $root/vhd/tx_control.vhd
137
$com_vhdl $root/vhd/transmitter.vhd
138
$com_vhdl $root/vhd/hibi_wrapper_r1.vhd
139
$com_vhdl $root/vhd/hibi_wrapper_r4.vhd
140
$com_vhdl $root/vhd/hibi_bridge_v2.vhd
141
 
142
#$com_vhdl $root/vhd/addr_data_demux_write.vhd
143
#$com_vhdl $root/vhd/addr_data_mux_read.vhd
144
#$com_vhdl $root/vhd/hibi_wrapper_r2.vhd
145
 
146
$com_vhdl $root/vhd/addr_data_demux_read.vhd
147
$com_vhdl $root/vhd/addr_data_mux_write.vhd
148
$com_vhdl $root/vhd/hibi_wrapper_r3.vhd
149
 
150
 
151
echo "##"
152
echo "## 3/5 Compiling TB  source files (VHDL + SystemC)"
153
echo "##"
154
$com_vhdl $root/$tb_dir/hibiv3_r4.vhd
155
$com_vhdl $root/$tb_dir/hibiv3_r3.vhd
156
$com_sv_n4 $root/$tb_dir/main.cc
157
$com_sv_s4 $root/$tb_dir/main.cc
158
$com_sv_n3 $root/$tb_dir/main.cc
159
$com_sv_s3 $root/$tb_dir/main.cc
160
 
161
# There may appear couple of warnings "not debuggable" which should do not harm
162
 
163
echo "##"
164
echo "## 4/5Linking"
165
echo "##"
166
sccom -link -work $s4_sclib -lib $s4_sclib -lib $vhdlib -nologo
167
sccom -link -work $n4_sclib -lib $n4_sclib -lib $vhdlib -nologo
168
sccom -link -work $s3_sclib -lib $s3_sclib -lib $vhdlib -nologo
169
sccom -link -work $n3_sclib -lib $n3_sclib -lib $vhdlib -nologo
170
 
171
 
172
 
173
echo "##"
174
echo "## 5/5 All done"
175
echo "##"
176
echo "## To simulate: "
177
echo "##  normal mode, R4: vsim -novopt -lib $n4_sclib -L $vhdlib sc_main &"
178
echo "##  sad mode, R4   : vsim -novopt -lib $s4_sclib -L $vhdlib sc_main &"
179
echo "##  normal mode, R3: vsim -novopt -lib $n3_sclib -L $vhdlib sc_main &"
180
echo "##  sad mode, R3   : vsim -novopt -lib $s3_sclib -L $vhdlib sc_main &"
181
echo "##"
182
echo "## Run the simulation until the message SAD HIBI TESTBENCH FINISHED appears, e.g. 3 ms"
183
echo "## Order (from fastest to slowest): "
184
echo "##  sad_r4 (1.8 ms), sad_r3 (2 ms), norm (2.5ms), and norm_r4 (2.7ms)  (2011-09-06)"

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.