[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено IgorK 26 апреля 2002 г. 02:17
В ответ на: Ответ: уточните отправлено jm 25 апреля 2002 г. 17:25

Да, стробированный CLK – это 'gated clock’, полученный с выхода комбинаторной логики. Обязательно нужно от него избавиться.
НО, тактовый сигнал, полученный сдвигом одного клока другим, тоже совершенно не приемлем.
Проблема метастабильности связана с неудовлетворением параметра t_setup (ниже вы его упоминаете). См. статью 1. Получая производные тактовые частоты, вы сталкиваетесь:
1)В случае gated clock – с выбросами, приводящим к ложным срабатываниям – вы дважды (трижды) ‘подхватываете' одни и те же данные.
2)Сдвинутый тактовый сигнал – производный CLK скорее всего имеет переменную скважность, и вы периодически ‘промахиваетесь' мимо данных.

Лечение. Каждый блок должен иметь одну глобальную тактовую частоту (буферов Global у Xilinx обычно много). Полагаю, это должны быть самые высокие локальные частоты. Для передачи данных из одного блока в другой (имеющих разные тактовые) лучше всего использовать FIFO или двухпортовую память. Насколько я помню, CLB в Spartan2 могут быть так сконфигурированы, и вы получите набор небольших по объему развязывающих буферов. Можно также передавать флаг готовности данных (но имея такую структуру кристалла, лучше/проще метод 1 – FIFO/DP RAM).
Переделка потребуется, наверное, большая, но результат должен быть.
В целом:
a) Не должно быть ни одного комбинаторного CLK и ни одного CLK, сдвинутого другой частотой.
b) Если данные тактируются CLK1, то они не могут просто перезаписываться по CLK2 (без двухпортовой развязки или выставленного /и гарантированно принятого/ флага).

Статьи:
------------------
Synthesis and Scripting Techniques for Designing Multi- Asynchronous Clock Designs
http://www.sunburst-design.com/papers/CummingsSNUG2001SJ_AsyncClk_rev1_1.pdf

По методу 'передачи флага':
http://www.xilinx.com/xcell/xl37/xcell37_54.pdf

P.S. Напишите please, все ли понятно.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru