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

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

Отправлено Andy-P 02 сентября 2004 г. 12:36
В ответ на: To Andy-P: И все-таки я сильно сомневаюсь по поводу тактирования одним фронтом (+) отправлено Барс 02 сентября 2004 г. 09:47

Во-первых, я не противоречу учебникам, действительно «можно по одному фронту устанавливать, по другому – защелкивать», а только объяснял, почему максимальная рабочая частота проекта, и следовательно запас по таймингу, будет больше, если весь проект тактировать единым фронтом.
Во-вторых, возможно в учебнике весьма категорично на этом настаивают, но Вы не приводите для каких это условий.

Рассмотрим еще один простой пример: сдвиговый регистр. Выход q[0] триггера_0 подается на вход d[1] триггера_1 с выходом q[1]. Вы предпочитаете триггер_0 тактировать по положительному фронту, а триггер_1 по отрицательному. Будет работать!
Теперь оба триггера тактируем единым, пусть положительным, фронтом. Перед приходом положительного фронта на d[1] – установившийся q[0]. Разумеется, период тактирования больше времени предустановки (tsu) данных для триггеров, т.е. tsu для триггера_1 выполнено.
Теперь пришел положительный фронт (пока не учитываем его перекоса на триггерах). Для смены состоянии триггера_0, т.е. q[0] или что тоже d[1], требуется время tcoint. Последнее больше необходимого времени удержания данных th, для того, чтобы триггер_1 корректно защелкнул входные данные d[1], так спроектированы триггеры Альтерой. И такой метод тактирования будет работать (проверено электроникой :))), т.е. симуляторами и реальными реализациями печатных узлов.
Можно обобщить, к примеру, триггер_0 теперь целый параллельный регистр, а триггер_1 синхронный счетчик и все тактируется единым фронтом и данные с регистра могут быть загружены в счетчик.
Преимущества в тактировании единым фронтом – остается больше времени на то, чтобы сигнал добежал от q[0] до d[1], куда входит и задержки по распространению и возможная комбинаторная логика, т.е. тайминг лучше.

Если учесть перекос во времени прихода фронта тактирования для худшего случая, т.е. на триггера_1 он приходит чуть позже, то это можно пересчитать в увеличение времени удержания данных th. Производители FPGA CPLD принимают специальные меры для минимизации этого перекоса, создавая выделенные трассы для глобальных по кристаллу тактов, а также вставляют схемы его корректировки. Т.е. если пользоваться такими специализированными трассами для тактовых сигналов, то проблемы перекоса нет в силу его ничтожной малости по сравнению с врожденным th. Также не будет проблем, если такт локальный, но тактирует триггеры в пределах LAB. Конечно, если триггер_0 тактируется, к примеру, глобальным тактом, а триггер_1 тактом, выведенным на логике и трассируемым по FPGA как обычный сигнал, то это уже не синхронная схема и есть сомнения в ее работоспособности.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru