integration of the generated file (nrLDPC_cnProc_BG1_Z384_13 with the LDPC decoder at the base
This commit is contained in:
@@ -1305,19 +1305,23 @@ set(PHY_TURBOIF
|
|||||||
set(PHY_LDPC_ORIG_SRC
|
set(PHY_LDPC_ORIG_SRC
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c
|
||||||
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set(PHY_LDPC_OPTIM_SRC
|
set(PHY_LDPC_OPTIM_SRC
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c
|
||||||
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13.c
|
||||||
)
|
)
|
||||||
set(PHY_LDPC_OPTIM8SEG_SRC
|
set(PHY_LDPC_OPTIM8SEG_SRC
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c
|
||||||
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13.c
|
||||||
)
|
)
|
||||||
set(PHY_LDPC_OPTIM8SEGMULTI_SRC
|
set(PHY_LDPC_OPTIM8SEGMULTI_SRC
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c
|
||||||
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13.c
|
||||||
)
|
)
|
||||||
set(PHY_NR_CODINGIF
|
set(PHY_NR_CODINGIF
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_load.c;
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_load.c;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -37,7 +38,7 @@
|
|||||||
#include "nrLDPC_mPass.h"
|
#include "nrLDPC_mPass.h"
|
||||||
#include "nrLDPC_cnProc.h"
|
#include "nrLDPC_cnProc.h"
|
||||||
#include "nrLDPC_bnProc.h"
|
#include "nrLDPC_bnProc.h"
|
||||||
|
#include "nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13.h"
|
||||||
#define NR_LDPC_ENABLE_PARITY_CHECK
|
#define NR_LDPC_ENABLE_PARITY_CHECK
|
||||||
#define NR_LDPC_PROFILER_DETAIL
|
#define NR_LDPC_PROFILER_DETAIL
|
||||||
|
|
||||||
@@ -80,6 +81,9 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
|
|||||||
uint8_t BG = p_decParams->BG;
|
uint8_t BG = p_decParams->BG;
|
||||||
uint8_t numMaxIter = p_decParams->numMaxIter;
|
uint8_t numMaxIter = p_decParams->numMaxIter;
|
||||||
e_nrLDPC_outMode outMode = p_decParams->outMode;
|
e_nrLDPC_outMode outMode = p_decParams->outMode;
|
||||||
|
|
||||||
|
int8_t* cnProcBuf= p_procBuf->cnProcBuf;
|
||||||
|
int8_t* cnProcBufRes=p_procBuf->cnProcBufRes;
|
||||||
|
|
||||||
// Minimum number of iterations is 1
|
// Minimum number of iterations is 1
|
||||||
// 0 iterations means hard-decision on input LLRs
|
// 0 iterations means hard-decision on input LLRs
|
||||||
@@ -142,9 +146,12 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
|
|||||||
start_meas(&p_profiler->cnProc);
|
start_meas(&p_profiler->cnProc);
|
||||||
#endif
|
#endif
|
||||||
if (BG == 1)
|
if (BG == 1)
|
||||||
{
|
{ if(Z==384){
|
||||||
|
nrLDPC_cnProc_BG1_Z384_13(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
|
||||||
|
}else{
|
||||||
nrLDPC_cnProc_BG1(p_lut, p_procBuf, Z);
|
nrLDPC_cnProc_BG1(p_lut, p_procBuf, Z);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
nrLDPC_cnProc_BG2(p_lut, p_procBuf, Z);
|
nrLDPC_cnProc_BG2(p_lut, p_procBuf, Z);
|
||||||
@@ -242,8 +249,12 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
|
|||||||
#endif
|
#endif
|
||||||
if (BG == 1)
|
if (BG == 1)
|
||||||
{
|
{
|
||||||
|
if(Z==384){
|
||||||
|
nrLDPC_cnProc_BG1_Z384_13(p_procBuf->cnProcBuf, p_procBuf->cnProcBufRes);
|
||||||
|
}else{
|
||||||
nrLDPC_cnProc_BG1(p_lut, p_procBuf, Z);
|
nrLDPC_cnProc_BG1(p_lut, p_procBuf, Z);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
nrLDPC_cnProc_BG2(p_lut, p_procBuf, Z);
|
nrLDPC_cnProc_BG2(p_lut, p_procBuf, Z);
|
||||||
@@ -351,9 +362,12 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
|
|||||||
start_meas(&p_profiler->cnProc);
|
start_meas(&p_profiler->cnProc);
|
||||||
#endif
|
#endif
|
||||||
if (BG == 1)
|
if (BG == 1)
|
||||||
{
|
{ if(Z==384){
|
||||||
nrLDPC_cnProc_BG1(p_lut, p_procBuf, Z);
|
nrLDPC_cnProc_BG1_Z384_13(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
|
||||||
}
|
}else{
|
||||||
|
nrLDPC_cnProc_BG1(p_lut, p_procBuf, Z);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
nrLDPC_cnProc_BG2(p_lut, p_procBuf, Z);
|
nrLDPC_cnProc_BG2(p_lut, p_procBuf, Z);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
C=gcc
|
C=gcc
|
||||||
CFLAGS=-W -Wall -mavx2
|
CFLAGS=-W -Wall -mavx2
|
||||||
LDFLAGS=
|
LDFLAGS=
|
||||||
EXEC=cnProc_gen
|
EXEC=cnProc_gen
|
||||||
SRC= $(wildcard *.c)
|
SRC= $(wildcard *.c)
|
||||||
@@ -8,12 +8,12 @@ OBJ= $(SRC:.c=.o)
|
|||||||
all: $(EXEC)
|
all: $(EXEC)
|
||||||
|
|
||||||
cnProc_gen: $(OBJ)
|
cnProc_gen: $(OBJ)
|
||||||
$(CC) -o $@ $^ $(LDFLAGS) -O
|
$(CC) -o $@ $^ $(LDFLAGS) -O2 -pg
|
||||||
|
|
||||||
main.o: cnProc_gen.h
|
main.o: cnProc_gen.h
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) -o $@ -c $< $(CFLAGS) -I ${OPENAIR_HOME}/openair1 -g -ggdb
|
$(CC) -o $@ -c $< $(CFLAGS) -I ${OPENAIR_HOME}/openair1 -g -pg
|
||||||
|
|
||||||
.PHONY: clean mrproper
|
.PHONY: clean mrproper
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -1,7 +1,6 @@
|
|||||||
#ifndef NRLDPC_CN_GEN
|
#ifndef NRLDPC_CN_GEN
|
||||||
#define NRLDPC_DN_GEN
|
#define NRLDPC_CN_GEN
|
||||||
|
|
||||||
void nrLDPC_cnProc_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_procBuf, uint16_t Z);
|
|
||||||
|
|
||||||
|
void nrLDPC_cnProc_BG1_generator(uint16_t Z,int R);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
+100831
File diff suppressed because it is too large
Load Diff
+4
@@ -0,0 +1,4 @@
|
|||||||
|
#ifndef NR_CN_PROC_BG1_OPTIM
|
||||||
|
#define NR_CN_PROC_BG1_OPTIM
|
||||||
|
void nrLDPC_cnProc_BG1_Z384_13(int8_t* cnProcBuf,int8_t* cnProcBufRes);
|
||||||
|
#endif
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
#include "../nrLDPC_bnProc.h"
|
#include "../nrLDPC_bnProc.h"
|
||||||
#include "cnProc_gen.h"
|
#include "cnProc_gen.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv [])
|
||||||
{
|
{
|
||||||
//short lift_size[51]= {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384};
|
//short lift_size[51]= {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384};
|
||||||
// unsigned int errors, errors_bit, crc_misses;
|
// unsigned int errors, errors_bit, crc_misses;
|
||||||
|
|||||||
Binary file not shown.
@@ -31,7 +31,7 @@
|
|||||||
#ifndef __NR_LDPC_TYPES__H__
|
#ifndef __NR_LDPC_TYPES__H__
|
||||||
#define __NR_LDPC_TYPES__H__
|
#define __NR_LDPC_TYPES__H__
|
||||||
|
|
||||||
#include "PHY/TOOLS/time_meas.h"
|
#include "../../TOOLS/time_meas.h"
|
||||||
#include "nrLDPCdecoder_defs.h"
|
#include "nrLDPCdecoder_defs.h"
|
||||||
// ==============================================================================
|
// ==============================================================================
|
||||||
// TYPES
|
// TYPES
|
||||||
|
|||||||
@@ -29,8 +29,8 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <linux/kernel.h>
|
//#include <linux/kernel.h>
|
||||||
#include <linux/types.h>
|
//#include <linux/types.h>
|
||||||
// global var to enable openair performance profiler
|
// global var to enable openair performance profiler
|
||||||
extern int opp_enabled;
|
extern int opp_enabled;
|
||||||
double cpu_freq_GHz __attribute__ ((aligned(32)));;
|
double cpu_freq_GHz __attribute__ ((aligned(32)));;
|
||||||
|
|||||||
Reference in New Issue
Block a user