Как мне реализовать синтезируемый DPLL в Verilog?

Есть ли какой-нибудь прямой способ реализовать полностью цифровую фазовую синхронизацию в синтезируемом Verilog? Все (включая ГУН) должно быть синтезировано. Сигналы, которые я хочу заблокировать, составляют ~ 0,1-1% от системной тактовой частоты. Я использую тот, который реконструировал из документов IEEE 1980-х годов, но он ведет себя не так хорошо, как рекламируется.

Для простоты замок может работать по двоичному импульсному сигналу.


person crasic    schedule 26.10.2010    source источник
comment
Этот вопрос помечен как FPGA, какое семейство устройств вы используете?   -  person George    schedule 27.10.2010
comment
Altera Cyclone 2, по крайней мере, на этапе прототипа. Часы - это внешний кристалл, стабилизированный в духовке, поэтому у нас стабильная временная развертка.   -  person crasic    schedule 27.10.2010
comment
Было бы полезно узнать, чего вы пытаетесь достичь с помощью этого DPLL. На сколько вы хотите умножить частоту? Входная частота постоянна?   -  person mbschenkel    schedule 06.02.2015


Ответы (1)


В проектах FPGA я обычно использую встроенные DCM или PLL.

Cyclone 2 имеет до 4 встроенных ФАПЧ.

Взгляните на ФАПЧ в Cyclone 2.

person George    schedule 27.10.2010
comment
Встроенная ФАПЧ хороша для синхронизации и синтеза часов (я использую одну, чтобы получить свои системные часы на 200 МГц от источника тактовой частоты 10 МГц). Но они крайне ограничены. У них огромный джиттер для любых целей DSP (они предназначены для синхронизации, а не для устранения джиттера), они также не очень гибкие, поскольку полностью определяются во время синтеза, и, что наиболее важно, минимальная частота, которую могут блокировать встроенные системы ФАПЧ, составляет около 10 МГц, что примерно в 10 раз выше моей частоты сигнала. - person crasic; 27.10.2010
comment
Да, если вы пытаетесь синхронизироваться с медленными часами, от бортовых устройств будет мало пользы. Вы можете проверить OpenCores образец кода. - person George; 27.10.2010