Возьму тактовый сигнал с осциллятора, согласно datasheet на устройство. Создам PLL, на которую заведу сигнал с осциллятора. Выходной сигнал с PLL заведу на специальный пин для CLK.
"Возьму тактовый сигнал с осциллятора, согласно datasheet на устройство. Создам PLL, на которую заведу сигнал с осциллятора. Выходной сигнал с PLL заведу на специальный пин для CLK."
А почему на специальный пин для CLK ? сигнал с 100 MHz и стандартные пины Cyclone IV (к примеру) способны выдать.
Вроде в ac dc datasheet xilinx указано, что емкость ножек одинаковая, не зависимо, клоковая она или нет. Clock pin имеет специальный путь в клоковое дерево, что снижает его задержку и может упростить сведение таймингов. По идее можно выдавать на любую ножку
Clock-capable input pins usually come in pairs which have a P-side and an N-side. Clock capable pins are special because they have dedicated routing to the FPGA clocking resources. Using these dedicated routes for clocks is sometimes necessary for helping your design pass timing analysis. There is no such thing as clock-capable output pins. That is, clocks can be sent out any general-purpose IO pin of the FPGA. However, for timing analysis (and other) reasons, we typically use the ODDR as a kind of dedicated route when sending clocks out of the FPGA (ref Fig 2-18 in UG903(v2019.2)).
Берешь DDR регистр. На его тактовый вход подаешь клок. На входы регистра подаешь константы. В зависимости от констант можешь получить либо прямой, либо инверсный клок. А ежели пин ещё и клоковый - то вообще красота будет.
Если просто тактовый сигнал без данных, то можно на любой вывод вывести. Если с данными, то можно тоже на любой, но желательно сделать регистровые выходы, и я не уверен, что получиться законстрейнить. Чтобы всё было правильно, нужно клок выводить на специальный клоковый пин, который подключен к клоковому дереву. Тогда и констрейны нормально будут работать. По-моему так. Если частота высокая, то на обычный пин может не прокатить, т.к. через логику такой сигнал может не пролезть.