aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSugandha Gupta <sugandha.gupta@ettus.com>2019-12-30 17:05:08 -0800
committerBrent Stapleton <brent.stapleton@ettus.com>2020-01-10 10:46:30 -0800
commit9c00d2f3e3d366c07702ac946ff091e43cb7a3c3 (patch)
tree6a80599414b7a249a4c7cec83031e2953f78aeeb
parent708840002eef7104d930e2b25f0d9ca203c5d507 (diff)
downloaduhd-9c00d2f3e3d366c07702ac946ff091e43cb7a3c3.tar.gz
uhd-9c00d2f3e3d366c07702ac946ff091e43cb7a3c3.tar.bz2
uhd-9c00d2f3e3d366c07702ac946ff091e43cb7a3c3.zip
tools: R&D testing prodecure updated for E3xx
-Adds embedded mode tests for E310 and E320 to the R&D testing procedure. -Modifies increased rates for 1Gige testing on E320
-rw-r--r--host/docs/rd_testing.dox67
-rwxr-xr-xtools/gr-usrptest/apps/usrp_fpga_funcverif.py86
2 files changed, 103 insertions, 50 deletions
diff --git a/host/docs/rd_testing.dox b/host/docs/rd_testing.dox
index 816e338f5..f3c18485a 100644
--- a/host/docs/rd_testing.dox
+++ b/host/docs/rd_testing.dox
@@ -344,7 +344,9 @@ tbd
| FPGAFUNCVERIF-N310-XG-v1 | USRP N310 | None | \ref rdtesting_fpgafuncverif_manual | \ref rdtesting_fpgafuncverif_auto |
| FPGAFUNCVERIF-N300-HG-v1 | USRP N300 | None | \ref rdtesting_fpgafuncverif_manual | \ref rdtesting_fpgafuncverif_auto |
| FPGAFUNCVERIF-N300-XG-v1 | USRP N300 | None | \ref rdtesting_fpgafuncverif_manual | \ref rdtesting_fpgafuncverif_auto |
+| FPGAFUNCVERIF-E320-1G-v1 | USRP E320 | None | \ref rdtesting_fpgafuncverif_manual | \ref rdtesting_fpgafuncverif_auto |
| FPGAFUNCVERIF-E320-XG-v1 | USRP E320 | None | \ref rdtesting_fpgafuncverif_manual | \ref rdtesting_fpgafuncverif_auto |
+| FPGAFUNCVERIF-E320-device-v1 | USRP E320 | None | \ref rdtesting_fpgafuncverif_manual | \ref rdtesting_fpgafuncverif_auto |
The FPGA functional verification tests exercise the Digital Downconverter (DDC),
Digital Upconverter (DUC), and Radio Core RFNoC blocks.
@@ -433,7 +435,9 @@ rates and channel configurations without any data flow issues.
Note: On TX tests, initial Us within the first 5 seconds can be ignored and do not fail the test
-#### USRP E31x (SG3 Required, SG1 Optional)
+#### USRP E3xx Device (Embedded Mode)
+
+- E320 and E310 SG3 are required tests, E310 SG1 is optional
| Channels | Master Clock Rate | Sample Rate | Duration | Notes |
|---------------|-------------------------|-------------|----------|--------------------|
@@ -446,43 +450,43 @@ Note: On TX tests, initial Us within the first 5 seconds can be ignored and do n
| 2x TX | 10e6 | 1e6 | 60 | |
| 2x TX | 30.72e6 | 1.92e6 | 60 | |
| 1x RX & 1x TX | 10e6 | 1e6 | 60 | Test both channels |
-| 1x RX & 1x TX | 61.44e6 | 3.84e6 | 60 | Use channel 1 |
+| 1x RX & 1x TX | 30.72e6 | 3.84e6 | 60 | Use channel 1 |
| 2x RX & 2x TX | 10e6 | 1e6 | 60 | |
| 2x RX & 2x TX | 30.72e6 | 1.92e6 | 60 | |
-| 1x RX & 1x TX | 61.44e6 | 3.84e6 | 600 | Use channel 0 |
+| 1x RX & 1x TX | 30.72e6 | 3.84e6 | 600 | Use channel 0 |
| 2x RX & 2x TX | 30.72e6 | 1.92e6 | 600 | |
#### USRP E320: 1 GigE Interface
| Channels | Master Clock Rate | Sample Rate | Duration | Notes |
|---------------|-------------------------|-------------|----------|--------------------|
-| 1x RX | 10e6 | 1e6 | 60 | Test both channels |
-| 1x RX | 61.44e6 | 1.024e6 | 60 | Test both channels |
-| 1x TX | 10e6 | 1e6 | 60 | Test both channels |
-| 1x TX | 61.44e6 | 1.024e6 | 60 | Test both channels |
-| 2x RX | 10e6 | 1e6 | 60 | |
-| 2x RX | 30.72e6 | 1.024e6 | 60 | |
-| 2x TX | 10e6 | 1e6 | 60 | |
-| 2x TX | 30.72e6 | 1.024e6 | 60 | |
-| 1x RX & 1x TX | 10e6 | 1e6 | 60 | Test both channels |
-| 1x RX & 1x TX | 61.44e6 | 1.024e6 | 60 | Use channel 1 |
-| 2x RX & 2x TX | 10e6 | 1e6 | 60 | |
-| 2x RX & 2x TX | 30.72e6 | 1.024e6 | 60 | |
-| 1x RX & 1x TX | 61.44e6 | 1.024e6 | 600 | Use channel 0 |
-| 2x RX & 2x TX | 30.72e6 | 1.024e6 | 600 | |
+| 1x RX | 15.36e6 | 15.36e6 | 60 | Test both channels |
+| 1x RX | 61.44e6 | 3.84e6 | 60 | Test both channels |
+| 1x TX | 15.36e6 | 15.36e6 | 60 | Test both channels |
+| 1x TX | 61.44e6 | 3.84e6 | 60 | Test both channels |
+| 2x RX | 61.44e6 | 7.68e6 | 60 | |
+| 2x RX | 30.72e6 | 1.92e6 | 60 | |
+| 2x TX | 61.44e6 | 7.68e6 | 60 | |
+| 2x TX | 30.72e6 | 1.92e6 | 60 | |
+| 1x RX & 1x TX | 30.72e6 | 7.68e6 | 60 | Test both channels |
+| 1x RX & 1x TX | 61.44e6 | 1.92e6 | 60 | Use channel 1 |
+| 2x RX & 2x TX | 30.72e6 | 3.84e6 | 60 | |
+| 2x RX & 2x TX | 30.72e6 | 1.92e6 | 60 | |
+| 1x RX & 1x TX | 30.72e6 | 3.84e6 | 600 | Use channel 0 |
+| 2x RX & 2x TX | 30.72e6 | 1.92e6 | 600 | |
#### USRP E320: 10 GigE Interface
| Channels | Master Clock Rate | Sample Rate | Duration | Notes |
|---------------|-------------------------|----------------------|----------|--------------------|
-| 1x RX | 61.44e6 | 1.024e6, 61.44e6 | 60 | Test both channels |
-| 1x TX | 61.44e6 | 1.024e6, 61.44e6 | 60 | Test both channels |
-| 2x RX | 30.72e6 | 1.024e6, 30.72e6 | 60 | |
-| 2x TX | 30.72e6 | 1.024e6, 30.72e6 | 60 | |
-| 1x RX & 1x TX | 61.44e6 | 1.024e6, 30.72e6 | 60 | Test both channels |
-| 2x RX & 2x TX | 30.72e6 | 1.024e6, 30.72e6 | 60 | |
-| 1x RX & 1x TX | 61.44e6 | 1e6, 30.72e6 | 600 | Use channel 0 |
-| 2x RX & 2x TX | 30.72e6 | 1e6, 30.72e6 | 600 | |
+| 1x RX | 61.44e6 | 1.92e6, 61.44e6 | 60 | Test both channels |
+| 1x TX | 61.44e6 | 1.92e6, 61.44e6 | 60 | Test both channels |
+| 2x RX | 30.72e6 | 1.92e6, 30.72e6 | 60 | |
+| 2x TX | 30.72e6 | 1.92e6, 30.72e6 | 60 | |
+| 1x RX & 1x TX | 61.44e6 | 1.92e6, 30.72e6 | 60 | Test both channels |
+| 2x RX & 2x TX | 30.72e6 | 1.92e6, 30.72e6 | 60 | |
+| 1x RX & 1x TX | 61.44e6 | 1.92e6, 30.72e6 | 600 | Use channel 0 |
+| 2x RX & 2x TX | 30.72e6 | 1.92e6, 30.72e6 | 600 | |
#### USRP N300/N310: 1 GigE Interface
@@ -713,6 +717,14 @@ on either N320 OR N321.
$ usrp_fpga_funcverif n320wx -a 192.168.20.2 -p /path/to/examples
+### E310
+The E310 tests need to be run on the device in the embedded mode.
+
+#### Embedded mode
+- Login into the device.
+- The following command must pass:
+
+ $ usrp_fpga_funcverif e3xxdev -a 127.0.0.1 -p /path/to/examples
### E320
The E320 tests depend on the FPGA image to be tested.
@@ -729,6 +741,11 @@ The E320 tests depend on the FPGA image to be tested.
$ usrp_fpga_funcverif e320xg -a 192.168.10.2 -p /path/to/examples
+#### Embedded mode
+- Login into the device.
+- The following command must pass:
+
+ $ usrp_fpga_funcverif e3xxdev -a 127.0.0.1 -p /path/to/examples
\section rdtesting_phasealignment Phase alignment tests
diff --git a/tools/gr-usrptest/apps/usrp_fpga_funcverif.py b/tools/gr-usrptest/apps/usrp_fpga_funcverif.py
index 27bca23f3..0cdeaaa81 100755
--- a/tools/gr-usrptest/apps/usrp_fpga_funcverif.py
+++ b/tools/gr-usrptest/apps/usrp_fpga_funcverif.py
@@ -711,7 +711,7 @@ FUNCVERIF_SETTINGS = {
{'--rx_rate': 184.32e6, 'master_clock_rate': '184.32e6', '--channels': '0,1'},
],
},
- 'e320_1gige': {
+ 'e3xx_device': {
'--args': "type=e3xx,addr={addr},master_clock_rate={master_clock_rate},{args}",
'--seq-threshold': 0,
'--drop-threshold': 0,
@@ -724,28 +724,65 @@ FUNCVERIF_SETTINGS = {
{'--rx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': 0,},
{'--rx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': 1,},
- {'--rx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
- {'--rx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
+ {'--rx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
+ {'--rx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
{'--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': 0,},
{'--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': 1,},
- {'--tx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
- {'--tx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
+ {'--tx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
+ {'--tx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
{'--rx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': '0,1',},
- {'--rx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--rx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
{'--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': '0,1',},
- {'--tx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
{'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': '0',},
{'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': '1',},
- {'--rx_rate': 1.024e6, '--tx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '1',},
+ {'--rx_rate': 3.84e6, '--tx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': '1',},
{'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': '0,1',},
- {'--rx_rate': 1.024e6, '--tx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
- {'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '61.44e6', '--channels': '0', ' --duration': 600, },
- {'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '30.72e6', '--channels': '0,1', ' --duration': 600, },
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--rx_rate': 3.84e6, '--tx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': '0', ' --duration': 600, },
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1', ' --duration': 600, },
+ ],
+ },
+ 'e320_1gige': {
+ '--args': "type=e3xx,addr={addr},master_clock_rate={master_clock_rate},{args}",
+ '--seq-threshold': 0,
+ '--drop-threshold': 0,
+ '--underrun-threshold': 100,
+ '--overrun-threshold': 100,
+ '--rx_subdev': 'A:0 A:1',
+ '--tx_subdev': 'A:0 A:1',
+ '--duration': 60,
+ '__tests': [
+ {'--rx_rate': 15.36e6, 'master_clock_rate': '15.36e6', '--channels': 0,},
+ {'--rx_rate': 15.36e6, 'master_clock_rate': '15.36e6', '--channels': 1,},
+
+ {'--rx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
+ {'--rx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
+
+ {'--tx_rate': 15.36e6, 'master_clock_rate': '15.36e6', '--channels': 0,},
+ {'--tx_rate': 15.36e6, 'master_clock_rate': '15.36e6', '--channels': 1,},
+
+ {'--tx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
+ {'--tx_rate': 3.84e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
+
+ {'--rx_rate': 7.68e6, 'master_clock_rate': '61.44e6', '--channels': '0,1',},
+ {'--rx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+
+ {'--tx_rate': 7.68e6, 'master_clock_rate': '61.44e6', '--channels': '0,1',},
+ {'--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+
+ {'--rx_rate': 7.68e6, '--tx_rate': 7.68e6, 'master_clock_rate': '30.72e6', '--channels': '0',},
+ {'--rx_rate': 7.68e6, '--tx_rate': 7.68e6, 'master_clock_rate': '30.72e6', '--channels': '1',},
+ {'--rx_rate': 3.84e6, '--tx_rate': 1.92e6, 'master_clock_rate': '61.44e6', '--channels': '1',},
+ {'--rx_rate': 3.84e6, '--tx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--rx_rate': 3.84e6, '--tx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': '0', ' --duration': 600, },
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1', ' --duration': 600, },
],
},
'e320_10gige': {
@@ -758,36 +795,33 @@ FUNCVERIF_SETTINGS = {
'--tx_subdev': 'A:0 A:1',
'--duration': 60,
'__tests': [
- {'--rx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
- {'--rx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
+ {'--rx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': 0,},
+ {'--rx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': 1,},
{'--rx_rate': 61.44e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
{'--rx_rate': 61.44e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
- {'--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': 0,},
- {'--tx_rate': 1e6, 'master_clock_rate': '10e6', '--channels': 1,},
+ {'--tx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': 0,},
+ {'--tx_rate': 3.84e6, 'master_clock_rate': '30.72e6', '--channels': 1,},
{'--tx_rate': 61.44e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
{'--tx_rate': 61.44e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
- {'--tx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 0,},
- {'--tx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': 1,},
-
- {'--rx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--rx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
{'--rx_rate': 30.72e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
- {'--tx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
{'--tx_rate': 30.72e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
- {'--rx_rate': 1.024e6, '--tx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': '0',},
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '61.44e6', '--channels': '0',},
{'--rx_rate': 30.72e6, '--tx_rate': 30.72e6, 'master_clock_rate': '61.44e6', '--channels': '0',},
- {'--rx_rate': 1.024e6, '--tx_rate': 1.024e6, 'master_clock_rate': '61.44e6', '--channels': '1',},
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '61.44e6', '--channels': '1',},
{'--rx_rate': 30.72e6, '--tx_rate': 30.72e6, 'master_clock_rate': '61.44e6', '--channels': '1',},
- {'--rx_rate': 1.024e6, '--tx_rate': 1.024e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
{'--rx_rate': 30.72e6, '--tx_rate': 30.72e6, 'master_clock_rate': '30.72e6', '--channels': '0,1',},
- {'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '61.44e6', '--channels': '0', ' --duration': 600, },
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '61.44e6', '--channels': '0', ' --duration': 600, },
{'--rx_rate': 30.72e6, '--tx_rate': 30.72e6, 'master_clock_rate': '61.44e6', '--channels': '0', ' --duration': 600, },
- {'--rx_rate': 1e6, '--tx_rate': 1e6, 'master_clock_rate': '30.72e6', '--channels': '0,1', ' --duration': 600, },
+ {'--rx_rate': 1.92e6, '--tx_rate': 1.92e6, 'master_clock_rate': '30.72e6', '--channels': '0,1', ' --duration': 600, },
{'--rx_rate': 30.72e6, '--tx_rate': 30.72e6, 'master_clock_rate': '30.72e6', '--channels': '0,1', ' --duration': 600, },
],
},
@@ -829,6 +863,8 @@ DEV_TO_TEST = {
'x3x0_2x_10gige': ['x3x0_2x_10gige'],
'x3x0_pcie': ['x3x0_pcie'],
'x3x0_dpdk': ['x3x0_dpdk'],
+ #e310,e320
+ 'e3xxdev': ['e3xx_device'],
#e320
'e3201g': ['e320_1gige'],
'e320xg': ['e320_10gige'],