Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
tapasco
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
52
Issues
52
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tapasco
tapasco
Commits
c80dd258
Commit
c80dd258
authored
Jun 11, 2019
by
Jaco Hofmann
Committed by
Lukas Sommer
Jun 11, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Read effort_level in TCL and apply to synthesis and implementation runs
parent
a62d8d19
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
11 deletions
+43
-11
common/design.master.tcl.template
common/design.master.tcl.template
+4
-5
platform/common/platform.tcl
platform/common/platform.tcl
+39
-6
No files found.
common/design.master.tcl.template
View file @
c80dd258
...
...
@@ -70,9 +70,6 @@ set_msg_config -suppress -severity INFO
# ignore AXI Interrupt controller warning about manual edge trigger setting
set_msg_config -suppress -id {[xilinx.com:ip:axi_intc:4.1-7]}
# Synthesis and P&R effort level
puts @@EFFORT_LEVEL@@
# loadout-specific configuration
@@COMPOSITION@@
...
...
@@ -114,10 +111,12 @@ if {[llength [info commands platform::generate_wrapper]] == 0} {
platform::generate_wrapper
}
# activate retiming in synthesis
set_property STEPS.SYNTH_DESIGN.ARGS.RETIMING true [get_runs synth_1]
# Disable OOC synthesis to avoid log file problems
set_property synth_checkpoint_mode None [get_files system.bd]
# Synthesis and P&R effort level
set effort_level "@@EFFORT_LEVEL@@"
# generate according to the mode
platform::generate
...
...
platform/common/platform.tcl
View file @
c80dd258
...
...
@@ -181,15 +181,50 @@ namespace eval platform {
# Platform API: Main entry point to generate the bitstream.
proc generate
{}
{
global bitstreamname
global effort_level
# generate bitstream from given design and report utilization / timing closure
set jobs
[
tapasco::get_number_of_processors
]
puts
" using
$jobs
parallel jobs"
set synth_settings
[
list
\
STEPS.SYNTH_DESIGN.ARGS.RETIMING true
\
]
set impl_settings
[
list
\
STEPS.PHYS_OPT_DESIGN.IS_ENABLED true
\
]
set effort_level
[
string tolower $effort_level
]
puts
"Effort is
$effort
_level"
if
{
$effort_level ==
"fastest"
}
{
puts
"Selecting FLOW_RuntimeOptimized."
set synth_settings
[
list strategy Flow_RuntimeOptimized
]
set impl_settings
[
list strategy Flow_RuntimeOptimized
]
}
elseif
{
$effort_level ==
"fast"
}
{
puts
"Selecting Flow_Quick."
#set synth_settings
[
list strategy
]
set impl_settings
[
list strategy Flow_Quick
]
}
elseif
{
$effort_level ==
"optimal"
}
{
puts
"Selecting Flow_PerfOptimized_high and Performance_Explore."
set synth_settings
[
list strategy Flow_PerfOptimized_high
]
set impl_settings
[
list strategy Performance_Explore
]
}
elseif
{
$effort_level ==
"aggressive_performance"
}
{
puts
"Selecting Flow_PerfOptimized_high and Performance_Explore."
set synth_settings
[
list strategy Flow_PerfOptimized_high
]
set impl_settings
[
list strategy Performance_Explore
]
}
elseif
{
$effort_level ==
"aggressive_area"
}
{
puts
"Selecting Flow_AreaOptimized_high and Area_Explore."
set synth_settings
[
list strategy Flow_AreaOptimized_high
]
set impl_settings
[
list strategy Area_Explore
]
}
else
{
puts
"Normal mode selected."
}
generate_target all
[
get_files
"
[
get_bd_name
]
.bd"
]
set synth_run
[
get_runs synth_1
]
set_property -dict
[
list
\
STEPS.SYNTH_DESIGN.ARGS.RETIMING true
\
]
$synth_run
set_property -dict $synth_settings $synth_run
current_run $synth_run
launch_runs -jobs $jobs $synth_run
wait_on_run $synth_run
...
...
@@ -200,9 +235,7 @@ namespace eval platform {
tapasco::call_plugins
"post-synth"
set impl_run
[
get_runs impl_1
]
set_property -dict
[
list
\
STEPS.PHYS_OPT_DESIGN.IS_ENABLED true
\
]
$impl_run
set_property -dict $impl_settings $impl_run
current_run $impl_run
launch_runs -jobs $jobs -to_step route_design $impl_run
wait_on_run $impl_run
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment