# Structural CDC / RDC report: `cv_gemv_axi`

Result: **PASS**. Structural check of the flattened pre-layout standard-cell netlist (Yosys JSON). Not a formal CDC/RDC sign-off and not a timing analysis.

- Netlist JSON sha256: `1ac51c4bf7f4af565415011fee2a1c299561f674002eeb6ae882e768e7d7fb5f`
- Sequential cells: 4265 (DFFR_X1 1737, DFF_X1 2528); latches: 0
- Clock roots: port:aclk (4265 flops) -> 1 clock domain(s)
- Flops with asynchronous reset: 1737; without reset: 2528
- Asynchronous reset roots: clear:port:aresetn (1737)
- Flops without reset whose data cone contains an asynchronously reset flop: 2528
- Flops whose data cone contains `aresetn`: 3891

| Check | Result | Detail |
|---|---|---|
| single clock domain | PASS | `{"port:aclk": 4265}` |
| clock pins driven by the clock port directly or through buffers only | PASS | `{"direct": 4265}` |
| no latches | PASS | `0` |
| asynchronous clear/preset only from port aresetn (buffers/inverters only) | PASS | `{"clear:port:aresetn": 1737}` |

## Combinational input-to-output paths

| Output | Inputs in its combinational fan-in |
|---|---|
| `s_axis_tready` | `aresetn` |

## Flops by source file

| Source file | Flops | Async reset | No reset |
|---|---|---|---|
| `(no source attribute: memory-mapped flops)` | 1280 | 256 | 1024 |
| `integration/rtl/cv_gemv_axi.sv` | 425 | 425 | 0 |
| `ip/cv_gemv/core.sv` | 2527 | 1023 | 1504 |
| `ip/cv_gemv/device.sv` | 33 | 33 | 0 |

## Integrator requirements

- Drive every flop from the single clock aclk; no internal clock generation or gating exists.
- aresetn is asserted asynchronously and must be released synchronously to aclk (two-flop reset synchronizer or equivalent in the integrating design).
- 2528 flops without reset (storage) are fed by asynchronously reset logic: contents written around reset assertion are not guaranteed; reload them after reset (consistent with the IP specification).
- aresetn also reaches the data input cone of 3891 flops (reset used as a synchronous qualifier inside the IP); its release must therefore meet setup/hold like a data input.
