This section covers the Vivado Design Suite non-project design flow mode only, and is intended for those who plan to use Tcl scripting with the Vivado tools.
You can use Tcl scripts to migrate your ISE Design Suite scripts to implement your design. Similar to the ISE Design Suite, the compilation flow in the Vivado Design Suite translates the design, maps the translated design to device-specific elements, optimizes the design, places and routes the design, and then generates a BIT file for programming.
Table: ISE Design Suite versus Vivado Design Suite Design Flow shows the main differences between the two design flows.
The table below shows the mapping of ISE Design Suite commands to corresponding Vivado Design Suite Tcl commands. You can run the Tcl commands using any of the following:
• In the Vivado IDE Tcl Console
• At the Tcl prompt ( vivado -mode tcl )
• Through a batch script ( vivado -mode batch -source my.tcl )
The ISE Design Suite and the Vivado Design Suite use different algorithms; consequently, a one-to-one mapping is not always possible between the two tool flows. Table: ISE to Vivado Implementation Flow Mappings provides a mapping of frequently-used options between the two implementation flows.
ISE Design Suite |
Vivado Design Suite |
---|---|
ngdbuild -p partname |
link_design -part |
ngdbuild -a (insert pads) |
s ynth_design -no_iobuf (opposite) |
ngdbuild -u (unexpanded blocks) |
Allowed by default, generates critical warnings. |
ngdbuild -quiet |
link_design -quiet |
map -detail |
opt_design -verbose |
map -lc auto |
Feature is no longer needed. Vivado automatically uses less area in quest for better routability and QOR. |
map -logic_opt |
opt_design, phys_opt_design |
map -mt |
place_design automatically runs MT with four cores in Linux or two cores in Windows. |
map -ntd |
place_design -non_timing_driven |
map -ol |
place_design -directive (1) |
map -power |
power_opt_design |
map -u |
link_design -mode out_of_context, opt_design -retarget (skip constant propagation and sweep) |
par -pl |
place_design -directive (1) |
par -rl |
route_design -directive (1) |
par -mt |
route_design automatically runs MT with four cores in Linux or two core in Windows |
par -k (keep existing placement and routing) |
Default behavior for route_design |
par -nopad |
report_io generates pad report |
par -ntd |
route_design -no_timing_driven |
Notes: 1. See the Tcl help for more information on the -directive option. |