3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-02 16:20:51 +00:00

Further improved and extended xsthammer

This commit is contained in:
Clifford Wolf 2013-06-11 19:49:35 +02:00
parent 8ce99fa686
commit 4b311b7b99
7 changed files with 231 additions and 142 deletions

View file

@ -1,75 +1,76 @@
#!/bin/bash
set -e
mkdir -p xst
. /opt/Xilinx/14.2/ISE_DS/settings64.sh
rm -rf xst_temp
mkdir xst_temp
cd xst_temp
if [ $# -eq 0 ]; then
set -- $( ls ../rtl | sed 's,\.v$,,' )
echo "Usage: $0 <job_id>" >&2
exit 1
fi
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
job="$1"
set --
cat > $job.prj <<- EOT
verilog work "../rtl/$job.v"
EOT
set -e
mkdir -p xst xst_temp/$job
cd xst_temp/$job
xst -ifn $job.xst
netgen -w -ofmt verilog $job.ngc $job
cp $job.v ../xst/$job.v
done
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
cat > $job.prj <<- EOT
verilog work "../../rtl/$job.v"
EOT
. /opt/Xilinx/14.2/ISE_DS/settings64.sh
xst -ifn $job.xst
netgen -w -ofmt verilog $job.ngc $job
cp $job.v ../../xst/$job.v
exit 0