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

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

Отправлено SM 18 июня 2003 г. 18:07
В ответ на: вопрос, как для Virtex-ов делается "gated clock" отправлено yes 18 июня 2003 г. 11:04

Делал так в альтере. (Отлаживая тот самый азик :) )

мультиплексор такой:

out_clk = (clk1 & LCELL(LCELL(clk1en))) | (clk2 & LCELL(LCELL(clk2en)))

clk1en и clk2en - выходы регистров, тактируемых каждый своим соответствующим ИНВЕРТИРОВАННЫМ клоком (clk1 и clk2)

А вот процесс переключения хитрый. Например переход с clk1 на clk2

1) отключаю clk1en синхронно с клоком clk1. Это просто и ясно.
2) сигнал с clk1en идет через линию задержки, тактируемую инверт. клоком clk2. Длина этой ЛЗ 2-3 триггера, от метастабильности.
3) по факту перехода в ноль этой ЛЗ включаю clk2en. Это тоже синхронно с клоком clk2. Опять - просто.

Нюанс в самом проходе клока через мультиплексор. ЛЗ и триггеры разрешения клоков тактируются по спаду. Соответственно сигнал разрешения на соотв. вход мультиплексора дойдет через время T от спада клока. Это время состоит из времени распространения от входя клока регистра до данных и времени прохождения через пару LCELLов. На второй вход мультиплексора идет непосредственно клок, и время его прихода заведомо меньше того времени T. Это полностью исключает глитчи.

В общем это работает, и отлично. Коммутация идет между двумя независимыми кварцевыми генераторами (скоростной и 32 кгц)


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru