summaryrefslogtreecommitdiff
path: root/tests/xsthammer/run-xst.sh
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-06-11 19:49:35 +0200
committerClifford Wolf <clifford@clifford.at>2013-06-11 19:49:35 +0200
commit4b311b7b99f55ee4bfe43447067b177fb2f90a82 (patch)
tree193d4d97230bd7665846293a4229312d2227b0e6 /tests/xsthammer/run-xst.sh
parent8ce99fa6863a8e43b889a11c13e45f317fff11b3 (diff)
Further improved and extended xsthammer
Diffstat (limited to 'tests/xsthammer/run-xst.sh')
-rw-r--r--tests/xsthammer/run-xst.sh133
1 files changed, 67 insertions, 66 deletions
diff --git a/tests/xsthammer/run-xst.sh b/tests/xsthammer/run-xst.sh
index 879ce75c..21670707 100644
--- a/tests/xsthammer/run-xst.sh
+++ b/tests/xsthammer/run-xst.sh
@@ -1,75 +1,76 @@
#!/bin/bash
+if [ $# -eq 0 ]; then
+ echo "Usage: $0 <job_id>" >&2
+ exit 1
+fi
+
+job="$1"
+set --
+
set -e
-mkdir -p xst
-. /opt/Xilinx/14.2/ISE_DS/settings64.sh
+mkdir -p xst xst_temp/$job
+cd xst_temp/$job
-rm -rf xst_temp
-mkdir xst_temp
-cd xst_temp
+cat > $job.xst <<- EOT
+ run
+ -ifn $job.prj
+ -ifmt mixed
+ -ofn $job
+ -ofmt NGC
+ -p xc6vlx75t-2-ff784
+ -top $job
+ -opt_mode Speed
+ -opt_level 1
+ -power NO
+ -iuc NO
+ -keep_hierarchy NO
+ -rtlview Yes
+ -glob_opt AllClockNets
+ -read_cores YES
+ -write_timing_constraints NO
+ -cross_clock_analysis NO
+ -hierarchy_separator /
+ -bus_delimiter <>
+ -case maintain
+ -slice_utilization_ratio 100
+ -bram_utilization_ratio 100
+ -dsp_utilization_ratio 100
+ -fsm_extract YES -fsm_encoding Auto
+ -safe_implementation No
+ -fsm_style lut
+ -ram_extract Yes
+ -ram_style Auto
+ -rom_extract Yes
+ -shreg_extract YES
+ -rom_style Auto
+ -auto_bram_packing NO
+ -resource_sharing YES
+ -async_to_sync NO
+ -use_dsp48 auto
+ -iobuf NO
+ -max_fanout 100000
+ -bufg 32
+ -register_duplication YES
+ -register_balancing No
+ -optimize_primitives NO
+ -use_clock_enable Auto
+ -use_sync_set Auto
+ -use_sync_reset Auto
+ -iob auto
+ -equivalent_register_removal YES
+ -slice_utilization_ratio_maxmargin 5
+EOT
-if [ $# -eq 0 ]; then
- set -- $( ls ../rtl | sed 's,\.v$,,' )
-fi
+cat > $job.prj <<- EOT
+ verilog work "../../rtl/$job.v"
+EOT
-for job
-do
- cat > $job.xst <<- EOT
- run
- -ifn $job.prj
- -ifmt mixed
- -ofn $job
- -ofmt NGC
- -p xc6vlx75t-2-ff784
- -top $job
- -opt_mode Speed
- -opt_level 1
- -power NO
- -iuc NO
- -keep_hierarchy NO
- -rtlview Yes
- -glob_opt AllClockNets
- -read_cores YES
- -write_timing_constraints NO
- -cross_clock_analysis NO
- -hierarchy_separator /
- -bus_delimiter <>
- -case maintain
- -slice_utilization_ratio 100
- -bram_utilization_ratio 100
- -dsp_utilization_ratio 100
- -fsm_extract YES -fsm_encoding Auto
- -safe_implementation No
- -fsm_style lut
- -ram_extract Yes
- -ram_style Auto
- -rom_extract Yes
- -shreg_extract YES
- -rom_style Auto
- -auto_bram_packing NO
- -resource_sharing YES
- -async_to_sync NO
- -use_dsp48 auto
- -iobuf NO
- -max_fanout 100000
- -bufg 32
- -register_duplication YES
- -register_balancing No
- -optimize_primitives NO
- -use_clock_enable Auto
- -use_sync_set Auto
- -use_sync_reset Auto
- -iob auto
- -equivalent_register_removal YES
- -slice_utilization_ratio_maxmargin 5
- EOT
+. /opt/Xilinx/14.2/ISE_DS/settings64.sh
- cat > $job.prj <<- EOT
- verilog work "../rtl/$job.v"
- EOT
+xst -ifn $job.xst
+netgen -w -ofmt verilog $job.ngc $job
+cp $job.v ../../xst/$job.v
- xst -ifn $job.xst
- netgen -w -ofmt verilog $job.ngc $job
- cp $job.v ../xst/$job.v
-done
+exit 0