blob: 81f7b98516e2e20a15b22ab6ba70e10c6afbb0b0 [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# Commonly used globals & procs. This file must be sourced first.
set simulator ""
if {[info exists ::env(SIMULATOR)]} {
set simulator "$::env(SIMULATOR)"
} else {
puts "ERROR: tool script run without SIMULATOR environment variable."
quit
}
set waves "none"
if {[info exists ::env(WAVES)]} {
set waves "$::env(WAVES)"
}
set gui 0
if {[info exists ::env(GUI)]} {
set gui "$::env(GUI)"
}
set tb_top "tb"
if {[info exists ::env(TB_TOP)]} {
set tb_top "$::env(TB_TOP)"
} else {
puts "WARNING: TB_TOP environment variable not set - using \"tb\" as the
top level testbench hierarchy."
}
# Checks if variable is defined, else throw an error and exit.
proc checkVarExists {var} {
upvar $var var_
if {![info exists var_]} {
puts "ERROR: Variable \"$var\" not found."
quit
}
}
# If variable is defined, then use it, else set the default value.
proc setDefault {var value} {
upvar $var var_
if {[info exists var_]} {
puts "INFO: \"$var\" is already set to \"$var_\"."
} else {
puts "INFO: Setting \"$var\" to \"$value\"."
set var_ $value
}
return $var_
}
proc checkEq {var value} {
upvar $var var_
if {$var_ != $value} {
puts "ERROR: Check failed \"$var\" == \"$value\"!. Actual: \"$var_\"."
quit
}
}
proc checkNe {var value} {
upvar $var var_
if {$var_ == $value} {
puts "ERROR: Check failed \"$var\" != \"$value\"!. Actual: \"$var_\"."
quit
}
}