|
как избавиться от recovery violation reset-сигнала? |
|
|
|
Jun 18 2015, 13:00
|
Участник

Группа: Свой
Сообщений: 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
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 18 2015, 13:33
|
Участник

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

|
Цитата(des00 @ Jun 18 2015, 17:25)  в отчете привели бы расшифровку задержки. откуда там 5нс data delay? набрали на clkctrl блочке ? К сожалению не могу истолковать цепь задержки:
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 18 2015, 13:49
|

Местный
  
Группа: Свой
Сообщений: 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МГц домен. Оно и в жизни работать не будет нормально...
|
|
|
|
|
Jun 18 2015, 13:56
|
Участник

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

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

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

|
Цитата(seemann @ Jun 18 2015, 16:56)  Объясните мне, как reset может стать асинхронным в одном из доменов если он синхронизируется к одному из клоков которые привязанные друг к другу по фазе? 1) .... Значит есть два клок домена.... Клок домены обычно асинхронны... 2) Так как Вам в репорте тулза и написала. 3) Может Вам эти домены с PLL и не нужны?
|
|
|
|
|
Jun 18 2015, 14:17
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(seemann @ Jun 18 2015, 16:56)  Объясните мне, как reset может стать асинхронным в одном из доменов если он синхронизируется к одному из клоков которые привязанные друг к другу по фазе? Скорее всего это правда, которую синтезатор сам вряд ли поймёт, хотя теоретически косвенно можно было это автоматически определять по настройкам ядер. В чём проблема поставить синхронизаторы на каждый домен? Имхо, может это более избыточное (на 2 триггера!), но более прозрачное решение, чем сложные констрейны и клоки со сдвинутыми фазами..
Сообщение отредактировал Inanity - Jun 18 2015, 14:21
|
|
|
|
|
Jun 18 2015, 14:29
|
Местный
  
Группа: Участник
Сообщений: 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
|
|
|
|
|
Jun 18 2015, 14:31
|

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

|
Цитата(iosifk @ Jun 18 2015, 17:29)  Сделать два ресета, каждый в своем домене под свои клоки... У Ксайлинкса при установке есть пример, там именно так и сделано... да...но только там обмен данными между доменами... На старте надо аккуратно, ато может с 250 пойти в 125, которое есчё в ресете....
|
|
|
|
|
Jun 18 2015, 14:37
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(Torpeda @ Jun 18 2015, 17:31)  На старте надо аккуратно, ато может с 250 пойти в 125, которое есчё в ресете.... А если последовательный сброс сделать? Сбрасывать модули с последнего, т.е. в обратном направлении движения данных. Хотя непонятно, как вообще там данные ходят.
|
|
|
|
|
Jun 18 2015, 14:48
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 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) Так как Вам в репорте тулза и написала. она абсолютно другое написала. давайте будем внимательнее читать вопрос, перед тем как отвечать
--------------------
|
|
|
|
|
Jun 18 2015, 15:15
|
Участник

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

|
@des00: Спасибо, завтра буду разбираться.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|