Большое спасибо за идею по поводу понижения тактовой и использования только одного ISERDESE1.
Ковыряю дальше, и встретил вот что (в документе ug361_Select_IO):
Если используется IODELAY, значит должен быть также объявлен экземпляр (instance) IDELAYCTRL.
Он используется для калибровки всех ЛЗ (в регионе - IOBank). Я английский понимаю очень хорошо, но есть в документе фраза, которая ломает мне моск.
Цитата
REFCLK - Reference Clock
The reference clock (REFCLK) provides a timereference to IDELAYCTRL to calibrate all
IODELAYE1 modules in the same region. This clock must be driven by a global clock
buffer (BUFGCTRL). REFCLK must be FIDELAYCTRL_REF ± the specified ppm tolerance
(IDELAYCTRL_REF_PRECISION) to guarantee a specified IODELAYE1 resolution
(TIDELAYRESOLUTION). REFCLK can be supplied directly from a user-supplied source or the
MMCM and must be routed on a global clock buffer.
То есть, независимо от всего остального дизайна, если я использую IODELAY, одна из глобальных тактовых частот у меня должна быть 200 МГц? В таком случае независимо от частоты сигнала, подаваемого на ЛЗ, каждый отвод ЛЗ будет составлять 78 пс (1/64 от опорного)?
Ладно, если так, это приемлемо (хотя это, вроде, идет вразрез с обратной связью в документе харр1071).
Но может ли кто-либо объяснить следующую игру слов:
"clock must be driven by a global clock buffer --- can be supplied directly from a user-supplied source"
и "must be routed on a global clock buffer"
Или я могу все-таки взять опорный со своего входа (как в харр1071), но подавать надо еще и на выводы global clock, чтобы запитать этот IDELAYCTRL?
Что-то я запутался...