бьюсь над LPDDR2 SDRAM Controller with UniPHY в режиме Hard External Memory interface. Собственно проблема - это подключение сигнала pll_ref_clk. В проекте есть клоковый вход от внешнего генератора на 25 МГц, он заведён на PLL, с которой получаются мои внутренние клоки. 2 клока используются в qsys ниосом и периферией. Если я завожу один из этих клоков на pll_ref_clk, фитер выдает следующую ошибку:
Код
Error: qsystem_lpddr2_p0_pin_map.tcl: Failed to find PLL reference clock
Если я выбрасываю pll_ref_clk наружу и подключаю внешний клоковый вход к нему напрямую, получаю:
Код
Error (14566): Could not place 1 periphery component(s) due to conflicts with existing constraints (1 DLL(s))
Error (175020): Illegal constraint of DLL that is part of LPDDR2 SDRAM Controller with UniPHY qsystem_lpddr2 to the region (8, 0) to (68, 3): no valid locations in region
Error (175020): Illegal constraint of DLL that is part of LPDDR2 SDRAM Controller with UniPHY qsystem_lpddr2 to the region (8, 0) to (68, 3): no valid locations in region
Где-то подсмотрел, что можно поставить между клоковой ножкой и PLL lpddr2 контроллера примитив altclkctrl, проект в таком случае собрался, но с критическим предупреждением:
Код
Critical Warning: PLL clock cpu|mem_if_lpddr2_emif_0|pll0|pll2_phy~PLL_OUTPUT_COUNTER|divclk not driven by a dedicated clock pin or neighboring PLL source. To ensure minimum jitter on memory interface clock outputs, the PLL clock source should be a dedicated PLL input clock pin or an output of the neighboring PLL. Timing analyses may not be valid.
Что тоже как-то не очень хорошо, как мне кажется. Кто уже бодался с Hard controller'ами памяти или может быть даже с контроллерами для lpddr2, скажите как же в такой ситуации быть? Как правильно заводить тактовую на это чудо?
ЗЫ. Все tcl скрипты для контроллера сделал, внешний клок заведен на CLK3p ногу.