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

 
 
> Асинхронный резет для нескольких таковых доменов, Как правильно делать?
MIX@
сообщение Jan 10 2013, 13:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 21-01-09
Пользователь №: 43 756



Здравствуйте, уважаемые!

Делаю проект на альтере (Stratix IV), где имеются несколько (4-5) тактовых доменов. Клоки на все домены вырабатываются внутренним PLL от единственного внешнего синхросигнала. Сигнал внешнего сброса заведён на вход сброса PLL. Сигнал захвата PLL тактовой частоты (lock) использую как асинхронный сброс на генератор внутреннего резета (8-ми битный счётчик с триггером на выходе). Генератор внутреннего сброса синхронизируется от одного из сигналов, вырабатываемого PLL. И уже дальше этот внутренний резет идёт на входы асинхронного сброса всех остальных модулей.

Проблема - TimeQuest выдаёт дофигище нарушений ограничения типа Recovery/Removal практически во всех блоков всех тактовых доменов.

Основной вопрос - корректно ли делать такую схему сброса в принципе?

Допустим, можно синхронизировать резет на все тактовые домены, но:

1) Как это корректнее делать (имею в виду - превращение в чистый синхронный резет или же в синхронизированный асинхронный)?
2) В FPGA вроде бы есть глобальные роуты по которым идёт клок? Почему по этим же линиям нельзя пускать асинхронный сброс?
3) Есть блок (фреймбуфер), работающий сразу в 3-х тактовых тактовых доменах, с кучей Dual-Clocked FIFO для пересинхронизации - как правильно сбросить его?

Заранее спасибо за советы.

Сообщение отредактировал MIX@ - Jan 10 2013, 13:33
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
blackfin
сообщение Jan 10 2013, 18:04
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(MIX@ @ Jan 10 2013, 17:31) *
Генератор внутреннего сброса синхронизируется от одного из сигналов, вырабатываемого PLL. И уже дальше этот внутренний резет идёт на входы асинхронного сброса всех остальных модулей.
Основной вопрос - корректно ли делать такую схему сброса в принципе?

Q-II Handbook (v12.1,p.501):
Цитата
Synchronized Asynchronous Reset

To avoid potential problems associated with purely synchronous resets and purely
asynchronous resets, you can use synchronized asynchronous resets. Synchronized
asynchronous resets combine the advantages of synchronous and asynchronous
resets. These resets are asynchronously asserted and synchronously deasserted. This
takes effect almost instantaneously, and ensures that no data path for speed is
involved, and that the circuit is synchronous for timing analysis and is resistant to
noise.
Figure 12–20 shows a method for implementing the synchronized asynchronous reset.
You should use synchronizer registers in a similar manner as synchronous resets.
However, the asynchronous reset input is gated directly to the CLRN pin of the
synchronizer registers and immediately asserts the resulting reset. When the reset is
deasserted, logic “1” is clocked through the synchronizers to synchronously deassert
the resulting reset.
[attachment=73941:Reset.jpg]
Цитата(MIX@ @ Jan 10 2013, 17:31) *
Проблема - TimeQuest выдаёт дофигище нарушений ограничения типа Recovery/Removal практически во всех блоков всех тактовых доменов.
Нужно добавить в SDC:
Цитата
# Cut the asynchronous reset input
set_false_path -from [get_ports {reset_n}] -to [all_registers]
Go to the top of the page
 
+Quote Post



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

 


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


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