You mentioned that your error happens when running from gnuradio.  What
happens if you remove gnuradio from the equation and run "uhd_usrp_probe"?
Do you still get the error?
Rob

On Wed, Sep 7, 2022 at 10:31 AM Piotr Krysik <per...@o2.pl> wrote:

> Hi Adrián,
>
> This error mean that the block didn't respond to a control message
> during initialization.
>
> I've seen such errors when element of RFNoC graphs wasn't working
> correctly.
> Those situations were when:
> 1. replay block wasn't working correctly due to wrong clock for DDR
> SDRAM controller module,
> 2. I removed implementation of one of Ethernet ports (in order to get
> quicker builds in Vivado) but its end-point was left in the RFNoC graph.
> So it was probed during initialization but there was nothing that could
> respond.
>
> Best Regards,
> Piotr Krysik
>
> W dniu 06.09.2022 o 14:59, Adrián Campos Ramos pisze:
> > HI everyone
> >
> > Thank you very much. I made a controller and, according to the
> > simulation, it's working fine, at least as I wanted. However, I am
> > facing problems to implementate in the fpga. There is not problem when
> > i generate the .bit buf when i call in gnuradio, this error appears:
> >
> > WARNING] [UDP] The current send_buff_size of 212992 is less than the
> > minimum recommended size of 307200 and may result in dropped packets
> > on some NICs
> > [ERROR] [RFNOC::GRAPH] Error during initialization of block 0/DmaFIFO#0!
> > [ERROR] [RFNOC::GRAPH] Caught exception while initializing graph:
> > RfnocError: OpTimeout: Control operation timed out waiting for ACK
> > Traceback (most recent call last):
> >   File
> > "/home/integrasys/rfnoc/src/uhd/fpga/usrp3/top/e320/build/untitled.py",
> > line 181, in <module>
> >     main()
> >   File
> > "/home/integrasys/rfnoc/src/uhd/fpga/usrp3/top/e320/build/untitled.py",
> > line 157, in main
> >     tb = top_block_cls()
> >   File
> > "/home/integrasys/rfnoc/src/uhd/fpga/usrp3/top/e320/build/untitled.py",
> > line 76, in __init__
> >     self.rfnoc_graph = ettus_rfnoc_graph_0 =
> > ettus.rfnoc_graph(uhd.device_addr(",".join(("addr=192.168.1.23", ''))))
> >   File "/usr/local/lib/python3/dist-packages/ettus/ettus_swig.py",
> > line 1153, in make
> >     return _ettus_swig.rfnoc_graph_make(dev_addr)
> > RuntimeError: RuntimeError: Failure to create rfnoc_grap
> >
> > I attached my image.yml:
> >
> >
> > Thanks in advance.
> >
> > El jue, 1 sept 2022 a las 22:24, Wade Fife (<wade.f...@ettus.com>)
> > escribió:
> >
> >     The DRAM on USRPs is half duplex, but the AXI bus is full duplex,
> >     which makes the real world behavior more complicated. If you want
> >     to simulate accurately for a specific USRP, you could pull in its
> >     AXI interconnect, the Xilinx memory interface IP, and a DRAM
> >     simulation model, then connect it together and match the USRP
> >     design exactly, but this is a lot of work. There are examples that
> >     are similar to this in fpga/usrp3/top/x300/sim/dram_fifo and
> >     fpga/usrp3/top/n3xx/sim/dram_fifo. There's no example for E320,
> >     but the idea is similar.
> >
> >     Wade
> >
> >     On Thu, Sep 1, 2022 at 5:38 AM Adrián Campos Ramos
> >     <adrian.cam...@integrasys-sa.com> wrote:
> >
> >         Thank you very much! I was testing the code and I got
> >         something similar to what I wanted. However, in the simulation
> >         the sim_ram is half duplex and my question is if the
> >         implementation in the FPGA is also half or full duplex. And if
> >         it is full, is there any way to simulate?
> >
> >         Thanks in advance.
> >
> >         Adrián
> >
> >         El mié, 31 ago 2022 a las 16:22, Wade Fife
> >         (<wade.f...@ettus.com>) escribió:
> >
> >             OUT_FIFO_SIZE sets the size of the FIFO used to buffer
> >             data read from the external DRAM. But the unit for this
> >             parameter is log base 2 of the size. So, setting it to 20
> >             means the output FIFO will be 2^20 words or 8 MiB
> >             implemented in BRAM, which is too big for the FPGA to
> >             support. You should probably leave it at the default
> >             value. The amount of DRAM to use for the FIFO can be set
> >             by the FIFO_ADDR_MASK parameter.
> >
> >             It should behave like a true FIFO. So anything you write
> >             to the input will come out on the output, but you can
> >             buffer up to the size of the memory you have configured.
> >             I'm not sure I understand your application exactly, but if
> >             you only want to capture at a specific time, then you
> >             should add logic to only write the data to the input of
> >             the FIFO during those times and take care to handle
> >             overflow when the FIFO fills. And add logic on the output
> >             to only read when you want, taking care to handle
> >             underflow when the FIFO empties.
> >
> >             Wade
> >
> >             On Wed, Aug 31, 2022 at 4:42 AM Adrián Campos Ramos
> >             <adrian.cam...@integrasys-sa.com> wrote:
> >
> >                 Hi,
> >
> >                 Thank you very much, now I understand how it works and
> >                 it runs perfectly. However, it's not what I expected
> >                 since it does not FIFO behaviour, or I'm
> >                 doing something wrong. What I need is a FIFO that
> >                 stores the data of a signal when I activate a flag and
> >                 reads when I activate another flag continuously and
> >                 constantly. Currently, I have the FIFO implemented in
> >                 the FPGA but it takes too much resources  so I want to
> >                 take advantage of the E320 RAM. I think the
> >                 axi_ram_fifo would be perfect for my project but as
> >                 far i can see, when space = 0 and occupied is full, it
> >                 starts to lose the continuity. On the other hand, I
> >                 don't know why but I can't  increase the
> >                 FIFO_OUT_SIZE. With 10 there are outputs but if i
> >                 increase, for example, to 20 it doesn't.
> >
> >                 I attached a photo of the behavior of the
> >                 input_fifo/fifo_ram/ram.
> >                 p1.png
> >
> >                 El mar, 30 ago 2022 a las 19:54, Wade Fife
> >                 (<wade.f...@ettus.com>) escribió:
> >
> >                     Hello Adrián,
> >
> >                     REG_FIFO_FULLNESS is the number of bytes currently
> >                     stored in the RAM of the FIFO.
> >
> >                     FIFO_ADDR_W is a testbench parameter that defines
> >                     the amount of memory address space to use for the
> >                     simulated FIFOs. The unmodified testbench uses a
> >                     single memory to test two FIFOs. So the sum of the
> >                     memory used by both FIFOs must be less than the
> >                     size of the memory being simulated in order for
> >                     the testbench to work (i.e., 2 * 2**FIFO_ADDR_W
> >                     must not exceed 2**MEM_ADDR_W).
> >
> >                     IN_FIFO_SIZE and OUT_FIFO_SIZE control the size of
> >                     the input/output buffers used by the block. They
> >                     can affect the performance of the FIFO, but must
> >                     be large enough to hold two of the expected burst
> >                     memory transfer size, which I think is 512 words.
> >
> >                     The testbench is failing because it expects the
> >                     FIFO to be empty when the simulation begins.
> >                     Perhaps you have started inputting values before
> >                     it was expecting you to?
> >
> >                     Wade
> >
> >                     On Tue, Aug 30, 2022 at 3:13 AM Adrián Campos
> >                     Ramos <adrian.cam...@integrasys-sa.com> wrote:
> >
> >                         Hi everyone,
> >
> >                         First of all, thank you very much Rob Kossler
> >                         for the explanation. I made a "controller"
> >                         that sends and receives information at certain
> >                         points in time. However, I am facing problems
> >                         in relation to REG_FIFO_FULLNESS. I've been
> >                         changing the values of FIFO_ADDR_W,
> >                         IN_FIFO_SIZE and OUT_FIFO_SIZE but it didn't
> >                         work. Furthermore, I don't understand the
> >                         problem at all, is the input fifo or the
> >                         output fifo? or the ram?. The controller
> >                         mentioned before has only two counters, one to
> >                         activate the valid flag to send information
> >                         and another to activate the ready flag to
> >                         receive the information and, as far i could
> >                         see, it was working until the assert.
> >
> >                         This is the error that returns me the
> >                         simulation (the number that appears in the
> >                         image is for: `ASSERT_ERROR(val64 == 0,
> >                         $sformatf("Incorrect REG_FIFO_FULLNESS value!
> >                         %d",val64));
> >
> >                         Screenshot from 2022-08-30 10-10-52.png
> >                         On the other hand, the data that I send to RAM
> >                         is the value of a counter.
> >
> >                         I hope you can help me. Thanks in advance.
> >
> >                         Adrián Campos
> >
> >                         El jue, 18 ago 2022 a las 22:49, Rob Kossler
> >                         (<rkoss...@nd.edu>) escribió:
> >
> >                             Replace "upstream" with "downstream" below.
> >
> >                             On Thu, Aug 18, 2022 at 1:28 PM Rob
> >                             Kossler <rkoss...@nd.edu> wrote:
> >
> >                                 Hi Adrian,
> >                                 As you indicated, the RFNoC blocks
> >                                 axi_ram_fifo and Relay both use the
> >                                 FPGA RAM.  axi_ram_fifo doesn't need
> >                                 any registers for control because it
> >                                 just accepts an AXI stream on the
> >                                 input and forwards that exact stream
> >                                 on the output. The "control" is in the
> >                                 AXI tvalid/tready handshaking. Thus,
> >                                 if the upstream block is not ready,
> >                                 the FIFO starts filling up but does
> >                                 not empty until the upstream block is
> >                                 ready.  But, for the Replay block,
> >                                 this block stores the incoming stream
> >                                 to RAM until you later decide to play
> >                                 it out.  It can be used in the
> >                                 transmit path to load a waveform into
> >                                 RAM such that it can be played out to
> >                                 the Tx Radio without any help from the
> >                                 host PC.  Or, it can be used in the
> >                                 receive path to store receive samples
> >                                 as they arrive (up to the given RAM
> >                                 memory depth) and then later
> >                                 downloaded (played out) to the host PC
> >                                 in non-realtime.
> >
> >                                 While I don't know your specific
> >                                 application, I wondered if the Replay
> >                                 block (or the axi_ram_fifo) can
> >                                 already implement your desired
> >                                 functionality such that a custom block
> >                                 is not needed.
> >                                 Rob
> >
> >                                 On Thu, Aug 18, 2022 at 8:25 AM
> >                                 <adrian.cam...@integrasys-sa.com> wrote:
> >
> >                                     I am making a custom block which
> >                                     has to start storing data to be
> >                                     read later, in other words store
> >                                     the data in a FIFO. I am
> >                                     interested in using the RAM
> >                                     provided by the E320 so I want to
> >                                     take advantage of the axi_ram_fifo
> >                                     code. However, I don't really
> >                                     understand the control of that
> >                                     block, how can I control when to
> >                                     start writing data to memory and
> >                                     when to start reading it? I have
> >                                     checked the registers in case it
> >                                     could be controlled from there
> >                                     like the replay block that has two
> >                                     registers to start reading and
> >                                     another one to do a restart but I
> >                                     haven't seen anything like that.
> >
> >                                     I hope you can help me. Thank you
> >                                     very much in advance
> >
> >
> >
>  _______________________________________________
> >                                     USRP-users mailing list --
> >                                     usrp-users@lists.ettus.com
> >                                     To unsubscribe send an email to
> >                                     usrp-users-le...@lists.ettus.com
> >
> >                         _______________________________________________
> >                         USRP-users mailing list --
> >                         usrp-users@lists.ettus.com
> >                         To unsubscribe send an email to
> >                         usrp-users-le...@lists.ettus.com
> >
> >
> > _______________________________________________
> > USRP-users mailing list -- usrp-users@lists.ettus.com
> > To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to