NCTU OpInConnect

parent e0712dd8
...@@ -24,6 +24,15 @@ ...@@ -24,6 +24,15 @@
# brief OAI automated build tool that can be used to install, compile, run OAI. # brief OAI automated build tool that can be used to install, compile, run OAI.
# author Navid Nikaein, Lionel GAUTHIER, Laurent Thomas # author Navid Nikaein, Lionel GAUTHIER, Laurent Thomas
# file build_oai
# brief Adjust simlist
# author Terngyin, NY, GK, KM (ISIP)
# email tyhsu@cs.nctu.edu.tw
# date 07-04-2020
# version 1.0
# note
# warning
set -e set -e
# Include helper functions # Include helper functions
...@@ -661,7 +670,7 @@ function main() { ...@@ -661,7 +670,7 @@ function main() {
if [ "$SIMUS_PHY" = "1" ] ; then if [ "$SIMUS_PHY" = "1" ] ; then
echo_info "Compiling physical unitary tests simulators" echo_info "Compiling physical unitary tests simulators"
# TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim # TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim
simlist="nr_dlsim " simlist="nr_dlsim ldpctest"
#simlist="dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim" #simlist="dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim"
for f in $simlist ; do for f in $simlist ; do
compilations \ compilations \
......
...@@ -31,6 +31,16 @@ ...@@ -31,6 +31,16 @@
* \warning * \warning
*/ */
/*!\file vcd_signal_dumper.c
* \brief Add some VCD signals of multi_ldpc_encoder
* \author Terngyin, NY, GK, KM (ISIP)
* \email tyhsu@cs.nctu.edu.tw
* \date 07-04-2020
* \version 1.0
* \note
* \warning
*/
#include <pthread.h> #include <pthread.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -63,6 +73,7 @@ struct vcd_module_s { ...@@ -63,6 +73,7 @@ struct vcd_module_s {
const char* eurecomVariablesNames[] = { const char* eurecomVariablesNames[] = {
"frame_number_TX0_eNB", "frame_number_TX0_eNB",
"multi_enc_finish",
"mask_ru", "mask_ru",
"mask_tx_ru", "mask_tx_ru",
"frame_number_TX1_eNB", "frame_number_TX1_eNB",
...@@ -254,6 +265,15 @@ const char* eurecomVariablesNames[] = { ...@@ -254,6 +265,15 @@ const char* eurecomVariablesNames[] = {
const char* eurecomFunctionsNames[] = { const char* eurecomFunctionsNames[] = {
/* softmodem signals */ /* softmodem signals */
"rt_sleep", "rt_sleep",
"multi_enc",
"multi_enc_0",
"multi_enc_1",
"multi_enc_2",
"multi_enc_3",
"multi_enc_4",
"multi_enc_5",
"multi_enc_6",
"multi_enc_7",
"trx_read", "trx_read",
"trx_write", "trx_write",
"trx_read_ue", "trx_read_ue",
......
...@@ -32,6 +32,16 @@ ...@@ -32,6 +32,16 @@
* \warning * \warning
*/ */
/*!\file vcd_signal_dumper.h
* \brief Add some VCD signals of multi_ldpc_encoder
* \author Terngyin, NY, GK, KM (ISIP)
* \email tyhsu@cs.nctu.edu.tw
* \date 07-04-2020
* \version 1.0
* \note
* \warning
*/
#ifndef VCD_SIGNAL_DUMPER_H_ #ifndef VCD_SIGNAL_DUMPER_H_
#define VCD_SIGNAL_DUMPER_H_ #define VCD_SIGNAL_DUMPER_H_
...@@ -40,6 +50,7 @@ ...@@ -40,6 +50,7 @@
/* WARNING: if you edit the enums below, update also string definitions in vcd_signal_dumper.c */ /* WARNING: if you edit the enums below, update also string definitions in vcd_signal_dumper.c */
typedef enum { typedef enum {
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_ENB=0, VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_ENB=0,
VCD_SIGNAL_DUMPER_VARIABLES_MULTI_ENC_FINISH,
VCD_SIGNAL_DUMPER_VARIABLES_MASK_RU, VCD_SIGNAL_DUMPER_VARIABLES_MASK_RU,
VCD_SIGNAL_DUMPER_VARIABLES_MASK_TX_RU, VCD_SIGNAL_DUMPER_VARIABLES_MASK_TX_RU,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_ENB, VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_ENB,
...@@ -234,6 +245,15 @@ typedef enum { ...@@ -234,6 +245,15 @@ typedef enum {
typedef enum { typedef enum {
/* softmodem signals */ /* softmodem signals */
VCD_SIGNAL_DUMPER_FUNCTIONS_RT_SLEEP=0, VCD_SIGNAL_DUMPER_FUNCTIONS_RT_SLEEP=0,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_0,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_1,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_2,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_3,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_4,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_5,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_6,
VCD_SIGNAL_DUMPER_FUNCTIONS_MULTI_ENC_7,
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ, VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ,
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE,
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_UE, VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_UE,
......
...@@ -19,16 +19,15 @@ ...@@ -19,16 +19,15 @@
* contact@openairinterface.org * contact@openairinterface.org
*/ */
/*!\file common/utils/T/T_defs.h /*!\file T_defs.h
* \brief * \brief Update VCD_NUM_FUNCTIONS and VCD_NUM_VARIABLES
* \author * \author Terngyin, NY, GK, KM (ISIP)
* \date * \email tyhsu@cs.nctu.edu.tw
* \version * \date 07-04-2020
* \company EURECOM * \version 1.0
* \email
* \note * \note
* \warning * \warning
*/ */
#ifndef _T_defs_H_ #ifndef _T_defs_H_
#define _T_defs_H_ #define _T_defs_H_
...@@ -73,10 +72,10 @@ typedef struct { ...@@ -73,10 +72,10 @@ typedef struct {
} T_cache_t; } T_cache_t;
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */ /* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS (247) #define VCD_NUM_FUNCTIONS (256) //origin : 247
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */ /* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES (186) #define VCD_NUM_VARIABLES (187) //origin : 186
/* first VCD function (to be kept up to date! see in T_messages.txt) */ /* first VCD function (to be kept up to date! see in T_messages.txt) */
#define VCD_FIRST_FUNCTION ((uintptr_t)T_VCD_FUNCTION_RT_SLEEP) #define VCD_FIRST_FUNCTION ((uintptr_t)T_VCD_FUNCTION_RT_SLEEP)
......
#general logs #general logs
ID = ENB_MASTER_TICK ID = ENB_MASTER_TICK
DESC = eNodeB master tick - one tick per ms, to be used as "reference clock", mostly for ticktime view DESC = eNodeB master tick - one tick per ms, to be used as "reference clock", mostly for ticktime view
...@@ -1211,6 +1212,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_TX0_ENB ...@@ -1211,6 +1212,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_TX0_ENB
GROUP = ALL:VCD:ENB:VCD_VARIABLE GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value FORMAT = ulong,value
VCD_NAME = frame_number_TX0_eNB VCD_NAME = frame_number_TX0_eNB
ID = VCD_VARIABLE_MULTI_ENC_FINISH
DESC = VCD variable MULTI_ENC_FINISH
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = multi_enc_finish
ID = VCD_VARIABLE_MASK_RU ID = VCD_VARIABLE_MASK_RU
DESC = VCD variable MASK_RU DESC = VCD variable MASK_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE GROUP = ALL:VCD:ENB:VCD_VARIABLE
...@@ -2146,6 +2152,51 @@ ID = VCD_FUNCTION_RT_SLEEP ...@@ -2146,6 +2152,51 @@ ID = VCD_FUNCTION_RT_SLEEP
GROUP = ALL:VCD:ENB:VCD_FUNCTION GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value FORMAT = int,value
VCD_NAME = rt_sleep VCD_NAME = rt_sleep
ID = VCD_FUNCTION_MULTI_ENC
DESC = VCD function MULTI_ENC
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc
ID = VCD_FUNCTION_MULTI_ENC_0
DESC = VCD function MULTI_ENC_0
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_0
ID = VCD_FUNCTION_MULTI_ENC_1
DESC = VCD function MULTI_ENC_1
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_1
ID = VCD_FUNCTION_MULTI_ENC_2
DESC = VCD function MULTI_ENC_2
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_2
ID = VCD_FUNCTION_MULTI_ENC_3
DESC = VCD function MULTI_ENC_3
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_3
ID = VCD_FUNCTION_MULTI_ENC_4
DESC = VCD function MULTI_ENC_4
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_4
ID = VCD_FUNCTION_MULTI_ENC_5
DESC = VCD function MULTI_ENC_5
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_5
ID = VCD_FUNCTION_MULTI_ENC_6
DESC = VCD function MULTI_ENC_6
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_6
ID = VCD_FUNCTION_MULTI_ENC_7
DESC = VCD function MULTI_ENC_7
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = multi_enc_7
ID = VCD_FUNCTION_TRX_READ ID = VCD_FUNCTION_TRX_READ
DESC = VCD function TRX_READ DESC = VCD function TRX_READ
GROUP = ALL:VCD:ENB:VCD_FUNCTION GROUP = ALL:VCD:ENB:VCD_FUNCTION
......
This diff is collapsed.
...@@ -29,8 +29,40 @@ ...@@ -29,8 +29,40 @@
* \warning * \warning
*/ */
/*!\file defs.h
* \brief Declarations of parameters of multi_ldpc_encoder
* \author Terngyin, NY, GK, KM (ISIP)
* \email tyhsu@cs.nctu.edu.tw
* \date 07-04-2020
* \version 1.0
* \note
* \warning
*/
#include "PHY/TOOLS/time_meas.h" #include "PHY/TOOLS/time_meas.h"
// ==[START]multi_ldpc_encoder
//#define thread_num 2 // ==Change thread_num here ==
#define thread_num_max 8 // ==Change max tread_num here ==
typedef struct{
int id;
volatile int flag_wait;
pthread_t pthread;
pthread_cond_t cond;
pthread_mutex_t mutex;
pthread_attr_t attr;
volatile uint8_t complete;
unsigned char **test_input;
unsigned char **channel_input_optim;
int Zc;
int Kb;
short block_length;
short BG;
int n_segments;
//unsigned int macro_num; //Not necessary to do
}multi_ldpc_encoder;
// ==[END]multi_ldpc_encoder
/*ldpc_encoder.c*/ /*ldpc_encoder.c*/
int encode_parity_check_part_orig(unsigned char *c,unsigned char *d, short BG,short Zc,short Kb,short block_length); int encode_parity_check_part_orig(unsigned char *c,unsigned char *d, short BG,short Zc,short Kb,short block_length);
......
...@@ -125,16 +125,6 @@ for (int i=0; i<encoded_length>>3; i++) { ...@@ -125,16 +125,6 @@ for (int i=0; i<encoded_length>>3; i++) {
printf("\t"); printf("\t");
} }
printf("\n"); printf("\n");
/*! \file openair1/PHY/NR_TRANSPORT/nr_dlsch.c
* \brief parallel_architecture of 5G NR V2
* \author Terng-Yin Hsu, WEI-YING,LIN (OpInConnect_NCTU)
* \email tyhsu@cs.nctu.edu.tw
* \date 13-05-2020
* \version 1.3
* \note
* \warning
*/
#endif #endif
long sum = 0; long sum = 0;
#ifdef thread_for_scrambling_modulation #ifdef thread_for_scrambling_modulation
......
...@@ -284,18 +284,6 @@ static void *dlsch_encoding_proc(void *ptr){ ...@@ -284,18 +284,6 @@ static void *dlsch_encoding_proc(void *ptr){
static void *scrambling_proc(void *ptr){ static void *scrambling_proc(void *ptr){
/*! \file openair1/SIMULATION/NR_PHY/dlsim.c
* \brief parallel_architecture of 5G NR V2
* \author Terng-Yin Hsu, WEI-YING,LIN (OpInConnect_NCTU)
* \email tyhsu@cs.nctu.edu.tw
* \date 13-05-2020
* \version 1.3
* \note
* \warning
*/
scrambling_channel *test =(scrambling_channel*) ptr; scrambling_channel *test =(scrambling_channel*) ptr;
int q_id = test->q_id; int q_id = test->q_id;
struct timespec tt1, tt2, tt3, tt4; struct timespec tt1, tt2, tt3, tt4;
...@@ -420,15 +408,6 @@ static void *modulation_proc(void *ptr){ ...@@ -420,15 +408,6 @@ static void *modulation_proc(void *ptr){
struct timespec tt1, tt2; struct timespec tt1, tt2;
PHY_VARS_gNB *gNB = RC.gNB[0][0]; PHY_VARS_gNB *gNB = RC.gNB[0][0];
NR_gNB_DLSCH_t *dlsch = gNB->dlsch[0][0]; NR_gNB_DLSCH_t *dlsch = gNB->dlsch[0][0];
/*! \file openair1/SIMULATION/NR_PHY/dlsim.c
* \brief parallel_architecture of 5G NR V2
* \author Terng-Yin Hsu, WEI-YING,LIN (OpInConnect_NCTU)
* \email tyhsu@cs.nctu.edu.tw
* \date 13-05-2020
* \version 1.3
* \note
* \warning
*/
......
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