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

Reply via email to