Зачем использовать несколько часов с одинаковой скоростью в конструкции FPGA?

Я совсем недавно начал экспериментировать с ПЛИС. Исследуя вещи вокруг сети, я заметил в нескольких местах, что проекты могут использовать несколько отдельных часов PLL с одинаковой скоростью. Это почему?

В качестве примера я приведу этот сайт: Parallela Linux Quick Start

У них есть свои FCLK_CLK1 и FCLK_CLK2 оба на 200 МГц. Почему это рекомендуется, а не по одному такту на 200 МГц для обоих? Является ли это обычным делом давать каждому главному компоненту свои собственные часы, даже если они одинаковые? Или я что-то упустил?

2 ответа

Решение

Есть много причин использовать несколько часов с одинаковой скоростью. Поэтому я просто скажу несколько. Однако я не имею глубоких знаний о вашем примере.

  • Магия на ПЛИС.

Как указано в комментариях, FPGA является очень сложным устройством. Только продавец точно знает, что там происходит, поэтому он может дать вам несколько советов, которые могут быть странными.

  • Распределение часов.

Если у вас есть проект с одним источником синхронизации, очень важно правильно расположить часы. Часы должны запускаться повсюду одновременно, что трудно для инструмента PnR. Современные FPGA обычно не имеют этой проблемы.

  • Разные IP на одной FPGA.

Если у вас разные IP / конструкции, которые вы используете на одной FPGA, IP-адреса могут использовать разные часы. Если вы хотите разделить его позже, вам все равно понадобится несколько источников часов. Кроме того, вы вынуждены внедрять некоторые регистры, если вы переключаете домен часов и во время слияния ваших IP-адресов вы не перепутаете все, что является хорошим стилем дизайна. Это также может быть случай вашего примера.

Поддержка HDMI обеспечивается IP-ядром от Analog Devices...

  • Выход.

Возможно, дополнительные часы используются только как выход на некотором порту ввода / вывода.

  • Низкая мощность.

В современной технологии CMOS большая часть энергии тратится впустую на переходах (транзисторных переключателях) и статической утечке энергии (эта чертова вещь настолько мала, она просто пропускает ток). С несколькими доменными часами у вас есть возможность иметь меньше переходов в секунду. Или вы можете отключить части вашего устройства полностью.

Помимо уже упомянутых причин, существует множество других причин, по которым могут существовать два PLL-генератора с одинаковой скоростью.

Даже если частота точно такая же, могут существовать различия в фазе тактового сигнала или дрожании. Использование одного ФАПЧ с фиксированной фазой синхроимпульса и другого с регулируемой фазой синхроимпульса может быть полезным для правильной выборки внешних входных сигналов или поддержания правильной разности фаз между тактовыми и выходными данными. Подобные методы были особенно популярны до того, как такие компоненты, как IDELAY и ODELAY, стали широко доступны.

Кристаллические осцилляторы также будут иметь небольшие отклонения от их отмеченного значения. Если у вас есть канал связи между двумя платами, и у обеих плат есть собственный генератор, то основные тактовые частоты одной платы могут работать на частоте 200,01 МГц, а на других платах - 199,99 МГц. Во многих случаях обе FPGA будут использовать свои локально сгенерированные тактовые импульсы с низким джиттером в качестве своих основных тактовых импульсов, но также будут использовать удаленные тактовые импульсы для выборки входящих данных. Вы можете видеть это в Ethernet PHY: PHY 100 Мбит обычно имеет тактовую частоту приема 25 МГц, восстановленную из входного сигнала, и локально сгенерированную частоту передачи 25 МГц.

Другие вопросы по тегам