bladeRF icon indicating copy to clipboard operation
bladeRF copied to clipboard

[hdl] RX Multiplexer should be placed directly in front of the RX FIFO

Open thasti opened this issue 7 years ago • 1 comments

Currently, the RX Multiplexer is placed before the IQ correction module in the FPGA design. This has two drawbacks:

  • A custom FPGA application working on the IQ samples would probably want to use the IQ correction, and switch between either the IQ-corrected samples or the custom logic output going to the FX3 using the RX mux. This is not possible with the current architecture. It is desirable to always have the option of muxing the IQ corrected raw samples to the PC (either for the libbladeRF-based DC calibration to still work or for debugging reasons).
  • The FPGA loopback option currently also processes the TX samples using the DC correction. A user would probably expect the RX samples be identical (i.e. the same numbers) to the ones he/she was TXing. As they are currently processed by the IQ correction as well, this will not be the case.

I propose to move the RX MUX after the IQ correction and in front of the RX FIFO. This would make no functional difference and needs no API changes, but easily gives more flexibility for custom FPGA designs.

If this suggestion is welcome, I would be able to prepare a pull request.

thasti avatar Jun 28 '17 11:06 thasti

I just got around to testing this, the needed changes are demonstrated in https://github.com/thasti/bladeRF/commit/701e842a869f908c773f775c95acf04b66c81bf8. In case this is considered useful, I can modify the other bladeRF architectures and prepare a pull request.

thasti avatar Jun 30 '17 11:06 thasti