fix: sync Yosys-compatible packed LLR interface from chip_ignite

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
cah
2026-02-25 21:08:49 -07:00
parent 6cc13829c8
commit a83f05cf82
3 changed files with 11 additions and 11 deletions

View File

@@ -15,7 +15,6 @@ module ldpc_decoder_top #(
parameter Z = 32, // lifting factor
parameter N = N_BASE * Z, // codeword length = 256
parameter K = Z, // info bits = 32 (rate 1/8)
parameter M = M_BASE * Z, // parity checks = 224
parameter Q = 6, // LLR quantization bits (signed)
parameter MAX_ITER = 30, // maximum decoding iterations
parameter DC = 8, // check node degree (= N_BASE for regular)
@@ -50,8 +49,8 @@ module ldpc_decoder_top #(
logic stat_converged;
logic [4:0] stat_iter_used;
// LLR input buffer (written by host before starting decode)
logic signed [Q-1:0] llr_input [N];
// LLR input buffer (packed vector for Yosys compatibility)
logic [N*Q-1:0] llr_input_flat;
// Decoded output
logic [K-1:0] decoded_bits;
@@ -75,7 +74,7 @@ module ldpc_decoder_top #(
.stat_busy (stat_busy),
.stat_converged (stat_converged),
.stat_iter_used (stat_iter_used),
.llr_input (llr_input),
.llr_input (llr_input_flat),
.decoded_bits (decoded_bits),
.syndrome_weight(syndrome_weight),
.irq_o (irq_o)
@@ -99,7 +98,7 @@ module ldpc_decoder_top #(
.start (ctrl_start),
.early_term_en (ctrl_early_term),
.max_iter (ctrl_max_iter),
.llr_in (llr_input),
.llr_in (llr_input_flat),
.busy (stat_busy),
.converged (stat_converged),
.iter_used (stat_iter_used),