реклама на сайте
подробности

 
 
> Задание констрейнов, констрейны Vivado2016
Anton1990
сообщение Oct 17 2017, 15:41
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Всем привет.
Есть проект работающий на частоте clkA (~200 МГц). И сигнал CE сопровождающий весь проект. СЕ реально не превышает 50 МГц. Как задать констрейн для учета сигнала CE ведь всем проекту нет необходимости тикать на clkA.

Есть регистр "А" (32 разряда) куда записывается некоторое число из программы по сигналу clkrd. Выход данного регистра идет на вход другого регистра "В" работающего на частоте clkB. Запись в регистр "А" осуществляется из программы очень редко, а может и вообще не меняться. Как сообщить vivado не пытаться совместить частоты clkA и clkB?
Заранее всем спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shivers
сообщение Oct 25 2017, 06:18
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



В общих чертах. Самый главный констрейнт - объявление клока. Он автоматически накладывает ограничения на все триггеры, тактируемые этим клоком. Если есть внешний интерфейс микросхемы, который либо драйверится триггерами на данном клоке, либо принимается этими триггерами, то этот интерфейс надо констрейнить относительно данного клока с помощью set_input_delay/set_output_delay с ключами min/max. Таким образом констрейните один клоковый домен (250), так же констрейните второй клоковый домен (210). Поскольку клоки асинхронные, пути между ними (из домена 250 в домен 210 и наоборот, т.е. в обе стороны) будут нарушаться, и их надо исключить из анализа. Делается это через команды set_false_path -from clk250 -to clk210 и set_false_path -from clk210 -to clk250.
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Oct 25 2017, 15:42
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(Shivers @ Oct 25 2017, 09:18) *
В общих чертах. Самый главный констрейнт - объявление клока. Он автоматически накладывает ограничения на все триггеры, тактируемые этим клоком. Если есть внешний интерфейс микросхемы, который либо драйверится триггерами на данном клоке, либо принимается этими триггерами, то этот интерфейс надо констрейнить относительно данного клока с помощью set_input_delay/set_output_delay с ключами min/max. Таким образом констрейните один клоковый домен (250), так же констрейните второй клоковый домен (210). Поскольку клоки асинхронные, пути между ними (из домена 250 в домен 210 и наоборот, т.е. в обе стороны) будут нарушаться, и их надо исключить из анализа. Делается это через команды set_false_path -from clk250 -to clk210 и set_false_path -from clk210 -to clk250.


Я себе это примерно так и представлял. Но у меня возникла загвоздка: имена clk250 и ck210 откуда брать? Эти цепи находятся не на самом верхнем уровне проекта, поэтому просто указать имена clk250 и ck210 не проходит. Требуется видимо иерархическое имя которое можно выудить из схематика после синтеза (ну по крайней мере так советовали). Я прав?
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Oct 26 2017, 10:20
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(Anton1990 @ Oct 25 2017, 18:42) *
Я себе это примерно так и представлял. Но у меня возникла загвоздка: имена clk250 и ck210 откуда брать? Эти цепи находятся не на самом верхнем уровне проекта, поэтому просто указать имена clk250 и ck210 не проходит. Требуется видимо иерархическое имя которое можно выудить из схематика после синтеза (ну по крайней мере так советовали). Я прав?


Проще всего после компиляции проекта запустить тайминг визард - он сам найдет не обконстрейненные клоки и предложит их задать. По крайней мере оттуда можно взять их имя и написать констрэйн самому. Или просто из репорта - там обычно тоже все найденные клоки проекта есть.
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Oct 26 2017, 15:32
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(alexadmin @ Oct 26 2017, 13:20) *
Проще всего после компиляции проекта запустить тайминг визард - он сам найдет не обконстрейненные клоки и предложит их задать. По крайней мере оттуда можно взять их имя и написать констрэйн самому. Или просто из репорта - там обычно тоже все найденные клоки проекта есть.

Кажется со всем разобрался. Всем спасибо за советы. Тему закрываем.
Go to the top of the page
 
+Quote Post
AVR
сообщение Oct 27 2017, 09:49
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Anton1990 @ Oct 26 2017, 18:32) *
Кажется со всем разобрался. Всем спасибо за советы. Тему закрываем.

Так не вежливо поступать. Создана тема - в конце темы: решение с подробностями.
Тут не саппорт, где раз решена проблема то и ладно. Это база знаний и решений.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Anton1990   Задание констрейнов   Oct 17 2017, 15:41
- - Tausinov   Цитата(Anton1990 @ Oct 17 2017, 18:41) Вс...   Oct 17 2017, 15:52
|- - Anton1990   Цитата(Tausinov @ Oct 17 2017, 18:52) Это...   Oct 17 2017, 16:21
|- - Tausinov   Цитата(Anton1990 @ Oct 17 2017, 19:21) Пе...   Oct 17 2017, 16:45
|- - RobFPGA   Приветствую! Цитата(Anton1990 @ Oct 17 2...   Oct 17 2017, 18:17
- - Flip-fl0p   ЦитатаВсем привет. Есть проект работающий на часто...   Oct 17 2017, 15:54
- - Shivers   Правила такие: констрейнить надо всегда по максима...   Oct 17 2017, 17:46
|- - Anton1990   Цитата(Shivers @ Oct 17 2017, 20:46) Пред...   Oct 19 2017, 15:32
|- - Shivers   Цитата(Anton1990 @ Oct 19 2017, 18:32) По...   Oct 20 2017, 05:45
|- - Anton1990   Цитата(Shivers @ Oct 20 2017, 08:45) Т.е....   Oct 20 2017, 15:52
- - yes   а почему не пойдет set_multicycle_path ? вроде как...   Oct 17 2017, 18:55
|- - RobFPGA   Приветствую! Цитата(yes @ Oct 17 2017, 2...   Oct 17 2017, 19:22
|- - _Anatoliy   Цитата(RobFPGA @ Oct 17 2017, 22:22) Да т...   Oct 18 2017, 06:37
|- - RobFPGA   Приветствую! Цитата(_Anatoliy @ Oct 18 2...   Oct 18 2017, 11:28
|- - _Anatoliy   Цитата(RobFPGA @ Oct 18 2017, 14:28) Прив...   Oct 18 2017, 11:54
- - andrew_b   Вообще по сравнению с ucf описание мультицикла в s...   Oct 18 2017, 06:05
- - Maverick   Цитата(Anton1990 @ Oct 17 2017, 18:41) Вс...   Oct 18 2017, 06:31
- - Shivers   Получается два асинхронных клоковых домена: частот...   Oct 23 2017, 17:04
|- - Anton1990   Цитата(Shivers @ Oct 23 2017, 20:04) Полу...   Oct 24 2017, 15:44
- - Maverick   Цитата(Anton1990 @ Oct 26 2017, 18:32) Ка...   Oct 26 2017, 15:37
|- - Anton1990   Цитата(Maverick @ Oct 26 2017, 18:37) мож...   Oct 27 2017, 15:45


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01438 секунд с 7
ELECTRONIX ©2004-2016