addRFNoCRegisterInterface
Add-On Required: This feature requires the Wireless Testbench™ Support Package for NI™ USRP™ Radios add-on.
Description
addRFNoCRegisterInterface(
adds an RFNoC register interface that you can use to control the DUT
ports mapped to register interfaces in the generated IP core from
MATLAB® and specifies options using name-value arguments.dut
,Name=Value
)
Examples
Access DUT, Map RFNoC Register Interface, and Read Data
This example uses:
- Wireless TestbenchWireless Testbench
- Wireless Testbench Support Package for NI USRP RadiosWireless Testbench Support Package for NI USRP Radios
- HDL CoderHDL Coder
- HDL Coder Support Package for Xilinx FPGA and SoC DevicesHDL Coder Support Package for Xilinx FPGA and SoC Devices
Create a usrp
System object, specifying a radio setup configuration previously saved in the Radio Setup wizard.
device = usrp("MyRadio");
Configure your radio with the target interfaces.
describeFPGA(device,"ModelName_wthandoffinfo.mat");
Create an fpga
object to access your DUT on the FPGA of your radio.
dut = fpga(device);
Add an RFNoC register interface to your DUT.
addRFNoCRegisterInterface(dut, ... "InterfaceID","DUTName", ... "RFNoCBlock","0/DUTName#0");
Create an hdlcoder.DUTPort
(HDL Coder) object for the DUT port and specify the properties.
DUTPort_Read_Register = hdlcoder.DUTPort("Read_Register", ... "Direction","OUT", ... "DataType","int16", ... "IsComplex",false, ... "Dimension",[1 1], ... "IOInterface","DUTName", ... "IOInterfaceMapping",1);
Map the DUT port to the RFNoC interface you added to your DUT.
mapPort(dut,DUTPort_Read_Register);
Connect to the radio and apply radio front end properties.
setup(device);
Read data from the DUT port.
data = readPort(dut,"Read_Register")
data = int16
0
Release the hardware resources.
release(dut);
Access DUT, Map RFNoC Register Interface, and Write Data
This example uses:
- Wireless TestbenchWireless Testbench
- Wireless Testbench Support Package for NI USRP RadiosWireless Testbench Support Package for NI USRP Radios
- HDL CoderHDL Coder
- HDL Coder Support Package for Xilinx FPGA and SoC DevicesHDL Coder Support Package for Xilinx FPGA and SoC Devices
Create a usrp
System object, specifying a radio setup configuration previously saved in the Radio Setup wizard.
device = usrp("MyRadio");
Configure your radio with the target interfaces.
describeFPGA(device,"ModelName_wthandoffinfo.mat");
Create an fpga
object to access your DUT on the FPGA of your radio.
dut = fpga(device);
Add an RFNoC register interface to your DUT.
addRFNoCRegisterInterface(dut, ... "InterfaceID","DUTName", ... "RFNoCBlock","0/DUTName#0");
Create an hdlcoder.DUTPort
(HDL Coder) object for the DUT port and specify the properties.
DUTPort_Write_Register = hdlcoder.DUTPort("Write_Register", ... "Direction","IN", ... "DataType","int16", ... "IsComplex",false, ... "Dimension",[1 1], ... "IOInterface","DUTName", ... "IOInterfaceMapping",128);
Map the DUT port to the RFNoC interface you added to your DUT.
mapPort(dut,DUTPort_Write_Register);
Connect to the radio and apply radio front end properties.
setup(device);
Write data to the DUT port.
data = 20;
writePort(dut,"Write_Register",data)
Release the hardware resources.
release(dut);
Input Arguments
dut
— Target DUT on FPGA of target NI™ USRP™ radio device
fpga
object
Target DUT on the FPGA of a target NI
USRP radio device, specified as an fpga
object.
Name-Value Arguments
Specify
pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where
Name
is the argument name and
Value
is the corresponding value. Name-value
arguments must appear after other arguments, but the order of the pairs
does not matter.
Example: InterfaceID
="yourDUTSubsystemName"
,
RFNoCBlock
="0/yourDUTSubystemName#0"
.
InterfaceID
— Name assigned to RFNoC register interface
string scalar
Name assigned to the RFNoC register interface, specified as a string scalar.
Example: "yourDUTSubsystemName"
Data Types: string
RFNoCBlock
— Name of RFNoC block that contains DUT
string scalar
Name of the RFNoC block that contains the DUT, specified as a
string scalar. The RFNoC block name is generated from the name of
your DUT subsystem in the format
"0/"+yourDUTSubystemName+"#0"
.
Example: "0/yourDUTSubystemName#0"
Data Types: string
Version History
Introduced in R2024a
See Also
Objects
Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)