NeoRV32 on AU board

Has anyone built the neorv32 core for the Alchitry AU boards?
Just wondering if there are any “gotchas” I need to be aware of.

I found this project that does the core + many peripherals in a SoC-like bundle :

They provide it as a ready-to-use VHDL, auto-converted Verilog and also as a ready-to-use Vivado IP block.
All of which seems to be fully customizable.

They offer demo Vivado project for Arty boards, I looked into the project file and I didn’t saw any board-specific stuff that would prevent us to use it on Alchitry.

I may give it a try when I get some free time :slight_smile:

I did manage to get it to work after a bit of faffing around, however I can’t seem to get the memory interface as I wanted to add some memory mapped custom bits to it.

The base one took up just under 1000LUTs, I added multiply and divide and it went to 1400LUTs still pretty good.

now if I can just get that memory out.

Oh, nice :slight_smile:
I saw this example design where they externalized memory through the XBUS (Wishbone/AXI) :

The odcumentation states that the XBUS is memory-mapped in the CPU adress space so everything connecter to it can be accessed with load/store :

More details : [Datasheet] The NEORV32 RISC-V Processor

Thanks, I haven’t quite got my head around the who AXI thing yet, it’s something I’ll tinker with :slight_smile:

Running at 300MHz fine with the bootloader, need to get some code to blink LEDs next

300 MHz? :open_mouth: Nice!
The project claims only 130 MHz on Cyclone IV, did I missed something? XD

There is a led blink sample provided, the bootloader offers an upload feature to load binary code, but I don’t know which terminal format is expected.

I couldn’t find the blink sample, when I looked in the repo it just had the main.c and makefile. Could you point me at it please?

They provide it as source code because since you can customise the instruction set and memory map, they can’t make a binary that would work with every customization.

So they expect you to make your own binaries using the provided toolchain : Software Toolchain Setup

Yeah sadly I’m using windows for the moment and those are for Linux.
That’ll change in a month though as I plan to switch to linux.

The toolchain exists precompiled for windows : https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v14.2.0-3/xpack-riscv-none-elf-gcc-14.2.0-3-win32-x64.zip

It’s the one recommanded by NEORV32 :

If you need Windows and Linux you can give WSL a try, it’s a very thin, tightly integrated and lightweight VM that allows to run a full linux distro within windows