aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fpga: rfnoc: Update CHDR stream INIT commandWade Fife2020-08-281-3/+10
| | | | | | This changes the behavior of the stream command with the INIT OpCode such that sending the command with 0 for the values causes no flow control stream status packets to be sent in response to incoming data.
* fpga: lib: Fix lint warningsWade Fife2020-08-283-3/+3
| | | | | Fixes various synthesis/simulation warnings that were being generated due to incorrectly sized constants.
* cmake: Use relative path to Python lib location for Windows installerAaron Rossetto2020-08-281-5/+17
|
* rfnoc: enable SEPs with connect_through_blocksSteven Koo2020-08-281-2/+24
| | | | | | | | Calling on connect with SEPs in the path is not supported. This change enables connect_through_blocks to find SEPs in the connection chain and link the src and dest blocks directly. Signed-off-by: Steven Koo <steven.koo@ni.com>
* rfnoc: Exit disconnect() early if nodes not in node mapAaron Rossetto2020-08-281-0/+4
|
* utils: b2xx_fx3_utils: Add unload-bootloadermichael-west2020-08-251-1/+32
| | | | | | | Added unload-bootloader option to cleanly unload a previously loaded bootloader image. It properly moves the VID, PID, and EEPROM data. Signed-off-by: michael-west <michael.west@ettus.com>
* firmware: b2xx: Update to newer Cypress FX3 SDKmichael-west2020-08-254-168/+130
| | | | | | | | | - Updated README with instructions on how to build using new SDK (1.3.4 as of this change) - Updated makefiles - Updated memory map patch Signed-off-by: michael-west <michael.west@ettus.com>
* B2xx: firmware: Fix address for serial numbermichael-west2020-08-251-1/+1
| | | | | | | | The address for the serial number was off by 2 bytes, causing a bad value in the USB descriptor. This only occurred if the bootloader image was loaded on the device. Signed-off-by: michael-west <michael.west@ettus.com>
* tests: fbs test: Fix issues around missing gitMartin Braun2020-08-252-3/+7
| | | | | | | | | - update_fbs.py would use git directly, instead of the requested git executable - There are other corner cases for the git executable detection, which are now all captured under a more general exception type Credit to Christopher Friedt for pointing out the original issue.
* fpga: rfnoc: Remove deprecated filesWade Fife2020-08-2323-2679/+5
|
* fpga: Update coding guidelinesWade Fife2020-08-201-30/+107
| | | | | | | | | | - Update recommended header - Update module examples - Add file/naming guidelines for modules - Add default_nettype recommendation - Add guidelines for generate statements - Recommend all caps for constants - Misc typos and adjustments
* Update CHANGELOGAaron Rossetto2020-08-191-0/+5
|
* images: Update manifestAaron Rossetto2020-08-191-6/+6
|
* mpm: exclude internal nic for network hostsSteven Koo2020-08-191-4/+35
| | | | | | | | | | Sometimes the internal nic address is routable in network mode. This causes mpm find to incorrectly set it as the addr. This commit removes the internal interfaces from the routable list. This also sets the forwarding interface as the last resort. mpm will prefer the SFP ports since they can be higher throughput. Signed-off-by: Steven Koo <steven.koo@ni.com>
* NI-2974: Add cal supportmichael-west2020-08-191-0/+1
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* fpga: e31x: Change RFNoC Ctrl clock to 40 MHzWade Fife2020-08-192-1/+3
|
* fpga: e320: Fix timeout for timekeeper registersWade Fife2020-08-191-191/+284
| | | | | | This implements the same change that was made for E31x. The same issue wasn't reproduced on N3xx, however this change keeps the code consistent and eliminates the potential for the same problem.
* fpga: n3xx: Fix timeout for timekeeper registersWade Fife2020-08-193-195/+307
| | | | | | This implements the same change that was made for E31x. The same issue wasn't reproduced on N3xx, however this change keeps the code consistent and eliminates the potential for the same problem.
* fpga: e31x: Fix timeout for timekeeper registersWade Fife2020-08-191-180/+278
| | | | | | | | Fixing an issue in which a very slow radio_clk (due to low sample clock rate) could cause bus transactions to be issued to the timekeeper faster than it could service them, resulting in a timeout. This change replaces RegPort with CtrlPort so that proper flow control can be maintained to the timekeeper.
* fpga: lib: Add more CtrlPort constantsWade Fife2020-08-191-7/+12
| | | | Add some missing CtrlPort signal widths to ctrlport.vh.
* fpga: lib: Add ctrlport_to_regport bridgeWade Fife2020-08-192-0/+91
|
* Prepare branch for 4.0.0.0-rc1 releaseAaron Rossetto2020-08-172-29/+225
| | | | | - Updated CHANGELOG - Updated manifest
* python: power cal: Minor fixes to power cal codeMartin Braun2020-08-172-5/+9
| | | | | | | | - Fix some typos - Fix incorrect arg name for RFSGPowerGenerator.enable() - Fix case where incorrect args would cause an uncaught TypeError. Now, if USRP is chose as signal generator, but fails to find one, a proper error is shown.
* uhd: Add APIs for getting the available power rangeMartin Braun2020-08-177-0/+99
| | | | | | | | | The previously added APIs for getting/setting power reference levels was missing an option to read back the currently available power levels (minimum and maximum power levels). This adds getters for TX and RX power ranges to multi_usrp and radio_control. The power API is thus now more similar to the gain API, which always had getters for gain ranges.
* X300: Adjusting 10GbE frame sizes for HW limitsmichael-west2020-08-171-2/+2
| | | | | | | Lowering X300 10GbE default frame sizes to max size supported by hardware. Signed-off-by: michael-west <michael.west@ettus.com>
* multi_usrp: Use multi_usrp::sptrs in graph disconnect lambdasAaron Rossetto2020-08-171-9/+12
|
* fpga: e320: Fix default YAML target to E320_1GMartin Braun2020-08-171-1/+1
| | | | | It was set to E320_HG, which is not a valid target, causing build errors unless -t E320_1G was provided to rfnoc_image_builder.
* fpga: e310: Fix device in image core YAMLWade Fife2020-08-141-1/+1
| | | | | Device was set to e31x, but this is not a valid device type. All e31x devices use the e310 device type.
* dpdk: clean up destruction order of dpdk context membersettus2020-08-141-4/+4
| | | | | | | Clear the io service map and the dpdk port map in the dpdk context destructor to force them to destruct before the dpdk context. Signed-off-by: ettus <matt.prost@ni.com>
* fpga: rfnoc: Enable clean switch in SwitchboardWade Fife2020-08-131-1/+1
| | | | | This change prevents packets from being chopped midway if the switchboard configuration is changed when a packet is in flight.
* fpga: lib: Fix SWITCH_ON_LAST in axi_mux_selectWade Fife2020-08-131-18/+39
| | | | | Thange allows the mux to switch cleanly between packets, if the mux select input is changed while a packet is in flight.
* README.md: Fix REDHAWK linkLane Kolbly2020-08-131-1/+1
|
* fpga: lib: add handshake to replace FIFO for ctrlport CDCMax Köhler2020-08-133-48/+143
| | | | | | | | The clock crossing of the ctrlport used FIFOs to transfer requests and responses between clock domains. This commit adds a handshake based on the pulse synchronizer to reduce the resource usage for ctrlport clock domain crossing. Data is stored in a single register while the pulse synchronizer handles the signaling of valid flags.
* rh: Enable inverse sinc filter for DAC37J82Martin Braun2020-08-121-1/+1
| | | | | This enables the inv_sinc_ab and inv_sinc_cd flags for the DAC, turning on the inverse sinc filter.
* n320: Double radio ingress buffer sizemattprost2020-08-122-8/+8
| | | | | | | This increases the size of the ingress buffers for the N320 radio to support 250MHz TX streaming rates. Signed-off-by: mattprost <matt.prost@ni.com>
* fpga: rfnoc: Fix clock crossing in axis_data_to_chdrWade Fife2020-08-121-69/+89
| | | | | | | | | This fixes some incorrectly handled clock crossings from axis_data_clk to axis_chdr_clk, which could have manifested as timing failures (on E320) or incorrect behavior, depending on the product and noc_shell configuration. Also cleans up trailing white space.
* rfnoc: set a nop destructor for clang crashSteven Koo2020-08-121-0/+5
| | | | | Clang will generate an illegal instruction if a virtual destructor isn't defined.
* rfnoc: Increase ctrlport_endpoint default timeoutSteven Koo2020-08-121-1/+1
| | | | The .1 second timeout fails on macOS. Expand this timeout to 1 second.
* uhd: Remove assignment to const var for mac buildSteven Koo2020-08-121-11/+0
| | | | | These values are already correctly set upstream and should not be modified since params is const.
* uhd: Disable optimizations for Mac for build speedSteven Koo2020-08-121-0/+9
| | | | | twinrx_gain_tables takes long time to build with optimizations on macOS / Clang. Turn them off for this platform.
* fpga: lib: Change max FFT size to 1024Wade Fife2020-08-112-3/+3
| | | | | | | | | | | | | The max FFT size was 4096, but we don't currently have any devices that can do that without modification. This is because, currently, the FFT size must be the same as the packet size, and the largest packet size supported by most devices is about 8000 bytes, or 2000 sc16 samples. Therefore, the largest FFT size supported without modifying other code is 1024 samples. This change frees up about 21% of the LUTs and 36% of the BRAM used by axi_fft and makes the software block controller and the IP agree on the maximum FFT size.
* examples: replay samples from filemattprost2020-08-113-414/+424
| | | | | | | This example exercises the Replay Block RFNoC API. The Replay records IQ data from a file and plays it back into a Radio for transmitting. Signed-off-by: mattprost <matt.prost@ni.com>
* rfnoc: Don't error when streamer isn't foundSteven Koo2020-08-111-8/+0
| | | | | | This commit resolves an issue where the disconnect call would fail if the streamer was created, but not connected. If disconnect gets called on a streamer that isn't on the graph, ignore it.
* rfnoc: Resolves streamer/link segfaults on pythonSteven Koo2020-08-114-24/+33
| | | | | | | | | This commit resolves a segfault that occurs during teardown. Since teardown isn't detereministic in python, there were cases where the graph would destruct before the streamers or links got chance to cleanup. This would result in a segfault. This change gives the lambda a shared pointer to the object the callback method is calling on, so that it won't destruct before being called.
* twinrx: update synthesizer register values for improved rf performancemattprost2020-08-112-14/+31
| | | | | | | | | | | | | Updated Register values for ADF5356: R2) Expand Frac2 to a 28-bit value for ADF5356 R6) Use negative bleed current for improved spurious performance R7) Set Fractional-N Lock Detect Precision to 12.0 ns because of bleed currents R8) Use magic number for reserved bits R9) Fix VCO Band Division calculation for ADF5356 RD) Expand Frac2 to a 28-bit value for ADF5356 Signed-off-by: mattprost <matt.prost@ni.com>
* python: Change default name for rfnoc_image_coreWade Fife2020-08-102-9/+16
| | | | | | | | This changes the default name of the image core file to <DEVICE>_rfnoc_image_core.v instead of naming it after the YAML file. This ensures that when you use a custom YAML file, the resulting FPGA build will use the generated rfnoc_image_core and static_router files, rather than just the generated static_router file.
* devtest: Support multi_usrp_test on WindowsSteven Koo2020-08-101-1/+6
| | | | | | Windows requires the command 'python' to prepend calls to .py files. This change moves the path to multi_usrp_test.py to an argument on Windows.
* fpga: rfnoc: Add tests to FFT blockWade Fife2020-08-102-39/+202
| | | | | This adds additional tests to the testbench to cover register reads and basic IFFT functionaltiy.
* X300: Update frame sizes for 10GbEmichael-west2020-08-071-7/+5
| | | | | | | | | Setting default frame sizes for 10 GbE to match an Ethernet MTU of 9000, which is recommended in the UHD manual for the X300. The MTU detection code is left untouched, so it will automatically adjust if the MTU is lower than 9000. Signed-off-by: michael-west <michael.west@ettus.com>
* Python API: Add bindings for disconnect APIsmichael-west2020-08-071-0/+7
| | | | | | | Add Python bindings for recently added rfnoc_graph::disconnect() methods. Signed-off-by: michael-west <michael.west@ettus.com>