Цитата(Костян @ Nov 1 2011, 17:02)

Насколько я помню. Эти пины обеспечивают только Low Capacitance и Low inductance.
Вопрос остается открытым, как рассчитать задержку от входного пина до GBUF и , что более важно, сделать ее постоянной от сборки к сборке проекта ?
Боюсь, вы не уловили ситу... тогда, попробую донести мыль, поэтапно.
Цитата(Костян @ Nov 1 2011, 17:02)

Насколько я помню. Эти пины обеспечивают только Low Capacitance и Low inductance.
Нет, Вы помните совсем не правильно, сейчас (т.е. в V-4, V-5 и тем более V-6) всё по другому...
Clock Capable ноги имеют короткий
dedicated routing resource, позволяющий доставить тактовый сигнал в разные полезные места с
малой предопределённой задержкой и микроскопическим разбросом этой задержки.
Например, для V-5 этими "полезными местами" являются BUFIO и BUFR, предназначенные для тактирования IOB и близлежащих Clock Region соответственно.
Более того, задержки в этих трассах практически такие же, как и в соседних трассах у обычных IOB, что позволяет более точно компенсировать эти задержки. Скажу больше, в больших V-6 при тактировании IOB от BUFG уже
практически невозможно принять 300 МГц DDR сигнал. В тоже время, при использовании BUFIO + BUFG можно принять 500 МГц DDR сигнал.
Цитата(Костян @ Nov 1 2011, 17:02)

Вопрос остается открытым, как рассчитать задержку от входного пина до GBUF и , что более важно, сделать ее постоянной от сборки к сборке проекта ?
А так делать вообще
неправильно, для ПЛИС такой способ тактирования - противоестественный.
При таком подходе вылезают следующие проблемы:
1. И главная:
любой разводочный ресурс имеет технологический разброс параметров, зависящий от разных факторов: кривизна изготовления самого кристалла; температура выходного каскада, питающего текущий участок соединительной линии; питание ядра, от которого питается эта же пара транзисторов и пр. Следовательно,
эти параметры - имеют заведомо неизвестное текущее значение. Среда проектирования может только прикинуть предельные значения этих параметров, и указать, выполнятся ли наложенные ограничения - или нет.
2. Соответственно получаем, статическую составляющую задержки и динамическую. Статическую и медленно изменяющуюся динамическую задержки возможно худо-бедно компенсировать при помощи DLL/PLL. А вот быстро меняющуюся динамическую составляющую - невозможно компенсировать. Следовательно, чем длиннее трасса - тем больше некомпенсируемый разброс, собственно он и определяет предельную частоту стабильной передачи данных.
3. А теперь посмотрим, что же Вы делаете в свете этих соображений:
1) У Вас тактовый сигнал от обычной IO ножки проходит через кучу обычных линий (может быть и длинных линий, но сути дела это не меняет), соответственно, сигнал, пришедший на вход BUFG имеет некоторые заметно большие и задержку и разброс задержки, чем тот, который пришел бы от специальной ноги, через специальные связи. Да, эти связи имеют низкие ёмкость/индуктивность/сопротивление и мощный driver.
2) Т.к. все Virtex - относительно большие ПЛИС, то и задержка распространения clock по глобальному дереву тактирования - тоже большая. Поэтому, чем больше кристалл, тем больше разбежка фронтов между различными элементами ПЛИС. При использовании компенсации, компенсируется время задержки только в
одной точке прихода сигнала... в остальных - как повезёт: статическая составляющая почти полностью подавлена, динамическая приобретает первостепенную роль.
3) задержки и, в особенности, разбросы описанные в предыдущих пунктах складываются... и может стать очень даже тоскливо !
С другой стороны, если Вам необходимо ввести всего лишь 100 МГц сигнал, то даже в жирных V-6, еще есть шанс с этим справиться при таком противоестественном подходе. Для этого необходимо:
1) правильно задать constraint
OFFSET IN, что позволит среде проанализировать работоспособность проекта и сообщить об этом после разводки.
2) подобрать задержку в IDELAY элементах, что даст возможность скомпенсировать смещение окна setup/hold.
Также, для любителей острых ощущений, есть возможность локального тактирования, без использования BUFR и BUFG. Т.к. Вы говорили о последовательном сигнале - если не получится через BUFG, то так может случиться, что локальное тактирование будет наилучшим выходом. Однако, закладывать оба этих решения в серийное устройство я бы не рискнул.
Цитата(Костян @ Oct 31 2011, 18:09)

Учитывает ли ISE задержку распространения от порта I/O до GBUF тактового сигнала ?
Да, ISE учитывает и эту задержку, и, что гораздо более важно, предельный разброс этой задержки. Хотя, за древние версии, вроде 9.2 и 10.1 – не поручусь. Использовать 11.5 для V-6 крайне чревато... поэтому, в настоящее время, для V-5/V-6 остаются только 12.2 - 13.3 (а вот эти среды анализируют эти параметры).
Цитата(Костян @ Oct 31 2011, 18:09)

Либо эту задержку нужно вручную смотреть и корректировать фазу в DCM?
Из-за различного рода зависимостей этой задержки от кучи параметров, Вам прийдётся проводить большую серию измерений, на большом количестве кристаллов из разных партий... А зачем всё это проделывать, если всю эту нудную кропотливую работу сделал Xilinx и результаты измерений внёс в среду разработки ?