UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Newbie sowbug
Newbie
4,520 Views
Registered: ‎02-01-2012

XAPP058 and TDOXZ: typo?

I have written a working Arduino XSVF player. During debugging, I became confused about an XAPP058 timing value. TDOXZ is called "TDI Valid-to-Float Delay," and its maximum is 35 nanoseconds. Questions:

 

  1. Why is this value called "TDOXZ" if it refers to TDI?
  2. How can it possibly be the case that TDO's float-to-valid is 35ns, but its valid-to-float is also 35ns, if they're both relative to TCK's falling edge?

I know something's wrong here, but I can't tell for sure what it is. Is there a typo in XAPP058? Should TDOXZ be TDIXZ, and the diagram adjusted accordingly?

0 Kudos
2 Replies
Instructor
Instructor
4,512 Views
Registered: ‎08-14-2007

Re: XAPP058 and TDOXZ: typo?

1.  You're right, this should be called "TDO valid-to-float delay.

 

2.  The two values are not related to the same falling edge of TCK.  Refer to figure 8

which shows the timing sequence:

 

 

-- Gabor

-- Gabor
Newbie sowbug
Newbie
4,499 Views
Registered: ‎02-01-2012

Re: XAPP058 and TDOXZ: typo?

Thank you. I think I get it. In plain English, TDOZX is saying, "Don't read this value before this amount of time has passed from the falling of TCK." And TDOXZ is saying "Be sure to read this value before this amount of time has passed from the falling of TCK." Those statements seem inconsistent because they're referring to the same landmark in the cycle, but the first is for the prior value of TDO, and the second is for the subsequent value of TDO. Thus, it's not at all surprising that the two timing values are exactly the same, because they refer to the single point in time where one value of TDO changes to the next.

 

It's obvious to me now, but the typo in the description made me second-guess just about everything I believed during debugging. And in any event, my code is working just fine, so I'm happy!

0 Kudos