Почему конструкции на основе защелок не распространены в наши дни?

Почти все ASIC основаны на триггерах. Таким образом, DFF — это две защелки, сдвинутые вместе. В то время как в дизайне на основе защелок вы можете «разделить» эти две защелки и втиснуть логику между ними. Конструкция на основе защелки имеет ряд преимуществ:

  1. Заимствование времени: можно сильно расслабиться
  2. Уменьшенная площадь и энергопотребление: вы получаете ту же логику с половиной регистров

Недостатки:

  1. Нужны двухфазные часы с мертвым временем
  2. Трудно обернуть голову вокруг концепции
  3. Инструменты не поддерживают концепцию легко
  4. Сложно прототипировать. Каждая ПЛИС имеет в своей ячейке DFF, а не защелку.
  5. Трудно сделать скан-цепочку

Являются ли эти недостатки настолько серьезными, что от конструкций защелок отказались? Я имею в виду, если бы у нас были надлежащие инструменты EDA и FPGA, мы все равно могли бы это сделать, верно? Или я упускаю здесь что-то действительно важное?

Сбалансировать оба края часов в физической области и изменение процесса — это кошмар. Часы с одним фронтом уже вызывают достаточно проблем.
Современный триггер — это не две защелки, сжатые вместе, это асинхронный конечный автомат, созданный для реализации поведения триггера. Схема «ведущий-ведомый», которую вы часто видите в учебных материалах, на самом деле не используется.
@ Остин, я склонен не соглашаться. если вы посмотрите схемы DFF в обычных библиотеках CMOS, вы найдете две защелки (одна из защелкивающихся инверторов является передающим инвертором), разделенные двумя затворами передачи с инвертированными синхронизирующими импульсами друг к другу.

Ответы (2)

Ваши "преимущества" не выдерживают никакой критики.

Современные инструменты синтеза могут перемещать логику по регистрам для оптимизации времени, поэтому защелки не дают здесь никаких преимуществ.

Как получить «половину регистров», разделив их? Мне кажется такое же количество регистров.

Представьте себе конвейерный процессор с 6 этапами конвейера. Это означает, что ступени триггеров 6x, каждая из которых содержит две защелки. В дизайне на основе защелок у вас будет всего 3 этапа для каждого высокофазного и низкофазного тактового сигнала, что составляет половину от общего количества. Но хорошая мысль о восстановлении времени регистрации.
@artemonster Дизайн, требующий 6 этапов конвейера, представляет собой 6x18 уровней логики (или что-то еще). Если вы разделите это на высокие и низкие фазы тактовой частоты, вам потребуется 12x 9 уровней логики. Дополнительные этапы конвейера добавляются для увеличения тактовой частоты, а не потому, что этого требует архитектура.
@SeanHoulihane Извините, у меня произошел сбой при обмене стеками, поэтому я не могу загрузить изображение напрямую, но, пожалуйста, обратитесь к этому изображению: 2.bp.blogspot.com/-D-zIa3pSNcU/TZBTbYsUP_I/AAAAAAAAAADI/… У вас есть одинаковое количество этапов конвейера и такое же количество логики между ними, но вы не используете «две защелки» на каждом этапе для построения флопа, а используете 1 защелку и двухфазные часы.

Я не согласен с вашим изложением того, что такое DFF. DFF гарантирует, что синхронизация должна быть связана только с одним событием: передним фронтом тактового сигнала.

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

ээээ, что? Я никогда не говорил об асинхронности. конструкции. Я имею в виду конструкции на основе защелок, основанные на двухфазных часах.