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

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


Гуру
******

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



а почему не пойдет set_multicycle_path ? вроде как это одно из основных применений - только нужно задавать на hold и setup (чтоб тул не офигел)
как-то так

set_multicycle_path -setup N -from {список всех триггеров с СЕ} -to {список всех триггеров с СЕ}
set_multicycle_path -hold N-1 -from {список всех триггеров с СЕ} -to {список всех триггеров с СЕ}

N - это сколько тактов пропускается СЕ

--------------

дисклеймер: пишу по памяти, а set_multicycle_path самый хитровыдуманый констрейн %)
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Oct 17 2017, 19:22
Сообщение #3


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

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



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

Цитата(yes @ Oct 17 2017, 21:55) *
а почему не пойдет set_multicycle_path ? вроде как это одно из основных применений - только нужно задавать на hold и setup (чтоб тул не офигел)
как-то так
...

Да так и есть но вот получить полный и корректный список всех примитивов которые на CE будет то еще удовольствие
например все регистры
get_cells -of [get_pins -of [get_nets -segments CE_net_name]] -filter {PRIMITIVE_GROUP==REGISTER}
или все BRAM
get_cells -of [get_pins -of [get_nets -segments CE_net_name]] -filter {PRIMITIVE_GROUP==BLOCKRAM}
ну или все скопом
get_cells -of [get_pins -of [get_nets -segments CE_net_name]] -filter {IS_PRIMITIVE==1}

Но в любом случае для большого дизайна надо будет несколько итераций чтобы проверить все на корректность.
Да и смысла нет проще через клоки перетянуть и грется будет меньше и разводится быстрее.
Но это конечно от дизайна зависит ну и TC виднее что там у него.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Oct 18 2017, 06:37
Сообщение #4


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(RobFPGA @ Oct 17 2017, 22:22) *
Да так и есть но вот получить полный и корректный список всех примитивов которые на CE будет то еще удовольствие

Странно. Уже давно пользуюсь мультициклами и никогда не составлял никаких списков. Просто указываю между какими клоками применить команду.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Oct 18 2017, 11:28
Сообщение #5


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

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



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

Цитата(_Anatoliy @ Oct 18 2017, 09:37) *
Странно. Уже давно пользуюсь мультициклами и никогда не составлял никаких списков. Просто указываю между какими клоками применить команду.

У TC на одном клоке сидит часть дизайна которому нужна задержка <1 такта, и часть дизайна которому нужно <N тактов.
Вы бы пример констрэйна привели.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Oct 18 2017, 11:54
Сообщение #6


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(RobFPGA @ Oct 18 2017, 14:28) *
Приветствую!
У TC на одном клоке сидит часть дизайна которому нужна задержка <1 такта, и часть дизайна которому нужно <N тактов.
Вы бы пример констрэйна привели.
Успехов! Rob.

Код
set_multicycle_path -from [get_clocks {clk2x2sps}] -to [get_clocks {clk2x1sps}] -setup -start 2
set_multicycle_path -from [get_clocks {clk2x2sps}] -to [get_clocks {clk2x1sps}] -hold -start 1


Для дизайна которому нужно <N тактов можно ввести дополнительный клок. Клок clk2x1sps имеет ту же частоту что и клок clk2x2sps, только с СЕ. Можно взять частоту в 2 раза ниже но без СЕ.

Ещё вроде можно и одним клоком обойтись с СЕ, но я так не пробовал.
Код
set mc_group [get_fanouts [get_pins enable_reg|q]]
set_multicycle_path -setup 2 -from $mc_group -to $mc_group
set_multicycle_path -hold 1 -from $mc_group -to $mc_group
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
- - 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 Текстовая версия Сейчас: 21st July 2025 - 21:12
Рейтинг@Mail.ru


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