Forum Discussion

stephmack's avatar
stephmack
Icon for New Contributor rankNew Contributor
3 days ago

DE23-Lite + Quartus Pro 25.1 + Nios V/g: no Nios V instance, no JTAG UART

Hi,

I’m working on a Terasic DE23-Lite board (Agilex 3 A3CZ135BB18AE7S) using Quartus Prime Pro 25.1, and I’m seeing a runtime debug/service issue that I have not been able to resolve.

System details:

  • Board: Terasic DE23-Lite
  • FPGA: Agilex 3 A3CZ135BB18AE7S
  • Quartus Prime Pro: 25.1
  • CPU in Platform Designer: Nios V/g
  • Project started from the Terasic SDRAM_Test_NiosV / golden_top example
  • USB-Blaster III is detected normally as DE23-Lite [USB-1]

What works:

  • quartus_pgm programs the .sof successfully
  • jtagconfig sees the board and FPGA in the JTAG chain
  • Simple RTL-only hardware tests work
  • CLOCK0_50-driven LED blink works
  • KEY0-driven LED test works

So basic board programming, raw JTAG visibility, and simple user logic are all working.

What does not work:

  • niosv-download fails with:
  • "There are no devices with valid Nios V instance(s)"
  • "ERROR: Failed to generate OpenOCD config file."

juart-terminal fails with:

  • "There are no JTAG UARTs available which match the --device and --instance options you provided."

In System Console, the following all return nothing:

  • get_service_paths device
  • get_service_paths master
  • get_service_paths processor
  • get_service_paths jtag_debug

SignalTap also does not enumerate at runtime and reports that the device needs to be programmed / instance not found, even after compile and program.

Important points:

  • The generated Platform Designer system does include Nios V/g debug-related logic and JTAG UART in the generated HDL.
  • The top-level does instantiate the generated nios_system.
  • The QSF includes the Qsys system.
  • The fit report shows SignalTap content present in the fitted image.

So this does not look like a missing-instance-in-the-design problem. It looks more like raw JTAG chain works, but no higher-level runtime services enumerate after configuration.

One thing I found:

  • In the example golden_top.v, the Nios system clock connection had a typo: .clk_clk(CLOCK1_51)instead of a real clock signal.

I corrected that and also tested CLOCK0_50. That did not resolve the no-instance / no-JTAG-UART / no-service-paths issue.

Another issue I found and fixed:

  • There was a stale on-chip memory init reference to ram.hex: "Cannot find Memory Initialization File (.mif) or Hexadecimal (Intel-Format) File (.hex) C:/fpga/SDRAM_Test_NiosV/ram.hex -- setting all initial values to 0."

I removed that stale reference. It did not fix the runtime service visibility problem.

Current question: Has anyone seen a case on DE23-Lite / Agilex 3 / Quartus Pro 25.1 where the JTAG chain is visible and programming succeeds, but Nios V instances, JTAG UART, System Console service paths, and SignalTap all fail to enumerate at runtime?

I’m looking for guidance on what layer to check next:

  • JTAG service / SLD runtime visibility
  • Agilex 3 user-mode debug exposure
  • board/project configuration settings
  • Quartus 25.1-specific issue
  • anything DE23-Lite-specific in the Terasic example flow

Any suggestions would be appreciated.

Thanks,

Steve

No RepliesBe the first to reply