M
Mike Field
Guest
Hi,
I'm working in Artix-7 and I've got a workable way to adjust the bitslip and IDELAY tap settings to lock onto an incoming TMDS encoded stream, but is there a better way?
Currently I count the symbol error rate on the link, and if the rate of bad symbols is greater than 1:2^20 I then move on to a higher delay tap setting.
If the delay's tap setting wraps I also assert bitslip input on on the ISERDES for a cycle, allowing me to try a different alignment.
It works well enough in practice but seems ungainly, and has a few problems lurking under the covers - if the error rate is very close to 1:2^32 it will never lock, and a second problem is that it might decide to stick with an IDELAY that is marginal (e.g. has errors but less than one in a million), without discovering that a better setting could be one tap away.
And not so much a problem for video but if it does get errors it can take a while to come back into sync (7M symbols or so)
The 7-series I/O Resource User Guide is very good at telling you what is there for you to use, but not how best to do it - any suggests would be gratefully accepted!
Mike
PS. Code is at http://hamsterworks.co.nz/mediawiki/index.php/SERDES_symbol_locking if you want a look at it.
I'm working in Artix-7 and I've got a workable way to adjust the bitslip and IDELAY tap settings to lock onto an incoming TMDS encoded stream, but is there a better way?
Currently I count the symbol error rate on the link, and if the rate of bad symbols is greater than 1:2^20 I then move on to a higher delay tap setting.
If the delay's tap setting wraps I also assert bitslip input on on the ISERDES for a cycle, allowing me to try a different alignment.
It works well enough in practice but seems ungainly, and has a few problems lurking under the covers - if the error rate is very close to 1:2^32 it will never lock, and a second problem is that it might decide to stick with an IDELAY that is marginal (e.g. has errors but less than one in a million), without discovering that a better setting could be one tap away.
And not so much a problem for video but if it does get errors it can take a while to come back into sync (7M symbols or so)
The 7-series I/O Resource User Guide is very good at telling you what is there for you to use, but not how best to do it - any suggests would be gratefully accepted!
Mike
PS. Code is at http://hamsterworks.co.nz/mediawiki/index.php/SERDES_symbol_locking if you want a look at it.