Здравствуйте!
Делаю связку EP4CGX22BF14C8 (Cyclone IV) + AD9913 (DDS). Тактирую AD9913 частотой 200 МГц. Питание у AD9913 1.8В, заведу сигналы управления ей на один банк ПЛИС, который тоже буду питать 1.8В.
На ПЛИС будет приходить SYNC_CLK от AD9913 (200МГц, период 5 нс), CMOS 1.8V
От ПЛИС будет идти сигнал IO_UPDATE на AD9913 (setup time(rising edge) 0.5ns, hold time 1 cycle), CMOS 1.8V
В дизайне IO_UPDATE выставляю по фронту (rising_edge) SYNC_CLK.
Как мне соблюсти требования Tsu 0.5ns на входе AD9913?
Пробовал заводить SYNC_CLK на CLK лапу банка, пробовал на обычную. Пробовал включать Fast Register Output на IO_UPDATE, пробовал без этого.
Писал скрипты в TimeQuest (честно говоря, мог и накосячить).
Результат без мультицикла: по Fast-corner – успеваю, по Slow – опаздываю.
Результат с мультициклом: по Fast – бегу вперёд паровоза, по Slow – всё ок.
Со встроенной PLL не пробовал играться.
Возможно, нужно как-то хитро назначить лапы сигналам? Не исключаю вариант, что я намудрил с констрейнами.