Логика домино представляет собой основанную на КМОП эволюцию методов динамической логики , состоящую из динамического логического элемента, каскадно подключенного к статическому КМОП-инвертору . [2] Этот термин происходит от того факта, что в логике домино каждый этап вызывает следующий этап для оценки, подобно тому, как домино падает одно за другим . Логика домино контрастирует с другими решениями проблемы каскада, где каскадирование прерывается часами или другими способами.
Логика домино была разработана для ускорения работы схем и решения проблемы преждевременного каскада, как правило, путем установки статических КМОП-инверторов между каскадами домино, чтобы избежать преждевременной разрядки последующих каскадных логических логических элементов. [3] Логика Domino обеспечивает размах логики между напряжениями, при этом выход может переключаться с напряжения источника питания на напряжение заземления.
Динамическая логика отличается от статической логики включением тактового сигнала для ускорения производительности. В динамических логических элементах КМОП выход затвора предварительно заряжается до напряжения источника питания, пока часы выключены (фаза «предварительного заряда»), а затем оценивается до правильного логического состояния, пока часы включены (фаза «оценки»). путем истощения соответствующих NMOS-транзисторов в понижающей сети. [2]
Однако при каскадировании динамических логических вентилей возникает проблема: состояние предварительной зарядки «1» первого вентиля может привести к преждевременному разряду второго вентиля до того, как первый вентиль достигнет своего правильного состояния. При этом используется предварительная зарядка второго вентиля, которую невозможно восстановить до следующего тактового цикла, поэтому восстановление после этой ошибки невозможно. [4]
Одним из решений каскадирования динамических логических вентилей является логика домино, которая вставляет между каскадами обычный статический инвертор. В многоступенчатой каскадной структуре логики домино оценка каждого этапа влияет на следующий этап оценки, подобно тому, как домино падает одно за другим. После оценки состояния узла не могут вернуться в «1» до тех пор, пока не начнется следующая фаза предварительной зарядки. [3]
Хотя может показаться, что установка инвертора противоречит смыслу динамической логики, поскольку инвертор имеет pFET (одна из основных целей динамической логики — избегать использования pFET там, где это возможно, из-за скорости), есть две причины, по которым он работает хорошо. . Во-первых, нет разветвления на несколько pFET; динамический вентиль подключается ровно к одному инвертору, поэтому вентиль по-прежнему работает очень быстро. Более того, поскольку инвертор подключается только к nFET в динамических логических элементах, он также работает очень быстро. Во-вторых, pFET в инверторе может быть меньше, чем в некоторых типах логических элементов. [5]
Распределение заряда может вызвать трудности с целостностью сигнала домино-логики; Во время фазы оценки включенные NMOS-транзисторы рядом с выходом могут вызвать нежелательную разрядку выходного узла. Чтобы это исправить, можно использовать кипер-транзистор. Этот кипер-транзистор представляет собой PMOS-транзистор, затвор которого подключен к выходу инвертора, исток - к источнику питания, а сток - к входу инвертора. Таким образом, кипер-транзистор подключает динамический узел к источнику питания всякий раз, когда он должен находиться в состоянии «1», позволяя правильно восстановить выходной сигнал, несмотря на разделение заряда. [6]
Еще одна проблема логики домино — ее неинвертирующее свойство; то есть он может реализовать только вентили, которые не имеют инверсий на своих выходах (например, вентили И и вентили ИЛИ , в отличие от вентилей И-НЕ и вентилей ИЛИ-НЕ ). Чтобы исправить это свойство, некоторые варианты логики домино имеют дифференциальную или двухрельсовую природу, используя как инвертированные, так и неинвертированные входы для реализации логической функции, а также ее обратной. Эти разновидности также включают в себя pFET с перекрестной связью для ослабления шума . [2]
Традиционные логические схемы домино являются «ножными», то есть имеют NMOS-транзистор, управляемый тактовым сигналом, который подключен к шине заземления. Однако некоторые схемы домино являются «безногими»: в них отсутствует этот транзистор, что приводит к более высокой скорости за счет большей утечки мощности. [7]