Hi Andrew,

One thing the testbench infrastucture does not simulate is packet latency
variation. I have seen this happen in the past where custom code has a
subtle AXI stream implementation bug that only comes up in hardware since
the offending tvalid / tready pattern does not occur in simulation. One
thing to try in simulation is to randomly force the deassertion of the
tvalid / tready signals on the AXI stream buses of your block. This can be
implemented as some temporary shim logic between axi_rate_change and your
block. For instance, on the input side of your block, randomly deassert the
tvalid from axi_rate_change and the tready from your block. Make sure to do
them together so axi_rate_change sees tready deasserted at the same time
that your block sees the tvalid deasserted.

I would also suggest chipscoping the signal 'error_extra_outputs' output
from axi_rate_change. Knowing if that signal is asserted during the
timeouts is really useful information.

Jonathon

On Tue, Feb 5, 2019 at 9:30 AM Andrew Danowitz <and...@whitefoxdefense.com>
wrote:

> Thanks for the feedback. I've simulated the block and got it working with
> no errors over a few million samples as long as I assert axi_rate_change's
> clear when I change N (I've been swapping rates once every 200
> transmissions in the testbench). I still get the timeout error in hardware,
> though. Could clearing be messing up some stored packet header information
> that simulation wouldn't catch?
>
> Thanks,
> Andrew
>
> On Mon, Jan 28, 2019 at 4:34 PM Jonathon Pendlum <
> jonathon.pend...@ettus.com> wrote:
>
>> Hi Andrew,
>>
>> Have you simulated or used chipscope on your block? There is an output
>> from axi rate change called "error_extra_outputs" that can be useful. Does
>> it assert ever assert? If so, that means your user code has output more
>> samples than axi rate change was expecting. If any extra samples come out,
>> that breaks axi rate change's tracking of the input sample to output sample
>> ratio, which can eventually lead to a lock up.
>>
>> Jonathon
>>
>> On Tue, Jan 29, 2019 at 3:11 AM Andrew Danowitz via USRP-users <
>> usrp-users@lists.ettus.com> wrote:
>>
>>> I have an RFNOC block that, based on a control register can either
>>> decimate the signal it's working on or leave the output rate the same as
>>> the input rate. If I set the control register to an initial value (either
>>> decimate, or not decimate) and let the system run, it works fine in either
>>> mode. If I try to change the decimation mode while the block is running, I
>>> start getting timeout errors. I currently use the axi_rate_change block to
>>> help handle the rate change, and have tried to synchronize changing the
>>> block's mode (decimate or not) with the axi_rate_change's clear_user flag.
>>> Any thoughts?
>>>
>>> Thanks,
>>> Andrew
>>>
>>> ------------------------------
>>> Information contained, linked, or attached to this email and all verbal
>>> communications from WhiteFox Defense to your entity in the prior 30 days
>>> constitute proprietary and confidential information unless otherwise
>>> indicated and is therefore subject to obligations in any executed
>>> confidentiality agreements. Further, this email is intended solely for the
>>> use of the individual or entity to whom they are addressed. If you are not
>>> the intended recipient and this message has been addressed to you in error,
>>> please promptly notify i...@whitefoxdefense.com and destroy all copies
>>> of the message and any attachments. This email and attachments may contain
>>> technical data as defined in the International Traffic In Arms Regulations
>>> (ITAR) 22 CFR 120.10 or the Export Administration Regulations (EAR) 15 CFR
>>> Parts 730 – 780.  Export of this material may be controlled by these
>>> regulations and may not be exported or transferred to non-U.S. persons
>>> without prior written approval from the U.S. government.
>>> _______________________________________________
>>> USRP-users mailing list
>>> USRP-users@lists.ettus.com
>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>
>>
> ------------------------------
> Information contained, linked, or attached to this email and all verbal
> communications from WhiteFox Defense to your entity in the prior 30 days
> constitute proprietary and confidential information unless otherwise
> indicated and is therefore subject to obligations in any executed
> confidentiality agreements. Further, this email is intended solely for the
> use of the individual or entity to whom they are addressed. If you are not
> the intended recipient and this message has been addressed to you in error,
> please promptly notify i...@whitefoxdefense.com and destroy all copies of
> the message and any attachments. This email and attachments may contain
> technical data as defined in the International Traffic In Arms Regulations
> (ITAR) 22 CFR 120.10 or the Export Administration Regulations (EAR) 15 CFR
> Parts 730 – 780.  Export of this material may be controlled by these
> regulations and may not be exported or transferred to non-U.S. persons
> without prior written approval from the U.S. government.
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to