You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.7 KiB
Tcl
46 lines
1.7 KiB
Tcl
# ==============================================================
|
|
# Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2019.1 (64-bit)
|
|
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
|
# ==============================================================
|
|
set ::env(PATH) "$::env(PATH);C:/Xilinx/Vivado/2019.1/win64/tools/fpo_v7_0"
|
|
set ::env(PATH) "$::env(PATH);C:/Xilinx/Vivado/2019.1/win64/tools/opencv"
|
|
set ::env(PATH) "$::env(PATH);C:/Xilinx/Vivado/2019.1/win64/tools/fft_v9_1"
|
|
set ::env(PATH) "$::env(PATH);C:/Xilinx/Vivado/2019.1/win64/tools/fir_v7_0"
|
|
set ::env(PATH) "$::env(PATH);C:/Xilinx/Vivado/2019.1/win64/tools/dds_v6_0"
|
|
set ::env(PATH) "$::env(PATH);C:/Xilinx/Vivado/2019.1/win64/csim"
|
|
### C sim ###
|
|
if {![file exists csim.exe]} {
|
|
puts "@E C-simulation is not set up properly. Please re-run csim."
|
|
return -code error
|
|
}
|
|
set ret [catch {eval exec ./csim.exe | tee temp0.log >&@ stdout} err]
|
|
set logfile "temp0.log"
|
|
if {$ret || $err != ""} {
|
|
if { [lindex $::errorCode 0] eq "CHILDSTATUS"} {
|
|
set status [lindex $::errorCode 2]
|
|
if {$status != ""} {
|
|
puts "@E Simulation failed: Function \'main\' returns nonzero value \'$status\'."
|
|
set ::AESL_CSIM::gnonzeroRetErr 1
|
|
return -code error
|
|
} else {
|
|
puts "@E Simulation failed."
|
|
return -code error
|
|
}
|
|
} else {
|
|
if { [regexp {segmentation violation} $err] } {
|
|
puts "@E Simulation failed: SIGSEGV."
|
|
} else {
|
|
puts "@E Simulation failed."
|
|
}
|
|
return -code error
|
|
}
|
|
}
|
|
if {[file exists $logfile]} {
|
|
set cmdret [catch {eval exec "grep \"Error:\" $logfile"} err]
|
|
if {$cmdret == 0} {
|
|
puts "@E Simulation failed."
|
|
return -code error
|
|
}
|
|
}
|
|
|