КМОП-схема реализует булеву логику парой взаимодополняющих транзисторных сетей. Сеть p-МОП-транзисторов соединяет выход с высоким потенциалом \(V_{DD}\), когда функция должна выдавать 1, а сеть n-МОП-транзисторов соединяет выход с землёй \(GND\), когда на выходе должен быть
В логической модели последовательное соединение открытых транзисторов соответствует условию «И» для проводимости, параллельное — условию «ИЛИ». Комплементарность сетей обеспечивает, что в устойчивом режиме выход связан только с одним из источников
Что важно запомнить
- p-МОП-транзистор открывается при низком уровне на затворе, n-МОП — при высоком.
- Pull-up сеть из p-МОП формирует путь к \(V_{DD}\), pull-down сеть из n-МОП — путь к
- Последовательное соединение транзисторов реализует конъюнктивное условие проводимости, параллельное — дизъюнктивное.
- В статической КМОП-логике верхняя и нижняя сети функционально взаимодополняют друг друга и связывают булеву функцию с транзисторной реализацией.
Транзистор как управляемый ключ
В статической КМОП-логике используются два комплементарных типа МОП-транзисторов. n-МОП открывается при логической 1 на затворе и хорошо формирует путь к низкому потенциалу. p-МОП открывается при логическом 0 и используется в пути к высокому
Две взаимодополняющие сети
Логический вентиль строят из pull-up network и pull-down network. Первая подключена к \(V_{DD}\), вторая — к \(GND\). Их структуры выбирают так, чтобы для любого допустимого входного набора одна сеть проводила, а другая была разомкнута.
В полностью комплементарной статической КМОП-структуре pull-up сеть является дуальной к pull-down сети: последовательное соединение одной сети превращается в параллельное в другой и наоборот. Поэтому один такой вентиль естественно реализует инвертирующую булеву зависимость; для неинвертирующей функции может потребоваться дополнительный инвертор или каскад
Условия проводимости удобно описывать так же, как в контактных схемах. Последовательная цепочка проводит, когда открыты все её элементы. Параллельная сеть проводит, когда открыт хотя бы один путь. Поэтому серия соответствует конъюнкции условий проводимости, а параллель —
Пример 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-МОП — низким.
- Строить верхнюю и нижнюю сети независимо. В корректной статической КМОП-логике они должны быть функционально взаимодополняющими.
- Считать транзисторный уровень просто другой записью СФЭ. Здесь существенны питание, тип транзистора и физический путь проводимости.
- Считать, что произвольную неинвертирующую функцию всегда можно реализовать одной комплементарной парой сетей без дополнительной инверсии.