Skip to content

Commit 73984b9

Browse files
committed
n3xx: e320: Update documentation for E320 and N3XX targets
- Add e320 and n3xx in build_instructions - Update maximum allowable blocks in image_builder scripts
1 parent 1436b7b commit 73984b9

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ USRP devices.
2929
### Generation 3
3030

3131
- Directory: __usrp3__
32-
- Devices: USRP B2X0, USRP X Series, USRP E3X0
32+
- Devices: USRP B2X0, USRP X Series, USRP E3X0, USRP N3xx
3333
- Tools: Vivado from Xilinx, ISE from Xilinx, GNU make
3434
- [Build Instructions](http://files.ettus.com/manual/md_usrp3_build_instructions.html)
3535
- [Simulation](http://files.ettus.com/manual/md_usrp3_simulation.html)

docs/usrp3/build_instructions.md

+17
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ The USRP FPGA build system requires a UNIX-like environment with the following d
2222
- USRP X300: Kintex 7 XC7K325T (7 Series)
2323
- USRP X310: Kintex 7 XC7K410T (7 Series)
2424
- USRP E310: Zynq-7000 XC7Z020 (7 Series)
25+
- USRP E320: Zynq-7000 XC7Z045 (7 Series)
2526
- USRP N310: Zynq-7100 XC7Z100 (7 Series)
2627

2728
### Requirements
@@ -79,6 +80,7 @@ The following additional packages are also required and can be selected in the G
7980
- Navigate to `usrp3/top/{project}` where project is:
8081
+ x300: For USRP X300 and USRP X310
8182
+ e300: For USRP E310
83+
+ e320: For USRP E320
8284

8385
- To add vivado to the PATH and to setup up the Ettus Xilinx build environment run
8486
+ `source setupenv.sh` (If Vivado is installed in the default path /opt/Xilinx/Vivado) _OR_
@@ -165,6 +167,21 @@ a list and usage information
165167
- `build/usrp_<product>_fpga.bin` : Configuration bitstream without header
166168
- `build/usrp_<product>_fpga.rpt` : System, utilization and timing summary report
167169

170+
### E320 Targets and Outputs
171+
172+
#### Supported Targets
173+
- E320_1G: 1GigE on SFP+ Port.
174+
- E320_XG: 10GigE on SFP+ Port.
175+
- E320_AA: Aurora on SFP+ Port.
176+
- E320_RFNOC_1G: 1GigE on SFP+ Port. RFNOC CEs enabled.
177+
- E320_RFNOC_XG: 10GigE on SFP+ Port. RFNOC CEs enabled.
178+
- E320_RFNOC_AA: Aurora on SFP+ Port. RFNOC CEs enabled.
179+
180+
#### Outputs
181+
- `build/usrp_<product>_fpga.bit` : Configuration bitstream with header
182+
- `build/usrp_<product>_fpga.bin` : Configuration bitstream without header
183+
- `build/usrp_<product>_fpga.rpt` : System, utilization and timing summary report
184+
168185
### Additional Build Options
169186

170187
It is possible to make a target and specific additional options in the form VAR=VALUE in

usrp3/tools/scripts/uhd_image_builder.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ def setup_parser():
102102
parser.add_argument(
103103
"-m", "--max-num-blocks", type=int,
104104
help="Maximum number of blocks (Max. Allowed for x310|x300: 10,\
105-
for e300: 6)",
105+
for e300: 14, for e320: 12, for n300: 11, \
106+
for n310/n320: 10)",
106107
default=10)
107108
parser.add_argument(
108109
"--fill-with-fifos",
@@ -116,12 +117,12 @@ def setup_parser():
116117
default=None)
117118
parser.add_argument(
118119
"-d", "--device",
119-
help="Device to be programmed [x300, x310, e310, n300, n310]",
120+
help="Device to be programmed [x300, x310, e310, e320, n300, n310]",
120121
default="x310")
121122
parser.add_argument(
122123
"-t", "--target",
123124
help="Build target - image type [X3X0_RFNOC_HG, X3X0_RFNOC_XG,\
124-
E310_RFNOC_sg3...]",
125+
E310_RFNOC_sg3, E320_RFNOC_1G, N310_RFNOC_HG, ...]",
125126
default=None)
126127
parser.add_argument(
127128
"-g", "--GUI",
@@ -424,21 +425,23 @@ def device_dict(args):
424425
'x310':'x300',
425426
'e300':'e300',
426427
'e310':'e300',
428+
'e320':'e320',
427429
'n300':'n3xx',
428430
'n310':'n3xx'
429431
}
430432
return build_dir[args]
431433

432434
def dtarget(args):
433435
"""
434-
If no target specified, selecs the default building target based on the
436+
If no target specified, selects the default building target based on the
435437
targeted device
436438
"""
437439
if args.target is None:
438440
default_trgt = {
439441
'x300':'X300_RFNOC_HG',
440442
'x310':'X310_RFNOC_HG',
441443
'e310':'E310_RFNOC_HLS',
444+
'e320':'E320_RFNOC_1G',
442445
'n300':'N300_RFNOC_HG',
443446
'n310':'N310_RFNOC_HG'
444447
}

usrp3/tools/scripts/uhd_image_builder_gui.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ def init_gui(self):
147147
self.targets.setModel(self.model_targets)
148148
self.populate_target('x300')
149149
self.populate_target('e300')
150+
self.populate_target('e320')
150151
self.populate_target('n3xx')
151152
grid.addWidget(self.targets, 0, 0, 8, 1)
152153

@@ -399,8 +400,14 @@ def ootlist(self):
399400
self.max_allowed_blocks = 10
400401
elif self.device == 'E310':
401402
self.target = 'e300'
402-
self.max_allowed_blocks = 6
403-
if self.device == 'N310' or self.device == 'N300':
403+
self.max_allowed_blocks = 14
404+
elif self.device == 'E320':
405+
self.target = 'e320'
406+
self.max_allowed_blocks = 12
407+
elif self.device == 'N300':
408+
self.target = 'n3xx'
409+
self.max_allowed_blocks = 11
410+
elif self.device == 'N310' or self.device == 'N320':
404411
self.target = 'n3xx'
405412
self.max_allowed_blocks = 10
406413
oot_sources = os.path.join(uhd_image_builder.get_scriptpath(), '..', '..', 'top',\

0 commit comments

Comments
 (0)