Description
Package / Export (package.*, vivado.* / config_export)
Controls IP packaging and export format. All Vivado implementation
options are also part of
config_export
(via
-vivado_*
flags); the config file uses top-level
vivado.*
keys.
Syntax
| Option | Config File | Tcl | Default | Description |
|---|---|---|---|---|
| output.file | package.output.file=<path> | config_export -output <path> | — | Output path for the exported IP or XO file. |
| output.format | package.output.format=[ip_catalog|xo|syn_dcp|sysgen|rtl] | config_export -format [ip_catalog|xo|syn_dcp|sysgen|rtl] | ip_catalog | Export format. |
| output.xo_type | package.output.xo_type=<type> | config_export -xo_type <type> | rtl | XO output type (relevant when format=xo). |
| output.flow | vivado.flow=[syn|impl] | config_export -flow [syn|impl] | none | Vivado run to perform after export: none = no Vivado run, syn = synthesis only, impl = full implementation. |
| cosim_trace_generation | syn.rtl.cosim_trace_generation=true | config_export -cosim_trace_generation | 0 | bool | Generate simulation traces during co-simulation for debugging. Note: config file key is under syn.rtl.*. |
| Option | Config File | Tcl | Description |
|---|---|---|---|
| ip.description | package.ip.description=<text> | config_export -description <text> | IP core description string. |
| ip.display_name | package.ip.display_name=<name> | config_export -display_name <name> | Display name for the IP in the IP catalog. |
| ip.library | package.ip.library=<name> | config_export -library <name> | IP library name (used in IP catalog). |
| ip.name | package.ip.name=<name> | config_export -ipname <name> | IP core name. Note: Tcl option is -ipname, not -name. |
| ip.taxonomy | package.ip.taxonomy=<path> | config_export -taxonomy <path> | IP taxonomy path (For example: /UserIP). |
| ip.vendor | package.ip.vendor=<name> | config_export -vendor <name> | IP vendor name. |
| ip.version | package.ip.version=<ver> | config_export -version <ver> | IP version string (For example: 1.0). |
| ip.xdc_file | package.ip.xdc_file=<path> | config_export -ip_xdc_file <path> | XDC constraints file to include in IP package. |
| ip.xdc_ooc_file | package.ip.xdc_ooc_file=<path> | config_export -ip_xdc_ooc_file <path> | Out-of-context XDC constraints file. |
| Option | Config File | Tcl | Default | Description |
|---|---|---|---|---|
| vivado.clock | vivado.clock=<N> | config_export -vivado_clock <N> | — | Target clock period in ns for Vivado implementation. |
| vivado.impl_strategy | vivado.impl_strategy=<s> | config_export -vivado_impl_strategy <s> | default | Vivado implementation strategy name. |
| vivado.max_timing_paths | vivado.max_timing_paths=<N> | config_export -vivado_max_timing_paths <N> | 10 | Number of timing paths to report. |
| vivado.optimization_level | vivado.optimization_level=[0|1|2|3] | config_export -vivado_optimization_level [0|1|2|3] | 0 | Vivado optimization aggressiveness level. |
| vivado.pblock | vivado.pblock=<constraint> | config_export -vivado_pblock <s> | — | Pblock constraint string for floorplanning. |
| vivado.phys_opt | vivado.phys_opt=[none|place|route|all] | config_export -vivado_phys_opt [none|place|route|all] | none | Enable physical optimization passes. |
| vivado.report_level | vivado.report_level=[0|1|2] | config_export -vivado_report_level [0|1|2] | 2 | Report verbosity level. |
| vivado.rtl | vivado.rtl=[verilog|vhdl] | config_export -rtl [verilog|vhdl] | verilog | RTL language for generated output. |
| vivado.synth_design_args | vivado.synth_design_args=<args | config_export -vivado_synth_design_args <args> | -directive sdx_optimization_effort_high | Additional arguments passed to Vivado synth_design command. |
| vivado.synth_strategy | vivado.synth_strategy=<s> | config_export -vivado_synth_strategy <s> | default | Vivado synthesis strategy name. |
Tcl config_export Full Syntax
tcl
config_export \
-format ip_catalog \
-output ./myip.zip \
-flow impl \
-rtl verilog \
-vendor xilinx.com \
-library user \
-ipname mykernel \
-version 1.0 \
-display_name "My Kernel" \
-description "HLS kernel for matrix multiply" \
-taxonomy /UserIP \
-ip_xdc_file ./constraints.xdc \
-ip_xdc_ooc_file ./ooc.xdc \
-vivado_clock 4 \
-vivado_synth_strategy Flow_PerfOptimized_high \
-vivado_impl_strategy Performance_ExplorePostRoutePhysOpt \
-vivado_optimization_level 2 \
-vivado_phys_opt all \
-vivado_report_level 1 \
-vivado_max_timing_paths 10 \
-vivado_synth_design_args {-flatten_hierarchy rebuilt}