Недавно я завершил разработку линейной карты PCI-E Gen 1.0. Линейная карта состояла из 4 Spartan 6 FPGA, использующих один эталонный такт PCIE. В начале разработки было принято решение использовать исключительно эталонные часы PCIE для тактирования всей внутренней логики от этих эталонных часов PCIE, поэтому встроенный кристалл на плате не использовался. FPGA взаимодействуют с сервоприводами на другой стороне через интерфейс 10/100MBS, а FPGA используют DCM для разделения эталонной частоты PCIE на 25 МГц и используются для интерфейса MII и PHY. На интерфейсе PHY было много действительных ошибок приема данных, которые были связаны с эталонной тактовой частотой PCIE и присущим ей дрожанием от 30 кГц до 33 кГц (модуляция с расширенным спектром). Мы решили отключить функцию SSC в программном обеспечении хоста, и мы перестали видеть ошибку приема, и все вернулось в норму. Я хотел спросить и посмотреть, есть ли у других опыт использования часов PCIE-ref для синхронизации всей логики FPGA, включая интерфейс PHY 25 МГц. У меня сложилось впечатление, что DCM FPGA очистит эталонные часы PCI после того, как они попадут в жесткий макрос PCIE MGT, прежде чем они будут разделены. Это мой первый дизайн FPGA, и поэтому я был бы признателен за некоторое понимание.
Все, что может сделать DCM, это добавить джиттер — это линия задержки с отводами, поэтому выходные часы могут дрожать при изменении отводов. И по той же причине он не может удалить уже имеющийся джиттер.
Если вы хотите «очистить» тактовый сигнал, вам нужно использовать PLL — проверьте техническое описание, чтобы увидеть, могут ли PLL PLL справиться с тактовым сигналом PCIe с расширенным спектром. Или используйте специальное устройство PLL для очистки часов.
станри
ультразвуковой