Commit c2ad982b authored by Raymond Knopp's avatar Raymond Knopp

vcd debugging for RF simulator

parent f1ddab49
...@@ -89,9 +89,6 @@ const char* eurecomVariablesNames[] = { ...@@ -89,9 +89,6 @@ const char* eurecomVariablesNames[] = {
"subframe_TX1_UE", "subframe_TX1_UE",
"subframe_RX0_UE", "subframe_RX0_UE",
"subframe_RX1_UE", "subframe_RX1_UE",
"missed_slot_enb",
"daq_mbox",
"rx_offset_mbox",
"ue_rx_offset", "ue_rx_offset",
"diff2", "diff2",
"hw_subframe", "hw_subframe",
...@@ -222,7 +219,10 @@ const char* eurecomFunctionsNames[] = { ...@@ -222,7 +219,10 @@ const char* eurecomFunctionsNames[] = {
"ue_lock_mutex_rxtx_for_cnt_decrement1", "ue_lock_mutex_rxtx_for_cnt_decrement1",
"ue_lock_mutex_rxtx_for_cnt_increment0", "ue_lock_mutex_rxtx_for_cnt_increment0",
"ue_lock_mutex_rxtx_for_cnt_increment1", "ue_lock_mutex_rxtx_for_cnt_increment1",
/* simulation signals */
"do_DL_sig",
"do_UL_sig",
"UE_trx_read",
/* RRH signals */ /* RRH signals */
"eNB_tx", "eNB_tx",
"eNB_rx", "eNB_rx",
......
...@@ -65,9 +65,6 @@ typedef enum { ...@@ -65,9 +65,6 @@ typedef enum {
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX1_UE, VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX1_UE,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_UE, VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_UE,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX1_UE, VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX1_UE,
VCD_SIGNAL_DUMPER_VARIABLES_MISSED_SLOTS_ENB,
VCD_SIGNAL_DUMPER_VARIABLES_DAQ_MBOX,
VCD_SIGNAL_DUMPER_VARIABLES_UE_OFFSET_MBOX,
VCD_SIGNAL_DUMPER_VARIABLES_UE_RX_OFFSET, VCD_SIGNAL_DUMPER_VARIABLES_UE_RX_OFFSET,
VCD_SIGNAL_DUMPER_VARIABLES_DIFF, VCD_SIGNAL_DUMPER_VARIABLES_DIFF,
VCD_SIGNAL_DUMPER_VARIABLES_HW_SUBFRAME, VCD_SIGNAL_DUMPER_VARIABLES_HW_SUBFRAME,
...@@ -199,7 +196,10 @@ typedef enum { ...@@ -199,7 +196,10 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_DECREMENT1, VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_DECREMENT1,
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_INCREMENT0, VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_INCREMENT0,
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_INCREMENT1, VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_INCREMENT1,
/* SIMULATION signals */
VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_DL_SIGNAL,
VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_UL_SIGNAL,
VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_UE_TRX_READ,
/* RRH signals */ /* RRH signals */
VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_TX, VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_TX,
VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_RX, VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_RX,
......
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
#include "common/ran_context.h" #include "common/ran_context.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "PHY/defs_eNB.h" #include "PHY/defs_eNB.h"
#include "vcd_signal_dumper.h"
RAN_CONTEXT_t RC; RAN_CONTEXT_t RC;
extern PHY_VARS_UE ***PHY_vars_UE_g; extern PHY_VARS_UE ***PHY_vars_UE_g;
...@@ -192,7 +193,7 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void ** ...@@ -192,7 +193,7 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
LOG_D(SIM,"RU_trx_read generating UL subframe %d (Ts %llu, current TS %llu)\n", LOG_D(SIM,"RU_trx_read generating UL subframe %d (Ts %llu, current TS %llu)\n",
subframe,(unsigned long long)*ptimestamp, subframe,(unsigned long long)*ptimestamp,
(unsigned long long)sim.current_ru_rx_timestamp[ru_id][CC_id]); (unsigned long long)sim.current_ru_rx_timestamp[ru_id][CC_id]);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_UL_SIGNAL,1);
do_UL_sig(&sim, do_UL_sig(&sim,
subframe, subframe,
0, // abstraction_flag 0, // abstraction_flag
...@@ -200,6 +201,7 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void ** ...@@ -200,6 +201,7 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
0, // frame is only used for abstraction 0, // frame is only used for abstraction
ru_id, ru_id,
CC_id); CC_id);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_UL_SIGNAL,0);
} }
sim.last_ru_rx_timestamp[ru_id][CC_id] += RC.ru[ru_id]->frame_parms.samples_per_tti; sim.last_ru_rx_timestamp[ru_id][CC_id] += RC.ru[ru_id]->frame_parms.samples_per_tti;
sample_count += RC.ru[ru_id]->frame_parms.samples_per_tti; sample_count += RC.ru[ru_id]->frame_parms.samples_per_tti;
...@@ -211,6 +213,7 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void ** ...@@ -211,6 +213,7 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc) int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc)
{ {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_UE_TRX_READ,1);
int UE_id = device->Mod_id; int UE_id = device->Mod_id;
int CC_id = device->CC_id; int CC_id = device->CC_id;
...@@ -264,6 +267,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void ** ...@@ -264,6 +267,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
UE_id,nsamps,subframe, UE_id,nsamps,subframe,
(int)(sim.last_UE_rx_timestamp[UE_id][CC_id]%sptti)); (int)(sim.last_UE_rx_timestamp[UE_id][CC_id]%sptti));
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_DL_SIGNAL,1);
do_DL_sig(&sim, do_DL_sig(&sim,
subframe, subframe,
sim.last_UE_rx_timestamp[UE_id][CC_id]%sptti, sim.last_UE_rx_timestamp[UE_id][CC_id]%sptti,
...@@ -272,6 +276,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void ** ...@@ -272,6 +276,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
&PHY_vars_UE_g[UE_id][CC_id]->frame_parms, &PHY_vars_UE_g[UE_id][CC_id]->frame_parms,
UE_id, UE_id,
CC_id); CC_id);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_DL_SIGNAL,0);
LOG_D(PHY,"UE %d: DL simulation 6: UE_trx_read @ TS %"PRIi64" (%"PRIi64")=> frame %d, subframe %d\n", LOG_D(PHY,"UE %d: DL simulation 6: UE_trx_read @ TS %"PRIi64" (%"PRIi64")=> frame %d, subframe %d\n",
UE_id, sim.current_UE_rx_timestamp[UE_id][CC_id], UE_id, sim.current_UE_rx_timestamp[UE_id][CC_id],
sim.last_UE_rx_timestamp[UE_id][CC_id], sim.last_UE_rx_timestamp[UE_id][CC_id],
...@@ -286,7 +291,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void ** ...@@ -286,7 +291,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
} }
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_UE_TRX_READ,0);
return(nsamps); return(nsamps);
} }
......
[*]
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
[*] Tue Jun 5 12:44:02 2018
[*]
[dumpfile] "/tmp/openair_dump_UE.vcd"
[dumpfile_mtime] "Tue Jun 5 12:38:07 2018"
[dumpfile_size] 21826387
[savefile] "/home/knopp/oai/openairinterface5g/targets/RT/USER/rru_if4p5_simulator.gtkw"
[timestart] 6591570000
[size] 1301 716
[pos] 309 0
*-22.793451 29983948856 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[sst_width] 312
[signals_width] 262
[sst_expanded] 1
[sst_vpaned_height] 294
@29
functions.UE_trx_read
@28
functions.trx_read
functions.trx_write
@24
variables.trx_write_flags[63:0]
@28
functions.trx_write_if
functions.send_if4
functions.trx_read_if
functions.recv_if4
@24
variables.trx_ts[63:0]
variables.trx_tst[63:0]
variables.frame_number_RX0_RU[63:0]
variables.subframe_number_RX0_RU[63:0]
variables.frame_number_TX0_RU[63:0]
variables.subframe_number_TX0_RU[63:0]
@28
functions.do_DL_sig
functions.do_UL_sig
functions.phy_procedures_ru_feprx0
functions.phy_procedures_ru_feptx_ofdm0
[pattern_trace] 1
[pattern_trace] 0
[*] [*]
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI [*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
[*] Sun Jan 15 07:26:50 2017 [*] Tue Jun 5 09:36:17 2018
[*] [*]
[dumpfile] "/tmp/openair_dump_eNB.vcd" [dumpfile] "/tmp/openair_dump_UE.vcd"
[dumpfile_mtime] "Sun Jan 15 07:04:19 2017" [dumpfile_mtime] "Tue Jun 5 09:22:52 2018"
[dumpfile_size] 18140627 [dumpfile_size] 23057775
[savefile] "/home/uprru1/oai/openairinterface5g/targets/RT/USER/rru_if4p5_usrp.gtkw" [savefile] "/home/knopp/oai/openairinterface5g/targets/RT/USER/rru_if4p5_usrp.gtkw"
[timestart] 29977510000 [timestart] 25050480000
[size] 1301 716 [size] 1301 716
[pos] 309 0 [pos] 309 0
*-21.793451 29983948856 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 *-21.793451 29983948856 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[sst_width] 284 [sst_width] 312
[signals_width] 262 [signals_width] 262
[sst_expanded] 1 [sst_expanded] 1
[sst_vpaned_height] 294 [sst_vpaned_height] 294
@28 @28
functions.trx_read functions.trx_read
functions.trx_write functions.trx_write
@25 @24
variables.trx_write_flags[63:0] variables.trx_write_flags[63:0]
@28 @28
functions.trx_write_if functions.trx_write_if
...@@ -27,23 +27,10 @@ functions.recv_if4 ...@@ -27,23 +27,10 @@ functions.recv_if4
@24 @24
variables.trx_ts[63:0] variables.trx_ts[63:0]
variables.trx_tst[63:0] variables.trx_tst[63:0]
@28 variables.frame_number_RX0_RU[63:0]
functions.eNB_thread_rxtx0 variables.subframe_number_RX0_RU[63:0]
@24 variables.frame_number_TX0_RU[63:0]
variables.frame_number_RX0_eNB[63:0] @25
variables.subframe_number_RX0_eNB[63:0] variables.subframe_number_TX0_RU[63:0]
variables.frame_number_TX0_eNB[63:0]
variables.subframe_number_TX0_eNB[63:0]
@28
functions.eNB_thread_rxtx1
@24
variables.frame_number_RX1_eNB[63:0]
variables.subframe_number_RX1_eNB[63:0]
variables.frame_number_TX1_eNB[63:0]
variables.subframe_number_TX1_eNB[63:0]
@28
functions.phy_eNB_ofdm_mod_l
functions.phy_eNB_slot_fep
functions.phy_enb_prach_rx
[pattern_trace] 1 [pattern_trace] 1
[pattern_trace] 0 [pattern_trace] 0
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