Why AMD(Xilinx) Recommends Synchronous Resets

Why AMD(Xilinx) Recommends Synchronous Resets Thumbnail

https://docs.amd.com/r/2021.1-English/ug949-vivado-design-methodology/When-and-Where-to-Use-a-Reset


Advantages of Synchronous Resets

BenefitExplanation
Better Resource MappingSynchronous resets can be mapped directly to more FPGA resources (e.g., flip-flops inside DSPs, BRAMs).
Improved Logic PerformanceAsynchronous resets can negatively affect general logic timing paths and increase routing complexity.
Simpler RoutingA global asynchronous reset might not increase control sets but does require routing reset wires to many elements, which can become complex.
Protects Memory StructuresAsynchronous resets may corrupt the contents of BRAMs, LUTRAMs, and SRLs during reset assertion—especially if those resources are driven by asynchronously reset registers.
Placement FlexibilityWith synchronous resets, the logic can be more easily remapped during implementation for better packing and performance.
Compatibility with Dedicated BlocksSome blocks like DSP48s and BRAMs only support synchronous resets, so using asynchronous resets can prevent proper inference into those blocks.

Reset HDL Coding Example

Changing Asynchronous Reset into Synchronous Reset on Multipiler
Commenting Out Code with Reset Conditions
Separate Procedural Statements for Registers With and Without Reset

The Optimal way to remove the resets is to create separate sequential logic procedures with one for reset condition and the other for non-reset conditions.


Summary: In FPGAs…

ItemRecommended?Reason
Synchronous resetCommonly recommendedBetter for timing, tool support
⚠️ Asynchronous resetUse with cautionNeeded for power-up init, but adds complexity
Active-low resetPreferredMore immune to noise, widely adopted standard
Active-high resetAcceptableLogically fine, but less common in industry

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다