Некоторые ПЛИС имеют как DCM (Digital Clock Manager), так и PLL (Phase Lock Loop) для использования во внутренней генерации тактовых импульсов.
Документация Xilinx Spartan-6 FPGA Clocking Resources UG382 (v1.10) описывает ряд функций для DCM:
Однако, насколько я понимаю, все это (или, по крайней мере, большинство, может быть, не «автономный осциллятор») также доступно при использовании PLL.
Итак, в чем разница между использованием DCM и PLL в конструкции FPGA?
Xilinx использует термин DCM для улучшения того, что они использовали для вызова DLL или цикла блокировки с задержкой.
Это (DLL) была линия задержки с ответвлениями, питаемая от исходного тактового сигнала, выбирая разные ответвления, вы могли получить разные задержки на выходном тактовом сигнале. Поскольку задержки непредсказуемы, логика сравнивала выходные данные с разных ответвлений, пока не находила, какой номер ответвления дает задержку полного тактового цикла — он был «разблокирован» до тех пор, пока не находил правильный ответвитель. Затем он обновлял этот номер отвода по мере дрейфа задержек (например, по мере изменения входной частоты или прогрева микросхемы), а затем из него вычислялись другие задержки (например, 90 градусов, 180 градусов).
Таким образом, он обеспечивал отдаленно похожее на PLL поведение без каких-либо аналоговых схем, чего было трудно достичь в их процессах в то время. Недостатком было то, что спектр джиттера отличался от PLL, поскольку задержка всегда представляла собой целое число отводов.
Если вы каскадировали DLL или DCM, второй, вероятно, будет работать, но третий может иметь трудности с блокировкой из-за джиттера, вызванного другими.
DCM основан на той же идее, но предоставляет другие функции, такие как умножение тактовой частоты.
Более новые FPGA предлагают как DCM (DLL), так и PLL, но я ожидаю, что DCM по-прежнему легче производить.
Так что, во-первых, то, как производитель ПЛИС решает назвать компоненты, в основном является маркетинговым выбором. Так что в этом нет никакого внутреннего значения. Всегда приятно помнить.
Затем: PLL на самом деле это просто контур управления, в котором наблюдаемая / скорректированная величина является фазой (или ее производной) сигнала. Таким образом, это часть чего-то, что может генерировать часы, но не полный генератор часов. Конечно, это похоже на «транзистор», обозначавший маленькие радиоприемники в 1960-х и 70-х годах, потому что центральным компонентом был транзистор. Но из одного транзистора не получится радиоприемник.
Таким образом, все, что в вашем проекте называется PLL, должно сопровождаться описанием того, что оно на самом деле делает. Сравните это описание с описанием того, что делает DCM. Это лучший ответ, который мы можем дать — «PLL», опять же, на самом деле означает только один контур управления, а не тактовый генератор.
тусклый