Commit 9aa34832 authored by yilmazt's avatar yilmazt

executables compiling again

parent 84af6103
...@@ -2631,69 +2631,108 @@ target_link_libraries (dlsim_tm4 ...@@ -2631,69 +2631,108 @@ target_link_libraries (dlsim_tm4
add_executable(polartest add_executable(polartest
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c
${OPENAIR_DIR}/common/utils/backtrace.c) ${OPENAIR_DIR}/common/utils/system.c
target_link_libraries(polartest SIMU PHY PHY_NR PHY_COMMON m ${ATLAS_LIBRARIES}) ${T_SOURCE}
${SHLIB_LOADER_SOURCES}
)
target_link_libraries(polartest
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE CONFIG_LIB -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} dl
)
add_executable(smallblocktest add_executable(smallblocktest
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c
${OPENAIR_DIR}/common/utils/backtrace.c) ${T_SOURCE}
target_link_libraries(smallblocktest SIMU PHY PHY_NR PHY_COMMON m ${ATLAS_LIBRARIES}) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(smallblocktest
-Wl,--start-group UTIL SIMU PHY_NR CONFIG_LIB -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} dl
)
add_executable(ldpctest add_executable(ldpctest
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
${OPENAIR_DIR}/common/utils/backtrace.c) ${T_SOURCE}
target_link_libraries(ldpctest SIMU PHY PHY_NR m ${ATLAS_LIBRARIES}) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(ldpctest
-Wl,--start-group UTIL SIMU PHY_NR CONFIG_LIB -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} dl
)
add_executable(nr_dlschsim add_executable(nr_dlschsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c ${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/system.c
${UTIL_SRC} ${UTIL_SRC}
${T_SOURCE}) ${T_SOURCE}
target_link_libraries(nr_dlschsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(nr_dlschsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
add_executable(nr_pbchsim add_executable(nr_pbchsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c ${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/system.c
${UTIL_SRC} ${UTIL_SRC}
${T_SOURCE}) ${T_SOURCE}
target_link_libraries(nr_pbchsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(nr_pbchsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
#PUCCH ---> Prashanth #PUCCH ---> Prashanth
add_executable(nr_pucchsim add_executable(nr_pucchsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c ${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/system.c
${UTIL_SRC} ${UTIL_SRC}
${T_SOURCE}) ${T_SOURCE}
target_link_libraries(nr_pucchsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(nr_pucchsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
#PUCCH ---> Prashanth #PUCCH ---> Prashanth
add_executable(nr_dlsim add_executable(nr_dlsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c ${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/system.c
${UTIL_SRC} ${UTIL_SRC}
${T_SOURCE}) ${T_SOURCE}
target_link_libraries(nr_dlsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(nr_dlsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
add_executable(nr_ulschsim add_executable(nr_ulschsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c ${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/system.c
${UTIL_SRC} ${UTIL_SRC}
${T_SOURCE}) ${T_SOURCE}
target_link_libraries(nr_ulschsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(nr_ulschsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
add_executable(nr_ulsim add_executable(nr_ulsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim.c ${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim.c
${OPENAIR_DIR}/common/utils/backtrace.c
${OPENAIR_DIR}/common/utils/system.c ${OPENAIR_DIR}/common/utils/system.c
${UTIL_SRC} ${UTIL_SRC}
${T_SOURCE}) ${T_SOURCE}
target_link_libraries(nr_ulsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl) ${SHLIB_LOADER_SOURCES}
)
target_link_libraries(nr_ulsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim) foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
......
...@@ -630,7 +630,7 @@ void *vcd_dumper_thread_rt(void *args) ...@@ -630,7 +630,7 @@ void *vcd_dumper_thread_rt(void *args)
uint32_t data_ready_wait; uint32_t data_ready_wait;
# if defined(ENABLE_ITTI) # if defined(ENABLE_ITTI)
signal_mask(); return 0; //signal_mask(); //function defined at common/utils/ocp_itti/intertask_interface.cpp
# endif # endif
sched_param.sched_priority = sched_get_priority_min(SCHED_FIFO) + 1; sched_param.sched_priority = sched_get_priority_min(SCHED_FIFO) + 1;
......
...@@ -25,7 +25,7 @@ typedef struct { ...@@ -25,7 +25,7 @@ typedef struct {
typedef struct { typedef struct {
uint32_t interval_sec; uint32_t interval_sec;
uint32_t interval_us; uint32_t interval_us;
long task_id; long task_id;
int32_t instance; int32_t instance;
timer_type_t type; timer_type_t type;
void *timer_arg; void *timer_arg;
...@@ -33,7 +33,7 @@ typedef struct { ...@@ -33,7 +33,7 @@ typedef struct {
} timer_create_t; } timer_create_t;
typedef struct { typedef struct {
long task_id; long task_id;
long timer_id; long timer_id;
} timer_delete_t; } timer_delete_t;
...@@ -536,6 +536,7 @@ int timer_setup( ...@@ -536,6 +536,7 @@ int timer_setup(
int timer_remove(long timer_id); int timer_remove(long timer_id);
#define timer_stop timer_remove #define timer_stop timer_remove
int signal_handle(int *end); int signal_handle(int *end);
int signal_mask(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef NR_SOFTMODEM_COMMON_H #ifndef NR_SOFTMODEM_COMMON_H
#define NR_SOFTMODEM_COMMON_H #define NR_SOFTMODEM_COMMON_H
#ifndef _GNU_SOURCE #ifndef _GNU_SOURCE
#define _GNU_SOURCE #define _GNU_SOURCE
#endif #endif
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define NR_SOFTMODEM_H #define NR_SOFTMODEM_H
#include <executables/nr-softmodem-common.h> #include <executables/nr-softmodem-common.h>
#include <executables/softmodem-common.h>
#include "flexran_agent.h" #include "flexran_agent.h"
#include "PHY/defs_gNB.h" #include "PHY/defs_gNB.h"
......
...@@ -162,7 +162,7 @@ uint8_t nb_antenna_rx = 1; ...@@ -162,7 +162,7 @@ uint8_t nb_antenna_rx = 1;
char ref[128] = "internal"; char ref[128] = "internal";
char channels[128] = "0"; char channels[128] = "0";
typedef struct { /*typedef struct {
uint64_t optmask; uint64_t optmask;
THREAD_STRUCT thread_struct; THREAD_STRUCT thread_struct;
char rf_config_file[1024]; char rf_config_file[1024];
...@@ -176,14 +176,14 @@ typedef struct { ...@@ -176,14 +176,14 @@ typedef struct {
unsigned int start_msc; unsigned int start_msc;
uint32_t clock_source; uint32_t clock_source;
int hw_timing_advance; int hw_timing_advance;
} softmodem_params_t; } softmodem_params_t;*/
static softmodem_params_t softmodem_params; static softmodem_params_t softmodem_params;
static char *parallel_config = NULL; static char *parallel_config = NULL;
static char *worker_config = NULL; static char *worker_config = NULL;
static THREAD_STRUCT thread_struct; //static THREAD_STRUCT thread_struct;
void set_parallel_conf(char *parallel_conf) { /*void set_parallel_conf(char *parallel_conf) {
if(strcmp(parallel_conf,"PARALLEL_SINGLE_THREAD")==0) thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD; if(strcmp(parallel_conf,"PARALLEL_SINGLE_THREAD")==0) thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD;
else if(strcmp(parallel_conf,"PARALLEL_RU_L1_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_SPLIT; else if(strcmp(parallel_conf,"PARALLEL_RU_L1_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_SPLIT;
else if(strcmp(parallel_conf,"PARALLEL_RU_L1_TRX_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_TRX_SPLIT; else if(strcmp(parallel_conf,"PARALLEL_RU_L1_TRX_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_TRX_SPLIT;
...@@ -201,7 +201,7 @@ PARALLEL_CONF_t get_thread_parallel_conf(void) { ...@@ -201,7 +201,7 @@ PARALLEL_CONF_t get_thread_parallel_conf(void) {
} }
WORKER_CONF_t get_thread_worker_conf(void) { WORKER_CONF_t get_thread_worker_conf(void) {
return thread_struct.worker_conf; return thread_struct.worker_conf;
} }*/
int rx_input_level_dBm; int rx_input_level_dBm;
//static int online_log_messages=0; //static int online_log_messages=0;
......
#ifndef NR_UESOFTMODEM_H #ifndef NR_UESOFTMODEM_H
#define NR_UESOFTMODEM_H #define NR_UESOFTMODEM_H
#include <executables/nr-softmodem-common.h> #include <executables/nr-softmodem-common.h>
#include <executables/softmodem-common.h>
#include "PHY/defs_nr_UE.h" #include "PHY/defs_nr_UE.h"
#include "SIMULATION/ETH_TRANSPORT/proto.h" #include "SIMULATION/ETH_TRANSPORT/proto.h"
#include <openair2/LAYER2/NR_MAC_gNB/mac_proto.h> #include <openair2/LAYER2/NR_MAC_gNB/mac_proto.h>
......
#ifndef SOFTMODEM_COMMON_H
#define SOFTMODEM_COMMON_H
//#include "threads_t.h"
THREAD_STRUCT thread_struct;
static inline void set_parallel_conf(char *parallel_conf) {
mapping config[]= {
FOREACH_PARALLEL(GENERATE_ENUMTXT)
{NULL,-1}
};
thread_struct.parallel_conf = (PARALLEL_CONF_t)map_str_to_int(config, parallel_conf);
if (thread_struct.parallel_conf == -1 ) {
LOG_E(ENB_APP,"Impossible value: %s\n", parallel_conf);
thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD;
}
printf("[CONFIG] parallel_conf is set to %d\n", thread_struct.parallel_conf);
}
static inline void set_worker_conf(char *worker_conf) {
mapping config[]={
FOREACH_WORKER(GENERATE_ENUMTXT)
{NULL, -1}
};
thread_struct.worker_conf = (WORKER_CONF_t)map_str_to_int(config, worker_conf);
if (thread_struct.worker_conf == -1 ) {
LOG_E(ENB_APP,"Impossible value: %s\n", worker_conf);
thread_struct.worker_conf = WORKER_DISABLE ;
}
printf("[CONFIG] worker_conf is set to %d\n", thread_struct.worker_conf);
}
static inline PARALLEL_CONF_t get_thread_parallel_conf(void) {
return thread_struct.parallel_conf;
}
static inline WORKER_CONF_t get_thread_worker_conf(void) {
return thread_struct.worker_conf;
}
typedef struct {
uint64_t optmask;
THREAD_STRUCT thread_struct;
char rf_config_file[1024];
int phy_test;
uint8_t usim_test;
int emulate_rf;
int wait_for_sync; //eNodeB only
int single_thread_flag; //eNodeB only
int chain_offset;
int numerology;
unsigned int start_msc;
uint32_t clock_source;
uint32_t timing_source;
int hw_timing_advance;
uint32_t send_dmrs_sync;
} softmodem_params_t;
#endif
...@@ -23,13 +23,14 @@ ...@@ -23,13 +23,14 @@
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "assertions.h" #include "assertions.h"
#include "SIMULATION/TOOLS/sim.h" #include "SIMULATION/TOOLS/sim.h"
#include "PHY/CODING/nrLDPC_encoder/defs.h" #include "PHY/CODING/nrLDPC_encoder/defs.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.h" #include "PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.h"
#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h"
#define MAX_NUM_DLSCH_SEGMENTS 16 #define MAX_NUM_DLSCH_SEGMENTS 16
#define MAX_BLOCK_LENGTH 8448
#ifndef malloc16 #ifndef malloc16
# ifdef __AVX2__ # ifdef __AVX2__
...@@ -42,7 +43,6 @@ ...@@ -42,7 +43,6 @@
#define NR_LDPC_PROFILER_DETAIL #define NR_LDPC_PROFILER_DETAIL
#define NR_LDPC_ENABLE_PARITY_CHECK #define NR_LDPC_ENABLE_PARITY_CHECK
// 4-bit quantizer // 4-bit quantizer
char quantize4bit(double D,double x) char quantize4bit(double D,double x)
{ {
...@@ -76,31 +76,15 @@ char quantize8bit(double D,double x) ...@@ -76,31 +76,15 @@ char quantize8bit(double D,double x)
return((char)qxd); return((char)qxd);
} }
char quantize(double D,double x,unsigned char B)
{
double qxd;
short maxlev;
qxd = floor(x/D);
maxlev = 1<<(B-1);//(char)(pow(2,B-1));
//printf("x=%f,qxd=%f,maxlev=%d\n",x,qxd, maxlev);
if (qxd <= -maxlev)
qxd = -maxlev;
else if (qxd >= maxlev)
qxd = maxlev-1;
return((char)qxd);
}
typedef struct { typedef struct {
double n_iter_mean; double n_iter_mean;
double n_iter_std; double n_iter_std;
int n_iter_max; int n_iter_max;
} n_iter_stats_t; } n_iter_stats_t;
#define MAX_BLOCK_LENGTH 8448 RAN_CONTEXT_t RC;
PHY_VARS_UE ***PHY_vars_UE_g;
uint16_t NB_UE_INST = 1;
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};
...@@ -662,8 +646,7 @@ int main(int argc, char *argv[]) ...@@ -662,8 +646,7 @@ int main(int argc, char *argv[])
fprintf(fd,"SNR BLER BER UNCODED_BER ENCODER_MEAN ENCODER_STD ENCODER_MAX DECODER_TIME_MEAN DECODER_TIME_STD DECODER_TIME_MAX DECODER_ITER_MEAN DECODER_ITER_STD DECODER_ITER_MAX\n"); fprintf(fd,"SNR BLER BER UNCODED_BER ENCODER_MEAN ENCODER_STD ENCODER_MAX DECODER_TIME_MEAN DECODER_TIME_STD DECODER_TIME_MAX DECODER_ITER_MEAN DECODER_ITER_STD DECODER_ITER_MAX\n");
for (SNR=SNR0;SNR<SNR0+20.0;SNR+=SNR_step) for (SNR=SNR0;SNR<SNR0+20.0;SNR+=SNR_step) {
{
//reset_meas(&time_optim); //reset_meas(&time_optim);
//reset_meas(&time_decoder); //reset_meas(&time_decoder);
//n_iter_stats_t dec_iter = {0, 0, 0}; //n_iter_stats_t dec_iter = {0, 0, 0};
...@@ -719,23 +702,11 @@ int main(int argc, char *argv[]) ...@@ -719,23 +702,11 @@ int main(int argc, char *argv[])
dec_iter->n_iter_max dec_iter->n_iter_max
); );
if (decoded_errors[i] == 0) if (decoded_errors[i] == 0) break;
break;
i=i+1;
i=i+1;
} }
fclose(fd); fclose(fd);
return(0); return(0);
} }
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "PHY/CODING/nrPolar_tools/nr_polar_uci_defs.h" #include "PHY/CODING/nrPolar_tools/nr_polar_uci_defs.h"
#include "PHY/CODING/coding_defs.h" #include "PHY/CODING/coding_defs.h"
#include "SIMULATION/TOOLS/sim.h" #include "SIMULATION/TOOLS/sim.h"
#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h"
//#include "PHY/NR_TRANSPORT/nr_transport.h" //#include "PHY/NR_TRANSPORT/nr_transport.h"
//#include "common/utils/LOG/log.h" //#include "common/utils/LOG/log.h"
...@@ -18,7 +19,12 @@ ...@@ -18,7 +19,12 @@
//#define DEBUG_POLAR_TIMING //#define DEBUG_POLAR_TIMING
//#define DEBUG_POLARTEST //#define DEBUG_POLARTEST
int main(int argc, char *argv[]) { RAN_CONTEXT_t RC;
PHY_VARS_UE ***PHY_vars_UE_g;
uint16_t NB_UE_INST = 1;
int main(int argc, char *argv[])
{
//Default simulation values (Aim for iterations = 1000000.) //Default simulation values (Aim for iterations = 1000000.)
int decoder_int16=0; int decoder_int16=0;
int itr, iterations = 1000, arguments, polarMessageType = 0; //0=PBCH, 1=DCI, -1=UCI int itr, iterations = 1000, arguments, polarMessageType = 0; //0=PBCH, 1=DCI, -1=UCI
......
#include "PHY/CODING/nrSmallBlock/nr_small_block_defs.h"
#include "SIMULATION/TOOLS/sim.h"
#include <getopt.h> #include <getopt.h>
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/CODING/nrSmallBlock/nr_small_block_defs.h"
#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h"
//#define DEBUG_SMALLBLOCKTEST //#define DEBUG_SMALLBLOCKTEST
signed char quantize(double D, double x, unsigned char B) RAN_CONTEXT_t RC;
{ PHY_VARS_UE ***PHY_vars_UE_g;
double qxd; uint16_t NB_UE_INST = 1;
short maxlev;
qxd = floor(x/D);
maxlev = 1<<(B-1);//(char)(pow(2,B-1));
if (qxd <= -maxlev)
qxd = -maxlev;
else if (qxd >= maxlev)
qxd = maxlev-1;
return((char)qxd);
}
int main(int argc, char *argv[]) {
int main(int argc, char *argv[])
{
time_stats_t timeEncoder,timeDecoder; time_stats_t timeEncoder,timeDecoder;
opp_enabled=1; opp_enabled=1;
cpu_freq_GHz = get_cpu_freq_GHz(); cpu_freq_GHz = get_cpu_freq_GHz();
......
...@@ -85,28 +85,28 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */ ...@@ -85,28 +85,28 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */
int n_tx_dropped = 0; /*!< \brief initial max process time for tx */ int n_tx_dropped = 0; /*!< \brief initial max process time for tx */
int n_rx_dropped = 0; /*!< \brief initial max process time for rx */ int n_rx_dropped = 0; /*!< \brief initial max process time for rx */
//THREAD_STRUCT thread_struct; THREAD_STRUCT thread_struct;
static THREAD_STRUCT thread_struct; //static THREAD_STRUCT thread_struct;
void set_parallel_conf(char *parallel_conf) { void set_parallel_conf_dlsim(char *parallel_conf) {
if(strcmp(parallel_conf,"PARALLEL_SINGLE_THREAD")==0) thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD; if(strcmp(parallel_conf,"PARALLEL_SINGLE_THREAD")==0) thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD;
else if(strcmp(parallel_conf,"PARALLEL_RU_L1_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_SPLIT; else if(strcmp(parallel_conf,"PARALLEL_RU_L1_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_SPLIT;
else if(strcmp(parallel_conf,"PARALLEL_RU_L1_TRX_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_TRX_SPLIT; else if(strcmp(parallel_conf,"PARALLEL_RU_L1_TRX_SPLIT")==0) thread_struct.parallel_conf = PARALLEL_RU_L1_TRX_SPLIT;
printf("[CONFIG] parallel conf is set to %d\n",thread_struct.parallel_conf); printf("[CONFIG] parallel conf is set to %d\n",thread_struct.parallel_conf);
} }
void set_worker_conf(char *worker_conf) { void set_worker_conf_dlsim(char *worker_conf) {
if(strcmp(worker_conf,"WORKER_DISABLE")==0) thread_struct.worker_conf = WORKER_DISABLE; if(strcmp(worker_conf,"WORKER_DISABLE")==0) thread_struct.worker_conf = WORKER_DISABLE;
else if(strcmp(worker_conf,"WORKER_ENABLE")==0) thread_struct.worker_conf = WORKER_ENABLE; else if(strcmp(worker_conf,"WORKER_ENABLE")==0) thread_struct.worker_conf = WORKER_ENABLE;
printf("[CONFIG] worker conf is set to %d\n",thread_struct.worker_conf); printf("[CONFIG] worker conf is set to %d\n",thread_struct.worker_conf);
} }
PARALLEL_CONF_t get_thread_parallel_conf(void) { /*PARALLEL_CONF_t get_thread_parallel_conf(void) {
return thread_struct.parallel_conf; return thread_struct.parallel_conf;
} }
WORKER_CONF_t get_thread_worker_conf(void) { WORKER_CONF_t get_thread_worker_conf(void) {
return thread_struct.worker_conf; return thread_struct.worker_conf;
} }*/
int emulate_rf = 0; int emulate_rf = 0;
...@@ -641,7 +641,7 @@ int main(int argc, char **argv) { ...@@ -641,7 +641,7 @@ int main(int argc, char **argv) {
memset((void *)&TX_req,0,sizeof(TX_req)); memset((void *)&TX_req,0,sizeof(TX_req));
DL_req.dl_config_request_body.dl_config_pdu_list = dl_config_pdu_list; DL_req.dl_config_request_body.dl_config_pdu_list = dl_config_pdu_list;
TX_req.tx_request_body.tx_pdu_list = tx_pdu_list; TX_req.tx_request_body.tx_pdu_list = tx_pdu_list;
set_parallel_conf("PARALLEL_SINGLE_THREAD"); set_parallel_conf_dlsim("PARALLEL_SINGLE_THREAD");
cpuf = cpu_freq_GHz; cpuf = cpu_freq_GHz;
//signal(SIGSEGV, handler); //signal(SIGSEGV, handler);
//signal(SIGABRT, handler); //signal(SIGABRT, handler);
...@@ -891,7 +891,7 @@ int main(int argc, char **argv) { ...@@ -891,7 +891,7 @@ int main(int argc, char **argv) {
break; break;
case 'Q': case 'Q':
set_parallel_conf(optarg); set_parallel_conf_dlsim(optarg);
break; break;
default: default:
...@@ -912,7 +912,7 @@ int main(int argc, char **argv) { ...@@ -912,7 +912,7 @@ int main(int argc, char **argv) {
if (help) if (help)
exit(0); exit(0);
if (thread_struct.parallel_conf != PARALLEL_SINGLE_THREAD) if (thread_struct.parallel_conf != PARALLEL_SINGLE_THREAD)
set_worker_conf("WORKER_ENABLE"); set_worker_conf_dlsim("WORKER_ENABLE");
if (transmission_mode>1) pa=dBm3; if (transmission_mode>1) pa=dBm3;
......
...@@ -55,6 +55,7 @@ PHY_VARS_NR_UE *UE; ...@@ -55,6 +55,7 @@ PHY_VARS_NR_UE *UE;
RAN_CONTEXT_t RC; RAN_CONTEXT_t RC;
double cpuf; double cpuf;
int nfapi_mode = 0; int nfapi_mode = 0;
uint16_t NB_UE_INST = 1;
// needed for some functions // needed for some functions
PHY_VARS_NR_UE *PHY_vars_UE_g[1][1] = { { NULL } }; PHY_VARS_NR_UE *PHY_vars_UE_g[1][1] = { { NULL } };
......
...@@ -62,6 +62,7 @@ PHY_VARS_NR_UE *UE; ...@@ -62,6 +62,7 @@ PHY_VARS_NR_UE *UE;
RAN_CONTEXT_t RC; RAN_CONTEXT_t RC;
double cpuf; double cpuf;
int nfapi_mode=0; int nfapi_mode=0;
uint16_t NB_UE_INST = 1;
//Dummy Functions //Dummy Functions
lte_subframe_t subframe_select(LTE_DL_FRAME_PARMS *frame_parms, unsigned char subframe) {return(SF_DL);} lte_subframe_t subframe_select(LTE_DL_FRAME_PARMS *frame_parms, unsigned char subframe) {return(SF_DL);}
......
...@@ -41,7 +41,7 @@ void exit_function(const char* file, const char* function, const int line, const ...@@ -41,7 +41,7 @@ void exit_function(const char* file, const char* function, const int line, const
exit(-1); exit(-1);
} }
char quantize(double D, double x, unsigned char B) { signed char quantize(double D, double x, unsigned char B) {
double qxd; double qxd;
short maxlev; short maxlev;
qxd = floor(x / D); qxd = floor(x / D);
......
...@@ -54,6 +54,7 @@ PHY_VARS_NR_UE *UE; ...@@ -54,6 +54,7 @@ PHY_VARS_NR_UE *UE;
RAN_CONTEXT_t RC; RAN_CONTEXT_t RC;
double cpuf; double cpuf;
int nfapi_mode=0; int nfapi_mode=0;
uint16_t NB_UE_INST = 1;
// needed for some functions // needed for some functions
openair0_config_t openair0_cfg[MAX_CARDS]; openair0_config_t openair0_cfg[MAX_CARDS];
......
...@@ -52,6 +52,7 @@ RAN_CONTEXT_t RC; ...@@ -52,6 +52,7 @@ RAN_CONTEXT_t RC;
openair0_config_t openair0_cfg[MAX_CARDS]; openair0_config_t openair0_cfg[MAX_CARDS];
double cpuf; double cpuf;
int nfapi_mode=0; int nfapi_mode=0;
uint16_t NB_UE_INST = 1;
// needed for some functions // needed for some functions
PHY_VARS_NR_UE * PHY_vars_UE_g[1][1]={{NULL}}; PHY_VARS_NR_UE * PHY_vars_UE_g[1][1]={{NULL}};
......
...@@ -54,6 +54,7 @@ PHY_VARS_NR_UE *UE; ...@@ -54,6 +54,7 @@ PHY_VARS_NR_UE *UE;
RAN_CONTEXT_t RC; RAN_CONTEXT_t RC;
double cpuf; double cpuf;
int nfapi_mode = 0; int nfapi_mode = 0;
uint16_t NB_UE_INST = 1;
// needed for some functions // needed for some functions
PHY_VARS_NR_UE *PHY_vars_UE_g[1][1] = { { NULL } }; PHY_VARS_NR_UE *PHY_vars_UE_g[1][1] = { { NULL } };
......
...@@ -62,6 +62,7 @@ PHY_VARS_NR_UE *UE; ...@@ -62,6 +62,7 @@ PHY_VARS_NR_UE *UE;
RAN_CONTEXT_t RC; RAN_CONTEXT_t RC;
double cpuf; double cpuf;
int nfapi_mode = 0; int nfapi_mode = 0;
uint16_t NB_UE_INST = 1;
// dummy functions // dummy functions
int8_t nr_mac_rrc_data_ind_ue(const module_id_t module_id, const int CC_id, const uint8_t gNB_index, int8_t nr_mac_rrc_data_ind_ue(const module_id_t module_id, const int CC_id, const uint8_t gNB_index,
......
...@@ -445,8 +445,6 @@ typedef struct { ...@@ -445,8 +445,6 @@ typedef struct {
#define OPTION_LZ4 0x00000001 // LZ4 compression (option_value is set to compressed size) #define OPTION_LZ4 0x00000001 // LZ4 compression (option_value is set to compressed size)
#define sample_t struct complex16 // 2*16 bits complex number
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
......
...@@ -20,8 +20,7 @@ ...@@ -20,8 +20,7 @@
#include <sys/sysinfo.h> #include <sys/sysinfo.h>
#include <sys/types.h> #include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include "threads_t.h"
#include <sys/sysinfo.h>
#include "rt_wrapper.h" #include "rt_wrapper.h"
#include "../../ARCH/COMMON/common_lib.h" #include "../../ARCH/COMMON/common_lib.h"
//#undef MALLOC //#undef MALLOC
...@@ -30,12 +29,11 @@ ...@@ -30,12 +29,11 @@
#include "PHY/types.h" #include "PHY/types.h"
#include "PHY/defs_eNB.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "SIMULATION/ETH_TRANSPORT/proto.h"
#include "flexran_agent.h" #include "flexran_agent.h"
#include "s1ap_eNB.h" #include "s1ap_eNB.h"
#include "SIMULATION/ETH_TRANSPORT/proto.h" #include "SIMULATION/ETH_TRANSPORT/proto.h"
#include "proto_agent.h" #include "proto_agent.h"
#include "executables/softmodem-common.h"
/* help strings definition for command line options, used in CMDLINE_XXX_DESC macros and printed when -h option is used */ /* help strings definition for command line options, used in CMDLINE_XXX_DESC macros and printed when -h option is used */
#define CONFIG_HLP_RFCFGF "Configuration file for front-end (e.g. LMS7002M)\n" #define CONFIG_HLP_RFCFGF "Configuration file for front-end (e.g. LMS7002M)\n"
...@@ -241,13 +239,13 @@ ...@@ -241,13 +239,13 @@
/***************************************************************************************************************************************/ /***************************************************************************************************************************************/
/* */ /* */
#include "threads_t.h" //#include "threads_t.h"
//extern threads_t threads; //extern threads_t threads;
//extern THREAD_STRUCT thread_struct; //extern THREAD_STRUCT thread_struct;
THREAD_STRUCT thread_struct; //THREAD_STRUCT thread_struct;
static inline void set_parallel_conf(char *parallel_conf) { /*static inline void set_parallel_conf(char *parallel_conf) {
mapping config[]= { mapping config[]= {
FOREACH_PARALLEL(GENERATE_ENUMTXT) FOREACH_PARALLEL(GENERATE_ENUMTXT)
{NULL,-1} {NULL,-1}
...@@ -257,6 +255,7 @@ static inline void set_parallel_conf(char *parallel_conf) { ...@@ -257,6 +255,7 @@ static inline void set_parallel_conf(char *parallel_conf) {
LOG_E(ENB_APP,"Impossible value: %s\n", parallel_conf); LOG_E(ENB_APP,"Impossible value: %s\n", parallel_conf);
thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD; thread_struct.parallel_conf = PARALLEL_SINGLE_THREAD;
} }
printf("[CONFIG] parallel_conf is set to %d\n", thread_struct.parallel_conf);
} }
static inline void set_worker_conf(char *worker_conf) { static inline void set_worker_conf(char *worker_conf) {
...@@ -269,6 +268,7 @@ static inline void set_worker_conf(char *worker_conf) { ...@@ -269,6 +268,7 @@ static inline void set_worker_conf(char *worker_conf) {
LOG_E(ENB_APP,"Impossible value: %s\n", worker_conf); LOG_E(ENB_APP,"Impossible value: %s\n", worker_conf);
thread_struct.worker_conf = WORKER_DISABLE ; thread_struct.worker_conf = WORKER_DISABLE ;
} }
printf("[CONFIG] worker_conf is set to %d\n", thread_struct.worker_conf);
} }
static inline PARALLEL_CONF_t get_thread_parallel_conf(void) { static inline PARALLEL_CONF_t get_thread_parallel_conf(void) {
...@@ -277,7 +277,7 @@ static inline PARALLEL_CONF_t get_thread_parallel_conf(void) { ...@@ -277,7 +277,7 @@ static inline PARALLEL_CONF_t get_thread_parallel_conf(void) {
static inline WORKER_CONF_t get_thread_worker_conf(void) { static inline WORKER_CONF_t get_thread_worker_conf(void) {
return thread_struct.worker_conf; return thread_struct.worker_conf;
} }*/
/*PARALLEL_CONF_t get_thread_parallel_conf(void); /*PARALLEL_CONF_t get_thread_parallel_conf(void);
WORKER_CONF_t get_thread_worker_conf(void); WORKER_CONF_t get_thread_worker_conf(void);
...@@ -293,7 +293,7 @@ void set_worker_conf(char *worker_conf); ...@@ -293,7 +293,7 @@ void set_worker_conf(char *worker_conf);
#define SOFTMODEM_BASICSIM_BIT (1<<11) #define SOFTMODEM_BASICSIM_BIT (1<<11)
#define SOFTMODEM_SIML1_BIT (1<<12) #define SOFTMODEM_SIML1_BIT (1<<12)
#define SOFTMODEM_DOFORMS_BIT (1<<15) #define SOFTMODEM_DOFORMS_BIT (1<<15)
typedef struct { /*typedef struct {
uint64_t optmask; uint64_t optmask;
THREAD_STRUCT thread_struct; THREAD_STRUCT thread_struct;
char rf_config_file[1024]; char rf_config_file[1024];
...@@ -309,7 +309,7 @@ typedef struct { ...@@ -309,7 +309,7 @@ typedef struct {
uint32_t timing_source; uint32_t timing_source;
int hw_timing_advance; int hw_timing_advance;
uint32_t send_dmrs_sync; uint32_t send_dmrs_sync;
} softmodem_params_t; } softmodem_params_t;*/
#define IS_SOFTMODEM_NOS1 ( get_softmodem_optmask() & SOFTMODEM_NOS1_BIT) #define IS_SOFTMODEM_NOS1 ( get_softmodem_optmask() & SOFTMODEM_NOS1_BIT)
#define IS_SOFTMODEM_NOKRNMOD ( get_softmodem_optmask() & SOFTMODEM_NOKRNMOD_BIT) #define IS_SOFTMODEM_NOKRNMOD ( get_softmodem_optmask() & SOFTMODEM_NOKRNMOD_BIT)
......
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