| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change AWIDTH to be the same as MEM_ADDR_W by default. Current USRPs
assume the AXI address width is the same as MEM_ADDR_W.
|
| |
|
|
|
|
|
| |
Both files are a UHD 3 remnant and potentially confusing for UHD
4 codebase readers.
|
| |
|
|
|
|
|
|
|
| |
GitHub is removing support for using git://. Switch to https.
https://github.blog/2021-09-01-improving-git-protocol-security-github/
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
| |
Some comments describing data flow direction were wrong. This commit
updates the Mako files and updates the noc_shell modules with newly
generated versions.
|
|
|
|
|
|
| |
Added registers to read back radio time. Bumped minor compat.
Signed-off-by: michael-west <michael.west@ettus.com>
|
| |
|
|
|
|
| |
Add missing chdr_mgmt_*() and enum_to_chdr_w() functions.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The I and Q were swapped in sine_tone, which caused confusion and made
the rotation of REG_CARTESIAN clockwise by default. This effectively
made the resulting frequency negative. This PR makes the I and Q order
consistent with RFNoC and fixes the direction of rotation so that a
positive value for REG_PHASE_INC (phase increment) results in a
counter-clockwise rotation, which yields a positive frequency.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Modified to send 2 packets back to back at each packet size to test
output during sequential input packets. Also fixed whitespace.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Added delay to error packets so overrun error is back in-band. Avoids
dropping good data packets in the case of an overrun.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
| |
Re-wrote converter to remove clock cycle delay on i_tready when handling
residual output and fixed improper handling of tlast during residual
data processing. Resolves some USB overflow issues when using sc12 data
type on B200 devices.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were some rare corner cases where the EOB could get lost in the
DUC due to the dds_timed logic not always passing it through as it
should. This resulted in an underflow error message at the end of
transmission.
This commit also fixes an issue where part of the last packet
used a frequency shift of 0 instead of the requested frequency
shift, and an issue where the first few samples of a burst used the
wrong frequency shift value.
Part of the fix includes adding a TUSER port to dds_sin_cos_lut_only.
The TUSER port is built into the IP but was disabled. It is now
enabled and set to 1 bit wide. This has a very small effect on
resource usage and can be left unconnected when not needed.
The dds_freq_tune block was shared by the DUC and DDC. To avoid
affecting the DDC, a new version, dds_freq_tune_duc, is being
added for the DUC to use that has the necessary fixes.
The new dds_wrapper.v is a wrapper for the dds_sin_cos_lut_only IP.
This IP has the undesirable behavior that new inputs must be provided
to push previous outputs through the IP. This wrapper hides that
complexity by adding some logic to ensure all data gets pushed through
automatically. This logic uses the TUSER port on the IP.
Finally, a testbench for dds_timed was added.
|
|
|
|
| |
Clean-up and document axi_tag_time, dds_freq_tune, and axi_sync.
|
|
|
|
|
| |
Updated some comments that still referenced the old CORDIC
implementation, which is no longer used.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Adds a time_increment port for situations in which the parameter
TIME_INCREMENT can't be used. They offer the same behavior.
|
|
|
|
|
|
|
| |
This pipelines ctrlport_timer to eliminate the long combinational path
caused by the time comparisons. This change also removes the
PRECISION_BITS parameter and converts it to a signal named
time_ignore_bits.
|
| |
|
| |
|
|
|
|
|
| |
Add a SystemVerilog interface for connecting AXI4 ports, and an
associated header file with helper macros.
|
| |
|
|
|
|
|
| |
This adds a generic version of eth_internal that allows you to specify
the CHDR width.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per the RFNoC specification, if we set the frequency of flow
control updates to 0 then the input stream will not send flow control
status updates to the output stream handler.
This change makes it so that when the frequency of flow control status
updates is configured to be zero in the FPGA output stream handler
(i.e., cfg_fc_freq_bytes and cfg_fc_freq_pkts are both 0 in
chdr_stream_output) then the output stream handler will not use flow
control. That is, chdr_stream_output will not expect stream status
updates and will not restrict output packets.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The asynchronous feedback loop on the err signal causes X to get stuck
on the sum signal when simulating. This change adds a check for
simulation only to force X to 0 so that unknown inputs get resolved
once the inputs are known.
Also added default values to the ports out and strobe_out, since having
them uninitialized and without reset was causing simulation issues in
other modules. The FPGA will initialize them to 0, so this change makes
the code equivalent to real hardware behavior.
|
|
|
|
|
|
| |
The always(*) block was never executing in some simulators because
there were no signals on the right-hand side in the block. Changing it
to an initial block ensures it always runs.
|
|
|
|
|
|
|
|
|
|
| |
Removing the FIR filter in the frontend to reclaim resources and remove
redundancy when using a DDC block. The default image has a DDC block,
so only users making custom RFNoC images and using TwinRX will need to
take care to properly downconvert the full bandwidth coming from the
radio block.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
| |
Also fixes a typo in the calibration manual page.
|
| |
|
|
|
|
|
| |
- Adapt to coding guide
- Add header that explains the module
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Any packet less than CUT_THROUGH bytes has a high chance of getting
stuck in the TX FIFO of the xge_mac_wrapper. In cut-through mode we
were waiting for CUT_THROUGH bytes before transmitting the packet.
|
|
|
|
|
|
|
| |
When operating in cut-through mode the hold off from the MAC was not
applying back pressure, so when the TX interface filled up, data was
dropped. This bug was introduced when cut-through was added, and does
not impact the original implementation.
|
| |
|
|
|
|
|
|
|
| |
- Adds test coverage for stream command and status packets
- Cleans up report output during simulation
- Stops clocks at the end of simulation, so chdr_stream_endpoint_tb can
be run directly instead of just chdr_stream_endpoint_all_tb
|
|
|
|
|
|
| |
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.
|