@ user129048 есть другие вопросы, которые касаются этой темы на этом сайте. Короче говоря, если вы откроете часы, у вас будет задержка, что плохо. У большинства ПЛИС есть выделенные линии часов, и при стробировании часов эти линии не используются.
Пик напряжения
1
Так же, как вы используете ворота для входа и выхода вашей собаки / лошади / и т.д., они могут проходить сквозь них, если ворота открыты. Часы и сброс - это просто сигналы, которые передаются в модуль логики, как и другие сигналы. Вы можете разрешить или заблокировать эти часы, не пропуская их. Предотвращение логики на другой стороне иметь этот сигнал в качестве входа.
old_timer
Ответы:
19
«Ввести часы» означает поставить логические элементы в линию часов, чтобы включить или выключить их.
Диаграммы выше показывают и И и ИЛИ, используемые для управления часами. Один заставляет часы низко, другой высоко.
Чтобы предотвратить слишком короткие или слишком короткие тактовые импульсы (высокие или низкие) («короткие импульсы»), мы должны убедиться, что:
Управляющий сигнал для логического элемента И должен изменяться только при низком тактовом сигнале .
Управляющий сигнал для логического элемента ИЛИ должен изменяться только при высоком тактовом сигнале .
Стробированные часы очень полезны для снижения мощности в CMOS, поскольку логика остается «тихой», пока часы остановлены. Вы обнаружите, что современные инструменты синтеза имеют специальную опцию для автоматической вставки тактовых импульсов.
Выше две цепи, которые безопасно генерируют стробированные часы. Цепи основаны на том факте, что имеется небольшая задержка (от такта до Q) для выхода управляющего сигнала из регистра. Таким образом, управляющий сигнал изменяется на затворе, когда часы имеют известную полярность.
Очень хороший ответ. Я просто расскажу о преимуществах питания от стробированных часов. Сеть синхронизации в ИС, особенно в сложных, таких как микропроцессоры, может быть очень обширной. Настолько обширно, что было показано (извините, у меня нет справки), что переключение одной только тактовой сети может составлять 30% от общего энергопотребления. Это потребляется, даже если фактическая логика, к которой он привязан, не имеет ничего общего, например. регистры и выходы не меняются вообще. Запуск часов может полностью отключить часы в затронутых частях сети, что значительно снижает энергопотребление.
ultimA
4
@Curd: Когда ОП гласит «не стробируйте часы», профессор означает «не стробируйте часы буквально, как в одном логическом шлюзе». Это хороший совет. На практике, хотя «стробирование часов» означает «отключение часов» или возможность сделать это, и очень рекомендуется делать это по соображениям мощности, если вы знаете, как это сделать правильно (то есть не с логикой ворота, но с достаточной логикой, чтобы избежать наездов и глюков на линии часов).
ultimA
8
Здесь я должен догадаться, почему профессор так говорит: стробирование часов, хотя и представлено здесь как простое, имеет много подводных камней. Поэтому это очень неодобрительно. В разработке ASIC (откуда я родом) это делают либо инструменты, которым предполагается доверять, либо ведущие старшие инженеры, также считающиеся доверенными, чтобы знать, что они делают.
Олдфарт
4
@oldfart Это очень вероятное объяснение. Особенно, если OP относится к классу FPGA, маловероятно, что они когда-либо будут использовать часы.
Мбриг
3
@ MITURAJ, стробирование часов, безусловно, может быть сделано в начале проекта. Я думаю, что вы описываете, что должно быть сделано, а не то, что «обычно» делается. Свобода ПЛИС позволяет любому реализовывать плохие идеи. Много плохих дизайнов там.
TonyM
6
В этом контексте гейтинг означает пропуск сигнала через логический вентиль для управления им.
Пропуск его через один вход 2-входного логического элемента И позволяет управляющему биту на другом входе принудительно устанавливать низкий уровень на выходе логического элемента И или пропускать и пропускать сигнал. Аналогичная функция может быть выполнена с помощью логического элемента ИЛИ, когда сигнал форсирован или пропущен.
Таким образом, стробирование часов означает принуждение к низкому / высокому уровню или пропуск его.
Не стробируйте часы - хороший совет. Это можно сделать с осторожностью и тщательным пониманием возможных последствий. К ним относятся метастабильность при приеме синхронизированных сигналов в стробированную тактовую область и худшие результаты от синтеза / компоновки, управляемой синхронизацией.
Но почти всегда есть другие способы достижения того же контроля над цепью, что и управление часами, без всех таких рисков и штрафов.
Это означает:
не используйте логический элемент И или ИЛИ (или любой более сложный комбинаторный термин) для получения тактового сигнала из другого тактового сигнала.
Причиной этого правила является то, что условия гонки между несколькими входами комбинаторного члена могут вызывать множественные фронты тактовых импульсов (сбои), при которых вы ожидаете только один тактовый фронт.
Было бы неплохо, если бы ответчик смог объяснить, что он считает неправильным с этим ответом.
Творог
4
Для высокой скорости это означает, что не следует добавлять логические элементы, которые добавляют задержку распространения к часам, так как это может вызвать гонку при работе с данными с использованием оригинальных часов.
Это была моя первая мысль, что я не слышал ранее использованного термина, но бывают случаи, когда буферизация будет необходима, и в этом случае, вероятно, гейтинг будет означать больше, чем буферизация. Характеристики поворота и фронта могут изменяться при простой буферизации и должны учитываться в любом случае.
Ответы:
«Ввести часы» означает поставить логические элементы в линию часов, чтобы включить или выключить их.
смоделировать эту схему - схема, созданная с использованием CircuitLab
Диаграммы выше показывают и И и ИЛИ, используемые для управления часами. Один заставляет часы низко, другой высоко.
Чтобы предотвратить слишком короткие или слишком короткие тактовые импульсы (высокие или низкие) («короткие импульсы»), мы должны убедиться, что:
Стробированные часы очень полезны для снижения мощности в CMOS, поскольку логика остается «тихой», пока часы остановлены. Вы обнаружите, что современные инструменты синтеза имеют специальную опцию для автоматической вставки тактовых импульсов.
смоделировать эту схему
Выше две цепи, которые безопасно генерируют стробированные часы. Цепи основаны на том факте, что имеется небольшая задержка (от такта до Q) для выхода управляющего сигнала из регистра. Таким образом, управляющий сигнал изменяется на затворе, когда часы имеют известную полярность.
источник
В этом контексте гейтинг означает пропуск сигнала через логический вентиль для управления им.
Пропуск его через один вход 2-входного логического элемента И позволяет управляющему биту на другом входе принудительно устанавливать низкий уровень на выходе логического элемента И или пропускать и пропускать сигнал. Аналогичная функция может быть выполнена с помощью логического элемента ИЛИ, когда сигнал форсирован или пропущен.
Таким образом, стробирование часов означает принуждение к низкому / высокому уровню или пропуск его.
Не стробируйте часы - хороший совет. Это можно сделать с осторожностью и тщательным пониманием возможных последствий. К ним относятся метастабильность при приеме синхронизированных сигналов в стробированную тактовую область и худшие результаты от синтеза / компоновки, управляемой синхронизацией.
Но почти всегда есть другие способы достижения того же контроля над цепью, что и управление часами, без всех таких рисков и штрафов.
источник
Это означает:
не используйте логический элемент И или ИЛИ (или любой более сложный комбинаторный термин) для получения тактового сигнала из другого тактового сигнала.
Причиной этого правила является то, что условия гонки между несколькими входами комбинаторного члена могут вызывать множественные фронты тактовых импульсов (сбои), при которых вы ожидаете только один тактовый фронт.
источник
Для высокой скорости это означает, что не следует добавлять логические элементы, которые добавляют задержку распространения к часам, так как это может вызвать гонку при работе с данными с использованием оригинальных часов.
источник