Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangwenhui
OpenXG-RAN
Commits
98cbcf61
Commit
98cbcf61
authored
Apr 18, 2017
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vcd modifications for RU-RAU split, gtkw for rau_if4
parent
a63c5353
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
195 additions
and
15 deletions
+195
-15
openair1/PHY/LTE_TRANSPORT/if4_tools.c
openair1/PHY/LTE_TRANSPORT/if4_tools.c
+3
-3
openair2/UTIL/LOG/vcd_signal_dumper.c
openair2/UTIL/LOG/vcd_signal_dumper.c
+10
-2
openair2/UTIL/LOG/vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+10
-2
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+1
-1
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+3
-2
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+13
-5
targets/RT/USER/rau_if4_single_thread.gtkw
targets/RT/USER/rau_if4_single_thread.gtkw
+155
-0
No files found.
openair1/PHY/LTE_TRANSPORT/if4_tools.c
View file @
98cbcf61
...
...
@@ -62,7 +62,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type, int k)
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4
,
1
);
if
(
packet_type
==
IF4p5_PDLFFT
)
{
LOG_
I
(
PHY
,
"send DL_IF4p5: RU %d frame %d, subframe %d
\n
"
,
ru
->
idx
,
frame
,
subframe
);
LOG_
D
(
PHY
,
"send DL_IF4p5: RU %d frame %d, subframe %d
\n
"
,
ru
->
idx
,
frame
,
subframe
);
if
(
subframe_select
(
fp
,
subframe
)
==
SF_S
)
nsym
=
fp
->
dl_symbols_in_S_subframe
;
...
...
@@ -234,7 +234,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
IF4p5_header_t
*
packet_header
=
NULL
;
uint16_t
*
data_block
=
NULL
,
*
i
=
NULL
;
LOG_
I
(
PHY
,
"recv IF4p5: RU %d waiting (%d samples)
\n
"
,
ru
->
idx
,
db_fulllength
);
LOG_
D
(
PHY
,
"recv IF4p5: RU %d waiting (%d samples)
\n
"
,
ru
->
idx
,
db_fulllength
);
if
(
ru
->
ifdevice
.
trx_read_func
(
&
ru
->
ifdevice
,
(
int64_t
*
)
packet_type
,
&
rx_buffer
,
...
...
@@ -261,7 +261,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
if
(
*
packet_type
==
IF4p5_PDLFFT
)
{
*
symbol_number
=
((
packet_header
->
frame_status
)
>>
26
)
&
0x000f
;
LOG_
I
(
PHY
,
"DL_IF4p5: RU %d frame %d, subframe %d, symbol %d
\n
"
,
ru
->
idx
,
*
frame
,
*
subframe
,
*
symbol_number
);
LOG_
D
(
PHY
,
"DL_IF4p5: RU %d frame %d, subframe %d, symbol %d
\n
"
,
ru
->
idx
,
*
frame
,
*
subframe
,
*
symbol_number
);
slotoffsetF
=
(
*
symbol_number
)
*
(
fp
->
ofdm_symbol_size
);
// + (*subframe)*(fp->ofdm_symbol_size)*((fp->Ncp==1) ? 12 : 14) + 1;
blockoffsetF
=
slotoffsetF
+
fp
->
ofdm_symbol_size
-
db_halflength
-
1
;
...
...
openair2/UTIL/LOG/vcd_signal_dumper.c
View file @
98cbcf61
...
...
@@ -75,6 +75,14 @@ const char* eurecomVariablesNames[] = {
"subframe_number_TX1_eNB"
,
"subframe_number_RX0_eNB"
,
"subframe_number_RX1_eNB"
,
"frame_number_TX0_RU"
,
"frame_number_TX1_RU"
,
"frame_number_RX0_RU"
,
"frame_number_RX1_RU"
,
"subframe_number_TX0_RU"
,
"subframe_number_TX1_RU"
,
"subframe_number_RX0_RU"
,
"subframe_number_RX1_RU"
,
"runtime_TX_eNB"
,
"runtime_RX_eNB"
,
"frame_number_TX0_UE"
,
...
...
@@ -230,8 +238,8 @@ const char* eurecomFunctionsNames[] = {
"lte_ue_pbch_procedures"
,
"phy_procedures_eNb_tx0"
,
"phy_procedures_eNb_tx1"
,
"phy_procedures_
eNb_rx_common
0"
,
"phy_procedures_
eNb_rx_common
1"
,
"phy_procedures_
ru_feprx
0"
,
"phy_procedures_
ru_feprx
1"
,
"phy_procedures_eNb_rx_uespec0"
,
"phy_procedures_eNb_rx_uespec1"
,
"phy_eNB_slot_fep"
,
...
...
openair2/UTIL/LOG/vcd_signal_dumper.h
View file @
98cbcf61
...
...
@@ -47,6 +47,14 @@ typedef enum {
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX1_ENB
,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_ENB
,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX1_ENB
,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX0_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX1_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX0_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX1_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX1_RU
,
VCD_SIGNAL_DUMPER_VARIABLES_RUNTIME_TX_ENB
,
VCD_SIGNAL_DUMPER_VARIABLES_RUNTIME_RX_ENB
,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_UE
,
...
...
@@ -204,8 +212,8 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_PBCH_PROCEDURES
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX1
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
ENB_RX_COMMON
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
ENB_RX_COMMON
1
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
RU_FEPRX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
RU_FEPRX
1
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC1
,
VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_SLOT_FEP
,
...
...
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
View file @
98cbcf61
...
...
@@ -224,7 +224,7 @@ int trx_eth_write_udp_IF4p5(openair0_device *device, openair0_timestamp timestam
}
eth
->
tx_nsamps
=
nblocks
;
printf
(
"Sending %d bytes to %s
\n
"
,
packet_size
,
str
);
//
printf("Sending %d bytes to %s\n",packet_size,str);
bytes_sent
=
sendto
(
eth
->
sockfd
,
buff
[
0
],
...
...
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
View file @
98cbcf61
...
...
@@ -86,8 +86,9 @@ int trx_eth_start(openair0_device *device) {
}
else
if
(
eth
->
flags
==
ETH_UDP_IF4p5_MODE
)
{
printf
(
"Setting ETHERNET to UDP_IF4p5_MODE
\n
"
);
if
(
eth_socket_init_udp
(
device
)
!=
0
)
return
-
1
;
printf
(
"Setting Timenout to 999999 usecs
\n
"
);
if
(
ethernet_tune
(
device
,
RCV_TIMEOUT
,
999999
)
!=
0
)
return
-
1
;
// printf("Setting Timeout to 999999 usecs\n");
// if(ethernet_tune (device,RCV_TIMEOUT,999999)!=0) return -1;
if
(
device
->
host_type
==
RAU_HOST
)
{
...
...
targets/RT/USER/lte-ru.c
View file @
98cbcf61
...
...
@@ -223,6 +223,7 @@ void fh_if4p5_south_in(RU_t *ru,int *frame,int *subframe) {
proc
->
timestamp_tx
=
proc
->
timestamp_rx
+
(
4
*
fp
->
samples_per_tti
);
proc
->
subframe_tx
=
(
sf
+
4
)
%
10
;
proc
->
frame_tx
=
(
sf
>
5
)
?
(
f
+
1
)
&
1023
:
f
;
if
(
proc
->
first_rx
==
0
)
{
if
(
proc
->
subframe_rx
!=
*
subframe
){
...
...
@@ -239,6 +240,13 @@ void fh_if4p5_south_in(RU_t *ru,int *frame,int *subframe) {
*
subframe
=
proc
->
subframe_rx
;
}
if
(
ru
==
RC
.
ru
[
0
])
{
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX0_RU
,
f
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_RU
,
sf
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_RU
,
proc
->
frame_tx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX0_RU
,
proc
->
subframe_tx
);
}
proc
->
symbol_mask
[
sf
]
=
0
;
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_TS
,
proc
->
timestamp_rx
&
0xffffffff
);
...
...
@@ -370,8 +378,8 @@ void fh_if4p5_north_in(RU_t *ru,int *frame,int *subframe) {
// dump VCD output for first RU in list
if
(
ru
==
RC
.
ru
[
0
])
{
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_
ENB
,
*
frame
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX0_
ENB
,
*
subframe
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_
RU
,
*
frame
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX0_
RU
,
*
subframe
);
}
}
...
...
@@ -468,14 +476,14 @@ void fh_if4p5_north_out(RU_t *ru) {
RU_proc_t
*
proc
=&
ru
->
proc
;
LTE_DL_FRAME_PARMS
*
fp
=
&
ru
->
frame_parms
;
const
int
subframe
=
proc
->
subframe_rx
;
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_
ENB
,
proc
->
subframe_rx
);
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_
RU
,
proc
->
subframe_rx
);
if
((
fp
->
frame_type
==
TDD
)
&&
(
subframe_select
(
fp
,
subframe
)
!=
SF_UL
))
{
/// **** in TDD during DL send_IF4 of ULTICK to RCC **** ///
send_IF4p5
(
ru
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
IF4p5_PULTICK
,
0
);
return
;
}
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
ENB_RX_COMMON
,
1
);
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
RU_FEPRX
,
1
);
AssertFatal
(
ru
->
feprx
!=
NULL
,
"No northbound FEP function, exiting
\n
"
);
if
(
ru
->
feprx
)
{
...
...
@@ -484,7 +492,7 @@ void fh_if4p5_north_out(RU_t *ru) {
send_IF4p5
(
ru
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
IF4p5_PULFFT
,
0
);
}
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
ENB_RX_COMMON
,
0
);
if
(
ru
->
idx
==
0
)
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_
RU_FEPRX
,
0
);
}
void
rx_rf
(
RU_t
*
ru
,
int
*
frame
,
int
*
subframe
)
{
...
...
targets/RT/USER/rau_if4_single_thread.gtkw
0 → 100644
View file @
98cbcf61
[*]
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
[*] Tue Apr 18 08:34:21 2017
[*]
[dumpfile] "/tmp/openair_dump_eNB.vcd"
[dumpfile_mtime] "Tue Apr 18 08:25:27 2017"
[dumpfile_size] 5288218
[savefile] "/home/knopp/oai/openairinterface5g/targets/RT/USER/rau_if4_single_thread.gtkw"
[timestart] 64780000000
[size] 1301 716
[pos] 309 0
*-27.793451 65200000000 -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
[signals_width] 262
[sst_expanded] 1
[sst_vpaned_height] 294
@24
variables.trx_ts[63:0]
variables.trx_tst[63:0]
@28
functions.recv_if4
functions.send_if4
functions.eNB_thread_rxtx0
@24
variables.frame_number_RX0_RU[63:0]
variables.subframe_number_RX0_RU[63:0]
variables.frame_number_RX0_eNB[63:0]
variables.subframe_number_RX0_eNB[63:0]
variables.frame_number_TX0_RU[63:0]
variables.subframe_number_TX0_RU[63:0]
variables.frame_number_TX0_eNB[63:0]
variables.subframe_number_TX0_eNB[63:0]
@29
functions.phy_procedures_ru_feprx0
@28
functions.phy_procedures_eNb_tx0
functions.phy_procedures_eNb_rx_uespec0
functions.phy_enb_sfgen
functions.phy_eNB_slot_fep
functions.phy_enb_prach_rx
@24
variables.dci_info[63:0]
variables.ue0_BO[63:0]
@420
variables.ue0_BSR[63:0]
variables.ue0_timing_advance[63:0]
@28
functions.macxface_initiate_ra_proc
functions.macxface_terminate_ra_proc
functions.phy_enb_ulsch_msg3
functions.macxface_SR_indication
@420
variables.ue0_SR_ENERGY[63:0]
variables.ue0_SR_THRES[63:0]
@28
functions.phy_enb_ulsch_decoding0
@24
variables.ue0_res0[63:0]
@420
variables.ue0_rssi0[63:0]
variables.ue0_MCS0[63:0]
variables.ue0_RB0[63:0]
@24
variables.ue0_ROUND0[63:0]
variables.ue0_SFN0[63:0]
@28
functions.phy_enb_ulsch_decoding1
@24
variables.ue0_res1[63:0]
@420
variables.ue0_rssi1[63:0]
variables.ue0_MCS1[63:0]
variables.ue0_RB1[63:0]
@24
variables.ue0_ROUND1[63:0]
variables.ue0_SFN1[63:0]
@28
functions.phy_enb_ulsch_decoding2
@24
variables.ue0_res2[63:0]
@420
variables.ue0_rssi2[63:0]
variables.ue0_MCS2[63:0]
variables.ue0_RB2[63:0]
@24
variables.ue0_ROUND2[63:0]
variables.ue0_SFN2[63:0]
@28
functions.phy_enb_ulsch_decoding3
@24
variables.ue0_res3[63:0]
@420
variables.ue0_rssi3[63:0]
variables.ue0_MCS3[63:0]
variables.ue0_RB3[63:0]
@24
variables.ue0_ROUND3[63:0]
variables.ue0_SFN3[63:0]
@28
functions.phy_enb_ulsch_decoding4
@420
variables.ue0_rssi4[63:0]
@24
variables.ue0_res4[63:0]
@420
variables.ue0_MCS4[63:0]
variables.ue0_RB4[63:0]
@24
variables.ue0_ROUND4[63:0]
variables.ue0_SFN4[63:0]
@28
functions.phy_enb_ulsch_decoding5
@24
variables.ue0_res5[63:0]
@420
variables.ue0_rssi5[63:0]
variables.ue0_MCS5[63:0]
variables.ue0_RB5[63:0]
@24
variables.ue0_ROUND5[63:0]
variables.ue0_SFN5[63:0]
@28
functions.phy_enb_ulsch_decoding6
@24
variables.ue0_res6[63:0]
@420
variables.ue0_rssi6[63:0]
variables.ue0_MCS6[63:0]
variables.ue0_RB6[63:0]
@24
variables.ue0_ROUND6[63:0]
variables.ue0_SFN6[63:0]
@28
functions.phy_enb_ulsch_decoding7
@24
variables.ue0_res7[63:0]
@420
variables.ue0_rssi7[63:0]
variables.ue0_MCS7[63:0]
variables.ue0_RB7[63:0]
@24
variables.ue0_ROUND7[63:0]
variables.ue0_SFN7[63:0]
@28
functions.phy_enb_prach_rx
functions.phy_eNB_dlsch_encoding
functions.phy_eNB_dlsch_modulation
functions.phy_eNB_dlsch_scrambling
functions.phy_enb_pdcch_tx
functions.phy_enb_rs_tx
functions.rrc_mac_config_req
functions.rlc_data_req
functions.udp_enb_task
[pattern_trace] 1
[pattern_trace] 0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment