Forum Discussion

SOVAD's avatar
SOVAD
Icon for New Contributor rankNew Contributor
4 days ago

Agilex 7 JTAG Config Fails at 1% on Board #2 (Error 18950 / CONF_DONE Low) - But Board #1 Works

Hello everyone,

I am currently bringing up custom boards featuring an Agilex 7 FPGA and a MAX10 system controller. Here is the situation:

Board #1 configures and works perfectly, but Board #2 fails to configure via JTAG, using the exact same `.sof` file, programmer, and physical setup.

Since Board #1 is fully functional, I can definitively rule out issues with the `.sof` file, Quartus project settings, and the core schematic design. This points directly to a hardware/assembly variance on Board #2.

 

The Symptoms on Board #2:

When attempting to program the `.sof` file via Quartus Programmer, the progress bar stack exactly at 1%. After a timeout, `CONF_DONE` remains low, and the programmer outputs the following specific errors:

- Error(18950): Device has stopped receiving configuration data

-Error(18944): CONF_DONE pin failed to go high in device 1. Make sure all communication cables are securely connected...

-Error(209012): Operation failed

 

System Environment:

* Quartus Version: Quartus Prime Pro 26.1

* FPGA OPN: `AGFA014R24B1E1V`

* JTAG Chain:** MAX10 (Device 0) -> Agilex 7 (Device 1)

 

Troubleshooting Performed So Far on the FAILING Board:

- JTAG Integrity is 100% Solid: I ran the JTAG Chain Debugger for 5,000 cycles with 0 errors. Auto-Detect works flawlessly and identifies the silicon accurately as `AGFA014R24(AR1|B|BR1)`.

 

Hardware Measurements (Physical Pins on #2 Board):

- nSTATUS before configuration: Verified High (1.8V) (And it does not go down to 0 during the programming attempt nor at the end)

- nCONFIG state: Verified High (1.8V) (And it does not go down to 0 during the programming attempt nor at the end)

- OSC_CLK_1: 100MHz clock is present and stable

- Power Supplies (LTMs): All primary rails seem to be up

 

My Questions:

1. Knowing that the failure happens exactly at 1% (Error 18950), nSTATUS and nCONFIG are high, and it's a known-good design, what specific hardware faults cause the SDM to freeze at this exact early stage without throwing an internal SDM error?

2. Is there a way to get more details about the error and know what is causing it?

 

Any insights or pointers on hardware edge cases that cause this specific behavior would be greatly appreciated. Thanks

1 Reply

  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    Hi sovad,

    Since Board #1 works with the same .sof, programmer, and setup, this points more to a board-level hardware or assembly issue on Board #2.
    Given:

    • JTAG chain test passes
    • Auto-detect works
    • programming stops at 1%
    • CONF_DONE stays low
    • nSTATUS stays high


    please check these areas on the failing board:
    1)Power and power sequencing
    Compare all configuration-related rails against Board #1, including any droop during programming.

    2)Configuration pin connectivity / assembly
    Check for soldering or loading issues on CONF_DONE, nSTATUS, nCONFIG, clock, and related power/ground pins.

    3)Board-level loading from surrounding circuitry
    External circuitry may be affecting the configuration pins.

    The  next step would be helpful to have a waveform and hardware comparison between the good and failing boards.

    Best regards,
    Fakhrul