Commit edf10ce3 authored by Jens Korinth's avatar Jens Korinth

Improve timing closure

* evaluation was too pessimistic for many cores, leading to designs
  significantly slower than possible
* fixed by using more aggressive synthesis options
* more aggressive pnr options had no measurable effect on WNS
* using new options in both evaluation and compose
parent 41a66104
......@@ -38,8 +38,18 @@ foreach script [list @@TCL_FILES@@] { source $script }
set top [lindex [find_top] 0]
# synthesize and optimize netlist
#synth_design -part @@PART@@ -top $top -no_iobuf -mode out_of_context -retiming
synth_design -part @@PART@@ -top $top -mode out_of_context -retiming
synth_design \
-part @@PART@@ \
-top $top \
-mode out_of_context \
-directive AlternateRoutability \
-retiming \
-fanout_limit 400 \
-fsm_extraction one_hot \
-keep_equivalent_registers \
-resource_sharing off \
-no_lc \
-shreg_min_size 5
# read switching activity files (if any)
foreach saif [glob -nocomplain *.saif] {
......
......@@ -50,7 +50,11 @@ namespace eval platform {
generate_target all [get_files system.bd]
set synth_run [get_runs synth_1]
#set_property FLOW {Vivado Synthesis 2015} $synth_run
set_property -dict [list \
strategy Flow_PerfOptimized_high \
STEPS.SYNTH_DESIGN.ARGS.DIRECTIVE AlternateRoutability \
STEPS.SYNTH_DESIGN.ARGS.RETIMING true \
] $synth_run
current_run $synth_run
launch_runs -jobs $jobs $synth_run
wait_on_run $synth_run
......@@ -61,7 +65,10 @@ namespace eval platform {
tapasco::call_plugins "post-synth"
set impl_run [get_runs impl_1]
#set_property FLOW {Vivado Implementation 2015} $impl_run
set_property -dict [list \
STEPS.ROUTE_DESIGN.ARGS.DIRECTIVE Explore \
STEPS.PHYS_OPT_DESIGN.IS_ENABLED true \
] $impl_run
current_run $impl_run
launch_runs -jobs $jobs -to_step route_design $impl_run
wait_on_run $impl_run
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment