skkap 0 15 ноября, 2009 Опубликовано 15 ноября, 2009 · Жалоба Имеем тактовую частоту 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. Как описанная вами ситуация будет работать? Вот рисунок: Ведь схема счета секунд дает задержку, из-за которой я так понимаю не сработает счет минут? что я не так понял? : / Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 7 15 ноября, 2009 Опубликовано 15 ноября, 2009 · Жалоба Ведь схема счета секунд дает задержку, из-за которой я так понимаю не сработает счет минут? что я не так понял? : / У Вас длительность сформированного импульса en нарисована меньше периода рабочего клока. (Сигнал сформированный по глобальному клоку всегда подхватится следующим клоком). Что касается последующих сформированных сигналов EN, вроде бы их по коньюнкции надо объединять (En_sek && en_minut) По идее Вашу первоначальную схему можно заставить работать, почитав что такое констрейны. Одноклоковая синхронизация -самое простое, да и в дальнейшем такой проект легко параметризовать (Меняя например частоту генератора, изменить схемную реализацию одним параметром) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 15 ноября, 2009 Опубликовано 15 ноября, 2009 · Жалоба Очень понятно пояснили, спасибо! Значит триггер тактируется Gated Clock, если его тактовый вход подключен к пину, отличному от одного из глобальных тактовых сигналов, верно? Значит необходимо каждый блок, содержащий триггеры тактировать исходным тактовым сигналом. Остались непонятны две вещи: 1. Зачем оно надо вообще? Чем плохо gated clock? 2. Как описанная вами ситуация будет работать? Вот рисунок: Ведь схема счета секунд дает задержку, из-за которой я так понимаю не сработает счет минут? что я не так понял? : / 1) Примите за аксиому, что в CPLD/FPGA все проекты должны быть синхронны (хотя в реале бывают случаи с множеством клоков и надо организовывать перенос данных между клок-доменами, но это предмет другого разговора.) Ну, а вообще поищите в инете статьи по этому поводу... Вкратце - вот Ваш случай: http://www.xilinx.com/itp/xilinx7/books/da.../dev0017_5.html 2) Неправильно нарисовали min_en :-) Его длительность будет равна 1 сек., а Вы нарисовали пол-периода. P.S. Кстати, SAZH про конъюнкцию правильно сказал. Думаю - поймете почему ;-) -- Успехов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 15 ноября, 2009 Опубликовано 15 ноября, 2009 · Жалоба Значит триггер тактируется Gated Clock, если его тактовый вход подключен к пину, отличному от одного из глобальных тактовых сигналов, верно? Да. Gated clock это тактовый сигнал, пропущенный через логический элемент, и используемый далее для тактирования. Для ПЛИС это не самое лучшее решение, если используется обратная связь из домена, тактируемого gated clock, в домен, тактируемый любым другим клоком. Ежели обратных связей нет (и зависимостей реакции внешних устройств от синхронности вывода данных на выходы из разных доменов), то не важно, чем что тактируется. Значит необходимо каждый блок, содержащий триггеры тактировать исходным тактовым сигналом. ... 1. Зачем оно надо вообще? Чем плохо gated clock? С точки зрения ПЛИС плох тем, что для достижения синхронности при использовании нескольких разных путей тактовых сигналов приодится жертвовать ресурсами. В основном для обеспечения выдерживания hold time (времени удержания). Опять же, если есть обратные связи... ну и т.д., см. выше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 15 ноября, 2009 Опубликовано 15 ноября, 2009 · Жалоба Для ПЛИС это не самое лучшее решение, если используется обратная связь из домена, тактируемого gated clock, ... В основном для обеспечения выдерживания hold time (времени удержания). Опять же, если есть обратные связи... ну и т.д., см. выше. Проблемы по hold могут быть и если не используется обратная связь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться