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

14

Обычно в цифровом дизайне мы имеем дело с триггерами, которые запускаются при переходе тактового сигнала от 0 к 1 (с положительным фронтом), а не при переходе с 1 на 0 (с отрицательным фронтом). Я знал об этом соглашении с первых моих исследований последовательных цепей, но до сих пор не ставил его под сомнение.

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

travisbartley
источник
2
То, как происходит большинство подобных вещей, - кто-то делает это одним способом, кто-то другой должен сделать аппаратное обеспечение совместимым, и делает то же самое, и через несколько лет у вас есть случайный стандарт.
Коннор Вольф
1
Я работаю с триггерами, которые в основном запускаются Falling Edge. У меня был совершенно противоположный вопрос!
Swanand

Ответы:

10

Наилучшее предположение: положительный тренд является побочным продуктом дизайна, пытающегося использовать как можно меньшую площадь / детали до 1970-х годов . Мера экономии затрат на производство за счет увеличения количества чипов на пластине. Современные положительные / отрицательные DFF часто имеют одинаковую общую площадь, поэтому тенденция положительных границ в настоящее время является унаследованной практикой.

Сохранение площади получилось благодаря классическому дизайну D-триггеров. Современные ведущие / ведомые компоненты D-триггера могут использовать две 5-транзисторные защелки; Патенты WO1984003806 А1 и US4484087 A, поданные 23 марта 1984 года. Патент D-защелки с 8 транзиторами был подан 6 февраля 1970 г .; US3641511 . Для простоты конструкции, основанные на защелках SR / SnRn, будут называться «классическими» и «современными» для конструкций, использующих упомянутые патенты на D-защелки / S-ячейки.

В схеме IC логический элемент NAND использует меньшую площадь, чем вентиль NOR из-за характерных свойств NMOS и PMOS. Форма там, площадь сохранения размеров трендовых каскадов. D-образные защелки SnRn меньше, чем у SR-защелок. Классические конструкции D-триггеров основаны на этих логических элементах. После поиска нескольких дизайнов классические дизайны с положительным краем всегда меньше классических дизайнов с отрицательным краем. Переход на современность произошел по мере того, как стоимость чипов стала благоприятной: экономия площади по сравнению с гонораром роялти.


Копаем немного глубже, чтобы продемонстрировать различия в области:

Классический D-триггер с положительным фронтом : на основе схемы Википедия описывает классический D-триггер с положительным фронтом и диаграмму, используя пять NAND2 и один NAND3. Это использует в общей сложности тринадцать NMOS и тринадцать PMOS.

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

Лучший классический D-триггер с отрицательным фронтом, который я смог найти, - это использование двух D-защелок и двух инверторов. Схематическая ссылочная форма http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Всего используется восемнадцать NMOS и восемнадцать PMOS. Размещение инвертора на классической схеме выше снизит количество транзисторов этой конструкции. В любом случае, классический отрицательный край больше, чем дизайн положительного края.

схематический

смоделировать эту схему

Современная конструкция D-триггера может выглядеть следующим образом на основе патентов WO1984003806 A1 и US4484087 Описание D-триггера с пятью транзисторами. Это использует в общей сложности пять NMOS и один PMOS; большая экономия по сравнению с классической Изменение порядка «главный / подчиненный» создаст триггер отрицательного края равного размера.

схематический

смоделировать эту схему

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

Greg
источник
Неплохо подмечено. Я подходил к проблеме из распределения часов, но я вижу, как может отличаться архитектура DFF. Тем не менее, я думаю, что триггеры с отрицательным краем также могут иметь архитектуру на основе NAND. Можете ли вы добавить схему архитектуры, о которой вы говорите?
Трэвисбартли
1
@ trav1s, я обновил свой ответ примерами и некоторыми патентными исследованиями.
Грег
Интересно, в какой степени микросхемы используют другие методы для защелок, которые должны работать, основываясь на краях внешних часов? Например, используя двухфазную тактовую синхронизацию и полудинамическую логику, можно уменьшить необходимое количество транзисторов на флоп до семи [полностью динамического подхода будет шесть, но добавление седьмого транзистора позволяет добавить полностью статическое состояние «удержания» ].
суперкат
@ Грег, отличная работа. Твои находки примерно такие, как я ожидал. Этот 10Т транзистор в конце - прекрасная вещь.
Трэвисбартли
Интересный ответ и очень проницательный. Вы говорите, что эта тенденция возникла до 70-х годов, но это не согласуется с моими выводами (см. Мой ответ). Что заставило вас придумать эту дату? Просто предположение, или у вас есть дополнительная информация? Если это последнее, я буду рад получить справку (чтобы улучшить свой ответ :))
Василий
3

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

Если вы посчитаете общее количество размещенных логических элементов и тактовую логику (общее количество отгруженных FF), они, вероятно, будут в процессорах и микропроцессорах, Intel, DEC и т. Д. В результате вы получите небольшие группы люди / команды, которые отвечают за дизайн, охватывающий многие десятилетия, с небольшим количеством деталей внутренней работы.

И наоборот, у вас есть много разных команд, работающих над потоками ASIC, с большим количеством проектов, но соответствующих меньшим объемом.

Большинство конструкций процессоров на самом деле не имеют положительного или отрицательного тактового фронта, но спроектированы с использованием схемы синхронизации с двойной защелкой (NOC (Non Overlapped Clock)).

Таким образом, вы получите входные данные -> (логическое облако) -> фиксатор от часов -> логическое облако -> фиксатор от! Clock. Который является канонической формой главного подчиненного FF с логикой, вставленной внутрь.

Такая методология проектирования имеет несколько преимуществ, но также имеет дополнительную сложность.

Еще одна неприятная вещь заключается в том, что эта методология проектирования не преподается в большинстве университетов. Все конструкции Intel x86 относятся к этому типу (не следует путать внешнюю работу интерфейсов с внутренней работой) с заметными синтезируемыми ядрами SOC, которые они разрабатывали для мобильных телефонов.

Отличный дискурс по этому поводу можно найти в «Dally, William J. и John W. Poulton». Цифровая разработка систем. Cambridge University Press, 1998. В разделе 9.5 обсуждается «синхронная синхронизация без обратной связи» <заголовок главы. Но, чтобы процитировать «синхронизация по фронту, однако, редко используется в высокопроизводительных микропроцессорах и системах, в основном потому, что это приводит к минимальному времени цикла, зависящему от перекоса тактовой частоты».

Да, совершенно педантичный ответ. но важная методология, которая малоизвестна, учитывая, сколько всего транзисторов в этих конструкциях (много и много).

заполнитель
источник
Я прочитал это три раза, но до сих пор не понимаю, как это связано с вопросом ОП ...
Василий
1
Кроме того, сказать, что процессоры построены только из защелок, это немного преувеличение (может быть, даже не «немного»). Защелки используются в высокопроизводительной критичной логике (в основном, в трактах данных), но все еще существует много триггеров. Основным недостатком защелок является сложность анализа синхронизации - из-за возможности "заимствования времени" конструкции на основе защелки (та же самая возможность, которая делает эту конструкцию "более быстрой"), очень трудно протестировать конструкцию на основе защелки для замыкания синхронизации. В некритических частях процессоров в основном используются FF.
Василий
Ключевое слово в названии «обычно» - 1) в общем количестве различных типов микросхем - тогда поток ASIC и запуск по фронту будут обычными. 2) если общее количество отправленных логических элементов / транзисторов ЦП выигрывает, а затем выигрывает двойные тактовые импульсы на основе фиксации, а затем утверждение является недействительным.
заполнитель
1
Вы не можете посмотреть на интерфейс этих чипов, чтобы определить, какова внутренняя операция. Как я уже говорил, мастер-слейв Flip Flop - это просто упрощенная версия двухфазного тактового генератора с двойной защелкой. Сроки анализа не сложно, на самом деле это упрощено. Просто лучше быть уверенным в своих часовых доменах.
заполнитель
1
Нет, ключевыми словами являются «триггер» и «край часов». Защелки являются чувствительными к уровню устройствами, не чувствительными к краям. Яблоки и апельсины мужчине - если я хочу знать, почему апельсины апельсиновые, то тот факт, что многие люди предпочитают яблоки, совершенно не имеет значения.
Василий
2

Текущая производительность технологии CMOS (с точки зрения мощности / площади / скорости / стоимости), кажется, нечувствительна к используемой схеме запуска.

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

Я либо не знаю, верно ли ваше утверждение о том, что триггеры обычно запускаются на положительном фронте часов (я верю). Позвольте мне предположить, что это также верно для целей следующего обсуждения.

При всех вышеизложенных предположениях я вижу только две возможности:

  • Запуск по положительным фронтам стал стандартом, поскольку в прошлом он имел некоторые явные преимущества. После того, как технология, которая использовала это преимущество, устарела, положительный запуск по-прежнему оставался стандартом факто.
  • Запуск по положительному фронту стал стандартом без какой-либо технической легитимности, т. Е. В прошлом он не давал никаких преимуществ ни в одном логическом семействе, ни в любом технологическом узле.

Чтобы увидеть, когда срабатывание положительного фронта стало стандартом, я решил проследить эволюцию схем тактирования процессоров Intel :

  1. φ2
  2. 8086 : фиксация данных была выполнена на отрицательном фронте CLK.
  3. 80386 : Используется положительный край CLK2.
  4. 80486 : Используется положительный край CLK.
  5. Pentium : используется положительный край CLK ...

Похоже, что Intel начала с запуска по отрицательному фронту (если этот термин вообще можно применить к самым первым процессорам), но переключилась на запуск по положительному фронту, начиная с 386.

8086 использовал технологию HMOS (своего рода логика NMOS с истощением нагрузки ), тогда как 80386 был CHMOS (это своего рода CMOS). Похоже, что запуск положительного фронта произошел параллельно с внедрением технологии CMOS. Мы предположили, что CMOS не дает никаких преимуществ для запуска положительного фронта, поэтому кажется, что это соглашение является произвольным.

Однако необходимо учитывать три момента:

  • Мы предположили, что современные технологии CMOS не дают никаких преимуществ.
  • Вышеупомянутое предположение не было доказано или обсуждено в любой форме.
  • Из таблиц данных ясно, на каком краю Data Out зафиксирован, однако это может не соответствовать внутренней реализации.

Ясно, что есть место для дополнительных исследований. Продолжение следует...

Василий
источник