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

миниатюрный аудио-видеорекордер mAVR

Отправлено Andy-P 31 августа 2004 г. 16:29
В ответ на: Поясните, пожалуйста, это слово "конвейеризированный" отправлено Барс 31 августа 2004 г. 15:42

«И получится ли синхронный проект, если у него два несинхронных входных клока, плюс ISA.»

Часть проекта, использующая только один тактовый сигнал, называется Clock Domain
Переходить из одного Clock Domain в другой, т.е. передавать сигналы, в общем случае надо через синхронизирующие триггеры, или даже двойные синхронизирующие триггеры. Подробней - смотрите главу Project Reliability Guidelines в хелпе к МАХ+. При выполнении этих требований проект будет синхронный и без проблем метастабильности!

«Чтобы проект был синхронным...» надо:
- разбить проект на Clock Domain
- один и только один тактовый сигнал внутри Clock Domain. При этом Enable Clock никто не отменяет :)
- внутри Clock Domain обеспечить выполнение всех комбинаторных операций за время меньшее периода конкретного тактового сигнала. При этом подразумевается, что работа идет только по положительным фронтам тактового сигнала со скважностью ~50%
- передавать сигналы из одного Clock Domain в другой через синхронизирующие триггеры

«Поясните, пожалуйста, это слово "конвейеризированный" ?
Как сказано выше, все комбинаторные операции должны быть выполнены за время меньшее периода конкретного тактового сигнала. А что, если не получается при всем желании и мастерстве? Тогда надо разбить эту сложную комбинаторную операцию на части, так, чтобы каждая часть выполнялась за время меньшее периода конкретного тактового сигнала, затем защелкнуть промежуточные результаты на триггере. Тогда получается время на эту операцию равно (период тактового сигнала) * (число частей). Вот это и будет конвейеризация. Разумеется надо сделать определенные корректировки или упреждения для конвейеризированной операции. Например, требуемая операция, не укладывающаяся в один период тактового сигнала, – дешифрация выхода счетчика, и этот выход должен во время этого же периода тактового сигнала успеть добежать до управляемого им коммутатора, выход которого защелкивается. Время операции: дешифрирование + управление коммутатором. Разбиваем: после дешифратора со счетчика ставим триггер, но дешифрируем не состояние N, как раньше, а N-1 (up counter). Получили что теперь не вся сумма должна уложиться за период, а только дешифрирование. Управление коммутатором происходит на следующем периоде

Желаю творческих успехов


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru