[USRP-users] Re: tracing an overflow error

2022-09-21 Thread Kevin Williams
Hi Everyone, I've got the i/o to registers in my core working - so the various layers of logic from testbench through the rfnoc wrapper, control channel, my core, and back, appear fine. However, moving back to the chdr channel ("client interface" as per the module created by rfnocmodtool) I see t

[USRP-users] Re: tracing an overflow error

2022-09-16 Thread Kevin Williams
Hi Guys, No solution yet, so to summarize: My IP core generates TVALID's after a reset. These TVALID's are seen in the "client interface" of the RFNoC wrapper. They are not propagated to the master interface of the "framework interface"? The IP core gets the correct input data after a "send_it

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Jonathon Pendlum
Hi Kevin, To expand on Brian's and Rob's comments, one issue that often comes up is user logic bugs related to AXI stream's tvalid / tready signaling. The user's logic will pass their test bench but behave strangely or lock up when running on hardware. I've found that before running on hardware, y

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Rob Kossler
Hi Kevin, If you run the rfnoc-example gain testbench, it should demonstrate that the testbench is providing a suitable environment for testing your custom logic or core. Maybe see what is different between that and your testbench. If the problem turns out to be related to the "waiting for TREADY

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Brian Padalino
On Wed, Sep 14, 2022 at 1:55 PM Kevin Williams wrote: > Thanks Brian. I think the core gets generated in a way which respects > back-pressure, so unless a TREADY is seen the core does not generate output > samples. I have observed this by simulating the core in isolation. > On 14 Sep 2022, 17:49

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Kevin Williams
Thanks Brian. I think the core gets generated in a way which respects back-pressure, so unless a TREADY is seen the core does not generate output samples. I have observed this by simulating the core in isolation. On 14 Sep 2022, 17:49 +0200, Brian Padalino , wrote: > I believe the AXI spec says t

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Brian Padalino
I believe the AXI spec says that data should be presented when valid, and the tready signal just accepts that data. You can't rely on tready to be asserted before asserting tvalid. With that being said, I have no idea if this is the source of any of your issues. Brian On Wed, Sep 14, 2022 at 11

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Kevin Williams
Hi, I don't seem to be able to get TREADY's asserted for my core in a testbench. (See the "X's" in the testbench below. The symptom is that the "recv_items" blocks until the test times out.) Without that check the "send_items" call is fine, and I can see the transaction progressing on that int

[USRP-users] Re: tracing an overflow error

2022-09-14 Thread Kevin Williams
Hi Rob, thanks for that testbench advice. My core will not provide output if it does not see TREADY on its master interfaces. (Which I have verified by simulating the core on its own.) I have used the rfnoc-example testbench for reference, and issue a "blk_ctrl.send_items(0, send_samples)". Moni

[USRP-users] Re: tracing an overflow error

2022-09-13 Thread Rob Kossler
Have you tried to run an rfnoc-style testbench such as in the rfnoc-example? If not, this may be useful. If you try this, it may be easier to follow the example if you change your output number of ports to be 1 so that it is a simple 1-to-1 block. Rob On Tue, Sep 13, 2022 at 6:36 AM Kevin Willia

[USRP-users] Re: tracing an overflow error

2022-09-13 Thread Kevin Williams
Hi Rob, I can confirm the radio streams correctly. I have also tried tx_streamer => multiDDC => rx_streamer which successfully sends a number of samples, but none are received. (The script is below.) Just to summarize, the IP core seems to be behaving correctly when simulated in Vivado where I a

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Rob Kossler
One more thought. If the FPGA version that you built with dynamic linking, you should be able to create an RFNoC Graph as follows: tx_streamer => multiDDC => rx_streamer(s) This way you can eliminate the radio from the equation and test in a very similar fashion to the way it is tested in a testb

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Rob Kossler
Oops. Ignore what I said. I now realize you stated you were getting an Overflow which of course you would never get if streaming hadn't started. Rob On Mon, Sep 12, 2022 at 6:32 PM Rob Kossler wrote: > Are you sure that the radio is even streaming? The typical method for > starting streaming is

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Rob Kossler
Are you sure that the radio is even streaming? The typical method for starting streaming is to tell the rx_streamer to start streaming. Then, in UHD-land, the rx_streamer ctrl tells the next upstring block to start streaming such that this streaming command propagates up the chain until the radio

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Kevin Williams
Yes, of course. But I don't get 1 sample from the ddc's, even with just one channel of a 2:1 decimated channel connected to the rx streamer. On Mon, 12 Sept 2022 at 22:13, Jonathon Pendlum wrote: > The aggregate output rate of the 5 streams could require more bandwidth > than the 10 GigE interfa

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Jonathon Pendlum
The aggregate output rate of the 5 streams could require more bandwidth than the 10 GigE interface can sustain. What are the exact output rates? On Mon, Sep 12, 2022 at 3:53 PM Kevin Williams wrote: > Those rates vary from a 2:1 decimation down to other rates. > > The host has 10 Gbe interfaces

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Kevin Williams
Those rates vary from a 2:1 decimation down to other rates. The host has 10 Gbe interfaces to the USRP. I get samples if i connect the radio to the rx streamer, just nothing from the ddc's. On Mon, 12 Sept 2022 at 21:48, Jonathon Pendlum wrote: > Hi Kevin, > > What are the sample rates for the

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Jonathon Pendlum
Hi Kevin, What are the sample rates for the 5 outputs? What connection are you using to your host PC, 1 GigE or 10 GigE? Jonathon On Mon, Sep 12, 2022 at 3:38 PM Kevin Williams wrote: > Hi Jonathon, > > I've got an x310. The flowgraph is a simple radio->multiddc->(to 5x > outputs). I've tried

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Kevin Williams
Hi Jonathon, I've got an x310. The flowgraph is a simple radio->multiddc->(to 5x outputs). I've tried both static and dynamic routing from the radio block. I.e. the static route version: |/ | | Static connections on this device: | | | | * 0/Radio#0:0==>0/multiddc#0:0 | | * 0

[USRP-users] Re: tracing an overflow error

2022-09-12 Thread Jonathon Pendlum
Hello Kevin, What device are you using and what does your flowgraph look like? What sample rate are you running at? If your block is running at the radio sample rate (e.g. 200 MSPS on a X310), your block will need to process one input sample every clock cycle on average. Jonathon On Mon, Sep 12,