|
#!/bin/bash |
|
TARGET=hw |
|
|
|
|
|
|
|
TOP=opt_kernel |
|
XO='/path/to/opt_kernel.xo' |
|
CONSTRAINT='/path/to/floorplanning/constraint.tcl' |
|
>&2 echo "Using the default clock target of the platform." |
|
PLATFORM="/path/to/vitis/vpk180.xpfm" |
|
TARGET_FREQUENCY=240000000 |
|
if [ -z $PLATFORM ]; then echo Please edit this file and set a valid PLATFORM= on line "${LINENO}"; exit; fi |
|
|
|
OUTPUT_DIR="$(pwd)/vitis_run_${TARGET}_ln" |
|
|
|
MAX_SYNTH_JOBS=16 |
|
STRATEGY="Explore" |
|
PLACEMENT_STRATEGY="Explore" |
|
|
|
v++ ${DEBUG} \ |
|
--link \ |
|
--output "${OUTPUT_DIR}/${TOP}_vpk180.xsa" \ |
|
--kernel ${TOP} \ |
|
--platform ${PLATFORM} \ |
|
--target ${TARGET} \ |
|
--report_level 2 \ |
|
--temp_dir "${OUTPUT_DIR}/${TOP}_vpk180.temp" \ |
|
--optimize 3 \ |
|
--connectivity.nk ${TOP}:1:${TOP} \ |
|
--save-temps \ |
|
"${XO}" \ |
|
--vivado.synth.jobs ${MAX_SYNTH_JOBS} \ |
|
--vivado.prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=1 \ |
|
--vivado.prop=run.impl_1.STEPS.OPT_DESIGN.ARGS.DIRECTIVE=$STRATEGY \ |
|
--vivado.prop=run.impl_1.{STEPS.OPT_DESIGN.ARGS.MORE\ OPTIONS}={-debug_log} \ |
|
--vivado.prop=run.impl_1.STEPS.PLACE_DESIGN.ARGS.DIRECTIVE=$PLACEMENT_STRATEGY \ |
|
--vivado.prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=$STRATEGY \ |
|
--vivado.prop=run.impl_1.STEPS.ROUTE_DESIGN.ARGS.DIRECTIVE=$STRATEGY \ |
|
--clock.default_freqhz ${TARGET_FREQUENCY} \ |
|
--vivado.prop=run.impl_1.STEPS.OPT_DESIGN.TCL.PRE=$CONSTRAINT \ |