Цитата(alexadmin @ Apr 24 2012, 13:34)

Требуется совет человека, сталкивавшегося непосредственно или более внимательно, чем я прочитавшего доку: у альтеры в юзергайде на ядро PCIe всюду подразумевается, что refclk приходит на специальный вход трансивера, однако в качестве обязательного требования, что только так и никак иначе (насколько я понимаю английским по белому) это не прописано. По ряду причин есть идея подключить референсный клок через обычные входы FPGA. Попробовал (на Arria II GX) - собирает успешно, что напрямую с клоковых входов, что через PLL. Но как-то боязно... Нет ли у кого опыта на этот счет?
У меня был печальный опыт с такой проблемой, поиск её составил около 2-х недель. Я работал с Serial RapidIO ядром на Xilinx Spartan 6. Области применения PCIe и SRIO почти совпадают, в интернете много сравнений между ними. Так вот, в документации на ядро было также черно по белому сказано, что ЛУЧШЕ прикрутить внешний осциллятор с необходимой частотой, напрямую к сециальным входам аппаратных трансиверов. Для этого пришлось бы делать отдельную плату с осциллятором, поскольку на отладочной плате с ПЛИС его не было. И я решил взять и поделить 200 Мгц через внутренний PLL ПЛИС. С такой архитектурой проект работал без проблем полгода, пока не начили производить отладку моего девайса с DSP. Для теста сделали по loopback гоняли данные. И все пакеты проходили на ура, но когда данные в пакете SRIO были равны значению 0x4A, линк рушился между контроллерами. Конечно ошибку я искал у себя в ПЛИС проекте, потому что ошибиться на С в DSP было более сложно. И 2 недели исправлений проекта и головной боли. Пока ссылка в гугле не раскрыла значение числа 0х4A. Это какой паттерн в шифровании 8/10, и кодируется он 10101010, что вводило рассинхронизацию между трансиверами и они затыкались. Сделали плату с отдельным осциллятором , подсоединили и все заработало.