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

 
 
> Задание констрейнов, констрейны 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
Ответов
Tausinov
сообщение Oct 17 2017, 15:52
Сообщение #2


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

Группа: Участник
Сообщений: 135
Регистрация: 19-10-13
Пользователь №: 78 795



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


Это так не работает, если возможна работа на меньшем клоке, то и перейдите на него, избавившись от CE.

Цитата
Есть регистр "А" (32 разряда) куда записывается некоторое число из программы по сигналу clkrd. Выход данного регистра идет на вход другого регистра "В" работающего на частоте clkB. Запись в регистр "А" осуществляется из программы очень редко, а может и вообще не меняться. Как сообщить vivado не пытаться совместить частоты clkA и clkB?
Заранее всем спасибо.


Если клоки кратные и синфазные, то проблем не будет. Если нет, то можно добавить что-то такое
set_clock_groups -asynchronous -group [get_clocks clkA -include_generated]
set_clock_groups -asynchronous -group [get_clocks clkB -include_generated]

-include_generated можно использовать только, если все производные клоки кратны исходному, иначе придется описывать их отдельно.

Пы. Сы. Есть еще немного "колхозный" метод
set_false_path -from [get_clocks clkA ] -to [get_clocks clkB]

Сообщение отредактировал Tausinov - Oct 17 2017, 15:56
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Oct 17 2017, 16:21
Сообщение #3


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

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



Цитата(Tausinov @ Oct 17 2017, 18:52) *
Это так не работает, если возможна работа на меньшем клоке, то и перейдите на него, избавившись от CE.

-include_generated можно использовать только, если все производные клоки кратны исходному, иначе придется описывать их отдельно.

Пы. Сы. Есть еще немного "колхозный" метод
set_false_path -from [get_clocks clkA ] -to [get_clocks clkB]

Перейти на меньшую частоту невозможно. Устройство принимает данные с АЦП на высокой частоте, обрабатывает и выдает на той же частоте но с сигналом CE (символы)

Колхозный метод наверное подошел бы (и я его пробовал), только вот задать просто имена клоков не получается. Один клок идет с clock_wizarda, а второй из ядра pcie. При указании названия клоков как они объявлены в моем блоке ничего не получается, vivado выдает критическое предупреждение. ВМожет нужно указывать не имена линий клоков, а имена пинов-источников этих клоков. Короче я не понял.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Oct 17 2017, 18:17
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(Anton1990 @ Oct 17 2017, 19:21) *
Перейти на меньшую частоту невозможно. Устройство принимает данные с АЦП на высокой частоте, обрабатывает и выдает на той же частоте но с сигналом CE (символы)

set_multicycle_path тут скорее не подойдет. Точнее использовать то его можно но надо описывать им ВСЕ пути от источников до получателей которые работают через CE wacko.gif Наверное всеж проще и правильнее будет поставить FIFO и перейти на частоту CE.

Цитата(Anton1990 @ Oct 17 2017, 19:21) *
Колхозный метод наверное подошел бы (и я его пробовал), только вот задать просто имена клоков не получается. Один клок идет с clock_wizarda, а второй из ядра pcie. При указании названия клоков как они объявлены в моем блоке ничего не получается, vivado выдает критическое предупреждение. ВМожет нужно указывать не имена линий клоков, а имена пинов-источников этих клоков. Короче я не понял.

Для получения имен:
Простой вариант - открываете дизайн после синтеза находитеи Ваш клок и смотрите полное название название цепи.
Продвинутый - get_clocks -of [get_pins {полный/путь_вашего/модуля/имя_порта_clk}]
Опять же - открываете дизайн после синтеза и тестите команды в Tcl console

Ну и для второго случая правильнее будет использовать как выше советовали set_clock_groups -asynchronous -group [get_clocks ...

Успехов! Rob.




Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Anton1990   Задание констрейнов   Oct 17 2017, 15:41
|- - Tausinov   Цитата(Anton1990 @ Oct 17 2017, 19:21) Пе...   Oct 17 2017, 16:45
- - 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
- - Shivers   В общих чертах. Самый главный констрейнт - объявле...   Oct 25 2017, 06:18
- - Anton1990   Цитата(Shivers @ Oct 25 2017, 09:18) В об...   Oct 25 2017, 15:42
- - alexadmin   Цитата(Anton1990 @ Oct 25 2017, 18:42) Я ...   Oct 26 2017, 10:20
- - Anton1990   Цитата(alexadmin @ Oct 26 2017, 13:20) Пр...   Oct 26 2017, 15:32
- - Maverick   Цитата(Anton1990 @ Oct 26 2017, 18:32) Ка...   Oct 26 2017, 15:37
|- - Anton1990   Цитата(Maverick @ Oct 26 2017, 18:37) мож...   Oct 27 2017, 15:45
- - AVR   Цитата(Anton1990 @ Oct 26 2017, 18:32) Ка...   Oct 27 2017, 09:49


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 21:29
Рейтинг@Mail.ru


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