Hi Jon, This doesn't answer my question, perhaps I didn't convey the problem clearly. I am trying to test the case where TLAST occurs on an odd sample, at the same time as EOB. Push word provides access to tlast, but not EOB. To throw eob I need to use send() which takes in pkt.payload and pkt.header. I can manipulate eob in the metadata there. pkt.payload is of type cvita_payload_t, which is 64 bits wide. Send() will throw tlast at the end of the packet, which will always contain a multiple of 2 complex samples since the payload is defined at 64 bits. That is my problem. There is no way to throw eob and tlast on a packet that contains an odd number of i/q samples.
Tim On Tue, Aug 27, 2019 at 12:21 AM Timothy Kurp <timothy.k...@gmail.com> wrote: > Thanks! I will look at that example. > > Tim > > On Tue, Aug 27, 2019 at 12:15 AM Jonathon Pendlum < > jonathon.pend...@ettus.com> wrote: > >> Hi Tim, >> >> Look at noc_block_fft_tb.v for an example on how to operate on a 32-bit >> sample by sample basis. Unfortunately, if you want to do sizes smaller than >> 32-bit, you'll need to write your own version of send()/recv() or >> push_word()/pull_word() from sim_rfnoc_lib.svh. >> >> Jonathon >> >> On Tue, Aug 27, 2019 at 1:05 PM Timothy Kurp via USRP-users < >> usrp-users@lists.ettus.com> wrote: >> >>> Hey Users! >>> >>> I think this may be a possible deficiency in the test bench >>> architecture, or perhaps I just don't know how to instrument it properly. I >>> have a custom block that performs a 2:1 rate change roughly, performing >>> compression of the 16 bit I/Q from the radio down to a 16 bit word that is >>> compressed, I won't describe how. There is a corner case if EOB occurs when >>> there is an odd number of samples received from the radio. I have handled >>> this by using simple mode = 0, manipulating cvita header manually and >>> throwing tlast to make packets, with success. The noc block works, but I am >>> struggling with how to exercise the corner case in the testbench. >>> >>> From what I have seen, the testbench only allows for EOB to be >>> manipulated on sample counts that are a multiple of 2 (send() operates on >>> 64 bits, or 2 samples of 16 bit I/Q). We have looked at the source and >>> there doesn't seem to be an easy way to throw EOB/TLAST on odd samples.We >>> also think it is not guaranteed that this will never happen from the radio. >>> Thoughts? >>> >>> Tim >>> _______________________________________________ >>> USRP-users mailing list >>> 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