Is Vivado xsim supposed to work out of the box for the neorv32_tb_simple? #899
-
Hey, I would like to use the neorv32 for my thesis project and I have been going through the user guide and documentation to get it up and running. I am pretty new to using a full rv soc and would like to ask for some clarification on some of the user guide steps. First some context: I got through chapters 1 and 2 already on my own to setup the toolchain and have blinky running on my fpga. I am using an Arty A7-100T board and based the constraints file on the Digilent online reference file and the Arty A7-35T example file in the neorv32 boards section. I decided on using the neorv32_test_setup_bootloader top file and that worked out. I am using Vivado 2019.1, I cannot change to another version of Vivado. I wanted to run the core in simulation next to look at the waves for the blinky example. I set neorv32_tb_simple as top. However, when I hit run simulation in Vivado I get an error that xsim_2.c has failed to compile and the elaborate step has therefore failed with errors. Now to my questions:
Ty for your time and help! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 10 replies
-
Hey @Sam-Vervaeck!
Great to hear! :)
I am using Vivado 2019.2, so that should be fine.
I never saw that error. Maybe an installation / rights issue? But you can synthesize and generate a bitstream, right?
I don't think so. At least I cannot find any VHDL2008-realted settings in my default project. However, it won't hurt if you enable VHDL2008 support.
This testbench provides reset and clock generators, some peripheral and memory stubs and a processor instance with all (most) options enabled. So, no, you could start with this and then customize the configuration of required.
Vivado is quite complex and consumes a lot of processing power. However, it has a very nice simulator that is easy to use. For every day simulation I also prefer simulations using Vivado. 👍 |
Beta Was this translation helpful? Give feedback.
I used the approm top file and blinky started working with the counting LEDs without problem. I redid the bootloader top file as well and uploaded the blinky binary and that also executed perfectly. So thank you already for all your help with that!
Then I looked at your link, I did not really go into the technical posts they mention and just implemented the solution they propose: installing the libncurses5 package. With that installed my simulation of my working example test bench and your neorv32 simple testbench now starts without problem. So that is both problems solved!
Thank you for your clear communication and time :).