flammmable 0 3 июня, 2021 Опубликовано 3 июня, 2021 (изменено) · Жалоба Разбираюсь с TimeQuest и конкретно с create_generated_clock, описывающим умножитель частоты. Вот в этом документе Альтеры на стр.8 пишется create_generated_clock -source \ pll|altpll_component|auto_generated|pll1|inclk[0] \ -name my_pll_clk[0] pll|altpll_component|auto_generated|pll1|clk[0] А на стр.14 create_generated_clock -source inst1|altpll_component|pll|inclk[0] -name \ inst1|altpll_component|pll|clk[0] inst1|altpll_component|pll|clk[0] Не ясно выражение pll|altpll_component|auto_generated|pll1|clk[0]. Насколько я понимаю,pll - имя экземпляра (инстанса) умножителяaltpll_component - что-то вроде библиотечного названия альтеровского умножителяauto_generated - ???pll1 - я думал, что это название умножителя, который был сгенерирован визардом, но в примере умножитель называется my_pll / inst1, так что тоже ???clk[0] - очевидно, выход с умножителя. Но почему clk[0], а не c0 или c[0]? 1. Что такое auto_generated и зачем оно нужно? 2. Что такое pll1 и зачем оно нужно? 3. Почему clk[0], а не c0? Изменено 3 июня, 2021 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
R6L-025 1 3 июня, 2021 Опубликовано 3 июня, 2021 · Жалоба Давно дело было, всего не помню, но - когда надо было прописать клок, то обычно не вдавался в детали присвоения имен альетры, а тупо копировал путь из timeQuest или SignalTap. Там в фильтре можно задать маску имени, например, my_pll. В выхлопе программы поиска выбрать соответствующие пути до самих клоков. Не вдаваясь в детали имен Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 0 3 июня, 2021 Опубликовано 3 июня, 2021 · Жалоба 6 minutes ago, R6L-025 said: Давно дело было, всего не помню, но - когда надо было прописать клок, то обычно не вдавался в детали присвоения имен альетры, а тупо копировал путь из timeQuest или SignalTap. Там в фильтре можно задать маску имени, например, my_pll. В выхлопе программы поиска выбрать соответствующие пути до самих клоков. Не вдаваясь в детали имен Мне пришла в голову смешная мысль. Что если попробовать на профильных форумах первым ответом на вопрос писать "да хрен его знает". Пойду попробую на easyelectronics )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 3 июня, 2021 Опубликовано 3 июня, 2021 · Жалоба Приветствую! 37 minutes ago, flammmable said: pll|altpll_component|auto_generated|pll1|clk[0]. Это просто полное иерархическое имя компонента. Где то у вас есть модуль pll в котором по иерархии вниз стоят модули altpll_component , auto_generated и в конце уже pll1. Ну и частью этой иерархии может быть не только имя модулей, а также имя веток в generate if/for. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 0 3 июня, 2021 Опубликовано 3 июня, 2021 · Жалоба 4 minutes ago, RobFPGA said: Приветствую! Это просто полное иерархическое имя компонента. Где то у вас есть модуль pll в котором по иерархии вниз стоят модули altpll_component , auto_generated и в конце уже pll1. Ну и частью этой иерархии может быть не только имя модулей, а также имя веток в generate if/for. Удачи! Rob. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 3 июня, 2021 Опубликовано 3 июня, 2021 · Жалоба Для Альтеры удобнее derive_pll_clocks особенно если не переименовываете клоки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 0 4 июня, 2021 Опубликовано 4 июня, 2021 (изменено) · Жалоба 9 hours ago, dvladim said: Для Альтеры удобнее derive_pll_clocks особенно если не переименовываете клоки. Но derive_pll_clocks делает слишком длинное название клока. Как его эффективно подставлять, скажем, в set_input_delay? Изменено 4 июня, 2021 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 4 июня, 2021 Опубликовано 4 июня, 2021 · Жалоба 10 hours ago, dvladim said: Для Альтеры удобнее derive_pll_clocks особенно если не переименовываете клоки. 23 minutes ago, flammmable said: Но derive_pll_clocks делает слишком длинное название клока. Как его эффективно подставлять, скажем, в set_input_delay? Если я не путаю подробности команды create_generated_clock между Altera и Xilinx, то у нее вроде была опция -add, позволяющая применить последовательно derive_pll_clocks create_generated_clock -add <bla-bla-bla> где в последнем вы назначаете то имя для клока, какое вам нравится (по сути, добавляется alias). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 4 июня, 2021 Опубликовано 4 июня, 2021 · Жалоба 11 часов назад, Raven сказал: где в последнем вы назначаете то имя для клока, какое вам нравится (по сути, добавляется alias) А так ли? По-моему добавляется второй клок и при STA будут рассматриваться оба. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 6 июня, 2021 Опубликовано 6 июня, 2021 · Жалоба В Vivado, насколько помню, рекомендованный способ переименовать клок такой: create_generated_clock -name <clock_name> [get_pins <path-to-pin-of-clock-source-module>] Как такое в Quartus делается (и делается ли) не в курсе, не пользовался. После derive_pll_clocks длинные имена-пути просто обзывал через переменную: set OUT_CLK <very-very-long-path-to-clock-name> ... set_output_delay -clock $OUT_CLK <delay> [<targets>] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 6 июня, 2021 Опубликовано 6 июня, 2021 · Жалоба 1 hour ago, dxp said: Как такое в Quartus делается (и делается ли) не в курсе, не пользовался. После derive_pll_clocks длинные имена-пути просто обзывал через переменную: Так вы просто подменяете длинную строку пути на вызов значения переменной. Во всех отчетах Квартус будет по-прежнему оперировать длинным путем. Другое дело - если назначить псевдоним для сущности с длинным путем: тогда будет использоваться это короткое имя. On 6/4/2021 at 8:58 PM, dvladim said: А так ли? По-моему добавляется второй клок и при STA будут рассматриваться оба. Посмотрел в проектах. Эта опция ("-add") - точно есть в Квартусе (в Вивадо не проверял), и в нем новый короткий псевдоним клока полностью заменяет длинное имя в отчетах (без дублирования). Да даже если бы и было дублирование - не велика беда,- просто можно было бы работать с коротким именем, не обращая внимание на другое представление (оно все равно будет подтягиваться за своим альтер эго). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 7 июня, 2021 Опубликовано 7 июня, 2021 · Жалоба 18 hours ago, Raven said: Эта опция ("-add") - точно есть в Квартусе (в Вивадо не проверял), и в нем новый короткий псевдоним клока полностью заменяет длинное имя в отчетах (без дублирования). В Вивадо тоже есть, т.к. это стандарт SDC. Вот только вы забываете что опция -add добавляет генерируемый клок к уже существуещему на net'е. То есть фактически пропагироваться будет оба клока: базовый и генерируемый. Плохо это лил хорошо - зависит полностью отпроекта. Просто не стоит забывать такую маленькую деталь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 7 июня, 2021 Опубликовано 7 июня, 2021 · Жалоба 19 часов назад, Raven сказал: Так вы просто подменяете длинную строку пути на вызов значения переменной. Во всех отчетах Квартус будет по-прежнему оперировать длинным путем. Другое дело - если назначить псевдоним для сущности с длинным путем: тогда будет использоваться это короткое имя. Я отвечал на эту фразу: 04.06.2021 в 13:01, flammmable сказал: Но derive_pll_clocks делает слишком длинное название клока. Как его эффективно подставлять, скажем, в set_input_delay? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться