Forum Discussion
Altera_Forum
Honored Contributor
13 years agoCyclone III and Cyclone IV both have a section on High-Speed I/O Timing, that says TCCS and RSKM can be used and the user does not have to enter timing constraints. There is also a TCCS and Sampling Window(SW) value in the data sheet. Yet if you go in and put source-synchronous timing constraints on an interface in these devices, the timing will be much worse than the datasheet RSKM and TCCS values. What they really mean to say is, don't enter timing constraints, because it will not meet the numbers, but just use Sampling Window(SW)/TCCS from the datasheet directly in your own calculations.
Bottom line is the timing models are very conservative, especially when applied to a source synchronous interface which relies on skew instead of raw delays. The on-die variation is conservative, the analysis uses the sum of many "worst case" values that would never all happen together, there is no locality pessimism removal(my made-up name), etc. Basically the skew reported with traditional source-synchronous timing looks worse than you'd ever see in silicon, and this is the way it is accounted for. I don't like that there isn't any report out of TimeQuest to confirm this, and the user must just take the datasheet value and trust it's right, but that is the methodology. Note that with Stratix devices and 28nm devices(including CV), there is dedicated high-speed SERDES that is instantiated with the altlvds megafunction(this is not the transceivers, just the serdes logic along with some other dedicated hardware, and note that in 28nms it can be used for I/O standards other than LVDS). If this hardware is used, we know you're doing source-synchronous and therefore don't even allow traditional source-synchronous timing and will directly report an RSKM and TCCS in TimeQuest. But with Cyclone III/IV, this serdes is build out of logic, and there's no direct way to identify that a DDR input(which is in the fabric) or output(which is in the I/O) is being used for source-synchronous timing or just old-fashioned system-centric timing, so if constrained TimeQuest still reports a value.