Hello,
First of all, thanks a lot for providing the open-source Noel-V design! It is a great thing this exists and I learnt a lot while using it. I am currently trying some experiment of running Rust on a Noel-V using the Arty-A7 project (in case you are interested, you can find that here.)
I managed to make some simple applications run on the grlib-gpl-2025.2-b4298
that you provide here . However, I could not make grlib-gpl-2026.2-b4300 work. I used make xconfig to re-configure the project to the IMAFC configuration with one core, and then built the project using Vivado 2026.1. This works, and I can then flash the design and I can also probe AHB masters and register information.
When I try to flash and run a minimal app using grmon4 and then single-step through the first few instructions, the program/processor seems to be stuck executing the first few instructions. Those instructions are related to reading the hart ID and/or disabling the interrupts. The disassemble command output and reading the first few bytes using the grmon mem read functions also prints (seemingly) incorrect information. I attached the info sys output between both version below.
I am a RISC-V beginner, so this is all new for me, and all help and guidance on what might be going wrong would be greatly appreciated. I think one interesting change was that the cmemconf variable was changed. Changing it back to 0 makes disassemble and mem read work, but i still have the same issue that I can not run code. Some background information: The startup assembler comes from the riscv-rt Rust library. It works well for the older designs.
I think you might have to update the ACLINT base address or some other interrupt controller related based address in the GRIP NOELVSYS docs, which now seems to be 0xB0000000.
info sys output for grlib-gpl-2025.2-b4298:
❯ grmon -digilent
GRMON debug monitor v4.1.2 64-bit eval version
Copyright (C) 2026 Frontgrade Gaisler - All rights reserved.
For latest updates, go to https://www.gaisler.com/
Comments or bug-reports to support@gaisler.com
This eval version will expire on 25/12/2026
WARNING! Share directory not found
JTAG chain (1): xc7a100t
Device ID: 0x330
GRLIB build version: 4298
Detected frequency: 40.0 MHz
Component Vendor
NOEL-V RISC-V Processor Frontgrade Gaisler
AHB Debug UART Frontgrade Gaisler
JTAG Debug Link Frontgrade Gaisler
AHB/APB Bridge Frontgrade Gaisler
Xilinx MIG Controller Frontgrade Gaisler
Generic AHB ROM Frontgrade Gaisler
AHB/APB Bridge Frontgrade Gaisler
AHB/APB Bridge Frontgrade Gaisler
RISC-V ACLINT Frontgrade Gaisler
RISC-V PLIC Frontgrade Gaisler
RISC-V Debug Module Frontgrade Gaisler
Generic UART Frontgrade Gaisler
Modular Timer Unit Frontgrade Gaisler
Version and Revision Register Frontgrade Gaisler
AHB Status Register Frontgrade Gaisler
General Purpose I/O port Frontgrade Gaisler
Use command 'info sys' to print a detailed report of attached cores
grmon4> info sys
cpu0 Frontgrade Gaisler NOEL-V RISC-V Processor
AHB Master 0
ahbuart0 Frontgrade Gaisler AHB Debug UART
AHB Master 9
APB: ff986000 - ff986100
Baudrate 115200, AHB frequency 40.00 MHz
ahbjtag0 Frontgrade Gaisler JTAG Debug Link
AHB Master 10
apbmst0 Frontgrade Gaisler AHB/APB Bridge
AHB: ff900000 - ffa00000
mig0 Frontgrade Gaisler Xilinx MIG Controller
AHB: 00000000 - 80000000
APB: ff980000 - ff980100
SDRAM: 256 Mbyte
ahbrom0 Frontgrade Gaisler Generic AHB ROM
AHB: c0000000 - e0000000
32-bit ROM: 512 MB @ 0xc0000000
apbmst1 Frontgrade Gaisler AHB/APB Bridge
AHB: ff400000 - ff500000
apbmst2 Frontgrade Gaisler AHB/APB Bridge
AHB: ff500000 - ff600000
clint0 Frontgrade Gaisler RISC-V ACLINT
AHB: e0000000 - e0100000
plic0 Frontgrade Gaisler RISC-V PLIC
AHB: f8000000 - fc000000
4 contexts, 31 interrupt sources, 7 max priority
dm0 Frontgrade Gaisler RISC-V Debug Module
AHB: fe000000 - ff000000
AHB trace: 64 lines, 128-bit bus
hart0: ISA rv32imafc, Modes M U
i, m, a, f, c, zaamo, zalrsc, zba, zbs, zca, zcf, zfa
zfbfmin, zfh, zicntr, zicond, zifencei, zihpm, zimop
Stack pointer 0x0ffffff0
icache 4 * 4 kB, 32 B/line, rnd,
dcache 4 * 4 kB, 32 B/line, rnd
3 triggers,
itrace 64 lines
uart0 Frontgrade Gaisler Generic UART
APB: ff900000 - ff900100
IRQ: 1
Baudrate 38461
FIFO debug mode available
gptimer0 Frontgrade Gaisler Modular Timer Unit
APB: ff908000 - ff908100
IRQ: 2
16-bit scaler, 2 * 32-bit timers, divisor 40
version0 Frontgrade Gaisler Version and Revision Register
APB: ff981000 - ff981100
Version 513, Revision 140
ahbstat0 Frontgrade Gaisler AHB Status Register
APB: ff982000 - ff982100
IRQ: 4
gpio0 Frontgrade Gaisler General Purpose I/O port
APB: ff983000 - ff983100
grmon4>
info sys output for grlib-gpl-2026.2-b4300:
❯ grmon -digilent
GRMON debug monitor v4.1.2 64-bit eval version
Copyright (C) 2026 Frontgrade Gaisler - All rights reserved.
For latest updates, go to https://www.gaisler.com/
Comments or bug-reports to support@gaisler.com
This eval version will expire on 25/12/2026
WARNING! Share directory not found
JTAG chain (1): xc7a100t
Device ID: 0x330
GRLIB build version: 4300
Detected frequency: 40.0 MHz
Component Vendor
NOEL-V RISC-V Processor Frontgrade Gaisler
RISC-V Debug Module Frontgrade Gaisler
AHB Debug UART Frontgrade Gaisler
JTAG Debug Link Frontgrade Gaisler
AHB/APB Bridge Frontgrade Gaisler
Xilinx MIG Controller Frontgrade Gaisler
Generic AHB ROM Frontgrade Gaisler
AHB/APB Bridge Frontgrade Gaisler
AHB/APB Bridge Frontgrade Gaisler
RISC-V Interrupt Controllers Frontgrade Gaisler
Generic UART Frontgrade Gaisler
Modular Timer Unit Frontgrade Gaisler
Version and Revision Register Frontgrade Gaisler
AHB Status Register Frontgrade Gaisler
General Purpose I/O port Frontgrade Gaisler
Use command 'info sys' to print a detailed report of attached cores
grmon4> info sys
cpu0 Frontgrade Gaisler NOEL-V RISC-V Processor
AHB Master 0
dm0 Frontgrade Gaisler RISC-V Debug Module
AHB Master 9
AHB Master 7
AHB: e0000000 - e1000000
AHB: f8400000 - f8500000
hart0: ISA rv32imac, Modes M U
i, m, a, c, smepmp, smpmpmt, svrsw60t59b, zaamo, zalrsc
zba, zbs, zca, zcb, zcmop, zicntr, zicond, zifencei
zihpm, zimop, zkt
Stack pointer 0x0ffffff0
icache 4 * 4 kB, 32 B/line, lru,
dcache 4 * 4 kB, 32 B/line, lru
3 triggers,
itrace 32 lines
ahbuart0 Frontgrade Gaisler AHB Debug UART
AHB Master 0
APB: ff986000 - ff986100
Baudrate 115200, AHB frequency 40.00 MHz
ahbjtag0 Frontgrade Gaisler JTAG Debug Link
AHB Master 1
apbmst0 Frontgrade Gaisler AHB/APB Bridge
AHB: ff900000 - ffa00000
mig0 Frontgrade Gaisler Xilinx MIG Controller
AHB: 00000000 - 80000000
APB: ff980000 - ff980100
SDRAM: 256 Mbyte
ahbrom0 Frontgrade Gaisler Generic AHB ROM
AHB: c0000000 - e0000000
32-bit ROM: 512 MB @ 0xc0000000
apbmst1 Frontgrade Gaisler AHB/APB Bridge
AHB: ff400000 - ff500000
apbmst2 Frontgrade Gaisler AHB/APB Bridge
AHB: ff500000 - ff600000
rvintctrl0 Frontgrade Gaisler RISC-V Interrupt Controllers
AHB: b0000000 - b0100000
AHB: fc000000 - fc400000
USR: 00000009
Backend: clint0 plic0
uart0 Frontgrade Gaisler Generic UART
APB: ff900000 - ff900100
IRQ: 1
Baudrate 38461
FIFO debug mode available
16550 interface available
gptimer0 Frontgrade Gaisler Modular Timer Unit
APB: ff908000 - ff908100
IRQ: 2
16-bit scaler, 2 * 32-bit timers, divisor 40
version0 Frontgrade Gaisler Version and Revision Register
APB: ff981000 - ff981100
Version 515, Revision 140
ahbstat0 Frontgrade Gaisler AHB Status Register
APB: ff982000 - ff982100
IRQ: 4
gpio0 Frontgrade Gaisler General Purpose I/O port
APB: ff983000 - ff983100
clint0 Frontgrade Gaisler RISC-V ACLINT
AHB: b0000000 - b0100000
plic0 Frontgrade Gaisler RISC-V PLIC
AHB: fc000000 - fc400000
AHB: b0018100 - b0018180
4 contexts, 31 interrupt sources, 7 max priority
grmon4>