XSVF: bugfix handling state paths
commit0c4d5b8b1f8da402a1de675ad4c2d479edf372b8
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 29 Oct 2009 19:42:41 +0000 (29 12:42 -0700)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 29 Oct 2009 19:42:41 +0000 (29 12:42 -0700)
tree6fc34da265ab7a075d71387bc99ddde68035cedd
parentb628207ea6dd39280ebdd8b66a1ac869350c6d00
XSVF: bugfix handling state paths

Implement XSVF support for detailed state path transitions,
by collecting sequences of XSTATE transitions into paths
and then calling pathmove().

It seems that the Xilinx tools want to force state-by-state
transitions instead of relying on the standardized SVF paths.
Like maybe there are XSVF tools not implementing SVF paths,
which are all that we support using svf_statemove().

So from IRPAUSE, instead of just issuing "XSTATE DRPAUSE"
they will issue XSTATES for each intermediate state: first
IREXIT2, then IRUPDATE, DRSELECT, DRCAPTURE, DREXIT1, and
finally DRPAUSE.  This works now.

Handling of paths that go *through* reset is a trifle dodgey,
but it should be safe.

Tested-by: Wookey <wookey@wookware.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/xsvf/xsvf.c