Схемы на КМОП-транзисторах как модель аппаратной реализации логики

КМОП-схема реализует булеву логику парой взаимодополняющих транзисторных сетей. Сеть p-МОП-транзисторов соединяет выход с высоким потенциалом \(V_{DD}\), когда функция должна выдавать 1, а сеть n-МОП-транзисторов соединяет выход с землёй \(GND\), когда на выходе должен быть 0.1

В логической модели последовательное соединение открытых транзисторов соответствует условию «И» для проводимости, параллельное — условию «ИЛИ». Комплементарность сетей обеспечивает, что в устойчивом режиме выход связан только с одним из источников потенциала.1

Что важно запомнить
  • p-МОП-транзистор открывается при низком уровне на затворе, n-МОП — при высоком.
  • Pull-up сеть из p-МОП формирует путь к \(V_{DD}\), pull-down сеть из n-МОП — путь к \(GND\).1
  • Последовательное соединение транзисторов реализует конъюнктивное условие проводимости, параллельное — дизъюнктивное.
  • В статической КМОП-логике верхняя и нижняя сети функционально взаимодополняют друг друга и связывают булеву функцию с транзисторной реализацией.

Транзистор как управляемый ключ

В статической КМОП-логике используются два комплементарных типа МОП-транзисторов. n-МОП открывается при логической 1 на затворе и хорошо формирует путь к низкому потенциалу. p-МОП открывается при логическом 0 и используется в пути к высокому потенциалу.1

Две взаимодополняющие сети

Логический вентиль строят из pull-up network и pull-down network. Первая подключена к \(V_{DD}\), вторая — к \(GND\). Их структуры выбирают так, чтобы для любого допустимого входного набора одна сеть проводила, а другая была разомкнута.

В полностью комплементарной статической КМОП-структуре pull-up сеть является дуальной к pull-down сети: последовательное соединение одной сети превращается в параллельное в другой и наоборот. Поэтому один такой вентиль естественно реализует инвертирующую булеву зависимость; для неинвертирующей функции может потребоваться дополнительный инвертор или каскад вентилей.1

Условия проводимости удобно описывать так же, как в контактных схемах. Последовательная цепочка проводит, когда открыты все её элементы. Параллельная сеть проводит, когда открыт хотя бы один путь. Поэтому серия соответствует конъюнкции условий проводимости, а параллель — дизъюнкции.1

Пример NAND

Для функции \(z=\neg(x_1\wedge x_2)\) нижняя n-МОП-сеть состоит из двух последовательно соединённых транзисторов. Она проводит к земле только при \(x_1=x_2=1\). Верхняя p-МОП-сеть состоит из двух параллельных транзисторов и проводит к \(V_{DD}\), если хотя бы один вход равен 0. В результате выход реализует NAND.

Такой переход от булевой функции к комплементарным транзисторным сетям является одним из мостов между логическим и транзисторным уровнями проектирования СБИС.

Пример простыми словами

Если оба входа NAND равны 1, два n-МОП-транзистора нижней последовательной цепи открыты, а оба p-МОП верхней сети закрыты: выход подтягивается к 0. Во всех остальных наборах хотя бы один n-МОП закрывает путь к земле, а соответствующий p-МОП открывает путь к \(V_{DD}\), поэтому на выходе 1.

Частые ошибки
  • Менять местами поведение n-МОП и p-МОП: n-МОП открывается высоким уровнем, p-МОП — низким.
  • Строить верхнюю и нижнюю сети независимо. В корректной статической КМОП-логике они должны быть функционально взаимодополняющими.
  • Считать транзисторный уровень просто другой записью СФЭ. Здесь существенны питание, тип транзистора и физический путь проводимости.
  • Считать, что произвольную неинвертирующую функцию всегда можно реализовать одной комплементарной парой сетей без дополнительной инверсии.

Другие вопросы

Источники

  1. 1 Рабаи Ж. М., Чандракасан А., Николич Б. Цифровые интегральные схемы. Методология проектирования М.: Вильямс, 2007 г. Разделы о статической КМОП-логике и цифровых вентилях