Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jtag,dv] Keep TCK running a short time after a transaction #23747

Merged
merged 1 commit into from
Jun 24, 2024

Commits on Jun 20, 2024

  1. [jtag,dv] Keep TCK running a short time after a transaction

    This handles a rather confusing situation in the DMI frontdoor. The
    problem is that a DMI request has to travel from dmi_jtag to
    dm_top (involving a CDC from TCK to the main clock) and then back
    again (involving a CDC from the main clock back to TCK).
    
    If we stop sending JTAG operations in that time, the CDC doesn't
    actually get anywhere. The wait is jtag_agent_cfg_h.vif.wait_tck(10),
    which ends up waiting based on elapsed time rather than clock edges.
    
    The result is that when we send another JTAG operation to find out the
    result of the operation, the "busy" status only makes it through the
    CDC *after* the JTAG operation has finished and reported that the dm
    is idle.
    
    Things then get rather confused when the "busy" status appears, which
    the agent interprets as a mysterious operation that has just come into
    being.
    
    Signed-off-by: Rupert Swarbrick <[email protected]>
    rswarbrick committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    12676f3 View commit details
    Browse the repository at this point in the history