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 Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development