124 lines
4.4 KiB
C
124 lines
4.4 KiB
C
/******************************************************************
|
||
* @file nr_common.h
|
||
* @brief: [file description]
|
||
* @author: xuekun.zhang
|
||
* @Date 2022年1月10日
|
||
* COPYRIGHT NOTICE: (c) smartlogictech. All rights reserved.
|
||
* Change_date Owner Change_content
|
||
* 2022年1月10日 xuekun.zhang create file
|
||
|
||
*****************************************************************/
|
||
|
||
#ifndef COMMON_VARS_H
|
||
#define COMMON_VARS_H
|
||
|
||
/**************************include******************************/
|
||
#include "type_define.h"
|
||
#include "mem_def.h"
|
||
#include "ucps2.h"
|
||
#include "ucps2-intrin.h"
|
||
#include "interface_fapi_tasks.h"
|
||
#include "phy_msg_func.h"
|
||
|
||
|
||
#define APE0_CORE_ID 0
|
||
#define APE1_CORE_ID 1
|
||
#define APE2_CORE_ID 2
|
||
#define APE3_CORE_ID 3
|
||
#define APE4_CORE_ID 4
|
||
#define APE5_CORE_ID 5
|
||
#define APE6_CORE_ID 6
|
||
#define APE7_CORE_ID 7
|
||
#define PT_RFM0_CORE_ID 8
|
||
#define PT_RFM1_CORE_ID 9
|
||
#define ECS_RFM0_CORE_ID 10
|
||
#define ECS_RFM1_CORE_ID 11
|
||
#define ARM_CORE_ID 12
|
||
#define MAX_CORE_ID 13
|
||
|
||
#define MAX_APE_CORE_ID 8
|
||
|
||
#define DMA_DIR_L2G 0
|
||
#define DMA_DIR_G2L 1
|
||
#define DMA_DIR_G2G 1
|
||
|
||
|
||
#define DMA_REG_GROUP0 0
|
||
#define DMA_REG_GROUP1 1
|
||
#define DMA_REG_GROUP2 2
|
||
#define DMA_REG_GROUP3 3
|
||
|
||
|
||
//PUCCH & PUSCH公用PUCCH SM查找表内部结构偏移宏定义
|
||
|
||
|
||
/**************************define******************************/
|
||
#define LOAD_EX_W(ptr) __ucps2_load_ext_mem((char*)(ptr), f_W)
|
||
#define LOAD_EX_S(ptr) __ucps2_load_ext_mem((char*)(ptr), f_S)
|
||
#define LOAD_EX_B(ptr) __ucps2_load_ext_mem((char*)(ptr), f_B)
|
||
|
||
#define STORE_EX_W(ptr, value) __ucps2_store_ext_mem((char*)(ptr), value, f_W)
|
||
#define STORE_EX_S(ptr, value) __ucps2_store_ext_mem((char*)(ptr), value, f_S)
|
||
#define STORE_EX_B(ptr, value) __ucps2_store_ext_mem((char*)(ptr), value, f_B)
|
||
|
||
#define LOAD_EX_V_W(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_W)
|
||
#define LOAD_EX_V_S(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_S)
|
||
#define LOAD_EX_V_B(ptr) __ucps2_load_ext_mem_v((char*)ptr, f_B)
|
||
|
||
#define WAIT_MPU_STOP __ucps2_getStatB(); __ucps2_delay()
|
||
|
||
//38.214 Table 5.1.3.1-2: MCS index table 1 for PDSCH/PUSCH
|
||
extern uint16_t g_mcs_table_1[32][3];
|
||
//38.214 Table 5.1.3.1-2: MCS index table 2 for PDSCH/PUSCH
|
||
extern uint16_t g_mcs_table_2[32][3];
|
||
//38.214 Table 5.1.3.1-3: MCS index table 3 for PDSCH/PUSCH
|
||
extern uint16_t g_mcs_table_3[32][3];
|
||
|
||
|
||
// extern uint16_t g_zc_table[8][8];
|
||
extern uint16_t g_zc_table[50];
|
||
extern uint8_t g_ils_table[51];
|
||
|
||
|
||
extern uint16_t g_nprb_lbrm_table[7];
|
||
extern uint32_t g_tbsize_lbrm_256qam_table[7];
|
||
extern uint32_t g_tbsize_lbrm_64qam_table[7];
|
||
|
||
extern uint8_t g_dmrstype1_delta_table[8];//{1000,1001,...,1007}
|
||
extern uint8_t g_dmrstype2_delta_table[12];//{1000,1001,...,1011}
|
||
extern int8_t g_dmrstype1_wf_pk_table[8][2];
|
||
extern int8_t g_dmrstype2_wf_pk_table[12][2];
|
||
extern int8_t g_dmrstype1_wt_pl_table[8][2];
|
||
extern int8_t g_dmrstype2_wt_pl_table[12][2];
|
||
extern uint16_t g_zc_lift_sizearray[51];
|
||
extern uint8_t g_zc_iLs[51];
|
||
|
||
extern uint32_t g_dm_malloc_count[4];
|
||
extern uint32_t g_dm_malloc_err_count[4];
|
||
extern uint32_t g_dm_free_count[4] ;
|
||
|
||
extern phy_com_param_t* g_phy_com_param;
|
||
extern phy_tasks_mgr_reg_t* g_phy_tasks_mgr_ptr;
|
||
extern msg_ring_buffer_t* g_phy_msg_buffer;
|
||
|
||
//求10log10查找表静态变量声明,上行信道公用
|
||
extern const int16_t c_tb_dB[32][3];
|
||
extern const int16_t c_dBcal_value_comp_table[70];
|
||
|
||
/**************************function******************************/
|
||
//extern void wait_mpu_stop();
|
||
extern uint64_t ceil_long_fix(uint64_t a_numerator, uint64_t a_denominator);
|
||
extern int64_t floor_long_fix(int64_t a_numerator, int64_t a_denominator);
|
||
extern int ceil_fix(int a_numerator, int a_denominator);
|
||
extern int floor_fix(int a_numerator, int a_denominator);
|
||
extern int round_fix(int a_numerator, int a_denominator);
|
||
extern int * dmalloc_unit(uint32_t len, uint8_t dm_index);
|
||
extern int * dmemalign_unit(uint32_t align_addr, uint32_t len, uint8_t dm_index);
|
||
extern void dfree_unit(int *val_ptr, uint8_t dm_index);
|
||
int phase_compensation(uint32_t a_f0, uint32_t *phase, uint32_t dl);
|
||
//求10log10函数声明,上行信道公用
|
||
int16_t Calc_10Log10(int32_t real_value, uint8_t Q_in, uint8_t Q_out);
|
||
extern char *osp_heap_malloc(uint32_t size);
|
||
extern uint8_t CRC6Check(uint32_t *dataIn, uint8_t *crc6Lut, uint8_t bitLen, uint32_t **dataOut);
|
||
#endif
|