Enhance T2 Offload for gNB and UE
- Reworked nrLDPC_decoder_offload.c to process all segments in a TB with a single call to LDPCdecoder() or LDPCencoder(). - Perform CRC checks on the T2. - Modified nr_ulsch_decoding (gNB decoder) to: - Count processed segments. - Properly perform CRC checks. - Created a constant NR_LDPC_MAX_NUM_CB to define the maximum number of codeblocks. - Conditional library loading: - On gNB: Load ldpc_t2 library if offload is enabled using the --ldpc-offload-enable flag. - On UE: Load both ldpc_t2 and ldpc libraries since only encoder offload is supported. - General cleanup of nrLDPC_decoder_offload.c for improved readability and maintainability. - Modified the structure of LDPC encoder/decoder/offload parameters: - Introduced a structure for code block (CB) related parameters. - Removed parameter E from the encoder and offload parameter structures for clarity. - Replaced E with perCB->E_cb in the UE encoder code.
This commit is contained in:
@@ -286,6 +286,7 @@ void set_options(int CC_id, PHY_VARS_NR_UE *UE){
|
||||
UE->rf_map.card = card_offset;
|
||||
UE->rf_map.chain = CC_id + chain_offset;
|
||||
UE->max_ldpc_iterations = nrUE_params.max_ldpc_iterations;
|
||||
UE->ldpc_offload_enable = nrUE_params.ldpc_offload_flag;
|
||||
UE->UE_scan_carrier = nrUE_params.UE_scan_carrier;
|
||||
UE->UE_fo_compensation = nrUE_params.UE_fo_compensation;
|
||||
UE->if_freq = nrUE_params.if_freq;
|
||||
@@ -491,7 +492,11 @@ int main(int argc, char **argv)
|
||||
cpuf=get_cpu_freq_GHz();
|
||||
itti_init(TASK_MAX, tasks_info);
|
||||
|
||||
init_opt() ;
|
||||
init_opt();
|
||||
|
||||
if (nrUE_params.ldpc_offload_flag)
|
||||
load_LDPClib("_t2", &ldpc_interface_offload);
|
||||
|
||||
load_LDPClib(NULL, &ldpc_interface);
|
||||
|
||||
if (ouput_vcd) {
|
||||
|
||||
Reference in New Issue
Block a user