Prevents magnitude 0 from unconnected columns dominating the
minimum computation and zeroing all CN->VN messages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add test_data.py (cocotb Python module) and test_vectors.h (C header)
with 20 test vectors from the Python behavioral model. LLR data is
packed 5 per 32-bit word matching the wishbone interface format.
11 converged vectors for positive testing, 9 non-converged for
negative testing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Copy ldpc_decoder_core.sv and wishbone_interface.sv from standalone RTL
- Create Caravel-adapted ldpc_decoder_top.sv with USE_POWER_PINS,
32-bit address (lower 8 bits passed through), and wb_sel_i port
- Replace user_proj_example in user_project_wrapper.v with LDPC decoder
instantiation, active-high to active-low reset inversion, and tie-offs
for unused outputs (la_data_out, io_out, io_oeb, user_irq[2:1])
- Update includes.rtl.caravel_user_project with LDPC RTL file list
- Fix invalid hex literal in VERSION_ID (0xLD -> 0x1D)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>