openhwgroup / core-v-mcu

This is the CORE-V MCU project, hosting CORE-V's embedded-class cores.
https://docs.openhwgroup.org/projects/core-v-mcu
Other
158 stars 50 forks source link

UART DPI error in Vivado Version 2022.2 #320

Open mertkorkut opened 11 months ago

mertkorkut commented 11 months ago

I get the following error when I run 'make all-vivado' command in Vivado version 2022.2 without any changes made.

Time resolution is 1 ps
run -all

core_v_mcu_tb.qspi.mem_access @                    0 : NOTE : Load memory with Initial content

core_v_mcu_tb.qspi.mem_access @                    0 : NOTE : Initial Load End
core_v_mcu_tb.uart_0 @ 0: uart0 Baud =     4608000 freq =   250000000 ccps =          54
core_v_mcu_tb.uart_0 @ 0: Pseudo UART is  enabled
FATAL_ERROR: Vivado Simulator kernel has encounted an exception from DPI C function: uartdpi_create(). Please correct.
Time: 0 ps  Iteration: 0  Process: /core_v_mcu_tb/uart_0/Initial54_179
  File: /media/resyslab/big/core-v-mcu_works/build/openhwgroup.org_systems_core-v-mcu_0/sim-xsim/src/openhwgroup.org_systems_core-v-mcu_0/tb/uartdpi/uartdpi.sv

HDL Line: /media/resyslab/big/core-v-mcu_works/build/openhwgroup.org_systems_core-v-mcu_0/sim-xsim/src/openhwgroup.org_ip_apb2per_0/apb2per.sv:155
exit

What is the Vivado version that was originally tested on?

MikeOpenHWGroup commented 11 months ago

Hi @mertkorkut, thanks for your interest in the CORE-V-MCU. Unfortunately, the Vivado simulator does not support all the code constructs in the MCU's RTL. I keep hoping one day it will. In the meantime, I will push in an update to the vivado targets to make this obvious to users.

For RTL simulation I suggest you try Verilator, v5.008 or newer.