Yuri124 1 16 июля, 2020 Опубликовано 16 июля, 2020 (изменено) · Жалоба Нашел в комментах к статье https://habr.com/ru/post/427011/ Quote always @(posedge clk) begin a = b; b = c; end поведение в данном случае полностью определённое и будет просинтезировано аналогично always @(posedge clk) begin a <= b; b <= c; end На выходе вы получите сдвиговый регистр a < — b < — c. Если же строчки присвоения поменять местами, то поведение данных блоков будет отличаться — в случае с неблокирующими присваиваниями по-прежнему будет трёхбитовый сдвиговый регистр, а вот в случае с блокирующими — двухбитовый a < — c, при этом сигнал b скорее всего будет исключен в процессе оптимизации синтеза. Изменено 16 июля, 2020 пользователем Yuri124 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба 45 minutes ago, Nick_K said: Задайте порог в 304. Можно ещё попробовать прикрутить uncertanity констрейн, но я не уверен что такое есть в ПЛИС. Ну и эффект будет не заоблачный create_clock -period 320MHz -name {CLK} [get_ports {CLK}] Fmax-350.75 MHz Restricted Fmax - 304.04 MHz ---------------------- create_clock -period 304MHz -name {CLK} [get_ports {CLK}] Fmax-354.99 MHz Restricted Fmax - 304.04 MHz ---------------------- Прям рандом какой-то получается derive_clock_uncertainty прикрутил изначально Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 16 июля, 2020 Опубликовано 16 июля, 2020 (изменено) · Жалоба 10 minutes ago, zombi said: Fmax-350.75 MHz Restricted Fmax - 304.04 MHz а кто может объяснить что это значит? Это что - проект будет работать на 350 МГц, но по даташиту допустимо подавать 304? Судя по https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/solutions/rd09302013_60.html вроде как на 350 должно запуститься? Изменено 16 июля, 2020 пользователем Yuri124 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба 3 minutes ago, zombi said: create_clock -period 320MHz -name {CLK} [get_ports {CLK}] Fmax-350.75 MHz Restricted Fmax - 304.04 MHz ---------------------- create_clock -period 304MHz -name {CLK} [get_ports {CLK}] Fmax-354.99 MHz Restricted Fmax - 304.04 MHz ---------------------- Прям рандом какой-то получается derive_clock_uncertainty прикрутил изначально тогда пробуйте задать 300 ровно (ибо там могут быть приколы с делением) или 304,04 :) и повысить значения unsertanity (джиттер). А вообще для Вашего проекта полученных результатов и так достаточно ИМХО. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба Это понятно. Это даже не проект, а просто эксперимент. Я раньше рисовал квадратики в блок-схеме, теперь буду писать в текстовом редакторе. Вот и пытаюсь заранее максимально подводных камней выловить при таком переходе. 6 minutes ago, Nick_K said: тогда пробуйте задать 300 ровно (ибо там могут быть приколы с делением) или 304,04 :) create_clock -period 300MHz -name {CLK} [get_ports {CLK}] Fmax-355.24 MHz Restricted Fmax - 304.04 MHz ------------- create_clock -period 304.04MHz -name {CLK} [get_ports {CLK}] Fmax-354.99 MHz Restricted Fmax - 304.04 MHz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба Наркоманы в этом Интеле. Я давно подозревал) Кстати может оно uncertanity как-то прибавляет к периоду и пытаетсяокруглять... Но эксперимент интересный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба Попробуйте задать 370 МГц - выдаст красным в конце концов? 3 minutes ago, Nick_K said: может оно uncertanity как-то прибавляет к периоду насколько понял в доках про sdc - отнимается от периода (ну, чтобы было хуже разработчику) и считается времянка для отчета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба 4 minutes ago, Yuri124 said: Попробуйте задать 370 МГц - выдаст красным в конце концов? Что непонятного? Ограничение для синтезатора 304! Выше уже нельзя. Какой смысл повышать частоту, если на низких и так ругается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба ну да, при 370 MHz уже примерно 1/3 триггеров по tSetup не проходят. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба Quote In the TimeQuest timing analyzer, Fmax is only based on the setup check, while the Restricted Fmax checks setup, hold and minimum period/pulse width. Usually, Fmax is not limited by hold checks as they are generally same-edge relationships and therefore independent of frequency. However, if you have an inverted clock transfer or a multicycle transfer then the hold relationship is no longer a same-edge transfer and therefore changes with frequency. If the hold check limits the Fmax more than the setup check, the TimeQuest timing analyzer displays Limit due to hold check as the reason for the restricted Fmax. Ну, если из этого абзаца взять "and minimum period/pulse width" - то да, ограничено свойствами железяки. 3 minutes ago, zombi said: при 370 MHz уже примерно 1/3 триггеров по tSetup не проходят Вот это и пытался увидеть - т.е. прога всё же, похоже, допускает работу на 350 МГц (если бы ругался - было бы красным, а так - только предупреждение, ИМХО). Похоже - в данном проекте , где hold не важен, 350 должно работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 16 июля, 2020 Опубликовано 16 июля, 2020 · Жалоба И timequest всегда пишет красным Uncostrained Paths Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 22 июля, 2020 Опубликовано 22 июля, 2020 · Жалоба On 7/16/2020 at 6:01 PM, zombi said: И timequest всегда пишет красным Uncostrained Paths попробуйте загуглить путь. Частенько альтера в своем wiki потом пишит пояснение, что на такой путь можно внимание не обращать и будет исправлено в следующей версии. Это при условии, что вы все обконстрейнили Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 22 июля, 2020 Опубликовано 22 июля, 2020 · Жалоба Ничего не констрейнил в принципе. Это всё эксперимент "сферический конь в вакууме". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 22 июля, 2020 Опубликовано 22 июля, 2020 · Жалоба On 7/15/2020 at 3:56 PM, Nick_K said: Тогда я всё правильно понял. "Там" не нужно ничего делать, а просто заменить на нормальное. И для встроенного текстового редактора есть возможность размер шрифта менять, через Tools-Options-Text Editor-Fonts. Но никто ж новичку не помог... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 22 июля, 2020 Опубликовано 22 июля, 2020 · Жалоба 4 hours ago, zombi said: И для встроенного текстового редактора есть возможность размер шрифта менять, через Tools-Options-Text Editor-Fonts. Я просто давно уже не пользуюсь встроенным и даже не пытаюсь там что-то делать. Сразу внешний и погнал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться