Code Review
/
o-du
/
phy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
* INTC Contribution to the O-RAN F Release for O-DU Low
[o-du/phy.git]
/
docs
/
Setup-Configuration_fh.rst
diff --git
a/docs/Setup-Configuration_fh.rst
b/docs/Setup-Configuration_fh.rst
index
fa9ac07
..
7b387b2
100644
(file)
--- a/
docs/Setup-Configuration_fh.rst
+++ b/
docs/Setup-Configuration_fh.rst
@@
-31,25
+31,42
@@
below. Steps for running the sample application on the O-DU side and
0-RU side are the same, except configuration file options may be
different.
0-RU side are the same, except configuration file options may be
different.
-.. image:: images/Setup-for-
x
RAN-Testing.jpg
+.. image:: images/Setup-for-
O-
RAN-Testing.jpg
:width: 400
:width: 400
- :alt: Figure 2
6
. Setup for O-RAN Testing
+ :alt: Figure 2
7
. Setup for O-RAN Testing
-Figure 2
6
. Setup for O-RAN Testing
+Figure 2
7
. Setup for O-RAN Testing
-.. image:: images/Setup-for-xRAN-Testing-with-PHY-and-Configuration-C3.jpg
+
+
+.. image:: images/Setup-for-O-RAN-Testing-with-PHY-and-Configuration-C3.jpg
+ :width: 400
+ :alt: Figure 28. Setup for O-RAN Testing with PHY and Configuration C3
+
+Figure 28. Setup for O-RAN Testing with PHY and Configuration C3
+
+
+
+.. image:: images/Setup-for-O-RAN-Testing-with-PHY-and-Configuration-C3-for-Massive-MIMO.jpg
:width: 400
:width: 400
- :alt: Figure 27. Setup for O-RAN Testing with PHY and Configuration C3
+ :alt: Figure 29. Setup for O-RAN Testing with PHY and Configuration C3 for
+
+Figure 29. Setup for O-RAN Testing with PHY and Configuration C3 for
+Massive MIMO
+
-Figure 27. Setup for O-RAN Testing with PHY and Configuration C3
A.2 Prerequisites
-----------------
A.2 Prerequisites
-----------------
-Each server in Figure 26 requires the following:
+
+Each server in *Figure 27* requires the following:
- Wolfpass server according to recommended BOM for FlexRAN such as
Intel® Xeon® Skylake Gold 6148 FC-LGA3647 2.4 GHz 27.5 MB 150W 20
- Wolfpass server according to recommended BOM for FlexRAN such as
Intel® Xeon® Skylake Gold 6148 FC-LGA3647 2.4 GHz 27.5 MB 150W 20
- cores (two sockets)
+ cores (two sockets) or higher
+
+- Wilson City or Coyote Pass server with Intel® Xeon® Icelake CPU for
+ Massive-MIMO with L1 pipeline testing
- BIOS settings:
- BIOS settings:
@@
-164,11
+181,9
@@
ESX*, FreeBSD*, and EFI/EFI2 are located at:
..
..
-https://downloadmirror.intel.com/682037/readme_8_50.txt
-(700 series)
+https://downloadcenter.intel.com/download/24769 (700 series)
-https://downloadmirror.intel.com/709693/readme_3.10.txt
-(E810 series)
+https://downloadcenter.intel.com/download/29736 (E810 series)
PTP Grand Master is required to be available in the network to provide
synchronization of both O-DU and RU to GPS time.
PTP Grand Master is required to be available in the network to provide
synchronization of both O-DU and RU to GPS time.
@@
-177,9
+192,9
@@
The software package includes Linux\* CentOS\* operating system and RT
patch according to FlexRAN Reference Solution Cloud-Native Setup
document (refer to Table 2). Only real-time HOST is required.
patch according to FlexRAN Reference Solution Cloud-Native Setup
document (refer to Table 2). Only real-time HOST is required.
-1. Install Intel® C++ Compiler v19.0.3
+1. Install Intel® C++ Compiler v19.0.3
or OneAPI compiler (preferred)
-2. Download DPDK v20.11.
1
+2. Download DPDK v20.11.
3
3. Patch DPDK with FlexRAN BBDev patch as per given release.
3. Patch DPDK with FlexRAN BBDev patch as per given release.
@@
-262,7
+277,7
@@
to O-RAN Front haul::
ICE_WRITE_REG(hw, QINT_TQCTL(base_queue + i), val_tx);
}
ICE_WRITE_REG(hw, QINT_TQCTL(base_queue + i), val_tx);
}
-5.Build and install DPDK::
+5.Build and install
the
DPDK::
See https://doc.dpdk.org/guides/prog_guide/build-sdk-meson.html
See https://doc.dpdk.org/guides/prog_guide/build-sdk-meson.html
@@
-517,29
+532,29
@@
Install and Configure Sample Application
To install and configure the sample application:
To install and configure the sample application:
-1. Set up the environment::
+1. Set up the environment
(shown for icc change for icx)
::
For Skylake and Cascadelake
export GTEST_ROOT=pwd/gtest-1.7.0
For Skylake and Cascadelake
export GTEST_ROOT=pwd/gtest-1.7.0
- export RTE_SDK=pwd/dpdk-20.11.
1
+ export RTE_SDK=pwd/dpdk-20.11.
3
export RTE_TARGET=x86_64-native-linuxapp-icc
export DIR_WIRELESS_SDK_ROOT=pwd/wireless_sdk
export WIRELESS_SDK_TARGET_ISA=avx512
export SDK_BUILD=build-${WIRELESS_SDK_TARGET_ISA}-icc
export DIR_WIRELESS_SDK=${DIR_WIRELESS_SDK_ROOT}/${SDK_BUILD}
export RTE_TARGET=x86_64-native-linuxapp-icc
export DIR_WIRELESS_SDK_ROOT=pwd/wireless_sdk
export WIRELESS_SDK_TARGET_ISA=avx512
export SDK_BUILD=build-${WIRELESS_SDK_TARGET_ISA}-icc
export DIR_WIRELESS_SDK=${DIR_WIRELESS_SDK_ROOT}/${SDK_BUILD}
- export MLOG_DIR=
pwd
/flexran_l1_sw/libs/mlog
- export XRAN_DIR=
pwd
/flexran_xran
+ export MLOG_DIR=
`pwd`
/flexran_l1_sw/libs/mlog
+ export XRAN_DIR=
`pwd`
/flexran_xran
for Icelake
for Icelake
- export GTEST_ROOT=
pwd
/gtest-1.7.0
- export RTE_SDK=
pwd/dpdk-20.11.
1
+ export GTEST_ROOT=
`pwd`
/gtest-1.7.0
+ export RTE_SDK=
`pwd`/dpdk-20.1
1
export RTE_TARGET=x86_64-native-linuxapp-icc
export RTE_TARGET=x86_64-native-linuxapp-icc
- export DIR_WIRELESS_SDK_ROOT=
pwd
/wireless_sdk
+ export DIR_WIRELESS_SDK_ROOT=
`pwd`
/wireless_sdk
export WIRELESS_SDK_TARGET_ISA=snc
export SDK_BUILD=build-${WIRELESS_SDK_TARGET_ISA}-icc
export DIR_WIRELESS_SDK=${DIR_WIRELESS_SDK_ROOT}/${SDK_BUILD}
export WIRELESS_SDK_TARGET_ISA=snc
export SDK_BUILD=build-${WIRELESS_SDK_TARGET_ISA}-icc
export DIR_WIRELESS_SDK=${DIR_WIRELESS_SDK_ROOT}/${SDK_BUILD}
- export MLOG_DIR=
pwd
/flexran_l1_sw/libs/mlog
- export XRAN_DIR=
pwd
/flexran_xran
+ export MLOG_DIR=
`pwd`
/flexran_l1_sw/libs/mlog
+ export XRAN_DIR=
`pwd`
/flexran_xran
2. export FLEXRAN_SDK=${DIR_WIRELESS_SDK}/install Compile mlog library::
2. export FLEXRAN_SDK=${DIR_WIRELESS_SDK}/install Compile mlog library::
@@
-580,23
+595,30
@@
Install and Configure FlexRAN 5G NR L1 Application
The 5G NR layer 1 application can be used for executing the scenario for
mmWave with either the RU sample application or just the O-DU side. The
current release supports the constant configuration of the slot pattern
The 5G NR layer 1 application can be used for executing the scenario for
mmWave with either the RU sample application or just the O-DU side. The
current release supports the constant configuration of the slot pattern
-and RB allocation on the PHY side.
+and RB allocation on the PHY side. The build process follows the same
+basic steps as for the sample application above and is similar to
+compiling 5G NR l1app for mmWave with Front Haul FPGA. Please follow the
+general build process in the FlexRAN 5G NR Reference Solution L1 User
+Guide (refer to *Table 2*.) (For information only as a FlexRAN binary blob
+is delivered to the community)
-1. O-RAN library is enabled by default l1 application
:
+1. O-RAN library is enabled by default l1 application
2. Get the FlexRAN L1 binary from https://github.com/intel/FlexRAN. Look for the l1/bin/nr5g/gnb/l1 folder for the
l1app binary and the corresponding phycfg and xrancfg files.
3. Configure the L1app using bin/nr5g/gnb/l1/phycfg_xran.xml and
2. Get the FlexRAN L1 binary from https://github.com/intel/FlexRAN. Look for the l1/bin/nr5g/gnb/l1 folder for the
l1app binary and the corresponding phycfg and xrancfg files.
3. Configure the L1app using bin/nr5g/gnb/l1/phycfg_xran.xml and
-xrancfg_sub6.xml (or other xml if it is mm
wave
or massive MIMO). ::
+xrancfg_sub6.xml (or other xml if it is mm
W
or massive MIMO). ::
- <XranConfig>
- <version>oran_e_maintenance_release_v1.0</version>
- <!-- numbers of O-RU connected to O-DU. All O-RUs are the same capabilities. Max O-RUs is per XRAN_PORTS_NUM i.e. 4 -->
+ <XranConfig>
+ <version>oran_f_release_v1.0</version>
+ <!-- numbers of O-RU connected to O-DU. All O-RUs are the same
+ capabilities. Max O-RUs is per XRAN_PORTS_NUM i.e. 4 -->
<oRuNum>1</oRuNum>
<oRuNum>1</oRuNum>
- <!--
# 10G,25G,40G,100G speed of Physical connection on O-RU -->
+ <!-- # 10G,25G,40G,100G speed of Physical connection on O-RU -->
<oRuEthLinkSpeed>25</oRuEthLinkSpeed>
<oRuEthLinkSpeed>25</oRuEthLinkSpeed>
- <!-- # 1, 2, 3 total number of links per O-RU (Fronthaul Ethernet link in IOT spec) -->
+ <!-- # 1, 2, 3 total number of links per O-RU (Fronthaul Ethernet link
+ in IOT spec) -->
<oRuLinesNumber>1</oRuLinesNumber>
<!-- O-RU 0 -->
<oRuLinesNumber>1</oRuLinesNumber>
<!-- O-RU 0 -->
@@
-705,8
+727,13
@@
xrancfg_sub6.xml (or other xml if it is mmwave or massive MIMO). ::
<!-- core mask for XRAN Packets Worker (core where the XRAN packet processing is pinned): Core, priority, Policy [0: SCHED_FIFO 1: SCHED_RR] -->
<xRANWorker>0x8000000000, 96, 0</xRANWorker>
<!-- core mask for XRAN Packets Worker (core where the XRAN packet processing is pinned): Core, priority, Policy [0: SCHED_FIFO 1: SCHED_RR] -->
<xRANWorker>0x8000000000, 96, 0</xRANWorker>
+ <xRANWorker_64_127>0x0000000000, 96, 0</xRANWorker_64_127>
<!-- XRAN: Category of O-RU 0 - Category A, 1 - Category B -->
<Category>0</Category>
<!-- XRAN: Category of O-RU 0 - Category A, 1 - Category B -->
<Category>0</Category>
+ <!-- Slot setup processing offload to pipeline BBU cores: [0: USE XRAN CORES 1: USE BBU CORES] -->
+ <xRANOffload>0</xRANOffload>
+ <!-- XRAN MLOG: [0: DISABLE 1: ENABLE] -->
+ <xRANMLog>0</xRANMLog>
<!-- XRAN: enable sleep on PMD cores -->
<xranPmdSleep>0</xranPmdSleep>
<!-- XRAN: enable sleep on PMD cores -->
<xranPmdSleep>0</xranPmdSleep>
@@
-752,6
+779,9
@@
xrancfg_sub6.xml (or other xml if it is mmwave or massive MIMO). ::
<DynamicSectionEna>0</DynamicSectionEna>
<!-- Enable Dynamic section allocation for UL -->
<DynamicSectionEnaUL>0</DynamicSectionEnaUL>
<DynamicSectionEna>0</DynamicSectionEna>
<!-- Enable Dynamic section allocation for UL -->
<DynamicSectionEnaUL>0</DynamicSectionEnaUL>
+ <!-- Enable muti section for C-Plane -->
+ <DynamicMultiSectionEna>0</DynamicMultiSectionEna>
+
<xRANSFNWrap>1</xRANSFNWrap>
<!-- Total Number of DL PRBs per symbol (starting from RB 0) that is transmitted (used for testing. If 0, then value is used from PHY_CONFIG_API) -->
<xRANNumDLPRBs>0</xRANNumDLPRBs>
<xRANSFNWrap>1</xRANSFNWrap>
<!-- Total Number of DL PRBs per symbol (starting from RB 0) that is transmitted (used for testing. If 0, then value is used from PHY_CONFIG_API) -->
<xRANNumDLPRBs>0</xRANNumDLPRBs>
@@
-764,11
+794,19
@@
xrancfg_sub6.xml (or other xml if it is mmwave or massive MIMO). ::
<!-- XRAN: Compression mode on O-DU <-> O-RU 0 - no comp 1 - BFP -->
<xranCompMethod>1</xranCompMethod>
<!-- XRAN: Compression mode on O-DU <-> O-RU 0 - no comp 1 - BFP -->
<xranCompMethod>1</xranCompMethod>
+ <!-- XRAN: Uplane Compression Header type 0 - dynamic 1 - static -->
+ <xranCompHdrType>0</xranCompHdrType>
<!-- XRAN: iqWidth when DynamicSectionEna and BFP Compression enabled -->
<!-- XRAN: iqWidth when DynamicSectionEna and BFP Compression enabled -->
- <xraniqWidth>
8
</xraniqWidth>
+ <xraniqWidth>
9
</xraniqWidth>
<!-- Whether Modulation Compression mode is enabled or not for DL only -->
<xranModCompEna>0</xranModCompEna>
<!-- Whether Modulation Compression mode is enabled or not for DL only -->
<xranModCompEna>0</xranModCompEna>
+ <!-- XRAN: Prach Compression mode on O-DU <-> O-RU 0 - no comp 1 - BFP -->
+ <xranPrachCompMethod>0</xranPrachCompMethod>
+ <!-- Whether Prach iqWidth when DynamicSectionEna and BFP Compression enabled -->
+ <xranPrachiqWidth>16</xranPrachiqWidth>
+ <oRu0MaxSectionsPerSlot>6</oRu0MaxSectionsPerSlot>
+ <oRu0MaxSectionsPerSymbol>6</oRu0MaxSectionsPerSymbol>
<oRu0nPrbElemDl>1</oRu0nPrbElemDl>
<!--nRBStart, nRBSize, nStartSymb, numSymb, nBeamIndex, bf_weight_update, compMethod, iqWidth, BeamFormingType, Scalefactor, REMask -->
<!-- weight base beams -->
<oRu0nPrbElemDl>1</oRu0nPrbElemDl>
<!--nRBStart, nRBSize, nStartSymb, numSymb, nBeamIndex, bf_weight_update, compMethod, iqWidth, BeamFormingType, Scalefactor, REMask -->
<!-- weight base beams -->
@@
-817,14
+855,14
@@
xrancfg_sub6.xml (or other xml if it is mmwave or massive MIMO). ::
</XranConfig>
</XranConfig>
-4. Modify bin/nr5g/gnb/l1/dpdk.sh (change PCIe addresses from VFs). ::
+4. Modify
l1/
bin/nr5g/gnb/l1/dpdk.sh (change PCIe addresses from VFs). ::
$RTE_SDK/usertools/dpdk-devbind.py --bind=vfio-pci 0000:21:02.0
$RTE_SDK/usertools/dpdk-devbind.py --bind=vfio-pci 0000:21:02.1
5. Use configuration of test mac per::
$RTE_SDK/usertools/dpdk-devbind.py --bind=vfio-pci 0000:21:02.0
$RTE_SDK/usertools/dpdk-devbind.py --bind=vfio-pci 0000:21:02.1
5. Use configuration of test mac per::
- /bin/nr5g/gnb.testmac/cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg
+ l1//bin/nr5g/gnb.testmac/cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg (info only N/A)
phystart 4 0 40200
<!-- mmWave mu 3 100MHz -->
TEST_FD, 1002, 1, fd/mu3_100mhz/2/fd_testconfig_tst2.cfg
phystart 4 0 40200
<!-- mmWave mu 3 100MHz -->
TEST_FD, 1002, 1, fd/mu3_100mhz/2/fd_testconfig_tst2.cfg
@@
-832,28
+870,23
@@
xrancfg_sub6.xml (or other xml if it is mmwave or massive MIMO). ::
6. To execute l1app with O-DU functionality according to O-RAN Fronthaul specification, enter::
6. To execute l1app with O-DU functionality according to O-RAN Fronthaul specification, enter::
- [root@xran flexran] cd ./bin/nr5g/gnb/l1
+ [root@xran flexran] cd ./
l1/
bin/nr5g/gnb/l1
[root@xran l1]#./l1.sh –xran
[root@xran l1]#./l1.sh –xran
-where output corresponding L1 is
7. To execute testmac with O-DU functionality according to O-RAN Fronthaul specification, enter::
7. To execute testmac with O-DU functionality according to O-RAN Fronthaul specification, enter::
- [root@xran flexran] cd ./bin/nr5g/gnb/testmac
+ [root@xran flexran] cd ./
l1/
bin/nr5g/gnb/testmac
-8. To execute test case type::
+8. To execute test case type
(info only as file not available)
::
./l2.sh
--testfile=./cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg
./l2.sh
--testfile=./cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg
-where output corresponding to Test MAC::
-
- [root@sc12-xran-sub6 testmac]# ./l2.sh --testfile=./cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg
-
Configure FlexRAN 5G NR L1 Application for multiple O-RUs with multiple numerologies
====================================================================================
Configure FlexRAN 5G NR L1 Application for multiple O-RUs with multiple numerologies
====================================================================================
@@
-883,10
+916,10
@@
Solution L1 User Guide (refer to Table 2.)
Look for the l1/bin/nr5g/gnb/l1 folder for the
l1app binary and the corresponding phycfg and xrancfg files.
Look for the l1/bin/nr5g/gnb/l1 folder for the
l1app binary and the corresponding phycfg and xrancfg files.
-3. Configure the L1app using bin/nr5g/gnb/l1/xrancfg_sub6_mmimo.xml.
+3. Configure the L1app using bin/nr5g/gnb/l1/xrancfg_sub6_mmimo.xml.
::
-<XranConfig>
- <version>oran_
e_maintenance
_release_v1.0<</version>
+
<XranConfig>
+ <version>oran_
f
_release_v1.0<</version>
<!-- numbers of O-RU connected to O-DU. All O-RUs are the same capabilities. Max O-RUs is per XRAN_PORTS_NUM i.e. 4 -->
<oRuNum>3</oRuNum>
<!-- # 10G,25G,40G,100G speed of Physical connection on O-RU -->
<!-- numbers of O-RU connected to O-DU. All O-RUs are the same capabilities. Max O-RUs is per XRAN_PORTS_NUM i.e. 4 -->
<oRuNum>3</oRuNum>
<!-- # 10G,25G,40G,100G speed of Physical connection on O-RU -->
@@
-1182,7
+1215,7
@@
Solution L1 User Guide (refer to Table 2.)
<oRu2PrbElemSrs0>0,273,0,14,1,1,1,9,1,0,0</oRu2PrbElemSrs0>
<oRu2PrbElemSrs1>0,273,0,14,1,1,1,9,1,0,0</oRu2PrbElemSrs1>
<oRu2PrbElemSrs0>0,273,0,14,1,1,1,9,1,0,0</oRu2PrbElemSrs0>
<oRu2PrbElemSrs1>0,273,0,14,1,1,1,9,1,0,0</oRu2PrbElemSrs1>
-</XranConfig>
+
</XranConfig>
4. Modify ./bin/nr5g/gnb/l1/dpdk.sh (change PCIe addresses from VFs). ::
4. Modify ./bin/nr5g/gnb/l1/dpdk.sh (change PCIe addresses from VFs). ::
@@
-1203,6
+1236,7
@@
Solution L1 User Guide (refer to Table 2.)
5. Use configuration of test mac per::
5. Use configuration of test mac per::
+ (Info only as these files not avilable)
/bin/nr5g/gnb/testmac/icelake-sp/icxsp_mu1_100mhz_mmimo_64x64_hton_xran.cfg
phystart 4 0 100200
TEST_FD, 3370, 3, fd/mu1_100mhz/376/fd_testconfig_tst376.cfg,
/bin/nr5g/gnb/testmac/icelake-sp/icxsp_mu1_100mhz_mmimo_64x64_hton_xran.cfg
phystart 4 0 100200
TEST_FD, 3370, 3, fd/mu1_100mhz/376/fd_testconfig_tst376.cfg,
@@
-1211,18
+1245,17
@@
Solution L1 User Guide (refer to Table 2.)
6. To execute l1app with O-DU functionality according to O-RAN Fronthaul specification, enter::
6. To execute l1app with O-DU functionality according to O-RAN Fronthaul specification, enter::
- [root@xran flexran] cd ./bin/nr5g/gnb/l1
+ [root@xran flexran] cd ./
l1/
bin/nr5g/gnb/l1
./l1.sh -xranmmimo
Radio mode with XRAN - Sub6 100Mhz Massive-MIMO (CatB)
./l1.sh -xranmmimo
Radio mode with XRAN - Sub6 100Mhz Massive-MIMO (CatB)
+
7. To execute testmac with O-DU functionality according to O-RAN Fronthaul specification, enter::
7. To execute testmac with O-DU functionality according to O-RAN Fronthaul specification, enter::
- [root@xran flexran] cd ./bin/nr5g/gnb/testmac
+ [root@xran flexran] cd ./
l1/
bin/nr5g/gnb/testmac
8. To execute test case type::
8. To execute test case type::
+ (Info only as file not available)
./l2.sh --testfile=./cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg
./l2.sh --testfile=./cascade_lake-sp/csxsp_mu1_100mhz_mmimo_hton_xran.cfg
-where output corresponding to Test MAC::
-
- root@icelake-scs1-1 testmac]# ./l2.sh --testfile=./icelake-sp/icxsp_mu1_100mhz_mmimo_64x64_hton_xran.cfg