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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> как избавиться от recovery violation reset-сигнала?
seemann
сообщение Jun 18 2015, 13:00
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 31-03-05
Пользователь №: 3 826



Доброго времени суток!

Мигрировал дизайн с четвёртого Циклона на пятый, и появились recovery violations reset-сигнала... Значит есть два клок домена, один на 250 МГц и второй на 125 МГц, без сдвига по фазе. Reset синхронизируется на 125 МГц и распределяется по обеим доменам. Оба клока и reset проводятся через клок буферы (смотрим картинку). TimeQuest показывает, что reset-сигнал не попадает вовремя на триггера 250 МГц-ного домена. Вижу два варианта:

1. Ввести multicycle constraint на reset в 250 МГц домене в стиле:

set_multicycle_path -setup -from [get_registers *iSysSyncReset*rst[0]] -to [all_registers] 2
set_multicycle_path -hold -from [get_registers *iSysSyncReset*rst[0]] -to [all_registers] 1

2. Для 250 МГц домена генерировать отдельный reset с помощью сдвинутого по фазе 125 МГц клока.

Что вы на эту тему думаете? Заранее спасибо!

Сообщение отредактировал seemann - Jun 18 2015, 13:04
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 18 2015, 13:25
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



в отчете привели бы расшифровку задержки. откуда там 5нс data delay? набрали на clkctrl блочке ?


--------------------
Go to the top of the page
 
+Quote Post
seemann
сообщение Jun 18 2015, 13:33
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 31-03-05
Пользователь №: 3 826



Цитата(des00 @ Jun 18 2015, 17:25) *
в отчете привели бы расшифровку задержки. откуда там 5нс data delay? набрали на clkctrl блочке ?


К сожалению не могу истолковать цепь задержки:
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jun 18 2015, 13:49
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(seemann @ Jun 18 2015, 16:00) *
Доброго времени суток!

Мигрировал дизайн с четвёртого Циклона на пятый, и появились recovery violations reset-сигнала... Значит есть два клок домена, один на 250 МГц и второй на 125 МГц, без сдвига по фазе. Reset синхронизируется на 125 МГц и распределяется по обеим доменам. Оба клока и reset проводятся через клок буферы (смотрим картинку). TimeQuest показывает, что reset-сигнал не попадает вовремя на триггера 250 МГц-ного домена. Вижу два варианта:

И шо Вы хотели?
Вы привязали reset к 125МГц клоку и подали его асинхронно в 250МГц домен. Оно и в жизни работать не будет нормально...
Go to the top of the page
 
+Quote Post
seemann
сообщение Jun 18 2015, 13:56
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 31-03-05
Пользователь №: 3 826



Цитата(Torpeda @ Jun 18 2015, 17:49) *
И шо Вы хотели?
Вы привязали reset к 125МГц клоку и подали его асинхронно в 250МГц домен. Оно и в жизни работать не будет нормально...


Объясните мне, как reset может стать асинхронным в одном из доменов если он синхронизируется к одному из клоков которые привязанные друг к другу по фазе?
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jun 18 2015, 14:06
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(seemann @ Jun 18 2015, 16:56) *
Объясните мне, как reset может стать асинхронным в одном из доменов если он синхронизируется к одному из клоков которые привязанные друг к другу по фазе?


1) .... Значит есть два клок домена....
Клок домены обычно асинхронны...
2) Так как Вам в репорте тулза и написала.
3) Может Вам эти домены с PLL и не нужны?
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 18 2015, 14:17
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(seemann @ Jun 18 2015, 16:56) *
Объясните мне, как reset может стать асинхронным в одном из доменов если он синхронизируется к одному из клоков которые привязанные друг к другу по фазе?

Скорее всего это правда, которую синтезатор сам вряд ли поймёт, хотя теоретически косвенно можно было это автоматически определять по настройкам ядер. В чём проблема поставить синхронизаторы на каждый домен? Имхо, может это более избыточное (на 2 триггера!), но более прозрачное решение, чем сложные констрейны и клоки со сдвинутыми фазами..

Сообщение отредактировал Inanity - Jun 18 2015, 14:21
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jun 18 2015, 14:23
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(Inanity @ Jun 18 2015, 17:17) *
Скорее всего это правда, которую синтезатор сам вряд ли поймёт, хотя теоретически косвенно можно было это автоматически определять по настройкам ядер. В чём проблема поставить синхронизаторы на каждый домен? Имхо, может это более избыточное (на 2 триггера!), но более прозрачное решение, чем сложные констрейны и клоки со сдвинутыми фазами..

Кнстрейны ошибки не исправляют, а выявляют
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 18 2015, 14:29
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(Torpeda @ Jun 18 2015, 17:23) *
Кнстрейны ошибки не исправляют, а выявляют

Вы правы отчасти. То, что вы говорите относится к п.2. То, что я - п.1. Среда использует некоторые констрейны, чтобы корректно разложить дизайн по кристаллу.

Timing Constraints Strategies:

1. Allows the software to create a design that meets your requirements.
2. Allows you to compare the constraints to the performance of the resulting design, using the timing reports output by the ISE software. By analyzing the timing reports, you can identify the paths in the design that may require coding modifications, placement directives, or additional constraints to achieve timing closure.

Сообщение отредактировал Inanity - Jun 18 2015, 14:31
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 18 2015, 14:29
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(seemann @ Jun 18 2015, 16:00) *
2. Для 250 МГц домена генерировать отдельный reset


Сделать два ресета, каждый в своем домене под свои клоки...
У Ксайлинкса при установке есть пример, там именно так и сделано...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jun 18 2015, 14:31
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(iosifk @ Jun 18 2015, 17:29) *
Сделать два ресета, каждый в своем домене под свои клоки...
У Ксайлинкса при установке есть пример, там именно так и сделано...

да...но только там обмен данными между доменами...
На старте надо аккуратно, ато может с 250 пойти в 125, которое есчё в ресете....
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 18 2015, 14:35
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Torpeda @ Jun 18 2015, 17:31) *
да...но только там обмен данными между доменами...
На старте надо аккуратно, ато может с 250 пойти в 125, которое есчё в ресете....

Если обмен данными идет с подтверждением, то - не страшно. А если нет, то конечно надо учесть...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jun 18 2015, 14:37
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(Torpeda @ Jun 18 2015, 17:31) *
На старте надо аккуратно, ато может с 250 пойти в 125, которое есчё в ресете....


А если последовательный сброс сделать? Сбрасывать модули с последнего, т.е. в обратном направлении движения данных. Хотя непонятно, как вообще там данные ходят.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 18 2015, 14:48
Сообщение #14


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(seemann @ Jun 18 2015, 20:33) *
К сожалению не могу истолковать цепь задержки:

Так и думал. По толкованию там же написано : 2.385нс сигнал шел до clkctrl (который стоит в углу чипа), на нем задержался на 0.3нс и затем еще ~1.7нс шел до конкретного триггера. поэтому, не смотря на то что клоки синфазны, времянка и валится. Лечить можно убрав ненужные задержки, например сделав сброс локальным (поставить синхронизатор сброса рядом с модулем в домене 250МГц). Двигать фазу 125МГЦ ИМХО абсолютно пустое.

UPD. Мультициклами подобную постоянную задержку тоже можно лечить, но там может нарушение по холду вылезти, когда наоборот задержки будет не хватать.

Цитата(Torpeda @ Jun 18 2015, 21:06) *
1) .... Значит есть два клок домена....
Клок домены обычно асинхронны...
2) Так как Вам в репорте тулза и написала.

она абсолютно другое написала. давайте будем внимательнее читать вопрос, перед тем как отвечать beer.gif


--------------------
Go to the top of the page
 
+Quote Post
seemann
сообщение Jun 18 2015, 15:15
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 31-03-05
Пользователь №: 3 826



@des00: Спасибо, завтра буду разбираться.
Go to the top of the page
 
+Quote Post

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

 


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


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