On Friday 22 January 2010, Florian Echtler wrote:
> - is it acceptable to handle XSDRB and XSDRC identically? AFAICT the TAP
> should be in Shift-DR state anyway at that point?
If it were, there wouldn't be two distinct opcodes. :)
Xilinx XAPP503 (defining XSVF) says in Appendix B:
XSDRB
XSDRB TDIValue<“length” bits>
Go to the shift-DR state and shift in the TDI value.
Continue to stay in the shift-DR state at the end
of the operation. No comparison of TDO value with
the last specified TDOExpected is performed.
XSDRC
XSDRC TDIValue<“length” bits>
Shift in the TDI value. Continue to stay in the shift-DR
state at the end of the operation. No comparison of TDO
value with the last specified TDOExpected is performed.
Implying that XSDRB won't necessarily be used when the
current state is Shift-DR ... that's the difference.
XSDRE
XSDRE TDIValue<“length” bits>
Shift in the TDI value. At the end of the operation,
go to the XENDDR state. No comparison of TDO value with
the last specified TDOExpected is performed.
> - is the following code snippet to switch to XENDDR state correct?
>
> if (opcode == XSDRE) {
> if (xendir != TAP_DRPAUSE)
> result = svf_add_statemove(xenddr);
> break;
> }
I'd have to look more closely at many things, but my
first reaction is that you shouldn't need to test
for DRPAUSE. Second reaction is that it's obviously
not matching the XSVF spec, since xenddr can be either
DRPAUSE or RUN/IDLE.
- Dave
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development