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

Reply via email to