41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
cd $(dirname "$0")
|
||
|
|
||
|
echo "Tip: Compile application with USER_FLAGS+=-DUART[0/1]_SIM_MODE to auto-enable UART[0/1]'s simulation mode (redirect UART output to simulator console)."
|
||
|
|
||
|
# Prepare simulation output files for UART0 and UART 1
|
||
|
# - Testbench receiver log file (neorv32.testbench_uart?.out)
|
||
|
# - Direct simulation output (neorv32.uart?.sim_mode.[text|data].out)
|
||
|
for uart in 0 1; do
|
||
|
for item in \
|
||
|
testbench_uart"$uart" \
|
||
|
uart"$uart".sim_mode.text \
|
||
|
uart"$uart".sim_mode.data; do
|
||
|
touch neorv32."$item".out
|
||
|
chmod 777 neorv32."$item".out
|
||
|
done
|
||
|
done
|
||
|
|
||
|
GHDL="${GHDL:-ghdl}"
|
||
|
|
||
|
$GHDL -m --work=neorv32 --workdir=build neorv32_tb_simple
|
||
|
|
||
|
GHDL_RUN_ARGS="${@:---stop-time=10ms}"
|
||
|
echo "Using simulation runtime args: $GHDL_RUN_ARGS";
|
||
|
|
||
|
runcmd="$GHDL -r --work=neorv32 --workdir=build neorv32_tb_simple \
|
||
|
--max-stack-alloc=0 \
|
||
|
--ieee-asserts=disable \
|
||
|
--assert-level=error $GHDL_RUN_ARGS"
|
||
|
|
||
|
if [ -n "$GHDL_DEVNULL" ]; then
|
||
|
$runcmd >> /dev/null
|
||
|
else
|
||
|
$runcmd
|
||
|
fi
|
||
|
|
||
|
cat neorv32.uart0.sim_mode.text.out | grep "CPU TEST COMPLETED SUCCESSFULLY!"
|