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


14

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

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


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; большая экономия по сравнению с классической Изменение порядка «главный / подчиненный» создаст триггер отрицательного края равного размера.

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

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

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


Неплохо подмечено. Я подходил к проблеме из распределения часов, но я вижу, как может отличаться архитектура 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 зафиксирован, однако это может не соответствовать внутренней реализации.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.