Введение

Цифровая логическая схема

В цифровых вычислениях элемент Мюллера C (C-шлюз, гистерезисный триггер, триггер по совпадению, или схема безопасности с двумя каналами) — это небольшая бинарная логическая схема, широко используемая в проектировании асинхронных схем и систем. Он выдает 0, когда все входы равны 0, выдает 1, когда все входы равны 1, и в противном случае сохраняет свое выходное состояние. Он был формально описан в 1955 году Дэвидом Э. Мюллером и впервые использован в компьютере ILLIAC II. С точки зрения теории решеток, элемент C является полумодульной распределительной схемой, работа которой во времени описывается диаграммой Хассе. Элемент C тесно связан с элементами "встречи" и "соединения", где вход не может изменяться дважды подряд. В некоторых случаях, когда известны соотношения между задержками, элемент C может быть реализован в виде схемы "сумма произведений" (SOP). Более ранние методы реализации элемента C включали триггер Шмитта, триггер Экклза-Джордана и триггер последней точки переключения.

Реализация элемента С

В зависимости от требований к скорости переключения и энергопотреблению, элемент C может быть реализован как схема с крупным или мелким зерном. Также следует различать реализации элемента C с одним и двумя выходами. Двухвыходной элемент C может быть реализован только на двухвходовых элементах NAND (или NOR). Реализация с одним выходом возможна только в том случае, если: схема, в которой каждый вход элемента C соединен через отдельный инвертор с его выходом, является полумодульной относительно состояния, в котором все инверторы находятся в активном состоянии. Это состояние является рабочим для выходного каскада элемента C.

Статические и полустатические реализации

В своем докладе он отметил, что в целом элементы C с различными временными характеристиками могут быть построены на основе логических элементов AND OR Invert (AOI) или их двойных, OR AND Invert (OAI), а также инверторов. Другой вариант, запатентованный Варшавским и др., заключается в замыкании входных сигналов на землю, когда они не равны друг другу. Эти реализации, несмотря на свою простоту, потребляют больше энергии из-за возникновения коротких замыканий. Подключив дополнительный мажоритарный элемент к инвертированному выходу элемента C, мы получаем функцию инклюзивного ИЛИ (EDLINCOR). Некоторые простые асинхронные схемы, такие как распределители импульсов, могут быть построены исключительно на мажоритарных элементах. Полустатический элемент C сохраняет свое предыдущее состояние с помощью двух перекрестно связанных инверторов, аналогично ячейке SRAM. Один из инверторов слабее остальной схемы, поэтому его можно переключить сетями подтяжки и стяжки. Если оба входа равны 0, сеть подтяжки изменяет состояние триггера, и элемент C выдает 0. Если оба входа равны 1, сеть стяжки изменяет состояние триггера, в результате чего элемент C выдает 1. В противном случае вход триггера не подключен ни к питанию, ни к земле, и поэтому доминирует слабый инвертор, а триггер выдает свое предыдущее состояние. Существуют также версии полустатических элементов C, построенных на устройствах с отрицательным дифференциальным сопротивлением (NDR). Поскольку NDR обычно определяется для малого сигнала, трудно ожидать, что такой элемент C будет работать во всем диапазоне напряжений или токов.

Внедрение на уровне шлюза

Существует ряд различных схем с одним выходом для элемента C, построенных на логических элементах. В частности, так называемая реализация Маевского является полумодульной, но недистрибутивной (или причинной) схемой, основанной на. Элемент NAND3 в этой схеме может быть заменен двумя элементами NAND2. Следует отметить, что элемент C Маевского фактически является элементом Join, входные сигналы которого не могут переключаться дважды. Реализация элемента C только на двухвходовых элементах была предложена Цирлиным, а затем синтезирована Стародубцевым и др. с использованием языка Taxogram. Эта схема совпадает со схемой, приписываемой Бартки. Быстрая транзисторная реализация этой схемы используется в предлагаемом полустатическом элементе C. Предложена еще одна полустатическая схема, использующая проходные транзисторы (фактически MUX 2:1). Еще одна версия элемента C, построенная на двух SR-триггерах, была синтезирована Мерфи с помощью инструмента Petrify. Однако эта схема включает инвертор, подключенный к одному из входов. Этот инвертор должен иметь небольшую задержку. Однако существуют реализации RS-триггеров, которые уже имеют один инвертированный вход, например. Некоторые подходы, не зависящие от скорости, предполагают наличие инверторов с нулевой задержкой на всех элементах, что является нарушением истинной независимости от скорости, но в практике достаточно безопасно. Существуют и другие примеры использования этого предположения.

Нетранзисторные реализации

Другими технологиями, подходящими для реализации асинхронных примитивов, включая C-элемент, являются: углеродные нанотрубки, туннельные устройства с одним электроном, квантовые точки и молекулярная нанотехнология.