Чтобы получить неинвертирующую операцию для логики (т. е. И или ИЛИ по сравнению с НЕ-И или ИЛИ-НЕ), вам необходимо использовать транзисторы в режиме с общим стоком, также известном как режим «истокового повторителя».
Среди проблем с этим режимом на логику:
В совокупности эти проблемы означают, что вы не можете подключить выход этого вентиля к входам другой его копии. Это делает его довольно бесполезным для построения более сложных схем.
Вот почему все успешные логические семейства 1 построены с использованием транзисторов в режиме с общим истоком (или с общим эмиттером), который имеет значительный коэффициент усиления по напряжению и не имеет кумулятивных смещений между входами и выходами, но выход инвертируется по отношению к входу. Поэтому к базовым функциям относится инверсия: либо И-НЕ, либо ИЛИ-НЕ.
В качестве бонуса вентили И-НЕ и ИЛИ-НЕ являются «функционально завершенными», что означает, что вы можете построить любую логическую функцию вообще (включая элементы хранения, такие как защелки и триггеры) из всех вентилей И-НЕ или всех вентилей ИЛИ-НЕ.
1 Чтобы быть точным, логические семейства, которые используют напряжения в качестве логических состояний. Сюда входят RTL, DTL, TTL, PMOS, NMOS и CMOS. Семейства логики токового режима, такие как ECL , действительно используют комбинацию эмиттерных повторителей и транзисторов с общей базой для достижения тех же целей, избегая при этом насыщения (для скорости).
То, что вы описываете, это логика PMOS . Он имеет несколько существенных недостатков по сравнению с CMOS:
Если значение резистора низкое, затвор будет потреблять значительное количество статической энергии, когда затвор активен. Затворы CMOS практически не потребляют энергии, когда они не переключаются активно.
Если значение резистора велико, затвор медленно выключается, потому что емкость любых затворов, управляемых выходом, должна разряжаться через резистор. Кроме того, резистор с большим номиналом, скорее всего, займет больше места, чем набор комплементарных транзисторов.
По причинам, связанным с процессом, PMOS менее эффективна, чем обратная — логика NMOS .
Причина, о которой, я думаю, еще никто не упомянул: Технологические ограничения:
Резисторы на микросхеме массивны по сравнению с транзисторами. Чтобы получить приличное значение, мы говорим на порядки больше, чем у самых маленьких транзисторов. Другими словами, наряду со всеми другими преимуществами, которые вы получаете с правильной CMOS (статический ток, уровни возбуждения, размах выходного сигнала), она также намного дешевле.
Структурирование: Транзисторы в логике могут быть такими маленькими, потому что они структурированы повторяющимся образом. Это также позволяет им получать более высокие урожаи и более стабильную производительность. Добавление резисторов разрушит это.
Емкость: ограничением скорости в логической системе является емкость следующего каскада. Чем больше емкость, тем медленнее (меньше производительность) или требуется большая мощность привода (больше транзисторы, больше площадь, больше статический ток, больше потребляемая мощность, больше емкость, представленная на предыдущем этапе). Большой резистор, вероятно, даст вам большую емкость для зарядки, поскольку он занимает физически большую площадь. Это может повредить производительности.
Иногда это делается в более специализированных технологиях, где у вас может не быть хороших логических транзисторов (для аналоговых/радиочастотных приложений).
Транзисторно-резисторная логика - это область знаний. Свойства логических элементов, основанных на резисторах, сильно отличаются от свойств элементов, использующих транзисторы. Во-первых, подтягивающие резисторы, которые находятся в высоком состоянии, постоянно рассеивают мощность. Это может быть проблемой для аккумуляторных батарей или конструкций с высокой плотностью размещения. То же самое применимо и в обратном порядке (для опускания вниз).
Еще одна область, где есть большая разница, — это скорость и сила драйва. Двухтактная структура выхода, используемая в CMOS, может быстро переключаться без рассеивания мощности в статике.
Обратите внимание, что нарисованная вами схема вообще не будет работать. Вы не можете поместить NMOS в верхнюю ветвь, если входное напряжение не выше, чем VCC. Если на выходе вообще большая нагрузка, ваша схема не сможет управлять где-либо рядом с VCC. Он может быть даже недостаточно высоким, чтобы некоторые логические вентили признали его «высоким».
Это не просто придирка. Как оказалось, очень сложно построить что-то, что переключает рельсы на рельсы за один этап, если только это не инвертирование по своей природе (как NAND и NOR). И это настоящая причина, по которой логические элементы И используют И-НЕ, а затем НЕ (инвертор). Никто в мире не знает способа сделать КМОП общего назначения с вентилем менее чем из 6 транзисторов. То же самое относится и к ИЛИ.
Преимущества использования конструкции CMOS многочисленны:
Таким образом, вентиль И-НЕ, за которым следует инвертор, используется для разработки вентиля И.
Основная причина в логике TTL, и я бы предположил, что в большинстве семейств логики, заключается в том, что элемент усиления является инвертирующим. Чтобы иметь неинвертирующий выход с хорошими характеристиками привода, требуется дополнительный инвертор.
Этот инвертор плохая вещь.
Поскольку мы обычно боремся за скорость с дискретными гейтами (или мы боролись, когда они были единственным выбором), инвертирующие гейты правили днем. Были доступны неинвертирующие вентили (сравните 7400 с 7408).
Основным примером этого является вентиль « и-или-инверт» . Для типичных чисел TTL задержка распространения такая же, как у NAND и NOR, но включает два уровня логики.
Построение И из И-НЕ позволяет использовать минимальный размер затвора для логики и размер двух (и только двух) транзисторов в инверторе для управления линией. Это максимизирует скорость и минимизирует потери мощности за счет лишь немного большей площади, используемой для дополнительных транзисторов (с учетом размера резистора, необходимого для управления линией в предполагаемом приложении).
Кроме того, поделюсь мудростью, которую я усвоил в колледже (давным-давно, в далекой-далекой галактике...): Однажды нам понравилась презентация о логике вентильной матрицы. В конце студент спросил, почему инженер должен заботиться о минимизации количества используемых вентилей И-НЕ, если все эти вентили И-НЕ изначально были на чипе? Ответ ведущего запомнился мне на 30 лет: потому что если не мы, то сделают наши конкуренты.
Если ваш конкурент может создать более быструю и энергоэффективную схему без заметной разницы в стоимости, то использование резистора является коммерческой ошибкой, а не только инженерной ошибкой.
Логический сигнал, который проходит через вентиль без усиления, в конечном итоге будет значительно слабее, чем он был изначально. Хотя можно было бы включить в микросхему неинвертирующий логический элемент И, вентили, питаемые от слабого выхода, вероятно, переключались бы намного медленнее, чем вентили, питаемые вентилями, питаемыми сильным выходом, что время, необходимое для прохождения сигнала через И-НЕ, инвертор , и один другой вентиль, вероятно, будет меньше, чем если бы И-НЕ и инвертор были заменены И со слабым выходом.
Обратите внимание, что даже если у кого-то есть как NMOS, так и PMOS-транзисторы, и вы хотите построить вентиль AND со слабым выходом, следует построить вентиль способом, аналогичным вентилю CMOS NOR, но инвертируя транзисторы NMOS и PMOS, чтобы избежать рассеивание статической мощности. Резисторы очень дороги, поэтому их следует избегать без крайней необходимости.
Однако момент, который не упоминался в других ответах, заключается в том, что инвертирующий вентиль может содержать смесь последовательных и параллельных выходов. Например, можно иметь практичный комплексный вентиль, который вычисляет «не ((X и Y) или (X и Z) или (Y и Z))», используя только один уровень инверсии. Хотя нецелесообразно иметь «И», который подает свой выход в несколько мест в схеме, можно включить логический элемент «И» на один или несколько входов вентиля «ИЛИ» или логический элемент «ИЛИ» на один или несколько входов. больше входов ворот «И-НЕ».
Евгений Ш.
Гарри Свенссон
мкейт
оставленный вокруг
аналоговые системы рф
фуклв
ctrl-alt-делор
смки
суперкот