FPGA & CPLD DISCUSSION

FPGA simulation works but hardware fails after reset: where should reset release be checked?

Started by alie FPGA resetreset domain crossingsynchronizationstartup sequencinghardware debugging
3 replies 248 views 4 participants
Latest activity · 27 Sep 2026

FPGA simulation works but hardware fails after reset: where should reset release be checked?

alie FPGA & CPLD Forum
#1

A multi-clock FPGA design works in simulation but occasionally starts in an invalid state on the board. How can reset deassertion and startup dependencies be investigated without masking the failure with a longer arbitrary delay?

Reference: AMD: clock domain crossing methodology (https://docs.amd.com/r/en-US/ug1387-acap-hardware-ip-platform-dev-methodology/Clock-Domain-Crossing).

Reference: AMD: asynchronous clock domain constraints (https://docs.amd.com/r/en-US/ug903-vivado-using-constraints/Asynchronous-Clock-Domain-Crossings).

Community replies 3

Re: FPGA simulation works but hardware fails after reset: where should reset release be checked?

#2

Check how reset is released in each clock domain and whether the relevant clocks are stable and running. An asynchronous release can violate recovery or removal timing. Use an appropriate, reviewed reset strategy for the device and each domain.

Re: FPGA simulation works but hardware fails after reset: where should reset release be checked?

#3

Identify dependencies between state machines, FIFOs and external interfaces. One domain may begin sending before another is ready. Use explicit readiness or handshake conditions where needed, rather than assuming all reset synchronizers release on the same global instant.

Re: FPGA simulation works but hardware fails after reset: where should reset release be checked?

#4

Vary reset timing relative to clocks in simulation and test repeated resets on hardware. Capture the first invalid transition with internal debug instrumentation. Also review whether a stopped clock prevents the selected release circuit from completing, which a normal startup simulation may never exercise.

TEP COMMUNITY