prim_sync_reset
Stretch and synchronize an async active-low reset into clk_i.
sync_rst_no asserts asynchronously with rst_ni and deasserts after WIDTH clk_i cycles of rst_ni deasserted, through a chain of metastability-hardened flops. test_mode_i, active-high, swaps scan_rst_ni onto the hazard-free bypass mux. sync_rst_no is the synchronized active-low reset output.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
WIDTH | int unsigned | 16 | Synchronizer stages; clk_i cycles from rst_ni deasserting to sync_rst_no deasserting. |
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | Destination clock. |
rst_ni | input | logic | Async reset to synchronize, active-low. |
test_mode_i | input | logic | Test mode, active-high; selects scan_rst_ni. |
scan_rst_ni | input | logic | Scan reset used in test mode, active-low. |
sync_rst_no | output | logic | Synchronized reset output, active-low. |