Цитата(dvladim @ Mar 22 2018, 23:03)

ИМХО такая схема вообще не будет работать. В большинстве случаев PLL в ПЛИС не позволит использовать такой диапазон входных частот без перестройки коэффициентов. Т.к. диапазон VCO будет выходить за допустимые пределы.
Ну например: Cyclone IV Fvco = 600-1300 МГц. Т.е. перекрытие 2.16 раз, а нужно 25-80 МГц, т.е. 3.2 раза.
Это если VCO выходит за разумные пределы
В моем случае коэффициенты PLL подобраны таким образом, чтобы частота VCO не выходила за пределы спецификации.
Например:
У меня Cyclone V SEMA5F31C6
По спецификации максимальная частота VCO 1600 Мhz
На вход FPGA подается видеосигнал VESA 800x600 60 Hz pixel_clk 40 Mhz
pixel_clk я применяю в качестве опорного клока
На PLL я получаю частоту VCO путем умножения опорного клока (который как раз и неизвестен - т.е может быть разным в зависимости от разрешения видеосигнала) на 10.
А остальные частоты получаю делением этой частоты.
В моем случае я получаю частоты:
VGA_clk - равный частоте опорного клока т.е делю частоту VCO на 10.
RX0_clk - частота в 5 раз выше опорного клока для DDR регистров - т.е делю частоту на 2
RX1_clk - частота в 5 раз выше опорного клока для DDR регистров - т.е делю частоту на 2
RX2_clk - частота в 5 раз выше опорного клока для DDR регистров - т.е делю частоту на 2
Данные коэффициенты у меня никогда не меняются. Таким образом я покрываю все возможные разрешения VESA, где скорость передачи данных не выше 800 Mb/s (частота pixel_clk не больше 80 Mhz). Т.к основное ограничение накладывают LVDS приёмники, которые ограничены приемом 800 Mb/s т.е (DDR клоком в 400 Мгц). И частота VCO у меня никогда не превышает максимальную.