# clb-precyinit Fuzzer

## PRECYINIT

Configures the PRECYINIT mux which provides CARRY4's first carry chain input

| PRECYINIT  | Value                           |
|------------|---------------------------------|
| C0         | Logic 0                         |
| C1         | Logic 1                         |
| AX         | AX CLB input                    |
| CIN        | Carry in from adjacent CLB COUT |

