You can display the list of directives for a command for a particular release. Use Tcl to programmatically list run properties. Each design run has a property corresponding to a Design Runs step command:
STEPS.<STEP>_DESIGN.ARGS.DIRECTIVE
Where <STEP> is one of SYNTH, OPT, PLACE,
PHYS_OPT, or ROUTE. This property is an enum; use list_property_value to return all supported values.
Following is an example:
Vivado% list_property_value STEPS.SYNTH_DESIGN.ARGS.DIRECTIVE [get_runs synth_1]
RuntimeOptimized
AreaOptimized_high
AreaOptimized_medium
AlternateRoutability
AreaMapLargeShiftRegToBRAM
AreaMultThresholdDSP
FewerCarryChains
Default
The following Tcl example shows how to list the directives for each synthesis and implementation command using a temporary, empty project:
create_project p1 -force -part xcku035-fbva900-2-e
#get synth_design directives
set steps [list synth]
set run [get_runs synth_1] foreach s $steps {
puts "${s}_design Directives:"
set dirs [list_property_value STEPS.${s}_DESIGN.ARGS.DIRECTIVE $run] set dirs [regsub -all {\s} $dirs \n]
puts "$dirs\n"
}
#get impl directives
set steps [list opt place phys_opt route] set run [get_runs impl_1]
foreach s $steps {
puts "${s}_design Directives:"
set dirs [list_property_value STEPS.${s}_DESIGN.ARGS.DIRECTIVE $run] set dirs [regsub -all {\s} $dirs \n]
puts "$dirs\n"
}
close_project -delete