Skip to content
New issue

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

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

Already on GitHub? # to your account

jtag_tap: update tdo on falling edge of tck #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

michg
Copy link

@michg michg commented Dec 18, 2019

Hello Gavin,
updating tdo on rising tck did not not work for me on real hardware, in simulation it was
fine.
Regards
Michael

@atthecodeface
Copy link
Owner

Thanks Michael.

Sorry it has taken so long to get back - I have been doing a lot of work on FPGAs, and I am going to explode the cdl hardware repo into multiple repositories - all part of a much larger development.

I understand the issue here - that the hardware requires a hold time on tdo from tick that is not met, but it is met if tdo changes on tck falling. Now - is it actually that there needs (in your hardware) to be a hold time after tck falling itself, or that there is a hold requirement on tck rising that is automatically met by delaying tdo until after tck falls?

The correct place for this fix is outside the jtag module, as it is an I/O requirement not a protocol requirement. But I don't think it is wise to just ignore the issue in all the jtag modules, so I might built an external jtag interface module that delays tdo by half a clock.

Thoughts?

@michg
Copy link
Author

michg commented Mar 19, 2020

Hi Gavin,
the Std 1149.1-2001 specifies under 4.5.1 TDO Specification:
Rules: a) Changes in the state of the signal driven through TDO shall occur only on the falling edge of TCK. ..
while changes at the TAP output (TDO) occur on the falling edgeof TCK.
Because of that, I think it is adequate to do this inside the jtag module.
Regards,
Michael

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

Successfully merging this pull request may close these issues.

2 participants