Перейти к содержанию
    

Имеем тактовую частоту 1 Hz - clk_1hz, подаем ее на счетчик секунд (sec_cnt по модулю 60).

Формируем сигнал munute_ena, равный "1" при значении счетчика 59.

Этот сигнал подаем на вход разрешения счета следующего счетчика (minute_cnt, также по модулю 60).

Тактируется minute_cnt также сигналом clk_1hz.

 

Делаем сигнал разрешения hour_ena аналогичный minute_ena и подаем его на последний счетчик (hour_cnt - по модулю 24),

который тактируется clk_1hz

Получаем полностью синхронный проект.

 

Он тактируется "gated clock", как и остальные части в проекте.

Кстати, а индикацию сделали-бы динамическую - сэкономили-бы на пинах (11 против 28)

Очень понятно пояснили, спасибо!

Значит триггер тактируется Gated Clock, если его тактовый вход подключен к пину, отличному от одного из глобальных тактовых сигналов, верно? Значит необходимо каждый блок, содержащий триггеры тактировать исходным тактовым сигналом.

 

Остались непонятны две вещи:

1. Зачем оно надо вообще? Чем плохо gated clock?

2. Как описанная вами ситуация будет работать? Вот рисунок:

post-53297-1258307475_thumb.png

 

Ведь схема счета секунд дает задержку, из-за которой я так понимаю не сработает счет минут? что я не так понял? : /

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ведь схема счета секунд дает задержку, из-за которой я так понимаю не сработает счет минут? что я не так понял? : /

 

У Вас длительность сформированного импульса en нарисована меньше периода рабочего клока. (Сигнал сформированный по глобальному клоку всегда подхватится следующим клоком).

Что касается последующих сформированных сигналов EN, вроде бы их по коньюнкции надо объединять (En_sek && en_minut)

По идее Вашу первоначальную схему можно заставить работать, почитав что такое констрейны.

Одноклоковая синхронизация -самое простое, да и в дальнейшем такой проект легко параметризовать (Меняя например частоту генератора, изменить схемную реализацию одним параметром)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень понятно пояснили, спасибо!

Значит триггер тактируется Gated Clock, если его тактовый вход подключен к пину, отличному от одного из глобальных тактовых сигналов, верно? Значит необходимо каждый блок, содержащий триггеры тактировать исходным тактовым сигналом.

 

Остались непонятны две вещи:

1. Зачем оно надо вообще? Чем плохо gated clock?

2. Как описанная вами ситуация будет работать? Вот рисунок:

post-53297-1258307475_thumb.png

 

Ведь схема счета секунд дает задержку, из-за которой я так понимаю не сработает счет минут? что я не так понял? : /

 

1) Примите за аксиому, что в CPLD/FPGA все проекты должны быть синхронны (хотя в реале бывают случаи с множеством клоков и надо организовывать перенос данных

между клок-доменами, но это предмет другого разговора.) Ну, а вообще поищите в инете статьи по этому поводу...

Вкратце - вот Ваш случай:

http://www.xilinx.com/itp/xilinx7/books/da.../dev0017_5.html

 

2) Неправильно нарисовали min_en :-) Его длительность будет равна 1 сек., а Вы нарисовали пол-периода.

 

P.S.

Кстати, SAZH про конъюнкцию правильно сказал. Думаю - поймете почему ;-)

 

-- Успехов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит триггер тактируется Gated Clock, если его тактовый вход подключен к пину, отличному от одного из глобальных тактовых сигналов, верно?

Да. Gated clock это тактовый сигнал, пропущенный через логический элемент, и используемый далее для тактирования. Для ПЛИС это не самое лучшее решение, если используется обратная связь из домена, тактируемого gated clock, в домен, тактируемый любым другим клоком. Ежели обратных связей нет (и зависимостей реакции внешних устройств от синхронности вывода данных на выходы из разных доменов), то не важно, чем что тактируется.

 

Значит необходимо каждый блок, содержащий триггеры тактировать исходным тактовым сигналом.

...

1. Зачем оно надо вообще? Чем плохо gated clock?

С точки зрения ПЛИС плох тем, что для достижения синхронности при использовании нескольких разных путей тактовых сигналов приодится жертвовать ресурсами. В основном для обеспечения выдерживания hold time (времени удержания). Опять же, если есть обратные связи... ну и т.д., см. выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для ПЛИС это не самое лучшее решение, если используется обратная связь из домена, тактируемого gated clock,

...

В основном для обеспечения выдерживания hold time (времени удержания). Опять же, если есть обратные связи... ну и т.д., см. выше.

Проблемы по hold могут быть и если не используется обратная связь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...