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

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [example/] [i2c/] [TMP100/] [Xilinx-SP601/] [make] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 sinclairrf
#!/bin/sh
2
#
3
# Make script for SP601 board.
4
#
5
# Usage:
6
#   ./make |& tee log
7
 
8
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
9
 
10
# Ensure the script to build the micro processor is present.
11
if [ -n "`which ssbcc | sed -n -e '/^which:/p'`" ]; then
12
  echo "FATAL ERROR:" > /dev/stderr;
13
  echo "Could not find \"ssbcc\" required for build" > /dev/stderr;
14
  exit 1;
15
fi
16
 
17
#
18
# Set the build parameters.
19
#
20
 
21
NAME=sp601
22
DEVICE=xc6slx16-2-csg324
23
 
24
FILES="";
25
FILES+=" ../uc/i2c_tmp100.v";
26
FILES+=" ${NAME}.v";
27
 
28
#
29
# Prepatory work
30
#
31
 
32
# Build the micro processor.
33
( cd ../uc; ssbcc --define-clog i2c_tmp100.9x8 ) || { echo "SSBCC failed" > /dev/stderr; exit 1; }
34
 
35
#
36
# Configure and run the synthesis
37
#
38
 
39
for fname in ${FILES}; do
40
  echo "verilog work \"${fname}\"";
41
done > ${NAME}.prj;
42
 
43
mkdir -p xst/projnav.tmp;
44
 
45
cat < ${NAME}.xst
46
set -tmpdir "xst/projnav.tmp"
47
set -xsthdpdir "xst"
48
run
49
-ifn ${NAME}.prj
50
-ifmt mixed
51
-ofn ${NAME}
52
-ofmt NGC
53
-p ${DEVICE}
54
-top ${NAME}
55
-opt_mode Speed
56
-opt_level 1
57
-power NO
58
-iuc NO
59
-keep_hierarchy No
60
-netlist_hierarchy As_Optimized
61
-rtlview Yes
62
-glob_opt AllClockNets
63
-read_cores YES
64
-write_timing_constraints NO
65
-cross_clock_analysis NO
66
-hierarchy_separator /
67
-bus_delimiter <>
68
-case Maintain
69
-slice_utilization_ratio 100
70
-bram_utilization_ratio 100
71
-dsp_utilization_ratio 100
72
-lc Auto
73
-reduce_control_sets Auto
74
-fsm_extract YES -fsm_encoding Auto
75
-safe_implementation No
76
-fsm_style LUT
77
-ram_extract Yes
78
-ram_style Auto
79
-rom_extract Yes
80
-shreg_extract YES
81
-rom_style Auto
82
-auto_bram_packing NO
83
-resource_sharing YES
84
-async_to_sync NO
85
-shreg_min_size 2
86
-use_dsp48 Auto
87
-iobuf YES
88
-max_fanout 100000
89
-bufg 16
90
-register_duplication YES
91
-register_balancing No
92
-optimize_primitives NO
93
-use_clock_enable Auto
94
-use_sync_set Auto
95
-use_sync_reset Auto
96
-iob Auto
97
-equivalent_register_removal YES
98
-slice_utilization_ratio_maxmargin 5
99
EOF
100
 
101
xst \
102
  -ifn "${NAME}.xst" \
103
  -ofn "${NAME}.syr" \
104
|| { echo "XST Failed!" > /dev/stderr; exit 1; }
105
 
106
#
107
# Run through PAR
108
#
109
 
110
ngdbuild \
111
  -dd _ngo \
112
  -nt timestamp \
113
  -uc ${NAME}.ucf \
114
  -p ${DEVICE} \
115
  ${NAME}.ngc ${NAME}.ngd \
116
|| { echo "ngdbuild Failed!" > /dev/stderr; exit 1; }
117
 
118
map \
119
  -p ${DEVICE} \
120
  -w \
121
  -logic_opt off \
122
  -ol high \
123
  -t 1 \
124
  -xt 0 \
125
  -register_duplication off \
126
  -r 4 \
127
  -global_opt off \
128
  -mt off \
129
  -ir off \
130
  -pr off \
131
  -lc off \
132
  -power off \
133
  -o ${NAME}.ncd \
134
  ${NAME}.ngd ${NAME}.pcf \
135
|| { echo "MAP Failed!" > /dev/stderr; exit 1; }
136
 
137
par \
138
  -w \
139
  -ol high \
140
  -mt off \
141
  ${NAME}.ncd ${NAME}.ncd ${NAME}.pcf \
142
|| { echo "PAR Failed!" > /dev/stderr; exit 1; }
143
 
144
#
145
# Optionally perform timing analysis
146
#
147
 
148
if [ `false` ]; then
149
  trce \
150
    -v 3 \
151
    -s 3 \
152
    -n 3 \
153
    -fastpaths \
154
    -xml ${NAME}.twx \
155
    ${NAME}.ncd \
156
    -o ${NAME}.twr \
157
    ${NAME}.pcf \
158
    -ucf ${NAME}.ucf
159
fi
160
 
161
#
162
# Generate the bitstream file
163
#
164
 
165
cat <${NAME}.ut
166
-w
167
-g DebugBitstream:No
168
-g Binary:no
169
-g CRC:Enable
170
-g Reset_on_err:No
171
-g ConfigRate:2
172
-g ProgPin:PullUp
173
-g TckPin:PullUp
174
-g TdiPin:PullUp
175
-g TdoPin:PullUp
176
-g TmsPin:PullUp
177
-g UnusedPin:PullDown
178
-g UserID:0xFFFFFFFF
179
-g ExtMasterCclk_en:No
180
-g SPI_buswidth:1
181
-g TIMER_CFG:0xFFFF
182
-g multipin_wakeup:No
183
-g StartUpClk:CClk
184
-g DONE_cycle:4
185
-g GTS_cycle:5
186
-g GWE_cycle:6
187
-g LCK_cycle:NoWait
188
-g Security:None
189
-g DonePipe:No
190
-g DriveDone:No
191
-g en_sw_gsr:No
192
-g drive_awake:No
193
-g sw_clk:Startupclk
194
-g sw_gwe_cycle:5
195
-g sw_gts_cycle:4
196
EOF
197
 
198
bitgen -f ${NAME}.ut ${NAME}.ncd \
199
|| { echo "BITGEN Failed!" > /dev/stderr; exit 1; }

powered by: WebSVN 2.1.0

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