Добрый день, всезнающий ALL!
Есть Virtex-4 XC4VFX20 в 672-ногом BGA-корпусе и память от Micron - MT48LC8M32B2F5 - тоже в BGA-корпусе. Есть Ibis-модели компонентов обоих производителей. Есть HyperLynx. Для трассировки платы была выбрана следующая стратегия: импеданс дорожек 53-55 Ом, средняя длинна связей от памяти до FPGA 2 дюйма, разброс длин связей лежит в пределах от 1.7 до 2.3 дюйма. В качестве согласования линии было решено использовать выводы с напряжением питания +3V3 с цифровым контроллируемым импедансом - драйвер отслеживает сопротивление референс-резистора на специальном пине и подстраивает свое выходное сопротивление под характеристическое сопротивление линии. Аналогичная система присутсвует в Virtex-II и Virtex-II Pro чипах. При моделлировании шин адреса, управляющих и тактовых сигналов все было хорошо. С шиной данных в сторону памяти тоже все получилось нормально. Проблема возникла при моделлировании шины данных в сторону FPGA. HyperLynx нарисовал овершот 4.3V при абсолютном максимуме 4.05V и андершоты -970mV, при абсолютном максимуме -750mV. Таким образом, если верить даташиту, у Virtex-а сгорит вход при первом же изменении состояния любого бита данных.
Теперь берем рекомендации по разводке высокочастотных плат. Там говорят, что при малой длине дорожек выравнивать их импеданс нет необходимости. Аналогичное утверждение встречаем у призводителей сигнальных процессоров и у самого Xilinx'а. В AN-??? по подключению чипов SDRAM к их FPGA при длине дорожек меньше 2.5 дюйма терминировать их не надо.
Попытались изменить выходной стандарт на LVCMOS и согласовать внешними резисторами - если одно направление оказывается согласованым, то другое рассогласуется - типа что в лоб, что по лбу.
Не подскажет ли глубокоуважаемый ALL что неправильно в этой картинке? Что надо сделать, чтобы Virtex-4 подружить с SDR SDRAM и при этом не ставить целой кучи внешних резисторов ?
С уважением,
Миргородский Владимир