I'm back with an update. As I mentioned below, I don't think my CEs are
the main issue here (I haven't ruled it out completely) so to highlight
the issue I'm struggling with, I'll try to present a reproducible
example that does not involve my custom CEs:
Consider the block diagrams seen here: https://imgur.com/a/k3zcaJT.
According to my understanding of this article:
https://kb.ettus.com/RFNoC, they should be more or less equivalent.
Now consider two FPGA images: The stock image (found in something like
/usr/local/share/uhd/images) and a "custom" image built with
uhd_image_builder.py that has the same CEs as the stock image (2x DDC,
2x DUC, 1x DmaFIFO and 2x Radio, all provided by Ettus) and nothing else
(no FIFOs or FFTs or any of my own CEs).
The USRP Sink-based TX chain works as expected on both images. However,
the RFNoC: Radio-based TX chain works on the stock FPGA image but fails
on the other, the "custom" image. The first time the RFNoC: Radio-based
chain fails on the "custom" image, everything is just quiet (no error
messages in GRC and no spike on the spectrum analyzer). Subsequent runs
will fail with "RuntimeError: RuntimeError: BIST failed! (code: 1)"
until the USRP is rebooted. The uhd_image_builder.py script finished
without any errors, such as timing violations or other design rule
violations.
So, getting back to the original question: Why am I not seeing any
output while using the RFNoC: Radio-based TX chain on the "custom"
FPGA-image?
//
Leon
On 2019-05-08 22:40, zluudg wrote:
Ok, I think I have an idea what to look for now. Thanks a lot for the
quick replies!
//
Leon
On 2019-05-08 22:29, Nick Foster wrote:
Anything that might hang the bus. If you don't consume packets, if
you generate packets addressed to the wrong CE, if you don't set
tlast correctly.
On Wed, May 8, 2019 at 1:03 PM zluudg <zlu...@zluudg.xyz
<mailto:zlu...@zluudg.xyz>> wrote:
Cool, I'll take a closer look at my CEs then.
What behavior on the main AXI-Stream data interface of a CE would
count as "not playing nicely"? I know that a master may not wait
on the tready-signal of a slave before asserting its
tvalid-signal, but other than that I'm unsure what type of
behavior could cause issues.
//
Leon
On 2019-05-08 21:34, Nick Foster wrote:
Short answer: yes. If your block isn't playing nicely it can do
bad things to the NoC crossbar.
Best solution is to simulate the whole NoC block.
On Wed, May 8, 2019 at 12:20 PM zluudg <zlu...@zluudg.xyz
<mailto:zlu...@zluudg.xyz>> wrote:
I thought that my own CEs was just a sidenote in this
context since the Gnuradio block diagram I used as an
example consists solely of Ettus-provided blocks.
I have not simulated my RFNoC CEs with Verilog testbenches.
I have simulated my blocks in a VHDL testbench, but not with
the RFNoC-generated System Verilog skeleton code. My blocks
seem to work fine during live testing in RX-only systems,
though.
So as a question back to you, can my custom CEs cause
trouble for the Ettus-provided CEs (DmaFIFO, DUC, Radio)
even if they are unused in a block diagram such as the
example I gave in my previous mail? If so, I'll take a
closer look at my custom CEs.
//
Leon
On 2019-05-08 18:41, Nick Foster wrote:
Have you simulated your RFNoC CEs with Verilog testbenches?
On Wed, May 8, 2019 at 8:12 AM zluudg via USRP-users
<usrp-users@lists.ettus.com
<mailto:usrp-users@lists.ettus.com>> wrote:
Hello!
I'm having some issues while trying to transmit a
signal using the
RFNoC: Radio block in Gnuradio. My block diagram is:
Signal Source (constant) -> RFNoC: DmaFIFO ->
RFNoC: Radio (in
TX mode).
I run the block diagram by calling "python
top_block.py" from the
command line and I'm not getting any errors while it's
running .
However, I'm unable to quit it properly without having
to close the
terminal window and power-cycle the USRP. When
connecting the USRP to a
spectrum analyzer I see no signal whatsoever (I expect
to see a peak at
2.4 GHz).
Removing the DmaFIFO does not seem to make any
difference. My FPGA image
is a custom image with some of my CEs, but it was built
smoothly using
the "uhd_image_builder.py" script. I've also
experienced similar
problems while having a RFNoC: DUC between the DmaFIFO
and the Radio
block, also with a custom FPGA image. With the stock
FPGA image I was
able to get a signal with more or less the same
Gnuradio block diagram.
Why am I not seeing any output with my custom FPGA
images? All
suggestions appreciated.
I'll happily provide more info if needed, so don't
hesitate to ask. For
know, I'll just provide the basics:
OS: Ubuntu 18.04
uhd: rfnoc-devel, eec24d7b0
gnuradio: maint-3.7, c6c575309
gr-ettus: master, a909447
Thanks in advance!
//
Leon
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com