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 EoC Procedure #54

Open
Lore0599 opened this issue Nov 6, 2024 · 0 comments
Open

JTAG EoC Procedure #54

Lore0599 opened this issue Nov 6, 2024 · 0 comments

Comments

@Lore0599
Copy link

Lore0599 commented Nov 6, 2024

When we use the JTAG preloading mode, the current methodology to detect the End Of Computation is by reading the scratch 2 register in Cheshire.
In order to do so, the register is polled using the task jtag_poll_bit0. This task, makes use of the Debug Module method read_dmi_exp_backoff which tries to read a location that is scratch 2 in our case. The task loops until the debug module is noit busy anymore, i.e. until the read is correctly performed. At each iteration, excpet for the first one, the DMI is reset to clean the sticky eror.
This approach can be dangerous fo tests where the system clock signal is removed, i.e. when for instance the FLLs are tested.
As stated by the read_dmi_exp_backoff comment, this function should not be used to perform read operations which have side-effect, for instance when reading SBData0, that is exactly what is done in the Chimera TB.
To partially address this problem, the idle_cycles before performing the read, have been increased in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant