Register Map

AXI4-Lite register interface

Register Summary

OffsetNameAccessDescription
0x000CTRLWControl register (start/clear)
0x004STATUSRStatus flags (busy/done/override)
0x008ITER_BUDGETRWPlanning iteration count
0x010RESULTRChosen action ID
0x018REASONROverride reason code
0x020CONF_MINRWConfidence threshold (Q16.16)
0x024COH_MINRWCoherence threshold (Q16.16)
0x028CONS_MINRWConsistency threshold (Q16.16)
0x02CWEIGHT_CRWConfidence weight (Q16.16)
0x030WEIGHT_HRWCoherence weight (Q16.16)
0x034WEIGHT_KRWConsistency weight (Q16.16)

CTRL Register (0x000)

BitNameDescription
[0]STARTWrite 1 to start decision
[1]CLEARWrite 1 to clear state

STATUS Register (0x004)

BitNameDescription
[0]BUSYDecision in progress
[1]DONEDecision complete
[2]OVERRIDEAction was overridden

Fixed-Point Format

Threshold and weight registers use Q16.16 fixed-point format:

// Convert float to Q16.16
uint32_t float_to_q16(float val) {
    return (uint32_t)(val * 65536.0f);
}

// Convert Q16.16 to float
float q16_to_float(uint32_t val) {
    return (float)val / 65536.0f;
}