MOSI/MISO delayed if there are other devices in the JTAG chain.
jordens opened this issue · 0 comments
jordens commented
Other devices in front of the BSCAN_SPI target lead to one cycle delay of MOSI data w.r.t. CS_N for each TAP. TAPs after the BSCAN_SPI additionally lead to a one-cycle delay of MISO per TAP (seen from the JTAG interface's TDO).
MISO delays can be handled in software (DR_LENGTH). But since the BSCAN_SPI TAP does not know how to delay cs_n
w.r.t. sel & shift
this requires a bit more thinking.
Could be done by either having cs_start
and cs_length
fields shifted in first with every SPI command or by adding that as some configuration register into the core. The former is probably easier and more flexible while not introducing any relevant overhead.
Thanks to Hawk King for noticing and helping in debugging.