Debug: add more VCD functions to trace UE timing
This commit is contained in:
committed by
Thomas Schlichter
parent
58f4f155cc
commit
03803a12f2
@@ -302,6 +302,9 @@ const char* eurecomFunctionsNames[] = {
|
|||||||
/* PHY signals */
|
/* PHY signals */
|
||||||
"ue_synch",
|
"ue_synch",
|
||||||
"ue_slot_fep",
|
"ue_slot_fep",
|
||||||
|
"ue_slot_fep_pdcch",
|
||||||
|
"ue_slot_fep_pbch",
|
||||||
|
"ue_slot_fep_pdsch",
|
||||||
"ue_slot_fep_mbsfn",
|
"ue_slot_fep_mbsfn",
|
||||||
"ue_slot_fep_mbsfn_khz_1dot25",
|
"ue_slot_fep_mbsfn_khz_1dot25",
|
||||||
"ue_rrc_measurements",
|
"ue_rrc_measurements",
|
||||||
@@ -390,6 +393,8 @@ const char* eurecomFunctionsNames[] = {
|
|||||||
"rx_pmch",
|
"rx_pmch",
|
||||||
"rx_pmch_khz_1dot25",
|
"rx_pmch_khz_1dot25",
|
||||||
"pdsch_procedures",
|
"pdsch_procedures",
|
||||||
|
"pdsch_procedures_crnti",
|
||||||
|
//"dlsch_procedures_crnti",
|
||||||
"pdsch_procedures_si",
|
"pdsch_procedures_si",
|
||||||
"pdsch_procedures_p",
|
"pdsch_procedures_p",
|
||||||
"pdsch_procedures_ra",
|
"pdsch_procedures_ra",
|
||||||
|
|||||||
@@ -283,6 +283,9 @@ typedef enum {
|
|||||||
/* PHY signals */
|
/* PHY signals */
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SYNCH,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SYNCH,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDCCH,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PBCH,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDSCH,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_MBSFN,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_MBSFN,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_MBSFN_KHZ_1DOT25,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_MBSFN_KHZ_1DOT25,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_RRC_MEASUREMENTS,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_RRC_MEASUREMENTS,
|
||||||
@@ -371,9 +374,11 @@ typedef enum {
|
|||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PMCH,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PMCH,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PMCH_KHZ_1DOT25,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PMCH_KHZ_1DOT25,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_C,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_RA,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_RA,
|
||||||
|
//VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PROC_C,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB1_ENB,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB1_ENB,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB2_ENB,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB2_ENB,
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ 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 (269)
|
#define VCD_NUM_FUNCTIONS (273)
|
||||||
|
|
||||||
/* 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 (187)
|
#define VCD_NUM_VARIABLES (187)
|
||||||
|
|||||||
@@ -2403,6 +2403,21 @@ ID = VCD_FUNCTION_UE_SLOT_FEP
|
|||||||
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
FORMAT = int,value
|
FORMAT = int,value
|
||||||
VCD_NAME = ue_slot_fep
|
VCD_NAME = ue_slot_fep
|
||||||
|
ID = VCD_FUNCTION_UE_SLOT_FEP_PDCCH
|
||||||
|
DESC = VCD function UE_SLOT_FEP_PDCCH
|
||||||
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = ue_slot_fep_pdcch
|
||||||
|
ID = VCD_FUNCTION_UE_SLOT_FEP_PBCH
|
||||||
|
DESC = VCD function UE_SLOT_FEP_PBCH
|
||||||
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = ue_slot_fep_pbch
|
||||||
|
ID = VCD_FUNCTION_UE_SLOT_FEP_PDSCH
|
||||||
|
DESC = VCD function UE_SLOT_FEP_PDSCH
|
||||||
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = ue_slot_fep_pdsch
|
||||||
ID = VCD_FUNCTION_UE_SLOT_FEP_MBSFN
|
ID = VCD_FUNCTION_UE_SLOT_FEP_MBSFN
|
||||||
DESC = VCD function UE_SLOT_FEP_MBSFN
|
DESC = VCD function UE_SLOT_FEP_MBSFN
|
||||||
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
@@ -2843,6 +2858,11 @@ ID = VCD_FUNCTION_PDSCH_PROC
|
|||||||
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
FORMAT = int,value
|
FORMAT = int,value
|
||||||
VCD_NAME = pdsch_procedures
|
VCD_NAME = pdsch_procedures
|
||||||
|
ID = VCD_FUNCTION_PDSCH_PROC_C
|
||||||
|
DESC = VCD function PDSCH_PROC_C
|
||||||
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = pdsch_procedures_crnti
|
||||||
ID = VCD_FUNCTION_PDSCH_PROC_SI
|
ID = VCD_FUNCTION_PDSCH_PROC_SI
|
||||||
DESC = VCD function PDSCH_PROC_SI
|
DESC = VCD function PDSCH_PROC_SI
|
||||||
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
GROUP = ALL:VCD:UE:VCD_FUNCTION
|
||||||
|
|||||||
@@ -1760,6 +1760,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
// looking for pbch only in slot where it is supposed to be
|
// looking for pbch only in slot where it is supposed to be
|
||||||
if (slot_ssb) {
|
if (slot_ssb) {
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PBCH, VCD_FUNCTION_IN);
|
||||||
LOG_D(PHY," ------ PBCH ChannelComp/LLR: frame.slot %d.%d ------ \n", frame_rx%1024, nr_slot_rx);
|
LOG_D(PHY," ------ PBCH ChannelComp/LLR: frame.slot %d.%d ------ \n", frame_rx%1024, nr_slot_rx);
|
||||||
for (int i=1; i<4; i++) {
|
for (int i=1; i<4; i++) {
|
||||||
|
|
||||||
@@ -1801,6 +1802,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
LOG_D(PHY, "Doing N0 measurements in %s\n", __FUNCTION__);
|
LOG_D(PHY, "Doing N0 measurements in %s\n", __FUNCTION__);
|
||||||
nr_ue_rrc_measurements(ue, proc, nr_slot_rx);
|
nr_ue_rrc_measurements(ue, proc, nr_slot_rx);
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PBCH, VCD_FUNCTION_OUT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1814,12 +1816,12 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
nr_gold_pdcch(ue, 0, 2);
|
nr_gold_pdcch(ue, 0, 2);
|
||||||
|
|
||||||
LOG_D(PHY," ------ --> PDCCH ChannelComp/LLR Frame.slot %d.%d ------ \n", frame_rx%1024, nr_slot_rx);
|
LOG_D(PHY," ------ --> PDCCH ChannelComp/LLR Frame.slot %d.%d ------ \n", frame_rx%1024, nr_slot_rx);
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDCCH, VCD_FUNCTION_IN);
|
||||||
for (uint16_t l=0; l<nb_symb_pdcch; l++) {
|
for (uint16_t l=0; l<nb_symb_pdcch; l++) {
|
||||||
|
|
||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
start_meas(&ue->ofdm_demod_stats);
|
start_meas(&ue->ofdm_demod_stats);
|
||||||
#endif
|
#endif
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_IN);
|
|
||||||
nr_slot_fep(ue,
|
nr_slot_fep(ue,
|
||||||
proc,
|
proc,
|
||||||
l,
|
l,
|
||||||
@@ -1843,7 +1845,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
fp->first_carrier_offset+(pdcch_vars->pdcch_config[n_ss].BWPStart + coreset_start_rb)*12,
|
fp->first_carrier_offset+(pdcch_vars->pdcch_config[n_ss].BWPStart + coreset_start_rb)*12,
|
||||||
coreset_nb_rb);
|
coreset_nb_rb);
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_OUT);
|
|
||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
stop_meas(&ue->ofdm_demod_stats);
|
stop_meas(&ue->ofdm_demod_stats);
|
||||||
#endif
|
#endif
|
||||||
@@ -1851,6 +1852,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
dci_cnt = dci_cnt + nr_ue_pdcch_procedures(gNB_id, ue, proc);
|
dci_cnt = dci_cnt + nr_ue_pdcch_procedures(gNB_id, ue, proc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDCCH, VCD_FUNCTION_OUT);
|
||||||
|
|
||||||
if (dci_cnt > 0) {
|
if (dci_cnt > 0) {
|
||||||
|
|
||||||
@@ -1866,6 +1868,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dlsch) {
|
if (dlsch) {
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDSCH, VCD_FUNCTION_IN);
|
||||||
uint8_t harq_pid = dlsch->current_harq_pid;
|
uint8_t harq_pid = dlsch->current_harq_pid;
|
||||||
NR_DL_UE_HARQ_t *dlsch0_harq = dlsch->harq_processes[harq_pid];
|
NR_DL_UE_HARQ_t *dlsch0_harq = dlsch->harq_processes[harq_pid];
|
||||||
uint16_t nb_symb_sch = dlsch0_harq->nb_symbols;
|
uint16_t nb_symb_sch = dlsch0_harq->nb_symbols;
|
||||||
@@ -1888,6 +1891,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
0,
|
0,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDSCH, VCD_FUNCTION_OUT);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LOG_D(PHY,"[UE %d] Frame %d, nr_slot_rx %d: No DCIs found\n", ue->Mod_id, frame_rx, nr_slot_rx);
|
LOG_D(PHY,"[UE %d] Frame %d, nr_slot_rx %d: No DCIs found\n", ue->Mod_id, frame_rx, nr_slot_rx);
|
||||||
@@ -1901,7 +1905,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
// do procedures for C-RNTI
|
// do procedures for C-RNTI
|
||||||
int ret_pdsch = 0;
|
int ret_pdsch = 0;
|
||||||
if (ue->dlsch[proc->thread_id][gNB_id][0]->active == 1) {
|
if (ue->dlsch[proc->thread_id][gNB_id][0]->active == 1) {
|
||||||
//VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_IN);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_C, VCD_FUNCTION_IN);
|
||||||
ret_pdsch = nr_ue_pdsch_procedures(ue,
|
ret_pdsch = nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
gNB_id,
|
gNB_id,
|
||||||
@@ -1910,6 +1914,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
nr_ue_measurement_procedures(2, ue, proc, gNB_id, nr_slot_rx, mode);
|
nr_ue_measurement_procedures(2, ue, proc, gNB_id, nr_slot_rx, mode);
|
||||||
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_C, VCD_FUNCTION_OUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// do procedures for SI-RNTI
|
// do procedures for SI-RNTI
|
||||||
@@ -1960,7 +1965,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
// deactivate dlsch once dlsch proc is done
|
// deactivate dlsch once dlsch proc is done
|
||||||
ue->dlsch_p[gNB_id]->active = 0;
|
ue->dlsch_p[gNB_id]->active = 0;
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P, VCD_FUNCTION_OUT);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P, VCD_FUNCTION_OUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user