124 lines
4.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/******************************************************************
* @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