Commit c6bdde12 authored by Romain Beurdouche's avatar Romain Beurdouche

feat(nrLDPC_coding_interface): Add ldpc_slot_t2 coding library

parent 49bdcfd9
...@@ -501,6 +501,12 @@ if (ENABLE_LDPC_T2) ...@@ -501,6 +501,12 @@ if (ENABLE_LDPC_T2)
add_library(ldpc_t2 MODULE ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c) add_library(ldpc_t2 MODULE ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_offload.c)
set_target_properties(ldpc_t2 PROPERTIES COMPILE_FLAGS "-DALLOW_EXPERIMENTAL_API") set_target_properties(ldpc_t2 PROPERTIES COMPILE_FLAGS "-DALLOW_EXPERIMENTAL_API")
target_link_libraries(ldpc_t2 ${LIBDPDK_T2_LDFLAGS} ${PMD_T2}) target_link_libraries(ldpc_t2 ${LIBDPDK_T2_LDFLAGS} ${PMD_T2})
set(PHY_NRLDPC_CODING_T2_SRC
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/nrLDPC_coding_t2.c
)
add_library(ldpc_slot_t2 MODULE ${PHY_NRLDPC_CODING_T2_SRC})
set_target_properties(ldpc_slot_t2 PROPERTIES COMPILE_FLAGS "-DALLOW_EXPERIMENTAL_API")
target_link_libraries(ldpc_slot_t2 PRIVATE ldpc_gen_HEADERS ${LIBDPDK_T2_LDFLAGS} ${PMD_T2})
endif() endif()
########################################################## ##########################################################
...@@ -2059,7 +2065,7 @@ endif() ...@@ -2059,7 +2065,7 @@ endif()
add_dependencies(nr-softmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc ldpc_slot_segment) add_dependencies(nr-softmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc ldpc_slot_segment)
if (ENABLE_LDPC_T2) if (ENABLE_LDPC_T2)
add_dependencies(nr-softmodem ldpc_t2) add_dependencies(nr-softmodem ldpc_t2 ldpc_slot_t2)
endif() endif()
# force the generation of ASN.1 so that we don't need to wait during the build # force the generation of ASN.1 so that we don't need to wait during the build
...@@ -2119,6 +2125,10 @@ if (ENABLE_LDPC_CUDA) ...@@ -2119,6 +2125,10 @@ if (ENABLE_LDPC_CUDA)
add_dependencies(nr-softmodem ldpc_cuda) add_dependencies(nr-softmodem ldpc_cuda)
endif() endif()
if (ENABLE_LDPC_T2)
add_dependencies(nr-uesoftmodem ldpc_t2 ldpc_slot_t2)
endif()
# force the generation of ASN.1 so that we don't need to wait during the build # force the generation of ASN.1 so that we don't need to wait during the build
target_link_libraries(nr-uesoftmodem PRIVATE target_link_libraries(nr-uesoftmodem PRIVATE
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp) asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp)
...@@ -2274,7 +2284,7 @@ add_executable(nr_ulsim ...@@ -2274,7 +2284,7 @@ add_executable(nr_ulsim
) )
if (ENABLE_LDPC_T2) if (ENABLE_LDPC_T2)
add_dependencies(nr_ulsim ldpc_t2) add_dependencies(nr_ulsim ldpc_t2 ldpc_slot_t2)
endif() endif()
add_dependencies(nr_ulsim ldpc_slot_segment) add_dependencies(nr_ulsim ldpc_slot_segment)
...@@ -2343,7 +2353,7 @@ if (${T_TRACER}) ...@@ -2343,7 +2353,7 @@ if (${T_TRACER})
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
L2 L2_LTE L2_NR L2_LTE_NR L2_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON MAC_UE_NR ngap L2 L2_LTE L2_NR L2_LTE_NR L2_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON MAC_UE_NR ngap
CN_UTILS GTPV1U SCTP_CLIENT MME_APP LIB_NAS_UE NB_IoT SIMU OPENAIR0_LIB CN_UTILS GTPV1U SCTP_CLIENT MME_APP LIB_NAS_UE NB_IoT SIMU OPENAIR0_LIB
ldpc_orig ldpc_optim ldpc_optim8seg ldpc_t2 ldpc_cl ldpc_cuda ldpc ldpc_slot_segment ldpc_orig ldpc_optim ldpc_optim8seg ldpc_t2 ldpc_cl ldpc_cuda ldpc ldpc_slot_segment ldpc_slot_t2
dfts config_internals nr_common) dfts config_internals nr_common)
if (TARGET ${i}) if (TARGET ${i})
add_dependencies(${i} generate_T) add_dependencies(${i} generate_T)
......
...@@ -106,23 +106,6 @@ typedef struct nrLDPC_dec_params { ...@@ -106,23 +106,6 @@ typedef struct nrLDPC_dec_params {
nrLDPC_params_per_cb_t perCB[NR_LDPC_MAX_NUM_CB]; nrLDPC_params_per_cb_t perCB[NR_LDPC_MAX_NUM_CB];
} t_nrLDPC_dec_params; } t_nrLDPC_dec_params;
/**
Structure containing LDPC offload parameters.
*/
typedef struct nrLDPCoffload_params {
uint8_t BG; /**< Base graph */
uint16_t Z;
uint16_t Kr;
uint8_t rv;
uint16_t n_cb;
uint16_t F; /**< Filler bits */
uint8_t Qm; /**< Modulation */
uint8_t C;
uint8_t numMaxIter;
uint8_t setCombIn;
nrLDPC_params_per_cb_t perCB[NR_LDPC_MAX_NUM_CB];
} t_nrLDPCoffload_params;
/** /**
Structure containing LDPC decoder processing time statistics. Structure containing LDPC decoder processing time statistics.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment