16.08.2024

Цифровые схемы: Пример проектирования цифрового устройства «на пальцах» / Хабр

Содержание

Распознавание цифровых схем. Обобщённый С-элемент / Хабр

Александр Кушнеров
18.12.2019

Даже опытному инженеру иногда сложно сделать разводку схемы так, чтобы дорожки (или провода) не мешали её правильной работе. В первом приближении, на качество разводки влияет расположение и количество узлов, какие именно провода соединены в каждый из узлов и длина проводов после разветвлений. Если рассматривать длину провода как задержку, то правильная работа асинхронных цифровых схем может не зависеть от задержек в некоторых проводах. В дальнейшем мы будем называть такие провода безопасными, а разветвление таких проводов – полностью безопасным (ПБР). В этой статье мы покажем, как универсальная схема из двенадцати транзисторов может сделать полностью безопасными некоторые разветвления.

Рассмотрим так называемую схему “бабочка” [1], [2] показанную на Рис. 1. Эта схема формирует непересекающиеся импульсы p и q, которые могут использоваться для управления силовыми транзисторами. Буферы на Рис. 1 обозначают безопасные провода. Задержка всех остальных проводов предполагается нулевой. Пауза между импульсами задаётся задержками буферов wy и wz. В дальнейшем мы не будем использовать буфер для обозначения задержки элемента. Провода и разветвления во всех схемах этой статьи проверялись на безопасность (output persistency) в Workcraft [3]. Графы сигнальных переходов (STG) были получены из схем путём разрешения CSC конфликтов. На рисунках показаны упрощённые STG, где сигналы буферов удалены. Временная диаграмма (TD) на Рис. 1 построена по соответствующему STG.

Рис. 1. Схема “бабочка”, её STG и TD в предположении, что задержки в проводах нулевые.

Из теории [1], [2] известно, что схема RS-триггера чувствительна к задержкам проводов в перекрёстной связи. Именно поэтому буферы в перекрёстных связях на Рис. 1 отсутствуют. Таким образом, два элемента триггера должны находиться на минимальном расстоянии друг от друга. Если это трудно сделать, то два элемента можно заменить на один сложный элемент с обратной связью. Например, элементы x и xb в схеме “бабочка” можно заменить как показано на Рис. 2. В дополнение мы получаем ПБР на выходе сложного элемента.

Рис. 2. Вариант схемы на Рис. 1 и его STG в предположении, что задержки в проводах нулевые.

Реализация схем на Рис. 1 и Рис. 2 требует 16 и 20 транзисторов соответственно. Кроме того, схема на Рис. 2 медленнее, поскольку инверторы wb1, wb2 и инвертор внутри элемента 2ИЛИ-И должны переключиться два раза за цикл. Снижение быстродействия, как правило, является ценой за ПБР. Однако, у этого правила есть исключения. Например, на Рис. 3 показана схема асинхронного счётного триггера (АСТ) [4] которая имеет два ПБР.

Рис. 3. АСТ и его STG в предположении, что задержки в проводах нулевые.

Недостатками схемы на Рис. 3 являются большое число проводов и то, что большинство из них пересекаются. Это может осложнить разводку, особенно если количество слоёв с дорожками ограниченно или они заняты другими соединениями. Таким образом, нужно искать некоторый компромисс между количеством проводов, количеством транзисторов и количеством ПБР. Примером такой компромиссной схемы с одним ПБР является АСТ показанный на Рис. 4. Это небольшая модификация схемы из [5]. Заметим, что здесь, как и в схеме на Рис. 2, используется смешанный базис. Для реализации этого АСТ без индикатора (XOR на wi2, wi4 и g5) нужно 26 транзисторов. Это всего на два транзистора больше по сравнению с АСТ на Рис. 3.

Рис. 4. Компромиссный АСТ и его STG, когда задержки в проводах нулевые.

Заметим, что все элементы с обратной связью на Рис. 2 и Рис. 4 – это частные случаи обобщённого C-элемента (gC). Он задаётся как [6]: , где и – это функции установки и сброса, удовлетворяющие условию . Частными случаями gC-элемента также являются NCL-элементы, которые используются в схемах для обработки данных. Заметим, что самый большой NCL-элемент имеет четыре входа и реализуется на 28 транзисторах [7]. Это можно объяснить тем, что при большем числе транзисторов провода становятся относительно длинными и задержка в них начинает влиять на работу элемента.

Рассмотрим транзисторную схему, показанную на Рис. 5. Она реализует функцию пяти переменных [8], [9] . В таблице 1 приведены СДНФ и СКНФ функции и её двойственной функции . Из этой таблицы очевидно, что поменяв местами и в , мы получим и наоборот. В случае если , мы получим самодвойственную функцию .

Рис. 5. Схема, реализующая функцию пяти переменных.

Таблица 1. Формы логических функций для схемы на Рис. 5.

Заметим, что означает, что соответствующие четыре транзистора должны переключаться одновременно. Даже если провода после разветвления y имеют одинаковую задержку, этого не достаточно, поскольку момент переключения транзистора определяется напряжением на его затворе. С этой точки зрения анализ схемы на Рис. 5 был сделан в [10]. Однако, этот анализ не полный, поскольку рассматривалась только реализация двухвходового С-элемента. Чтобы сделать полный анализ, нужно сначала найти все варианты объединения входов или, более формально, все функции меньшего числа переменных, которые могут быть получены из . Такой поиск был выполнен в несколько упрощённом виде, и его результаты приведены в приложении. Большинство функций найдено в нескольких вариантах. Из них нужно выбрать такие, которые дают схемы свободные от состязаний [11]. Все полученные функции, число вариантов каждой из них и номер соответствующей таблицы в приложении приведены в таблице 2. Номерами со звёздочкой обозначены двойственные функции.

Таблица 2. gC-элементы, реализуемые схемой на Рис. 5.

Функции 2 и 2*, 5 и 5*, 7 и 7* являются самодвойственными, а функцию 4 можно получить из функции 4* поменяв местами a и c. Заметим, что кроме функции 6* все остальные функции пороговые. Это можно объяснить тем, что является изотонной (positive unate) и тем, что для четырёх и менее переменных изотонные функции совпадают с псевдопороговыми [12]. Вопрос о том, какие варианты есть для функций 1*, 3* и 6* в этой статье остаётся открытым.

Рассмотрим случай с функциями 2 и 2* на примере. В соответствии с одним из вариантов (таблица П3 в приложении) и . Пусть выход отключён от входa и пусть сигнал снимается со входа инвертора. Это позволяет построить ячейку конвейерного распределителя [13] показанную на Рис. 6. Элементы в этой ячейке разные, но из-за того, что входы объединены, они оба реализуют одну и ту же самодвойственную функцию. Заметим, что элементы с перекрёстной связью в схемах на Рис. 1, на Рис. 3 и на Рис. 6 являются частными случаями базовой конструкции для совершенной реализации [2]. Таким образом, должны существовать правила для преобразования схем базовой конструкции в схемы на gC-элементах и наоборот.

Рис. 6. Ячейка конвейерного распределителя.

С точки зрения технологии, транзисторы должны быть “нанизаны” на поликремниевые шины. Такая реализация схемы на Рис. 5 приведена в [14]. Для установки начальных состояний можно использовать p-MOS и n-MOS транзисторы, создающие с транзисторами в инверторе делитель напряжения. Помехоустойчивость схем можно увеличить с помощью определённых преобразований STG [15].

Благодарности

Автор глубоко признателен Светлане Фроловой (ОмГУ) за сканирование статьи [1], а также Сергею Быстрову за вдохновение.

Приложение

Для получения представленных в этом разделе результатов был использован MuPAD. Пусть выход y соединён только с одним из входов. Таблица П1 показывает, что в этом случае . Чтобы получить функции для которых , можно либо объединить некоторые переменные, либо присвоить им константы. Функции для случая объединения двух переменных приведены в таблице П2. Другие варианты не дают . Поскольку первые четыре функции в таблице П1 совпадают с точностью до перестановки переменных, мы будем рассматривать только первую и пятую. Случаи и не интересны, поскольку в первом мы можем только сбросить gC-элемент, но не можем его установить, а во втором – наоборот. Манипуляции с переменными позволили получить из таблицы П1 функции четырёх и трёх переменных, которые приведены таблице П3 и таблице П4 соответственно.

Таблица П1. Функции пяти переменных.

Таблица П2. Функции четырёх переменных.

Таблица П3. Функции четырёх переменных, полученные из Таблицы П1.

Таблица П4. Функции трёх переменных, полученные из Таблицы П1.

Литература

[1] В. И. Варшавский, М. А. Кишиневский, А. Р. Таубин and Б. С. Цирлин, «Анализ асинхронных логических схем. II. Достижимость рабочих состояний и влияние задержек в проводах,» Изв. АН СССР. Техническая кибернетика, no. 4, pp. 84-97, 1982.
[2] Варшавский, В. И. (ред.), Автоматное управление асинхронными процессами в ЭВМ и дискретных системах, Наука, 1986.
[3] workcraft.org.
[4] R. C. Todd, «Logic system». Patent US3609569, 28 Sep. 1971.
[5] E. A. Vittoz, «Frequency dividing logic structure». Patent US3829714, 13 Aug. 1974.
[6] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno and A. Yakovlev, Logic synthesis for asynchronous controllers and interfaces, Springer, 2002.
[7] A. Kondratyev, «Multi-rail asynchronous flow with completion detection and system and method for designing the same». Patent US6526542, 25 Feb. 2003.
[8] J. J. Gibson, «Logic circuits employing field-effect transistors». Patent US3439185, 15 Apr. 1969.
[9] Р. Миллер, Теория переключательных схем. Том I. Комбинационные схемы, Наука, 1970.
[10] K. van Berkel, «Beware the isochronic fork,» Integration, vol. 13, no. 2, pp. 103-128, 1992.
[11] P. Kudva, G. Gopalakrishnan, H. Jacobson and S. M. Nowick, «Synthesis of hazard-free customized CMOS complex-gate networks under multiple-input changes,» in Design Automation Conf., 1996.
[12] G. W. Fagerlin, Enumeration of pseudo-separable functions of five variables. M.Sc. thesis, University of Illinois, 1968.
[13] В. И. Варшавский, А. Ю. Кондратьев, Н. М. Кравченко and Б. С. Цирлин, «Асинхронный распределитель». Patent SU1598142, 07 10 1990.
[14] S. W. Cheng, «H-tree CMOS logic circuit,» in IEEE Conf. on Electronics, Circuits and Systems, 2008.
[15] A. Taubin, A. Kondratyev, J. Cortadella and L. Lavagno, «Behavioral transformations to increase noise immunity in asynchronous specifications,» in IEEE Symp. on Async. Circuits and Systems, 1999.

Электроника — Electronics — qaz.wiki

Техническая область

Эта статья посвящена технической области электроники. Информацию о электронных устройствах для личного / домашнего использования см. В разделе Бытовая электроника . Для научного журнала см Электроника (журнал) .

Электроника включает в себя физику, технику, технологии и приложения, которые имеют дело с излучением, потоком и контролем электронов в вакууме и материи . Он использует активные устройства для управления потоком электронов путем усиления и выпрямления , что отличает его от классической электротехники, которая использует пассивные эффекты, такие как сопротивление , емкость и индуктивность, для управления потоком тока.

Электроника оказала огромное влияние на развитие современного общества. Идентификация электрона в 1897 году, наряду с последующим изобретением вакуумной лампы, которая могла усиливать и исправлять слабые электрические сигналы, открыла сферу электроники и эру электронов. Это различие началось примерно в 1906 году с изобретением Lee De Forest в триоде , который сделал электрическое усиление слабых сигналов радио и звуковых сигналы возможны с не-механическим устройством. До 1950 года это поле не называли «радиотехника» , потому что его основная заявка была разработка и теория радио передатчиков , приемников и вакуумных трубок .

Термин « твердотельная электроника » появился после того, как первый рабочий транзистор был изобретен Уильямом Шокли , Уолтером Хаузером Браттейном и Джоном Бардином в Bell Labs в 1947 году. MOSFET (МОП-транзистор) был позже изобретен Мохамедом Аталлой и Давоном Кангом в Bell Labs. в 1959 году. MOSFET был первым по-настоящему компактным транзистором, который можно было миниатюризировать и массово производить для широкого круга применений, что произвело революцию в электронной промышленности и сыграло центральную роль в революции микроэлектроники и цифровой революции . С тех пор полевой МОП-транзистор стал основным элементом большинства современного электронного оборудования и является наиболее широко используемым электронным устройством в мире.

Электроника широко используется в обработке информации , телекоммуникациях и обработке сигналов . Способность электронных устройств действовать как переключатели делает возможной цифровую обработку информации. Технологии соединения, такие как печатные платы , технология упаковки электроники и другие различные формы инфраструктуры связи, дополняют функциональность схемы и преобразуют смешанные электронные компоненты в обычную рабочую систему , называемую электронной системой ; примерами являются компьютеры или системы управления . Электронная система может быть компонентом другой спроектированной системы или автономным устройством. По состоянию на 2019 год в большинстве электронных устройств для электронного управления используются полупроводниковые компоненты. Обычно электронные устройства содержат схемы, состоящие из активных полупроводников, дополненных пассивными элементами; такая схема описывается как электронная схема . Электроника имеет дело с электрическими схемами, которые включают активные электрические компоненты, такие как вакуумные лампы, транзисторы , диоды , интегральные схемы , оптоэлектроника и датчики , связанные с ними пассивные электрические компоненты и технологии межсоединений. Нелинейное поведение активных компонентов и их способность контролировать потоки электронов делает усиление слабых сигналов возможных.

Изучение полупроводниковых устройств и связанных с ними технологий считается разделом физики твердого тела , в то время как проектирование и создание электронных схем для решения практических задач относится к области электроники . Эта статья посвящена инженерным аспектам электроники.

Отрасли электроники

Электроника имеет следующие филиалы:

  1. Цифровая электроника
  2. Аналоговая электроника
  3. Микроэлектроника
  4. Схемотехника
  5. Интегральные схемы
  6. Силовая электроника
  7. Оптоэлектроника
  8. Полупроводниковые приборы
  9. Встроенные системы
  10. Аудио электроника
  11. Телекоммуникации
  12. Наноэлектроника
  13. Биоэлектроника

Электронные устройства и компоненты

Один из самых ранних радиоприемников Audion , сконструированный Де Форестом в 1914 году.

Электронный компонент — это любой физический объект в электронной системе, используемый для воздействия на электроны или связанные с ними поля способом, совместимым с предполагаемой функцией электронной системы. Компоненты обычно предназначены для соединения друг с другом, обычно путем пайки к печатной плате (PCB), для создания электронной схемы с определенной функцией (например, усилителя , радиоприемника или генератора ). Компоненты могут быть упакованы по отдельности или в более сложных группах в виде интегральных схем . Некоторыми распространенными электронными компонентами являются конденсаторы , катушки индуктивности , резисторы , диоды , транзисторы и т. Д. Компоненты часто подразделяются на активные (например, транзисторы и тиристоры ) или пассивные (например, резисторы, диоды, катушки индуктивности и конденсаторы).

История электронных компонентов

Вакуумные лампы (термоэмиссионные клапаны) были одними из первых электронных компонентов. Они почти единолично ответственны за революцию в электронике первой половины двадцатого века. Они позволили использовать гораздо более сложные системы и дали нам радио, телевидение, фонографы, радары, междугороднюю телефонию и многое другое. Они играли ведущую роль в области микроволнового излучения и передачи высокой мощности, а также телевизионных приемников до середины 1980-х годов. С тех пор твердотельные устройства почти полностью взяли верх. Вакуумные лампы все еще используются в некоторых специализированных приложениях, таких как мощные ВЧ усилители , электронно-лучевые трубки , специальное звуковое оборудование, гитарные усилители и некоторые микроволновые устройства .

Первый рабочий точечно-контактный транзистор был изобретен Джоном Бардином и Уолтером Хаузером Браттейном в Bell Labs в 1947 году. В апреле 1955 года IBM 608 стал первым продуктом IBM, в котором использовались транзисторные схемы без каких-либо электронных ламп, и считается, что это первый продукт. -транзисторный вычислитель, который будет производиться для коммерческого рынка. В 608-м было более 3000 германиевых транзисторов. Томас Дж. Ватсон-младший приказал, чтобы во всех будущих продуктах IBM использовались транзисторы. С тех пор транзисторы использовались почти исключительно для компьютерной логики и периферийных устройств. Однако первые переходные транзисторы были относительно громоздкими устройствами, которые было трудно производить в серийном производстве , что ограничивало их ряд специализированных приложений.

МОП — транзистор (МОП — транзистор) был изобретен Mohamed Atalla и Давоном Кангом в Bell Labs в 1959 году МОП — транзистор был первым по- настоящему компактный транзистором , который может быть уменьшен и массовым производством для широкого круга применений. Его преимущества включают в себя высокую масштабируемость , доступность, низкое энергопотребление и высокую плотность . Он произвел революцию в электронной промышленности , став самым широко используемым электронным устройством в мире. МОП-транзистор является основным элементом большинства современного электронного оборудования и сыграл центральную роль в революции электроники, революции в микроэлектронике и цифровой революции . Таким образом, полевой МОП-транзистор считается рождением современной электроники и, возможно, самым важным изобретением в электронике.

Типы схем

Схемы и компоненты можно разделить на две группы: аналоговые и цифровые. Конкретное устройство может состоять из схемы, которая имеет один или другой или смесь двух типов. Важным электронным методом как в аналоговой, так и в цифровой электронике является использование обратной связи . Среди прочего, это позволяет создавать очень линейные усилители с высоким коэффициентом усиления и цифровые схемы, такие как регистры, компьютеры и генераторы.

Аналоговые схемы

Шасси преобразователя частоты Hitachi J100

Большинство аналоговых электронные приборы, такие как радио приемники, построены из комбинации нескольких видов основных схем. Аналоговые схемы используют непрерывный диапазон напряжения или тока в отличие от дискретных уровней, как в цифровых схемах.

К настоящему времени разработано огромное количество различных аналоговых схем, особенно потому, что «схему» можно определить как что угодно, от одного компонента до систем, содержащих тысячи компонентов.

Аналоговые схемы иногда называют линейными, хотя многие нелинейные эффекты используются в аналоговых схемах, таких как смесители, модуляторы и т. Д. Хорошими примерами аналоговых схем являются вакуумные ламповые и транзисторные усилители, операционные усилители и генераторы.

Редко можно найти современные схемы, полностью аналоговые. В наши дни аналоговые схемы могут использовать цифровые или даже микропроцессорные технологии для повышения производительности. Этот тип схемы обычно называют «смешанным сигналом», а не аналоговым или цифровым.

Иногда бывает трудно различить аналоговые и цифровые схемы, поскольку они имеют элементы как линейной, так и нелинейной работы. Примером может служить компаратор, который принимает постоянный диапазон напряжения, но выводит только один из двух уровней, как в цифровой схеме. Точно так же транзисторный усилитель с перегрузкой может иметь характеристики управляемого переключателя, имеющего по существу два уровня выходного сигнала. Фактически, многие цифровые схемы фактически реализованы как вариации аналоговых схем, подобных этому примеру — в конце концов, все аспекты реального физического мира по сути аналоговые, поэтому цифровые эффекты реализуются только путем ограничения аналогового поведения.

Цифровые схемы

Цифровые схемы — это электрические схемы, основанные на нескольких дискретных уровнях напряжения. Цифровые схемы являются наиболее распространенным физическим представлением булевой алгебры и являются основой всех цифровых компьютеров. Для большинства инженеров термины «цифровая схема», «цифровая система» и «логика» взаимозаменяемы в контексте цифровых схем. В большинстве цифровых схем используется двоичная система с двумя уровнями напряжения, обозначенными «0» и «1». Часто логический «0» представляет собой более низкое напряжение и обозначается как «низкий», в то время как логическая «1» обозначается как «высокий». Однако в некоторых системах используется обратное определение («0» — «высокий») или текущие. Довольно часто разработчик логики может менять эти определения от одной схемы к другой, если он считает нужным упростить разработку. Определение уровней как «0» или «1» произвольно.

Изучена троичная (с тремя состояниями) логика и созданы прототипы компьютеров.

Компьютеры , электронные часы и программируемые логи

РадиоКот :: Синтез цифровых схем

РадиоКот >Обучалка >Цифровая техника >Основы цифровой техники >

Синтез цифровых схем


В электронике довольно часто используют понятие «черный ящик».
Это, конечно же, не тот черный ящик, который ищут МЧСовцы после очередного крушения ТУ-154 компании «Аэрофлот».
Другой ящик…

В электронике «черный ящик» – это некая схема, рисовать которую лениво.
Эта схема имеет сколько-то входов, сколько-то выходов и мы точно знаем, как она себя ведет.
То есть, можно легко предсказать, что получится на выходе, если чего-то подать на вход.
Грубо говоря, схема черного ящика описывается математическим выражением вида:

y = f(x),

где

х – входной сигнал

y – выходной сигнал.






У черных ящиков просто уйма жизненных примеров… Взять хотя бы такую тривиальную вещь как утюг.
У него есть ручечка регулировки температуры и кнопочка выброса пара – это «входы» черного ящика.
Также, у него есть нагревающаяся поверхность, а в ней – дырочки – это «выходы».

Как связаны между собой входы и выходы?

  1. Температура поверхности пропорциональна углу поворота ручки
  2. Пар из дырок выходит тогда, когда нажата кнопка.

Может этот пример довольно примитивен, но зато нагляден до неприличия.
Ведь утром, гладя брюки, вы не задумываетесь над тем, как устроен утюг?
Зато вы прекрасно знаете, что нужно сделать с ручечкой и кнопочкой, чтоб получить желаемый результат…


К чему я это все? А к тому, что в технике приходится очень часто прибегать к понятию «черного ящика»
чтобы упростить разработку на определенном этапе. Однако, на последующих этапах, все равно придется
«разворачивать» черный ящик – то есть, проектировать его схему.

А поскольку мы с вами носим гордое имя Электронщики, причем – не просто пайщики-лудильщики,
а еще и конструктора-разработчики – то наша прямая обязанность уметь по описанию черного ящика придумать его схему.

Конечно же, утюги делать мы не будем. Тем более – в разделе по цифровой технике.
Мы лучше займемся синтезом цифровых схем по таблице истинности.


Задание номер раз


Есть некий элемент с двумя входами и одним выходом, и известна его таблица истинности:




Необходимо придумать схему этого элемента на основе известных логических элементов.


Внимательно смотрим и думаем…

Нас интересуют те позиции таблицы истинности, в которых выходной сигнал равен 1.

А! Вот чего мы видим: единица на входе b в любом случае приводит к единице на выходе. Здорово!


Значит, мы можем соединить вход b напрямую с выходом c
Точнее – могли бы. Но у нас есть еще одна единица на выходе – когда на оба входа поданы нули.
Вспоминаем, какой элемент реагирует на два нуля? Разрешаю подглядеть в предыдущий параграф…


Правильно, элемент «ИЛИ-НЕ»! Значит, вторая единица будет формироваться элементом ИЛИ-НЕ.
Давайте нарисуем для каждого случая свою схему:


Теперь надо объединить эти схемы в одну. Помним, что непосредственно соединять цифровые выходы нельзя.
Значит надо их соединить через какой-то элемент.
Причем, этот элемент должен выдавать единицу на выход в случае, если хотя бы на одном входе есть единица.
Ну, какой это элемент?

Конечно, это «ИЛИ».

Итак:


Вот и вся схема. Довольно просто, не так ли?

Дальше – хуже.


Задание номер следующее


Элемент, к которому нужно нарисовать схему, имеет три входа и один выход.

Соответственно, таблица истинности увеличивается автоматом до 8 строчек:




Ну как вам???

М-да, тут немного сложнее. Но! Для нас ведь нет ничего сложного, правда? Тогда – вперед и с песнями!

Итак, выделяем те строчки, в которых выходной сигнал = 1. Их всего пять:




Теперь нарисуем для каждой выделенной строчки отдельную схему, используя только элементы «И» и «НЕ».




Все! Теперь только осталось объединить эти схемы в одну. При этом сразу сократится число инверторов:




Ну как, нормально?

Объясняю: мы сделали две группы входов – прямую и инверсную (то есть «обратную»),
и подключили элементы «И» к этим группам согласно схемам, которые мы разработали до этого.

Выходные сигналы элементов «И» смешиваются при помощи 5-входового элемента «ИЛИ».


Каскадирование элементов «И» и «ИЛИ»


Как вы могли заметить, в последней схеме мы использовали элементы «И» с тремя входами и элемент «ИЛИ» аж с пятью входами!
У кого-то наверно возникнет вопрос: каковы их таблицы истинности?

Все в порядке, господа! Элемент «И» остается элементом «И», даже имея 100 входов.
На его выходе единица возможна лишь в том случае, если на все входы поданы единицы.

То же и с элементом ИЛИ. Он выдаст единицу в случае, если хотя бы на одном входе будет единица,
будь у него хоть тыща входов.

Такие многовходовые элементы можно легко получить из обычных двухвходовых, включив их в каскадную схему:




Если вы не верите – составьте таблицу истинности для каждой «ступеньки» каскада – и проверьте 🙂


А мы пока что едем дальше.

Впереди у нас карты Карно. Еще один довольно нудный – но полезный параграф.


<<—Вспомним пройденное—-Поехали дальше—>>


Как вам эта статья?

Заработало ли это устройство у вас?

Интегральная схема — Википедия

Материал из Википедии — свободной энциклопедии

Интегра́льная (микро)схе́ма (ИС, ИМС, IC (англ.)), микросхе́ма, м/сх, чип (англ. chip «тонкая пластинка»: первоначально термин относился к пластинке кристалла микросхемы) — микроэлектронное устройство — электронная схема произвольной сложности (кристалл), изготовленная на полупроводниковой подложке (пластине или плёнке) и помещённая в неразборный корпус или без такового, в случае вхождения в состав микросборки[1].

Бо́льшая часть микросхем изготавливается в корпусах для поверхностного монтажа.

Часто под интегральной схемой (ИС) понимают собственно кристалл или плёнку с электронной схемой, а под микросхемой (МС) — ИС, заключённую в корпус. В то же время выражение чип-компоненты означает «компоненты для поверхностного монтажа» (в отличие от компонентов для пайки в отверстия на плате).

История

7 мая 1952 года британский радиотехник Джеффри Даммер (англ. Geoffrey Dummer) впервые выдвинул идею объединения множества стандартных электронных компонентов в монолитном кристалле полупроводника. Осуществление этих предложений в те годы не могло состояться из-за недостаточного развития технологий.

В конце 1958 года и в первой половине 1959 года в полупроводниковой промышленности состоялся прорыв. Три человека, представлявшие три частные американские корпорации, решили три фундаментальные проблемы, препятствовавшие созданию интегральных схем. Джек Килби из Texas Instruments запатентовал принцип объединения, создал первые, несовершенные, прототипы ИС и довёл их до серийного производства. Курт Леговец из Sprague Electric Company изобрёл способ электрической изоляции компонентов, сформированных на одном кристалле полупроводника (изоляцию p-n-переходом (англ. P–n junction isolation)). Роберт Нойс из Fairchild Semiconductor изобрёл способ электрического соединения компонентов ИС (металлизацию алюминием) и предложил усовершенствованный вариант изоляции компонентов на базе новейшей планарной технологии Жана Эрни (англ. Jean Hoerni). 27 сентября 1960 года группа Джея Ласта (англ. Jay Last) создала на Fairchild Semiconductor первую работоспособную полупроводниковую ИС по идеям Нойса и Эрни. Texas Instruments, владевшая патентом на изобретение Килби, развязала против конкурентов патентную войну, завершившуюся в 1966 году мировым соглашением о

Вычислительные схемы

  1. Радиоэлектроника
  2. Схемотехника
  3. Основы электроники и схемотехники
  4. Том 3 – Полупроводниковые приборы
  1. Книги / руководства / серии статей
  2. Основы электроники и схемотехники. Том 3. Полупроводниковые приборы

Добавлено 9 июля 2019 в 12:09

Сохранить или поделиться

Когда кто-то упоминает слово «компьютер», то обычно на ум приходит цифровое устройство. Цифровые схемы представляют числовые величины в двоичном формате: последовательности единиц и нулей представлены множеством транзисторных схем, работающих в режимах насыщения и отсечки. Тем не менее, аналоговые схемы также могут использоваться для представления числовых величин и выполнения математических вычислений с использованием сигналов переменного напряжения, вместо дискретных состояний включено/выключено.

Вот простой пример сравнения двоичного (цифрового) представления с аналоговым представлением для числа «двадцать пять».

Рисунок 1 – Цифровая схема, представляющая число 25Рисунок 2 – Аналоговая схема, представляющая число 25

Цифровые схемы сильно отличаются от схем, построенных на аналоговых принципах. Цифровые вычислительные схемы могут быть невероятно сложными, и вычисления, чтобы получить окончательный ответ, часто должны выполняться последовательными «шагами» подобно тому, как человек с карандашом и бумагой будет пошагово выполнять арифметические вычисления. Аналоговые вычислительные схемы, напротив, довольно просты, в сравнении с цифровыми, и выполняют свои вычисления непрерывно в режиме реального времени. Однако использование аналоговой схемы для представления чисел имеет недостаток: неточность. Цифровая схема, показанная выше, представляет число двадцать пять точно. Аналоговая схема, показанная выше, может быть или может не быть точно откалибрована до 25,000 вольт, и значение подвержено «дрейфу» и ошибке.

В приложениях, где точность не критич

Разница между аналоговой схемой и цифровой схемой

Аналоговые и цифровые схемы используются для передачи и обработки информации, такой как звук, свет из окружающей среды, для генерации непрерывных переменных сигналов. Аналоговые схемы могут направлять сигналы напрямую, тогда как цифровые схемы изменяют аналоговые сигналы, оценивая их через регулярные интервалы и выдавая результирующие значения. Чтобы получить выходные сигналы, аналоговые схемы могут напрямую подавать сигналы, в то время как цифровая схема должна преобразовывать информацию обратно в аналоговый сигнал.Работа аналоговых схем может выполняться с нормальной формой волны для преобразования, хранения и усиления сигналов, в то время как цифровая схема преобразует формы волны в импульсные сигналы. В этой статье обсуждается, в чем разница между аналоговой схемой и цифровой схемой?

Аналоговая и цифровая

Разница между аналоговой схемой и цифровой схемой

Основное различие между аналоговой схемой и цифровой схемой в основном заключается в том, что такое аналоговая схема, цифровая схема и различия между ними.

Аналоговая схема

Аналоговая электронная схема включает аналоговый сигнал с любым постоянно изменяемым сигналом. При работе с аналоговым сигналом аналоговая схема каким-то образом изменяет сигнал. Аналоговая схема может использоваться для преобразования исходного сигнала в какой-либо другой формат, например цифровой сигнал. Аналоговые схемы также могут непреднамеренно изменять сигналы, например, добавлять шум или искажения. Аналоговые схемы подразделяются на два типа: активные аналоговые схемы и пассивные аналоговые схемы.Аналоговая схема использует источник электроэнергии для достижения целей разработчика, в то время как пассивные схемы не используют внешнего источника электроэнергии.

Аналоговая схема

Цифровая схема

Цифровая схема — это схема, в которой сигнал должен иметь один из двух дискретных уровней. Каждый уровень интерпретируется как одно из двух различных состояний (например, 0 или 1). Эти схемы построены на транзисторах для создания логических вентилей для выполнения логических операций. Эта логика является основой цифровой электроники и компьютерной обработки.Цифровые схемы менее уязвимы для ухудшения качества, чем аналоговые схемы. Также проще выполнять обнаружение и исправление ошибок с помощью цифровых сигналов. Чтобы сделать процесс проектирования этих схем рутинным, разработчики используют инструменты EDA (автоматизация проектирования электроники), своего рода программное обеспечение, которое разрабатывает логику в цифровой схеме.

Цифровая схема

Работа аналоговых и цифровых схем

Работа аналоговых схем может выполняться с нормальными формами сигналов, изменяя их.Например: микрофон используется в аналоговой схеме, которая преобразует звуковые волны в аналоговые электрические волны. Например, в аналоговой схеме микрофон преобразует звуковые волны в аналогичные или аналоговые электрические волны. Эти сигналы могут быть сохранены на полосе, улучшены в аналоговом усилителе и преобразованы обратно в соответствующие звуковые волны с помощью динамика.

Цифровая схема используется для преобразования волн в пульсовые. Он измеряет форму волны тысячу раз в секунду и сохраняет данные в двоичной форме.Например, после 12 мсек сигнал может иметь высокий уровень 2,4 В, а после 14 мсек — 2,6 В. Эта схема преобразует вольты и время в двоичные данные, а волны превращаются в серию из единиц и нулей. Когда схема должна генерировать звук из динамика, она выдает сигнал o / p, который составляет 2,4 В через 12 мс и 2,6 В через 14 мс, аналогично исходной волне.

O / P Quality

Аналоговая схема обеспечивает аналог обычной формы сигнала и может генерировать очень высокое качество O / P.Цифровые схемы генерируют оценку естественной формы волны, поэтому их качество o / p является неполным из-за количества выполняемых ими кривых.

Эффективность схемы

Эффективность схемы в основном зависит от того, насколько быстро она может давать результаты и сколько энергии она использует. Эти схемы должны дождаться завершения цикла волны, прежде чем они смогут выполнять свои задачи. И они требуют достаточной мощности для генерации пика волны. Скорость цифровой схемы не является полной только скоростью шестерен, составляющих схему, а не показаниями, которые они обрабатывают.Для работы с крошечными импульсами требуется умеренно небольшая мощность. В большинстве приложений аналоговые схемы медленнее и требуют больше энергии, чем цифровые схемы.

Точность и воспроизводимость

Действие аналоговых схем зависит от их конструкции и их шестерен, чтобы гарантировать соответствие остаточных форм сигнала оригиналу. Они подвержены дефектам конструкции, модифицируются из-за старения деталей и внешних воздействий, таких как электрические помехи. Цифровые схемы просто должны поддерживать путь своих импульсов.Даже если исчезнут многочисленные импульсы, это повлияет только на несколько из тысяч размеров. В результате эти схемы более точны и могут более точно воспроизводить свои i / ps.

Основные различия

Основные различия между аналоговыми схемами и цифровыми схемами в основном включают следующие

Различия между аналоговыми и цифровыми

  • Аналоговые схемы работают с аналоговыми сигналами, обычно известными как сигналы с непрерывным значением
  • Цифровые схемы работают с сигналами, которые существуют просто в 2 уровня, т.е. Нули и единицы
  • Проектирование аналоговой схемы затруднено, поскольку каждый компонент должен быть размещен вручную для проектирования схем
  • Цифровые схемы очень просты в разработке, поскольку метод автоматизации может быть полезен на различных уровнях схемотехника.
  • Никакого изменения сигналов i / p перед обработкой не требуется, схема выполняет различные логические операции и генерирует аналоговый сигнал o / p.
  • В цифровых схемах сигналы i / p меняются с аналоговой на цифровую (A / D) форму перед обработкой, то есть цифровая схема выполняется путем обработки только цифровых сигналов и генерирует o / p, которые снова меняются. преобразование цифровых сигналов в аналоговые (ЦАП), чтобы сигнал о / п давал релевантные результаты, понятные людям.
  • Аналоговые схемы обычно создаются рутинно и не обладают гибкостью.
  • Цифровые схемы обладают высокой степенью эластичности.

Таким образом, в этой статье обсуждается, что такое аналоговые электронные схемы, цифровые электронные схемы, разница между аналоговыми и цифровыми схемами. Мы надеемся, что вы лучше понимаете эту концепцию. Кроме того, любые вопросы относительно этой концепции или реализации электрических и электронных проектов, пожалуйста, дайте свои ценные предложения, комментируя в разделе комментариев ниже.Вот вам вопрос, , каковы применения аналоговой схемы и цифровых схем ?

Фото:

Цифровая электроника и логические схемы (роль транзисторов)

Цифровая электроника и логические схемы (роль транзисторов)

НАЖМИТЕ ЗДЕСЬ ДЛЯ УКАЗАНИЯ СТРАНИЦЫ


ЦИФРОВАЯ ЭЛЕКТРОНИКА — ЛОГИЧЕСКИЕ ЦЕПИ — 2

В. Райан
2003 — 2009

PDF ФАЙЛ
НАЖМИТЕ ЗДЕСЬ ДЛЯ ПЕЧАТИ РАБОЧЕЙ ТАБЛИЦЫ НА ОСНОВЕ
ИНФОРМАЦИЯ НИЖЕ

Цепи

LOGIC обычно состоят из вентилей.А
комбинация ворот составляет схему, и некоторые цифровые схемы могут быть
чрезвычайно сложный. Это логические элементы, которые производят импульсы
электрический ток (1 с и
0 с). На школьном уровне цифровая логика
схемы относительно просты. Ниже приведены простые рисунки, которые помогают
объясните два самых популярных логических элемента — элемент И и элемент ИЛИ.

Упрощенный вентиль И
показанный выше, имеет два входа, переключатель A и
переключатель B.Лампа Q
загорится, только если оба переключателя замкнуты. Это позволит току
протекать через лампочку, освещая нить.

Упрощенный вентиль OR
показанный выше, имеет два входа, переключатель A и
выключатель B. Лампа Q
загорится, если переключить A или
B закрыты.Это позволит току
протекать через лампочку, освещая нить.

Когда лампочка горит, это означает 1
поскольку ток проходит через нить накала. Если ток не работает
через нить накала лампа не загорится, и это означает 0
(нуль).

РОЛЬ ТРАНЗИСТОРОВ

Транзисторы жизненно важны для работы цифровых схем.
Эти компоненты используются как очень быстрые переключатели в цифровой логике.
схемы.Транзисторы обычно настолько малы, что сотни тысяч
подходит для одного процессора на материнской плате компьютера. Типы
транзисторы, используемые в школьных проектах, обычно достаточно велики, чтобы поместиться на
конец мизинца. Однако то, как они включались и выключались,
то же самое (щелкните здесь, чтобы получить информацию о транзисторах
листов). Когда транзистор включен, он дает 1
а когда он выключен, выдает 0.
Транзисторы в цепи микропроцессора компьютера могут включаться
и выключается тысячи раз в секунду. Без изобретения
транзистор, вычислительная мощность компьютера будет очень ограниченной и медленной.

Два основных примера простой транзисторной логики (И
/ ИЛИ) схемы показаны ниже.

Это ворота И
схему и сделать это довольно легко.Показанный пример построен из
комплект модульной электроники. Оба переключателя A
и B должны быть сжаты вместе для
лампочку зажечь.
Если вы построите эту схему, вам может потребоваться изменить значение
резисторы. Это будет зависеть от типа используемых транзисторов и от того,
к лампочке или светодиоду.

Это ворота OR
цепь.Либо переключатель A, либо B
необходимо нажать, чтобы лампочка загорелась. Переключатели не обязательно
прижаты друг к другу.

ВОПРОСЫ:
1. Объясните, как работает логический элемент AND.
Используйте принципиальную схему, чтобы объяснить свой ответ.
2. Объясните, как работает вентиль OR. Использовать
принципиальная схема, которая поможет объяснить ваш ответ.
3. Построить простую логическую схему
с использованием макета и доступных компонентов. Вы можете захотеть построить один
схем, показанных выше.

НАЖМИТЕ НА СЛЕДУЮЩУЮ СТРАНИЦУ ЛОГИКИ

НАЖМИТЕ ЗДЕСЬ ДЛЯ ИНДЕКСА ЭЛЕКТРОНИКИ
СТР.

4.Основные цифровые схемы — Введение в цифровые схемы

В разделе Логические вентили мы представляем логические вентили.
с одним и двумя входами. Часто нам нужны ворота с более чем 2
входы или хотите разработать новые логические элементы для конкретных логических функций
или временное поведение. Далее мы изучаем дизайн и
характеристика логических вентилей как элементарных строительных блоков для
цифровые схемы.

4.1.1. Логические ворота с несколькими входами

Предположим, мы разрабатываем цифровую схему и нуждаемся в логическом элементе И-НЕ с 3 входами.Мы можем собрать вентиль И-НЕ с 3 входами, используя И-НЕ с 2 входами.
ворота и инвертор как строительные блоки,
см. Рисунок 4.1. Используя булеву алгебру, это
просто показать, что эта схема реализует логику
function \ (Y = \ overline {A \, B \, C}. \) Есть несколько проблем
однако с этой реализацией. Во-первых, задержка от входов
\ (A \) и \ (B \) к \ (Y \) больше, чем от ввода
\ (C. \) Такая асимметрия может сбивать с толку при проектировании больших
схемы с ограничениями задержки. Во-вторых, задержка самого длительного
путь больше, чем необходимо, и, в-третьих, реализация CMOS
нужно 10 транзисторов, что тоже больше, чем нужно.

Рисунок 4.1: вентиль И-НЕ с 3 входами, созданный из вентилей И-НЕ с 2 входами.

Альтернативный дизайн затвора NAND с 3 входами использует транзисторы CMOS
как строительные блоки, как показано на Рисунке 4.2. Этот
схема требует всего 6 транзисторов, и она симметрична относительно. его входы.
Выход \ (Y \) равен 0, только если все входы 1.

Топология схемы на рис. 4.2 распространяется на
\ (n \) — ввести логические элементы NAND для \ (n \ ge 2 \): составить \ (n \) pMOS
транзисторы включены параллельно и \ (n \) n МОП-транзисторы включены последовательно.Последовательный состав nMOS-транзисторов определяет
сопротивление включенного тракта опускания. Чем больше входов,
тем меньше ток понижения и, следовательно, больше задержка
ворота. Модель логического усилия отражает
эта зависимость задержки от количества входов в логическом усилии
ворот. Согласованный \ (n \) — входной вентиль И-НЕ увеличивает
ширина nMOS-транзисторов, чтобы соответствовать току возбуждения
эталонный инвертор. Увеличение ширины транзистора снижает
открытое сопротивление за счет увеличения входной емкости
ворота.Такой размер транзистора не решает проблему
задержка увеличивается с увеличением количества входов. Он просто сдвигается
бремя от ворот до водителя.

Для определения логического усилия и паразитной задержки 3-входного
NAND-затвор, мы подбираем размер транзисторов в соответствии с выходным током
эталонный инвертор. На рисунке 4.3 показаны согласованные 3 входа.
Затвор NAND с шириной транзистора. Когда все входы равны 1, все три
nMOS транзисторы включены. Серия сумм включенных сопротивлений
в сумме \ (3 R_n (nand).\) Равняться сопротивлению в открытом состоянии
\ (R_n (и) \) эталонный преобразователь, мы должны утроить
ширины nMOS-транзисторов затвора И-НЕ, \ (W_n (nand) = 3
W_n (inv) = 3. \) Если один из входов И-НЕ равен 0, то один pMOS
транзистор включен. Чтобы соответствовать сопротивляемости
эталонному инвертору присваиваем одинаковую ширину \ (W_p (nand) =
W_p (inv) = 2 \) к pMOS-транзисторам затвора И-НЕ. Если больше чем
один вход NAND равен 0, тогда параллельная композиция pMOS транзисторов
имеет меньшее сопротивление в открытом состоянии, чем для одиночного входа.Соответствующие
задержка подтягивания меньше, если только один вход равен 0. Следовательно, использование
нормализованная ширина pMOS 2 единицы соответствует эталонному инвертору в
худший случай, когда задержка подтягивания логического элемента NAND самая большая.

Рисунок 4.3: Согласованный вентиль И-НЕ с 3 входами.

Согласованный вентиль И-НЕ с 3 входами позволяет нам определять логический
усилие 3-входного логического элемента И-НЕ с помощью нормализованного входа
емкости. Каждый вход, например вход \ (A, \) управляет двумя параллельными
емкости затвора одного pMOS и одного nMOS транзистора:

\ [C_ {in} (A) = W_p (A) + W_n (A) = 2 + 3 = 5 \ ,.\]

Следовательно, логическое усилие логического элемента И-НЕ с 3 входами равно

\ [g_ {nand3} = \ frac {C_ {in} (A)} {C_ {in} (inv)} = \ frac {5} {3} \]

на вход. Обратите внимание, что логическое усилие логического элемента И-НЕ с 3 входами составляет
\ (1/3 \) больше, чем логическое усилие логического элемента И-НЕ с двумя входами.
Кроме того, мы определяем паразитную задержку логического элемента И-НЕ с 3 входами.
путем расчета нормированной выходной емкости:

\ [C_ {out} (nand3) = W_p (A) + W_p (B) + W_p (C) + W_n (A) = 3 \ cdot 2 + 3 = 9 \ ,.\]

Таким образом, паразитная задержка логического элемента И-НЕ с 3 входами равна

.

\ [p_ {nand3} = \ frac {C_ {out} (nand3)} {C_ {out} (inv)} = \ frac {9} {3} = 3 \,. \]

Мы находим, что паразитная задержка логического элемента И-НЕ с 3 входами равна
блок задержки больше, чем у логического элемента И-НЕ с 2 входами.

Для логических элементов NAND с \ (n \) входами согласованный вентиль имеет nMOS
транзисторы шириной \ (n \) и pMOS транзисторы шириной 2.
Следовательно, логическое усилие входного логического элемента И-НЕ составляет

.

(1) \ [g_ {nandn} = \ frac {n + 2} {3} \]

на вход, с паразитной задержкой

(2) \ [p_ {nandn} = \ frac {n \ cdot 2 + n} {3} = n \ ,.\]

Чем больше количество входов \ (n, \), тем больше логический
усилие и паразитная задержка ворот NAND. Как следствие,
чем больше входов имеет гейт, тем он медленнее, или из схемы
с точки зрения дизайнера, тем больше усилий нам нужно вложить в драйвер
цепь, чтобы уменьшить задержку пути.

Конструкция логического элемента ИЛИ-НЕ с \ (n \) входом аналогична схеме входа И-НЕ с \ (n \).
\ (N \) — входной вентиль ИЛИ-НЕ имеет \ (n \) параллельных nMOS транзисторов.
и \ (n \) pMOS-транзисторы последовательно.Соответствующий \ (n \) — ввод
Затвор ИЛИ-НЕ имеет nMOS транзисторов шириной \ (W_n = 1 \) и pMOS
транзисторов шириной \ (W_p = 2n. \) В результате каждый вход
\ (n \) — вход ИЛИ-НЕ имеет логическое усилие

\ [g_ {norn} = \ frac {2n + 1} {3} \ ,, \]

и паразитная задержка ворот

\ [p_ {norn} = \ frac {n \ cdot 1 + 2n} {3} = n \,. \]

Например, вентиль ИЛИ-НЕ с 3 входами имеет логическое усилие \ (g_ {nor3} =
7/3 \) на вход и паразитная задержка \ (p_ {nor3} = 3. \) Логическая
усилие логического элемента \ (n \) — вход ИЛИ-НЕ превышает логическое усилие
\ (n \) — входной логический элемент И-НЕ.Таким образом, если у нас есть выбор
реализовать логику схемного пути с воротами NAND или NOR,
мы обычно предпочитаем ворота NAND, потому что они имеют тенденцию давать более низкий путь
задержки.

4.1.2. Логические ворота с древовидной структурой

Когда количество входов логических вентилей большое, с древовидной структурой
затворы обеспечивают лучшую производительность по сравнению с затворами КМОП. Как
конкретный пример, рассмотрим вентиль NAND с 16 входами. Логическое усилие
затвора CMOS NAND с выпадающей сетью из 16 nMOS транзисторов в
серия равна \ (g_ {nand16} = 6 \) согласно уравнению (1),
и паразитная задержка равна \ (p_ {nand16} = 16 \) согласно
Уравнение (2).3 = 3,16, \) и паразитная задержка пути
of \ (P = 4 p_ {nand2} + 3 p_ {inv} = 11. \) Древовидная структура
улучшает оба количества.

Рисунок 4.4: Древовидный вентиль И-НЕ с 16 входами, использующий вентили И-НЕ с 2 входами и
инверторы как строительные блоки.

Древовидная структура схемы NAND основана на булевой алгебре, подробнее
кратко ассоциативность операции И:

\ [(A \ cdot B) \ cdot C = A \ cdot (B \ cdot C) \,. \]

Ассоциативность означает, что выражение можно заключить в скобки любым способом.
мы хотим.Мы можем даже полностью опустить скобки, потому что,
математически скобки не влияют на значение
выражение. Однако с точки зрения разработчика схем
круглые скобки обозначают порядок оценки . Например, учитывая
двоичная операция AND и 8 операндов \ (A_0, A_1, \ ldots, A_7, \)
существует множество различных порядков оценки. Один из них соответствует
скошенные влево круглые скобки

\ [(((((((A_0 \ cdot A_1) \ cdot A_2) \ cdot A_3) \ cdot A_4) \ cdot A_5) \ cdot A_6) \ cdot A_7) \ ,, \]

, который группирует операции таким образом, что все 7 операций И ​​должны быть
выполняются один за другим.Соответствующая схема имеет
глубина 7 операций. Напротив, древовидная структура
скобки дают минимальную глубину \ (\ log_2 8 = 3 \)
операций:

\ [(((A_0 \ cdot A_1) \ cdot (A_2 \ cdot A_3)) \ cdot ((A_4 \ cdot A_5) \ cdot (A_6 \ cdot A_7))) \,. \]

На рисунке 4.5 показаны соответствующие схемы. Отметим, что
структура дерева асимптотически оптимальна, т.е. для достаточно большого
количество входов \ (n, \) никакая другая топология схемы не имеет глубины
меньше, чем \ (\ log_2 n, \), с точностью до постоянных множителей.Константы
зависят от количества входов строительных блоков. Например,
если мы заменим поддеревья трех логических элементов И с 2 входами на одно И с 4 входами
вентиль, глубина древовидной структуры логического элемента И на рисунке 4.5.
уменьшается с 3 до 2 уровней.

Рисунок 4.5: Скошенное влево (а) и древовидное (б) соединение 8 входов с 7 бинарными операторами И.

Для входного логического элемента И с древовидной структурой \ (n \) мы получаем
\ (n \) — входной логический элемент И-НЕ путем дополнения выходного. 16 входов
Вентиль NAND на рисунке 4.4 реализует каждый 2-входной логический элемент И
дерево с 2-входной схемой CMOS NAND, за которой следует инвертор. Чтобы
Для дополнения вывода мы опускаем инвертор в корне дерева.
Логический элемент И-НЕ с 3 входами на рис. 4.1 является примером
несбалансированное дерево И-НЕ, где количество входов не является степенью
2. Напротив, деревья на Рисунках 4.4 и 4.5
сбалансированы , потому что каждый путь от входа к выходу имеет одинаковые
глубина или количество ворот.

4.1.3. Асимметричные ворота

Асимметричный вентиль имеет входы с разными логическими усилиями.Асимметричные ворота требуют от схемы дополнительного внимания
разработчик, но при правильном использовании способствуют более быстрым схемам. В
асимметрия может быть вызвана топологией схемы или преднамеренным
размер транзистора для уменьшения задержки критического пути. Мы
спроектировать вентиль большинства, чтобы мотивировать асимметричные топологии схем,
а затем обсудите, как распределить логические усилия между входами.

Выход большинства

Операция большинства является тернарной логической операцией,
ср. функция большинства :

(3) \ [M (A, B, C) = A B + A C + B C \,. \]

В терминах таблицы истинности мажоритарная операция определяется как:

A В С M
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Как следует из названия, выходом большинства операций является
значение, которое чаще встречается во входных данных \ (A, \) \ (B, \) и
\ (С.\) Инвертирующий вентиль большинства с 3 входами на рисунке 4.6 вычисляет дополнение \ (Y = \ overline {M}. \)

Мы характеризуем задержку ворот большинства, определяя ее логическую
усилие и паразитическая задержка. У большинства ворот шесть рычагов , каждое
из которых состоит из двух транзисторов. Чтобы соответствовать
сопротивления включения эталонного инвертора, мы делаем транзисторы в
каждое плечо ворот большинства в два раза шире, чем у контрольного
инвертор. Таким образом, как показано на рисунке 4.7, все pMOS
транзисторы имеют ширину \ (W_p = 4 \), а все nMOS-транзисторы имеют
ширина \ (W_n = 2. \) Эти ширины транзистора соответствуют эталонной
инвертор для всех комбинаций входных значений, кроме случаев, когда все входные
значения равны. В этом случае все три руки либо подтягивания, либо
включаются выпадающие сети, так что параллельная композиция
дает в три раза меньшее эквивалентное сопротивление во включенном состоянии. Мы классифицируем
эти комбинации входов как исключительно быстрые, аналогичные
исключительные входные комбинации вентилей И-НЕ или ИЛИ-ИЛИ.

Рисунок 4.7: Согласованный вентиль инвертирующего большинства.

Каждый вход мажоритарного затвора управляет двумя pMOS и двумя nMOS
транзисторы. Следовательно, все три входа \ (A, \) \ (B, \) и
\ (C \) имеют логическое усилие

\ [g_M (A) = g_M (B) = g_M (C) = \ frac {2 W_p + 2 W_n} {C_ {in} (inv)} = 4 \,. \]

Нормализованная выходная емкость мажоритарного затвора состоит из
три pMOS и три nMOS транзистора. Следовательно, паразитная задержка
мажоритарных ворот

\ [p_ {M} = \ frac {3 W_p + 3 W_n} {C_ {out} (inv)} = 6 \ ,.\]

По сравнению с логическим элементом И-НЕ или ИЛИ-НЕ, большинство ворот работает относительно медленно.
Один из вариантов уменьшения логических усилий и паразитной задержки
затвор большинства — это транзистор, разделяющий . Обратите внимание на рис. 4.7, что два pMOS-транзистора, которые управляют одним входом в
подтягивающие сети находятся в отдельных руках. Выпадающая сеть показывает
такая же структура только с nMOS транзисторами. Если две руки разделяют одну
транзистор, мы можем уменьшить логические усилия, уменьшив количество
транзисторов от двух до одного.Это не работает для всех входов
одновременно. Как показано на рис. 4.8, если мы поделим транзисторы входа \ (A, \), мы
не могут также совместно использовать транзисторы входов \ (B \) и \ (C \)
через руки, не изменяя логической функции. Однако, разделяя
транзисторы входа \ (A \) уменьшают его логическое усилие, а также
паразитическая задержка всей калитки.

Совместное использование транзисторов входа \ (A, \), как показано на
Рисунок 4.8, не влияет на
ширина транзистора согласованного мажоритарного затвора.Путь от предложения
Rail to output состоит из двух транзисторов, последовательно соединенных между собой.
либо в подтягивающей, либо в опускающейся сети, как в
Рисунок 4.7. Исключительный случай, когда все три
входные значения равны, имеет большее эквивалентное сопротивление в открытом состоянии, чем
на рис. 4.7, но все же быстрее, чем
обычный случай. Таким образом, согласованная версия мажоритарного гейта в
На рисунке 4.8 показаны ширины транзисторов.
\ (W_p = 4 \) и \ (W_n = 2. \) Хотя логические усилия
входы \ (B \) и \ (C \) остаются без изменений, транзистор разделяется
вдвое уменьшает логическое усилие ввода \ (A \):

\ [\ begin {eqnarray *}
g_ {Masym} (A) & = & \ frac {W_p + W_n} {C_ {in} (inv)} \ = \ 2 \ ,, \\
g_ {Masym} (B) = g_ {Masym} (C) & = & \ frac {2 W_p + 2 W_n} {C_ {in} (inv)} \ = \ 4 \ ,.\ end {eqnarray *} \]

Поскольку логическое усилие ввода \ (A \) отличается от логического
усилие входов \ (B \) и \ (C, \) мажоритарный вентиль в
Рисунок 4.8 представляет собой асимметричный вентиль .
Напротив, большинство ворот на рис. 4.6 — это
симметричный вентиль , потому что все входы имеют одинаковое логическое усилие.
Вместо того, чтобы характеризовать асимметричный вентиль перечислением логических
усилий для всех входов, иногда достаточно использовать один
номер вместо этого. Общее логическое усилие — это сумма
логические усилия всех входов.Например, общее логическое усилие
позволяет количественно сравнить симметричный и асимметричный
большинство ворот. Симметричный мажоритарный вентиль имеет полное логическое усилие
\ (g_ {M} = g_ {M} (A) + g_ {M} (B) + g_ {M} (C) = 3 \ cdot 4 = 12. \)
Совместное использование транзисторов снижает общее логическое усилие асимметричной
ворота в \ (g_ {Masym} = 2 + 2 \ cdot 4 = 10. \)

Совместное использование транзисторов входа \ (A \) снижает не только
логического усилия, но также и выходная емкость и, следовательно,
паразитная задержка асимметричного мажоритарного гейта:

\ [p_ {Masym} = \ frac {2 W_p + 2 W_n} {C_ {out} (inv)} = 4 \ ,.\]

Обратите внимание, что мы можем создавать альтернативные конструкции ворот, разделяя
транзисторы входа \ (B \) или входа \ (C. \).
Однако асимметричные вентили не уменьшают выходную емкость. Только
совместное использование транзисторов, управляемых входом \ (A \), уменьшает
паразитарная задержка. Таким образом, если у нас есть выбор, мы предпочитаем делиться этими
транзисторы, подключенные к выходу затвора, чтобы
уменьшите паразитарную задержку как дополнительное преимущество.

Размеры асимметричных транзисторов

Асимметричный вентиль большинства жертвует симметрией схемы
топология для уменьшения логических затрат на один вход без ущерба для
логическое усилие других входов.Преимущество уменьшенного
логическое усилие — это уменьшенная задержка затвора для переходов сигнала на
соответствующий вход. Даже при симметричной топологии ворот, присущей
Например, с воротами NAND и NOR, мы можем торговать логическим усилием между
входы по размеру транзистора. Полученная асимметрия может быть желательной.
для ускорения критического пути цепи.

В качестве примера рассмотрим логический элемент И-НЕ с 2 входами на рис. 4.9. Предположим, что вход \ (A \) является критическим, и мы хотим
уменьшить его задержку. Таким образом, наша цель — минимизировать логические усилия
input \ (A, \), что означает уменьшение \ (g_ {nand2} (A) \) с 4/3
к эталонному инвертору \ (g_ {inv} = 1.\)

Рисунок 4.9: Согласованный асимметричный логический элемент NAND с масштабирующей долей nMOS \ (\ alpha. \)

Поскольку согласованный затвор И-НЕ имеет нормированную ширину nMOS-транзистора
\ (W_n (A) = W_n (B) = 2, \) уменьшение ширины \ (W_n (A) \) до 1
уменьшает входную емкость входа \ (A \) по желанию. Однако,
если все, что мы делаем, это уменьшаем входную емкость входа \ (A, \),
ворота не совпадают с эталонный инвертор. По факту,
уменьшение вдвое ширины nMOS-транзистора увеличивает его сопротивление в открытом состоянии вдвое,
что приводит к меньшему выходному току.Следовательно, ворота
будет медленнее, чем быстрее, как планировалось. Чтобы получить отсрочку
сокращения, нам нужно уменьшить логическое усилие, т.е. мы хотим
уменьшите входную емкость входа \ (A \) без изменения
эквивалентное сопротивление в открытом состоянии нисходящей сети. Совместное использование транзисторов
в большинстве ворот именно этот эффект.

В случае логического элемента И-НЕ с 2 входами мы можем сбалансировать изменение ширины
\ (W_n (A) \) соответствующей заменой \ (W_n (B) \) так, чтобы
выпадающая сеть асимметричного логического элемента NAND остается согласованной с
эталонный инвертор.В частности, соответствие асимметричного 2-входного
Для логического элемента NAND требуется эквивалентное сопротивление включения \ (R_n (A) +
R_n (B) \) последовательного состава nMOS-транзисторов должен быть равен
на сопротивлении \ (R_n (INV) \) эталонного преобразователя:

\ [R_n (A) + R_n (B) = R_n (inv) \,. \]

Поскольку сопротивление в открытом состоянии прямо пропорционально транзистору
width, мы получаем это ограничение согласования для асимметричного логического элемента И-НЕ:

\ [\ begin {split} \ begin {eqnarray *}
\ frac {1} {W_n (A)} + \ frac {1} {W_n (B)} & = & \ frac {1} {W_n (inv)} \\
\ Leftrightarrow \ qquad W_n (A) + W_n (B) & = & W_n (A) W_n (B) \ ,,
\ end {eqnarray *} \ end {split} \]

, поскольку эталонный инвертор имеет nMOS-транзистор шириной
\ (W_n (inv) = 1.\) Мы можем выполнить это ограничение с помощью масштабирования
дробь \ (\ alpha, \) \ (0 <\ alpha <1, \), если мы выберем \ (W_n (A) = 1 / (1- \ alpha) \) и \ (W_n (B) = 1 / \ alpha, \), как показано на рисунке 4.9. Для \ (\ alpha = 1/2, \) получаем симметричный согласованный вентиль И-НЕ с \ (W_n (A) = W_n (B) = 2. \) Масштабирующая дробь \ (\ alpha <1/2 \) снижает логические усилия input \ (A. \) Когда \ (\ alpha \) приближается к 0, ширина \ (W_n (A) \) и логическое усилие \ (g_ {nand2asym} (A) \) приближается к значению 1. В таблице ниже перечислены соответствующие количества для нескольких значений \(\альфа.\)

\ (\ alpha \) \ (W_n (A) \) \ (W_n (B) \) \ (g_ {nand2asym} (A) \) \ (g_ {nand2asym} (B) \) \ (g_ {nand2asym} \)
1/2 2 2 4/3 4/3 2,67
1/4 4/3 4 10/9 2 3.11
1/10 10/9 10 28/27 4 11,04
1/100 100/99 100 298/297 34 101,0

Цена уменьшения логического усилия ввода \ (A \) составляет
быстро растущее логическое усилие ввода \ (B. \) Выбор
\ (\ alpha = 1/4 \) кажется хорошим компромиссом, где
\ (g_ {nand2asym} (A) = 1.1 \) находится в пределах \ (10 ​​\, \% \) от минимального
логическое усилие, но общее логическое усилие ворот увеличивается на
Только \ (16 \, \% \).

4.1.4. Комплекс ворот

Существуют сложные логические выражения, которые мы можем реализовать в
одиночный вентиль CMOS. В частности, все логические выражения, сформированные с помощью
Операции AND и OR могут быть преобразованы в вентиль CMOS, если все переменные
появляются только в незавершенной форме, а все выражение И-ИЛИ
дополнены.

Два широко используемых семейства сложных ворот — это инвертирующий И-ИЛИ.
(AOI)
ворот и инвертирующих OR-AND (OAI) ворот.Как
Например, рассмотрим логическое выражение

\ [Y = \ overline {A \ cdot B + C} \,. \]

Если наша поставка CMOS-вентилей состоит из вентилей NAND, NOR и NOT, мы могли бы
испытывать искушение использовать теорему об инволюции , и
преобразовать выражение так, чтобы мы могли реализовать \ (Y \) с
этих ворот:

\ [Y = \ overline {A \ cdot B + C} = \ overline {\ overline {\ overline {(A \ cdot B)}} + C} \,. \]

Схема для \ (Y \) показана на рисунке 4.10. Логический
усилие самых длинных путей \ (A \ rightarrow Y \) и \ (B
\ rightarrow Y \) равно \ (G = g_ {nand} g_ {inv} g_ {nor} = 20/9 \), а
паразитная задержка соответствующего пути равна \ (P = p_ {nand} + p_ {inv} +
р_ {нор} = 5.\)

Рисунок 4.10: Реализация \ (Y = \ overline {A \ cdot B + C} \) с вентилями NAND, NOR и NOT.

Теперь вспомним теорему о полноте , которая говорит нам, что любое логическое
выражение операций И ​​и ИЛИ может быть реализовано с помощью
последовательно-параллельный коммутатор сети. В нашем примере \ (Y = 0 \), если и
только если \ (A = 1 \) AND \ (B = 1, \) OR if \ (C = 1. \) Это логическое
Эквивалентность транслируется непосредственно в выпадающую сеть CMOS в
Рисунок 4.11 (а). Реализуем конъюнкцию \ (A \)
и \ (B \) с последовательным составом nMOS-транзисторов, а
дизъюнкция \ (AB \) и \ (C \) с параллельной композицией.Имея выпадающую сеть, мы получаем подтягивающую сеть в
Рисунок 4.11 (b) систематически применяя
принцип двойственности . Подтягивающая сеть
использует pMOS вместо транзисторов nMOS, и мы заменяем параллельный
композиция с серийной композицией и наоборот.

Рисунок 4.11: CMOS-вентиль для \ (Y = \ overline {A \ cdot B + C} \): (a) раскрывающийся список
сеть, (b) подтягивающая сеть является двойной из выпадающей сети, (c)
согласованный вентиль CMOS.

Рисунок 4.11 (c) перерисовывает подтягивающую сеть.
немного для наглядности и аннотирует размеры транзисторов.
необходимо, чтобы соответствовать эталонному инвертору.Затвор асимметричный , потому что логические усилия входов различаются:

\ [g (A) = g (B) = 2 \ ,, \ qquad g (C) = 5/3 \,. \]

Паразитная задержка затвора составляет \ (p = 7/3. \) По сравнению с
логически эквивалентная схема на рисунке 4.10, вентиль CMOS
предлагает улучшения с точки зрения скорости и количества транзисторов. Чтобы
Чтобы подчеркнуть тот факт, что наш CMOS-вентиль является составным вентилем, мы вводим
символ на рисунке 4.12 путем объединения логического элемента И с ИЛИ
Ворота. Поскольку выход логического элемента И управляет входом логического элемента ИЛИ
вентиль, выход которого дополнен инвертором, составной вентиль
инвертирующий вентиль И-ИЛИ или вентиль AOI для краткости.

Рисунок 4.12: Символ затвора AOI отражает логическую функцию.

вентилей AOI существуют для дополнения всех булевых выражений в
СОП нормальная форма .

Аналог воротам AOI, семейство ворот OAI, или инвертирование OR-AND
вентили
, состоит из составных вентилей для логических выражений в
дополнил POS нормальной формы . Например,
рассмотрим логическое выражение

\ [Y = \ overline {(A + B) \ cdot (C + D)} \,. \]

Показан вентиль OAI для \ (Y \) и соответствующий символ OAI.
на рисунке 4.13. Согласованный вентиль симметричный, с
логическое усилие \ (g = 2 \) на вход и паразитная задержка \ (p = 4. \)

Рисунок 4.13: Сопоставленный вентиль OAI для \ (Y = \ overline {(A + B) \ cdot (C + D)} \) и соответствующий символ логического элемента OAI.

Помимо ворот AOI и OAI для дополненных двухуровневых нормальных форм,
мы также можем разработать составные ворота для многоуровневых выражений. За
например, логическое выражение

\ [Y = \ overline {(A + BC) \ cdot D} \]

имеет ниспадающую сеть, состоящую из последовательной композиции
\ (D \) и параллельная композиция \ (A \) и ряд
композиция \ (B \) и \ (C.\)

Рисунок 4.14: Согласованные многоуровневые составные ворота для \ (Y = \ overline {(A + BC)
\ cdot D} \) и соответствующий символ составного вентиля.

Составной вентиль на рис. 4.14 — асимметричный , потому что логические усилия входов различаются:

\ [g (A) = 2 \ ,, \ qquad g (B) = g (C) = 8/3 \ ,, \ qquad g (D) = 4/3 \,. \]

Паразитная задержка составного затвора \ (p = 8/3. \)

Разработчики

CMOS часто используют составные вентили как эффективную реализацию
цель.Если один из входов необходимо дополнить, то легко
ввести отдельный инверторный каскад для управления входом соединения
Ворота. Если нам нужна функция AO или OA без инвертированного выхода, мы
может использовать дополнительный инверторный каскад для дополнения выхода
соответствующие ворота AOI или OAI .


4.1

Разработайте составной вентиль CMOS для вычисления

\ (\ qquad {\ displaystyle Y = \ overline {(A + B + C) \ CDOT D} \ ,.} \)

  1. Получите либо подтягивающую, либо подтягивающую сеть.
  2. Выведите дополнительную сеть, используя принцип двойственности.
  3. Выполните подбор транзистора в соответствии с составным затвором.
  4. Определите логическое усилие (-я) и паразитную задержку.
  1. Мы получаем выпадающую сеть, замечая в логическом
    выражение, что \ (Y = 0 \) if \ ((A + B + C) \ cdot D = 1. \)
    Поэтому мы проектируем последовательно-параллельную понижающую сеть, которая
    подключает выход \ (Y \) к GND при переключении сети
    на.Логическое подвыражение \ (A + B + C \) переводится в
    параллельный состав nMOS транзисторов, и соединение
    с \ (D \) в композицию ряда. Рисунок ниже
    показывает раскрывающуюся сеть в части (а).

  2. Мы выводим подтягивающую сеть из выпадающей сети, используя
    принцип двойственности. Для каждого nMOS-транзистора мы
    ввести соответствующий pMOS-транзистор. Параллельно
    состав nMOS транзисторов, управляемых входами
    \ (A, \) \ (B, \) и \ (C \) превращается в ряд
    состав pMOS транзисторов.Кроме того, серия
    композиция nMOS-транзистора \ (D \) с параллельным
    композиция превращается в параллельную композицию pMOS
    транзистор \ (D \) с последовательным составом pMOS
    транзисторы. Подтягивающая сеть показана как часть
    полный вентиль CMOS в части (b) рисунка выше.

  3. Размеры транзисторов для согласованного составного затвора выбраны
    чтобы иметь такое же сопротивление в открытом состоянии, как у эталонного инвертора, см.
    часть (c) рисунка выше. Начнем с раскрывающегося списка
    сеть.Эталонный инвертор имеет nMOS-транзистор
    width \ (W_n (inv) = 1. \) Наши составные ворота имеют три пути
    для включения нисходящей сети через nMOS транзистор
    \ (D \) и один из n МОП-транзисторов \ (A, \) \ (B, \) или
    \ (C. \) Наибольшее сопротивление при включении появляется, если ровно одно из
    дорожки включены. Этот путь состоит из серии
    состав из двух nMOS-транзисторов. Поскольку сопротивление
    из двух последовательно соединенных резисторов, мы хотим, чтобы каждое активное сопротивление составляло
    быть вдвое меньше эталонного инвертора.Мы достигаем этой цели
    увеличивая ширину nMOS-транзисторов вдвое, т.е. выбираем
    ширина \ (W_n = 2 \ cdot W_n (inv) = 2 \) для всех nMOS
    транзисторы. Если более двух путей в раскрывающемся списке
    сети включены, сопротивление в открытом состоянии будет меньше чем
    эталонного инвертора, который мы рассматриваем как
    исключительный случай, который быстрее худшего.

    Подтягивающая сеть должна иметь такое же сопротивление в открытом состоянии, что и
    PMOS-транзистор эталонного преобразователя ширины
    \ (W_p (inv) = 2.\) Подтягивающая сеть имеет два пути. В
    в худшем случае включен только один из этих путей. Чтобы
    сопоставим путь через pMOS транзистор \ (D, \), мы назначим
    width \ (W_p (D) = W_p (inv) = 2. \) Другой путь состоит из
    последовательного состава из трех pMOS-транзисторов. Если каждый из
    сопротивление этих транзисторов в открытом состоянии составляет одну треть от
    PMOS-транзистор эталонного преобразователя, эквивалентная
    сопротивление пути равно сопротивлению эталонного
    инвертор. Таким образом, мы утроим ширину \ (W_p (A) = W_p (B) =
    W_p (C) = 3 \ cdot W_p (inv) = 6.\) В исключительном случае
    входная комбинация \ (ABCD = 0000, \) оба пути подтягивания
    включен, эквивалентное сопротивление параллельных цепей
    меньше, чем у эталонного инвертора, и
    составные ворота будут быстрее.

  4. Логическое усилие входа составного вентиля — это его вход
    емкость, деленная на входную емкость эталона
    инвертор \ (C_ {in} (inv) = 3. \) Рассмотрим вход \ (A \)
    наши комплексные ворота. Входная емкость \ (C_ {in} (A) \) — это
    сумма нормированных входных ширин транзисторов \ (A \)
    элементы управления, здесь \ (W_p (A) = 6 \) и \ (W_n (A) = 2.\)
    Таким образом, мы находим \ (C_ {in} (A) = 6 + 2 = 8. \) Входы \ (B \)
    и \ (C \) имеют одинаковую входную емкость, тогда как входные
    \ (D \) имеет входную емкость \ (C_ {in} (D) = 2 + 2 = 4. \)
    Составные ворота асимметричны с логическими усилиями:

    \ [g (A) = g (B) = g (C) = \ frac {8} {3} \ ,, \ quad g (D) = \ frac {4} {3} \,. \]

    Паразитная задержка составного затвора — это отношение
    его выходная емкость и выходная емкость
    эталонный инвертор \ (C_ {out} (inv) = 3. \) Выход
    емкость составного затвора является суммой нормированных
    ширины всех транзисторов, подключенных к выходу \ (Y, \)
    здесь \ (C_ {out} = W_p (C) + W_p (D) + W_n (D) = 6 + 2 + 2 = 10.\)
    Следовательно, паразитная задержка нашего составного гейта составляет

    .

    \ [p = \ frac {10} {3} \,. \]

Решение

4.1.5. XOR и XNOR ворота

Наша КМОП-реализация логического элемента XOR на рис. 1.42 заслуживает более внимательного рассмотрения. В отличие от ворот NAND или NOR,
Элемент XOR предполагает, что входы доступны в дополненных и
незавершенная форма, а подтягивающие и опускающиеся сети не
двойники друг друга. Но сначала охарактеризуем задержку
Двухвходовой вентиль XOR путем определения логического усилия и паразитной задержки.Согласованный вентиль XOR с двумя входами показан на рисунке 4.15. Каждый
Arm представляет собой последовательную композицию из двух транзисторов. Чтобы соответствовать
сопротивления включения эталонного инвертора, мы делаем транзисторы в
каждое плечо ворот XOR вдвое шире.

Рисунок 4.15: Согласованный вентиль XOR с 2 входами.

Каждый из четырех входов логического элемента XOR с 2 входами, \ (A, \)
\ (\ overline {A}, \) \ (B, \) и \ (\ overline {B} \) управляет одним
pMOS и один nMOS-транзистор. Следовательно, каждый вход имеет логическое усилие

\ [g_ {xor2} = \ frac {4 + 2} {3} = 2 \ ,.\]

Нормализованная выходная емкость логического элемента XOR состоит из двух pMOS
и два nMOS-транзистора, так что паразитная задержка составляет

\ [p_ {xor2} = \ frac {4 + 4 + 2 + 2} {3} = 4 \,. \]

По сравнению с вентилями NAND и NOR с 2 входами, вентиль XOR использует вдвое больше
много транзисторов, чьи емкости делают его относительно медленным.

Симметричные ворота XOR

вентили XOR с \ (n \) — входы реализуют нечетную четность
операция, которая выводит 1, если количество входов со значением 1 равно
нечетное, ср.ref: функция четности <функция четности> . Например, для
\ (n = 3, \) функция \ (Y = A \ oplus B \ oplus C \) равна 1, если
количество входов 1 равно 1 или 3. Таблица истинности показывает 3 входа
Функция XOR или функция нечетной четности.

A В С Y
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Свойство нечетной четности предлагает схему схемы XOR CMOS.п \) оружие с
\ (n \) транзисторов каждый. Половина рук в подтягивании
сеть, по одному на каждый терминал, и каждая имеет нечетное количество дополненных
входы. Другая половина плеч находится в выпадающей сети. За
при каждой комбинации входных значений включается ровно одна рука.
На рисунке 4.16 показана схема CMOS для 3-входного
XOR ворота. Всякий раз, когда вы переключаете один из входов, выведите \ (Y \)
переключается, потому что изменение одного входа изменяет четность с нечетной на
даже или наоборот.

Согласованный вентиль XOR с 3 входами имеет pMOS-транзисторы шириной \ (W_p
= 6 \) и nMOS транзисторов шириной \ (W_n = 3.\) Каждый из шести
входы \ (A, \) \ (\ overline {A}, \) \ (B, \)
\ (\ overline {B}, \) \ (C, \) и \ (\ overline {C} \) управляет двумя
pMOS и два nMOS-транзистора, в результате чего логические усилия
\ (g_ {xor3} = 6 \) на вход. Выход подключен к четырем pMOS
и четыре nMOS-транзистора, которые вносят вклад в выходную емкость
и паразитная задержка \ (p_ {xor3} = 12. {n-2} \]

на вход.{n-1} \,. \]

Экспоненциальный рост как логических усилий, так и паразитных задержек в
количество входов \ (n \) ограничивает применимость этой CMOS
цепь на малое \ (n. \) Для большего количества входов
древовидная структура топологий на основе 2 входов
Ворота XOR как строительные блоки работают быстрее.

Асимметричные ворота XOR

Мы можем уменьшить логическое усилие и паразитную задержку логического элемента XOR
на транзисторов . Уведомление в
Рисунок 4.16 показывает, что каждый вход управляет двумя pMOS и
два nMOS-транзистора.Если два плеча используют один транзистор, мы можем уменьшить
логическое усилие соответствующего входа. Обмен не работает
для всех входов одновременно. Как показано на рисунке 4.17, мы разделяем транзисторы входов \ (A \) и
\ (\ overline {A} \), чтобы уменьшить их логические усилия и паразитические
задержка целых ворот. Тогда мы также можем поделиться транзисторами
входы \ (C \) и \ (\ overline {C}, \), но не входы
\ (B \) и \ (\ overline {B} \) без изменения логики
функция.

Чтобы соответствовать логическому элементу XOR, обратите внимание, что любой путь от источника к выходу
состоит из 3-х транзисторов, как плечо в
Рисунок 4.16. Поэтому совместное использование транзисторов
не влияет на ширину транзистора согласованного затвора. Словно
симметричный вентиль XOR, все pMOS-транзисторы согласованного затвора имеют
ширина \ (W_p = 6 \) и ширина всех nMOS транзисторов \ (W_n = 3. \)
В результате вентиль XOR на рис. 4.17 становится
асимметричный. Логические усилия входов \ (A, \)
\ (\ overline {A}, \) \ (C \) и \ (\ overline {C} \) равны

\ [g_ {xor3asym} (A) = g_ {xor3asym} (\ overline {A}) = g_ {xor3asym} (C) = g_ {xor3asym} (\ overline {C}) = \ frac {W_p + W_n} { 3} = 3 \ ,, \]

, в то время как логические усилия входов \ (B \) и \ (\ overline {B} \) остаются
без изменений по сравнению с симметричным дизайном:

\ [g_ {xor3asym} (B) = g_ {xor3asym} (\ overline {B}) = \ frac {2 Wp + 2 W_n} {3} = 6 \ ,.\]

Совместное использование транзисторов, подключенных к выходу затвора, делит половину
выходная емкость и, следовательно, паразитная задержка
асимметричный вентиль XOR —

\ [p_ {xor3asym} = \ frac {2 W_p + 2 W_n} {3} = 6 \,. \]

Асимметричный вентиль XOR имеет меньшее общее логическое усилие и меньшее
паразитная задержка, чем симметричный вентиль.

Ворота XOR и двойственность

Симметричный вентиль XOR с двумя входами на рис. 4.15 нарушает
принцип двойственности, потому что подтягивающие и опускающие сети
не двойники друг друга.В этом разделе мы используем XOR с двумя входами.
ворота, чтобы продемонстрировать, что двойственность является достаточным, но не необходимым
свойство CMOS вентилей
.

Вспомните таблицу истинности логического элемента XOR с 2 входами, \ (Y = A \ oplus B \):

A В Y
0 0 0
0 1 1
1 0 1
1 1 0

Нормальная форма СОП для функции XOR —

.

\ [Y = \ overline {A} B + A \ overline {B} \ ,.\]

Интерпретируйте это равенство как \ (Y = 1 \), если \ (A = 0 \) AND \ (B = 1 \)
ИЛИ, если \ (A = 1 \) AND \ (B = 0. \) Отменить предикаты \ (B = 1 \)
и от \ (A = 1 \) до \ (\ overline {B} = 0 \) и \ (\ overline {A} = 0, \)
для упрощения аргумента в пользу модели коммутатора pMOS-транзисторов.
Тогда мы получаем эквивалентную логику XOR:

\ (Y = 1 \), если (\ (A = 0 \) И \ (\ overline {B} = 0 \)) ИЛИ, если (\ (\ overline {A} = 0 \) И \ (B = 0 \)).

Логическое выражение состоит из операций И ​​и ИЛИ, которые
переводится непосредственно в последовательно-параллельную подтягивающую сеть в
Рисунок 4.18 (а). Учитывая подтягивающую сеть,
мы можем получить выпадающую сеть, сформировав дуал, как показано на
Рисунок 4.18 (б). Преобразуем параллель
руки подтягивающей сети в последовательную композицию параллельных nMOS
транзисторы. Модель интерактивного переключателя позволяет проверить
таблица истинности ворот XOR.

Элемент XOR на рис. 4.18 имеет то же
подтягивающая сеть как наш исходный вентиль XOR на рис. 4.15, вверх
к порядку входов затвора pMOS. Однако ниспадающие сети
разные.Чтобы добраться до логического элемента XOR на рисунке 4.15,
снова рассмотрим таблицу истинности вентиля XOR, теперь с целью
получить выпадающую сеть из логической функции. Мы видим, что
\ (Y = 0 \), если \ (A = 0 \) И \ (B = 0 \) ИЛИ, если \ (A = 1 \) И
\ (B = 1. \) Чтобы соответствовать модели переключателя nMOS-транзисторов, отрицайте
предикаты \ (A = 0 \) и \ (B = 0 \) к \ (\ overline {A} = 1 \) и
\ (\ overline {B} = 1, \) и находим логику XOR:

\ (Y = 0 \), если (\ (\ overline {A} = 1 \) И \ (\ overline {B} = 1 \)) ИЛИ, если (\ (A = 1 \) И \ (B = 1 \)).

Это логическое выражение преобразуется непосредственно в последовательно-параллельную
выпадающая сеть на рис. 4.19 (а). Получение
двойная вытяжная сеть дает подтягивающую сеть в
Рисунок 4.19 (б).

Элемент XOR на рис. 4.19 имеет то же
выпадающая сеть как наш исходный вентиль XOR на рис. 4.15,
но другая подтягивающая сеть. Однако мы подходим к воротам XOR
рисунок 4.15, объединив подтягивающую сеть
Рисунок 4.18 с выпадающей сетью
Рисунок 4.19. Эта конструкция экономит провод и
проще, чем конструкции с двойной сетью, потому что четыре руки
независимы. Кроме того, вентиль XOR демонстрирует, что CMOS
ворота не обязательно имеют подтягивающие и опускающие сети, которые
двойники друг друга. Трехвходовые вентили XOR и мажоритарный вентиль
являются примерами вентилей CMOS, чьи подтягивающие и понижающие сети
тоже не дуалы.

Схемы XOR CMOS

Двухвходовой вентиль XOR на рис. 4.15 требует дополнения и
незавершенные вводы.Фактически, мы можем указать этот вентиль CMOS как
логическая функция четырех входов, XOR \ ((A, B, C, D), \) с
дополнительные ограничения \ (C = \ overline {A} \) и \ (D =
\ overline {B}, \), которому должна подчиняться цепь управления. Вход
Спецификация отличает вентиль XOR от других вентилей CMOS,
Например, ворота NAND и NOR. Два входа NAND и NOR имеют
два входа не только потому, что они реализуют функции двоичной логики, но
также с точки зрения количества входных проводов, которые их CMOS
реализации имеют.Напротив, мы определяем вентиль XOR как двоичный
логической функции, нарисуйте символ ворот XOR с двумя
входов, но для нашего CMOS-элемента на рис. 4.15 требуется четыре входа. В
Причина в том, что не существует 2-входного CMOS-элемента для 2-входного XOR
логическая функция, поскольку вентили CMOS могут монотонно реализовывать
только убывающие функции. Следовательно, реализация логики XOR с двумя входами
Затвор требует схемы CMOS, а не затвора CMOS. В этом
В разделе мы обсудим несколько КМОП-реализаций двухвходового XOR
логический вентиль.

Начнем с простого расширения ворот CMOS в
Рисунок 4.15. Чтобы получить вентиль XOR с 2 входами, мы генерируем
дополнения входов \ (A \) и \ (B \) с помощью инверторов.
Результирующая реализация логического элемента XOR показана на
Рисунок 4.20.

Рисунок 4.20: Двухвходовой вентиль XOR с входными инверторами.

Если мы хотим использовать вентиль XOR с 2 входами на рис. 4.20 как
строительный блок для построения более крупных схем, нам необходимо
характеризуют его задержку как функцию электрического усилия.поскольку
логический элемент XOR состоит из инверторов и элемента XOR CMOS, мы можем
масштабируйте инверторы и вентиль XOR CMOS независимо, чтобы минимизировать
его задержка. Поскольку схема XOR — это пересекающаяся ветвь, мы могли бы
применить метод 2d-анализа для определения
масштабные коэффициенты для данного электрического усилия. Однако внимательный взгляд
показывает, почему двухмерный анализ не может дать самый быстрый дизайн. Первый,
обратите внимание, что схема симметрична по входам \ (A \) и
\ (B, \), если мы используем симметричный вентиль XOR CMOS.Таким образом, схема имеет
один интересующий путь, скажем, от входа \ (A \) к выходу \ (Y. \)
Предположим, что у инвертора есть входная емкость \ (C_1. \) XOR CMOS
Затвор накладывает нагрузку на одну pMOS и одну nMOS емкость затвора на каждый
нога вилки, управляемая входом \ (A. \) Пусть \ (C_2 \) входом
емкость входов \ (A \) и \ (\ overline {A} \) XOR
CMOS gate, тогда наша схема XOR включает 1-вилку с равными нагрузками, как
показано на рисунке 4.21.

Рисунок 4.21: Интересующий путь двухвходового логического элемента XOR на рисунке 4.20
включает 1 вилку с равными нагрузками.

Напомним, что нам следует избегать 1-вилки, но давайте проигнорируем этот урок для
момент. Вместо этого мы настаиваем на минимизации задержки пути от
вход к выходу на рис. 4.21 при заданном электрическом усилии \ (H. \)
Обратите внимание, что схема не позволяет выравнивать задержки
ножки вилки. Вместо этого путь через опору инвертора добавляет
задержка инвертора до задержки через логический элемент XOR CMOS. Таким образом, все мы
может сделать выбор размера ворот, чтобы минимизировать задержку более медленного участка с
инвертор.Это оставляет нам проблему оптимизации: как
большая входная емкость, чтобы назначить инвертору на пути по сравнению с
затвор XOR CMOS вне тракта. Как обсуждалось в конструкции вилки , мы вводим коэффициент \ (\ alpha \) в диапазоне \ (0 < \ alpha <1 \), чтобы разделить входную емкость между инвертором и вентиль XOR CMOS:

\ [C_1 = \ alpha C_ {in} \ ,, \ qquad C_2 = (1 — \ alpha) C_ {in} \ ,, \]

такой, что \ (C_1 + C_2 = C_ {in}. \) Тогда этап усилий
инвертора и логического элемента XOR CMOS:

\ [f_ {inv} = g_ {inv} h_ {inv} = g_ {inv} \, \ frac {C_2} {C_1} = \ frac {1- \ alpha} {\ alpha} \ ,, \ qquad f_ { xor2} = g_ {xor2} h_ {xor2} = g_ {xor2} \, \ frac {H C_ {in}} {C_2} = 2 \, \ frac {H} {1- \ alpha} \ ,.\]

Теперь нижняя ножка вилки имеет задержку

\ [D_l = f_ {xor2} + p_ {xor2} = 2 \, \ frac {H} {1- \ alpha} + 4 \ ,, \]

, а верхняя часть ноги имеет задержку

\ [D_u = (f_ {inv} + p_ {inv}) + (f_ {xor2} + p_ {xor2}) = \ frac {1- \ alpha} {\ alpha} + 2 \, \ frac {H} { 1- \ alpha} + 5 \ ,, \]

где \ (D_u = (f_ {inv} + p_ {inv}) + D_l. \) Мы можем минимизировать
\ (D_u \), установив производную \ (d D_u / d \ alpha \) равной нулю,
и найдите

\ [\ alpha = \ frac {\ sqrt {2 H} — 1} {2 H — 1} \ ,.\]

Таким образом, при использовании логического элемента XOR как части более крупной схемы мы можем
выберите \ (\ alpha \) в зависимости от электрического усилия \ (H \), чтобы
минимизировать его задержку.

Если мы хотим минимизировать задержку логического элемента XOR, мы
может сделать вентиль XOR CMOS асимметричным, так что логическое усилие
дополненного входа \ (\ overline {A} \) меньше, чем
незавершенного ввода, чтобы ускорить путь через
инверторная ножка. В качестве альтернативы мы можем вспомнить наш урок о том, что 2-вилка
предпочтительнее 1-форка.Следовательно, наша вторая попытка логики XOR
gate использует 2-вилки для генерации дополненных и незавершенных
входы, как показано на рисунке 4.22.

Рисунок 4.22: 2-входной вентиль XOR с 2-вилочными входами.

Мы можем проанализировать эту схему XOR с помощью нашего метода 2d-анализа . Интересующий путь показан на рисунке 4.23 с задержкой усилия \ (d_1 \), назначенной инверторам
2-вилка и задержка усилия \ (d_2 \) для логического элемента XOR CMOS.

Рисунок 4.23: Интересующий путь логического элемента XOR с 2 входами на рисунке 4.2 — 32 H d_1 — 16 H \,. \]

Для заданного электрического усилия \ (H, \) определяем задержку
\ (d_1 \) путем нахождения положительного действительного корня многочлена.
Тогда минимальная задержка логического элемента XOR равна \ (\ hat {D} = d_1
+ d_2 + P, \) где \ (P = 2 p_ {inv} + p_ {xor2} = 6. \)
На рисунке 4.28 ниже сравниваются задержки двух операций XOR.
ворота с входами с 1 и 2 вилками в зависимости от электрического усилия
\ (H. \) Неудивительно, что для всех \ (H \) конструкция с двумя вилками
быстрее, чем конструкция с одной вилкой. Кроме того, конструкция с одной вилкой тормозит
вниз намного быстрее, чем конструкция с двумя вилками для увеличения
\(ЧАС.\)

Разница в скорости между воротами XOR с одной и двумя вилками
мотивирует поиск еще более быстрых схем вентилей XOR. в
Далее мы представляем три альтернативных дизайна. Начнем с
реконвергентная схема NAND на Рисунке 4.24 слева.
Используя булеву алгебру, несложно проверить, что это
Схема реализует функцию XOR с двумя входами. Во время нашего изучения
пересекающихся ветвей , имеем
определила модификацию стиля с двумя вилками на рис. 4.24 справа как лучшую, поскольку она быстрее.Сравнение
задержек на рисунке 4.28 показывает, что
реконвергентная схема NAND работает медленнее, чем схема с двумя вилками XOR.
до \ (H = 47. \) При больших электрических усилиях
Схема NAND работает быстрее.

Поскольку вентили NAND требуют не только относительно небольших логических усилий, но и
также небольшая паразитная задержка по сравнению с другими 2-входными воротами, 2-уровневая
Схема NAND — еще один главный претендент на вентиль XOR. Опять же, мы можем
используйте 1-вилку или 2-вилку, показанные на рис. 4.25, чтобы
генерировать дополненные и неполные входы.2-вилка
быстрее чем 1-форк, как обычно. Результирующая схема XOR имеет четыре
ступеней на ветви с 2 инверторами, так что мы ожидаем, что эта схема будет
лучше подходит для больших электрических усилий.

Рисунок 4.25: Двухуровневая схема NAND с двумя входами вилки реализует логический элемент XOR с двумя входами.

Для определения минимальной задержки как функции электрического усилия
\ (H, \) применим метод 1d-анализа с
задержка усилия \ (d \), назначенная воротам, как показано на
Рисунок 4.2 — \ frac {16} {9} H d — \ frac {8} {9} H \,. \]

Учитывая электрическое усилие \ (H, \), положительный действительный корень
многочлен равен задержке усилия \ (d, \), для которой схема имеет
минимальная задержка пути \ (\ hat {D} = 4 d + 6. \)
Рисунок 4.28 отображает график \ (\ hat {D} \) над электрическим
усилие \ (H. \) Мы видим, что вентиль XOR с двумя вилками работает быстрее до
\ (H = 14. \) Для \ (H \ ge 15, \) 4-каскадная схема И-НЕ является
Быстрее.

Рисунок 4.26: Интересующий путь двухуровневой схемы NAND с входами с двумя вилками.

Составные вентили позволяют реализовать двухуровневую логику в компактном
мода.Таким образом, мы можем реализовать вентиль XOR, используя соединение OAI или AOI.
ворота. На рисунке 4.27 слева показана схема исключающего ИЛИ, основанная на
на воротах OAI. Эта схема использует логический элемент И-НЕ, который ведет себя как
инвертор 1-вилочного привода ворот OAI. Эта схема действительно
медленнее, чем более сложная версия справа на рис. 4.27
который использует структуру с двумя вилками на входах и вентиль AOI.

Рис. 4.27: вентиль XOR с 2 входами, основанный на составном вентиле OAI (слева), с 2 входами вилки и составным вентилем AOI (справа).2 — \ frac {640} {9} H d_1 — \ frac {640} {9} H \,. \]

Учитывая электрическое усилие \ (H, \), положительные действительные корни
минимальная задержка на пути полинома \ (\ hat {D} = d_1 + d_2 +
16/3, \), который показан на рис. 4.28 как функция
\ (H. \) Мы находим, что цепь AOI имеет конкурентные задержки
x в диапазоне \ (H, \), но без \ (H \) — это схема AOI
самый быстрый вентиль XOR.

Рисунок 4.28: Минимальные задержки цепей XOR над электрическими нагрузками.

Сравнение на рис. 4.28 показывает, что самый быстрый XOR
реализация зависит от электрического усилия \ (H.\) Особенно,
среди изученных альтернатив 2-вилочная схема XOR
Рисунок 4.22 является самым быстрым для \ (H <12, \), тогда как для \ (H \ ge 12, \) двухуровневая схема NAND, показанная на рис. 4.25, является самой быстрой.

XNOR ворота

Схема XNOR очень похожа на схему XOR. Логично, что XNOR
gate создает дополнение к вентилю XOR. Таким образом, \ (n \) — ввод
Шлюз XNOR реализует операцию с контролем четности , которая выводит 1, если
количество входов со значением 1 четное. Таблица истинности ниже
показывает функцию XNOR для \ (n = 3, \) \ (Y = \ overline {A \ oplus B
\ oplus C}, \), который равен 1, если количество входов 1 равно 0 или 2.

A В С Y
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

КМОП-реализация двухвходового логического элемента XNOR показана на
Рисунок 4.29. Как и двухвходовой вентиль XOR, он
состоит из четырех рук. Подтягивающие и понижающие сети не используются.
двойники друг друга. Обращает на себя внимание тот факт, что XOR и XNOR CMOS
ворота имеют ту же топологию. В частности, нам не нужен вывод
инвертор для реализации дополнения, как требуется для И и ИЛИ
ворота.

Так как топология логического элемента XNOR равна топологии логического элемента XOR, оба
логическое усилие и паразитная задержка логического элемента XNOR равны
ворот XOR:

\ [g_ {xnor2} = 2 \ ,, \ qquad p_ {xnor2} = 4 \ ,.\]

Шлюз

XNOR с более чем двумя входами может быть сконструирован аналогично
ворота XOR. Также аналогично логическому элементу XOR конструкция
вопросы схем КМОП для 2-входного логического элемента XNOR.

4.1.6. Наклонные ворота

При оптимизации схемы по скорости мы можем захотеть
переход сигнала от высокого к низкому напряжению должен быть быстрее, чем
возрастающий переход от низкого напряжения к высокому или наоборот. В этом
В разделе мы обсуждаем наклонные вентили , критический переход которых
быстрее, чем некритический переход .Напротив, ворота CMOS
с равными задержками нарастания и спада без перекоса или с нормальным наклоном
ворота. Мы различаем HI-skew gates и LO-skew.
ворота
. В затворе HI-skew переход нарастающего выхода — это
более быстрый, критический переход, и в LO-skew вентилях падающий выход
переход имеет решающее значение.

Дизайн и анализ

Мы можем исказить затвор по размеру транзистора. Например, рассмотрим
согласованный вентиль И-НЕ с 2 входами на рисунке 4.30 (а). От
По определению, транзисторы согласованного логического элемента И-НЕ имеют размер
Обеспечьте равные токи возбуждения для повышающих и понижающих переходов.
Кроме того, токи возбуждения равны опорным токам.
инвертор. Поскольку задержка затвора зависит от его управляющего тока,
Задержки нарастания и спада равны, если величины привода
токи соответствующих переходов равны. Ключевой вывод
для разработки скошенного затвора заключается в сокращении транзисторов в CMOS
сеть, которая приводит к некритическому переходу.Например, если мы
желая ускорить восходящий переход ворот NAND, мы сжимаем
транзисторы nMOS нисходящей цепи. Эффект в том, что
Транзисторы pMOS обеспечивают такой же управляющий ток, как и согласованная И-НЕ
затвор на восходящем переходе, но меньшие nMOS-транзисторы уменьшают
логическое усилие ворот, приводящее к более быстрому переходу. За
Например, вентиль HI-skew NAND на Рисунке 4.30 (b)
вдвое уменьшает ширину nMOS-транзисторов по сравнению с согласованной NAND
ворота для ускорения восходящего перехода.

Рисунок 4.30: Искажение логического элемента И-НЕ с 2 входами: (a) согласованный вентиль, (b) вентиль HI-skew, (c) вентиль с уменьшенным масштабом.

Чтобы охарактеризовать задержку логического элемента HI-skew NAND, мы определяем его
логическое усилие и паразитическая задержка. Однако из-за непревзойденного
размеры транзисторов, логическое усилие и паразитная задержка различаются для
восходящие и нисходящие переходы. Мы используем \ (g_u \) и \ (p_u \), чтобы
обозначают логическое усилие и паразитную задержку нарастающего выхода
переход, управляемый подтягивающей сетью, и \ (g_d \) и
\ (p_d \) для перехода с падающим выходом, вызванного понижающим
сеть.Тогда задержки восходящего и нисходящего переходов
косые ворота:

\ [\ begin {eqnarray}
d_u & = & g_u h + p_u \ ,, \\
d_d & = & g_d h + p_d \ ,, \\
\ end {eqnarray} \]

где \ (h \) — электрическое усилие затвора.

Сначала мы рассмотрим переходный период роста производства. Выход
2-входной логический элемент И-НЕ переходит с 0 на 1, если изначально оба входа
\ (A \) и \ (B \) равны 1, и один из входов переключается с 1
в 0. Соответствующий pMOS-транзистор в подтягивающих сетевых дисках
выход.Какой из двух pMOS-транзисторов переключается не
в этом примере важно, потому что логический элемент И-НЕ симметричен. Поскольку
ширина pMOS-транзисторов HI-skew затвора равна ширине в
согласованный логический элемент И-НЕ, оба элемента производят одинаковый ток возбуждения.
Кроме того, поскольку согласованный вентиль NAND имеет тот же привод подтягивания
тока в качестве опорного инвертора, мы приходим к выводу, что HI-перекос затвора
имеет тот же пусковой ток, что и опорный инвертор. Сейчас же,
напомним наше определение логического усилия CMOS-затвора как
отношение его к входной емкости эталонного преобразователя,
предполагая, что размер затвора CMOS обеспечивает такой же ток привода
как эталонный инвертор.Поскольку токи возбуждения равны,
логическое усилие \ (g_u \) восходящего перехода HI-перекоса
затвор — это отношение входной емкости затвора HI-skew и
входная емкость эталонного преобразователя. В соответствии с
Рисунок 4.30 (b), каждый вход имеет входную емкость.
\ (C_ {in} (hi) = W_p + W_n = 3, \), потому что \ (W_p = 2 \) и
\ (W_n = 1, \), так что

\ [g_u = \ frac {C_ {in} (привет)} {C_ {in} (inv)} = \ frac {3} {3} = 1 \,. \]

Сжатие понижающих транзисторов затвора HI-skew сохраняет
пропускать ток через подтягивающую сеть, уменьшая при этом ввод
емкость.В результате логическое усилие \ (g_u = 1 \) меньше
чем логическое усилие согласованного гейта \ (g_ {nand2} = 4/3. \)
Точно так же паразитная задержка восходящего перехода HI-skew
ворота

\ [p_u = \ frac {C_ {out} (привет)} {C_ {out} (inv)} = \ frac {2 \ cdot 2 + 1} {3} = \ frac {5} {3} \ ,. \]

Мы находим, что паразитная задержка \ (p_u \) меньше, чем у
согласованные ворота \ (p_ {nand2} = 2. \)

Далее определяем \ (g_d \) и \ (p_d \) падающего
переход HI-косого затвора.Чтобы применить определение логического
усилия, мы построили уменьшенного логического элемента NAND, показанного на
Рисунок 4.30 (c). Уменьшенные ворота имеют
такая же ширина nMOS-транзистора, что и у затвора HI-skew, так что их привод
токи равны. Мы уменьшаем вдвое ширину подтягивающих транзисторов, поэтому
что уменьшенный вентиль является масштабированной версией согласованного логического элемента И-НЕ
с масштабным коэффициентом \ (\ gamma = 1/2. \) Теперь мы можем утверждать, что
Логический элемент HI-skew NAND имеет тот же управляющий ток понижающего напряжения, что и согласованный
Вентиль NAND, масштабируемый на \ (\ gamma = 1/2, \), который, в свою очередь, имеет то же
выпадающий ток возбуждения в качестве эталонного преобразователя масштабированного
\ (\ гамма = 1/2.\) Следовательно, логическое усилие падения
переход затвора HI-skew — это отношение входной емкости
затвора HI-skew и входной емкости масштабированного эталона
инвертор:

\ [g_d = \ frac {C_ {in} (привет)} {\ gamma C_ {in} (inv)} = \ frac {3} {\ frac {1} {2} \ cdot 3} = 2 \]

для каждого входа. Стоимость уменьшенного логического усилия \ (g_u =
1 \) восходящего перехода — это увеличенное логическое усилие \ (g_d
= 2 \) падающего перехода по сравнению с \ (g_ {nand2} = 4/3 \) из
нормально-косой вентиль.Аналогично паразитная задержка падения
переход HI-skew затвора

\ [p_d = \ frac {C_ {out} (привет)} {\ gamma C_ {out} (inv)} = \ frac {5} {\ frac {1} {2} \ cdot 3} = \ frac {10 } {3} \,. \]

Возрастающие и падающие логические усилия и паразитные задержки
связаны через коэффициент масштабирования \ (\ gamma \) уменьшенного согласованного
ворота: \ (g_u = \ gamma g_d \) и \ (p_u = \ gamma p_d. \) Уведомление
этот масштабный коэффициент \ (\ gamma = 2 \) также является масштабным коэффициентом, на который
мы сжали нисходящие nMOS-транзисторы затвора HI-skew, чтобы начать
с участием.Это наблюдение упрощает проектирование и анализ перекоса.
Ворота основаны на модели логического усилия. Ниже приведена процедура
спроектировать и проанализировать высокоскоростной затвор; процедура для
LO-skew gate можно рассматривать как сдвоенный:

  1. Выберите масштабный коэффициент \ (\ gamma \) для nMOS-транзисторов
    выпадающая сеть согласованных ворот.
  2. Логическое усилие \ (g_u \) восходящего перехода — это
    соотношение входной емкости затвора HI-skew и
    эталонный инвертор. Падающий переход имеет логическое усилие
    \ (g_d = g_u / \ gamma.\)
  3. Паразитная задержка \ (p_u \) восходящего перехода — это
    соотношение выходной емкости затвора HI-skew и
    эталонный инвертор. Падающий переход имеет паразитную задержку
    \ (p_d = p_u / \ gamma. \)

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

\ [g_ {hi} = \ frac {g_u + g_d} {2} \ ,, \ qquad p_ {hi} = \ frac {p_u + p_d} {2} \,. \]

Среднее значение обеспечивает точную меру задержки перехода
ворота со временем.Когда ворота эксплуатируются как часть большего
цепь, половина всех выходных переходов растут, а другая половина
падают переходы. Для логического элемента NAND HI-skew на рис. 4.30 среднее логическое усилие равно \ (g_ {hi} = 3/2 \), а
средняя паразитная задержка \ (p_ {hi} = 5/2. \) Таким образом, хотя наша
HI-skew NAND gate имеет более быстрый переход нарастания, чем нескошенный
ворот, как среднее логическое усилие, так и паразитная задержка больше, чем
\ (g_ {nand2} = 4/3 \) и \ (p_ {nand2} = 2 \) нескошенных
Ворота.

Быстрые косые ворота

Наше наблюдение, что вентиль HI-skew NAND имеет большую среднюю задержку
чем скошенный NAND поднимает вопрос, есть ли скошенный затвор
существует, что быстрее, чем его версия без перекоса. В этом случае
на самом деле. Логический элемент ИЛИ-НЕ с двумя входами, исключающий наклон, на рис. 4.31 (b)
имеет меньшее среднее логическое усилие и меньшее среднее
паразитная задержка, чем вентиль NOR с нормальным перекосом.

Рисунок 4.31: Искажение логического элемента ИЛИ-НЕ с двумя входами: (a) согласованный вентиль, (b) вентиль LO-скоса, (c) вентиль с увеличенным масштабом.

LO-skew NOR ускоряет падающий переход за счет сжатия
подтягивающие pMOS транзисторы. На рисунке 4.31 мы масштабируем pMOS
транзисторы согласованного затвора ИЛИ-НЕ с коэффициентом \ (\ gamma = 3/4 \)
для получения ширины транзистора \ (W_p = 3. \) Поскольку nMOS
транзисторы не изменились по сравнению с согласованным затвором ИЛИ-НЕ, привод
ток падающего перехода через выпадающую сеть
Затвор LO-перекоса такой же, как управляющий ток понижения согласованного
Вентиль ИЛИ и опорный инвертор.Следовательно, логическое усилие
падающий переход равен \ (g_d = C_ {in} (lo) / C_ {in} (inv) =
4/3. \) Тогда логическое усилие восходящего перехода равно \ (g_u
= g_d / \ gamma = 16/9. \) Обратите внимание, что \ (g_u \) — это отношение
входные емкости затвора LO-skew и \ (\ gamma \) — масштабированные
эталонный инвертор, а \ (\ gamma = 3/4 \) равен масштабному коэффициенту
увеличенный согласованный вентиль ИЛИ-НЕ на Рисунке 4.31 (c).
Среднее логическое усилие логического элемента ИЛИ-НЕ с перекосом LO равно \ (g_ {lo} =
14/9, \), что меньше логического усилия \ (g_ {nor2} = 5/3 \)
нормально-косой вентиль.Аналогично находим паразитные задержки
\ (p_d = 5/3 \) и \ (p_u = 20/9. \) Средняя паразитная задержка
из \ (p_ {lo} = 35/18 \) единиц меньше паразитной задержки
\ (p_ {nor2} = 2 \) нормально-косого логического элемента ИЛИ-НЕ.

Делаем вывод, что для всех электрических усилий \ (h, \) среднее
задержка логического элемента ИЛИ-НЕ с перекосом LO, \ (d_ {lo} (h) = (14/9) h + 35/18, \)
немного меньше, чем задержка строба NOR с нормальным наклоном
\ (d_ {nor2} (h) = (5/3) h + 2. \) Мы можем сформулировать минимизацию
проблема определения масштабного коэффициента \ (\ gamma \) для LO-перекоса NOR
гейт так, чтобы средняя задержка была минимальной.Используя исчисление,
мы находим, что коэффициент масштабирования

\ [\ gamma = \ frac {1} {2} \ sqrt {\ frac {h + 2} {h + 1}} \]

минимизирует среднюю задержку, если она выбрана как функция
электрическое усилие \ (h. \) Для \ (h \ ge 1, \) диапазон
\ (\ gamma \) очень маленький, \ (1/2 <\ gamma \ le \ sqrt {3/8}. \) Следовательно, выбор \ (\ gamma \ приблизительно 1/2 \) приблизит минимальная средняя задержка достаточно хорошо для всех \ (h. \) результирующий вентиль LO-skew NOR имеет ширину pMOS \ (W_p = \ gamma 4 = 2. \) Этот гейт немного быстрее, чем согласованный гейт NOR, потому что его среднее логическое усилие \ (g = 3/2 \) меньше \ (g_ {nor2} = 5/3 \) и средняя паразитная задержка \ (p = 2 \) такая же.Перед вы решаете использовать вентили LO-skew NOR в своих схемах, однако обратите внимание что выигрыш в скорости по сравнению с ИЛИ с нормальным перекосом относительно маленький. Кроме того, во многих схемах это не средняя задержка, а задержка наихудшего случая, ограничивающая общую производительность. В наихудшая задержка LO-skew NOR - это задержка некритического восходящий переход, который больше, чем задержка согласованного NOR Ворота.

Многоступенчатые тракты

Задержка пути \ (n \) — этапа с перекошенными воротами зависит от его
выходной переход.{th} \) гейта с последнего этапа, то задержки пути
возрастающий и падающий переходы вывода:

\ [\ begin {eqnarray *}
D_u & = & \ sum _ {\ text {even} \ k} (g_ {dk} h_k + p_ {dk}) + \ sum _ {\ text {odd} \ k} (g_ {uk} h + p_ {uk}) ) \ ,, \\
D_d & = & \ sum _ {\ text {even} \ k} (g_ {uk} h_k + p_ {uk}) + \ sum _ {\ text {odd} \ k} (g_ {dk} h + p_ {dk}) ) \ ,.
\ end {eqnarray *} \]

Поскольку вентили CMOS реализуют монотонно убывающие функции, каждый
второй этап пути переходит в одну сторону, а все остальные
этапы переходят в обратную сторону.Следовательно, если на выходе
ворот 1 на последнем этапе поднимается, выходы всех ворот с нечетными
индекс \ (k \) возрастает, а выходы ворот с четным \ (k \)
падать. Задержка пути \ (D_u \) — это сумма соответствующих перекосов
задержки выхода на посадку. Аналогично, если выход последнего затвора
путь падает, задержка пути равна \ (D_d. \) Средняя задержка пути равна
функция средних логических усилий и паразитных задержек:

\ [\ begin {eqnarray *}
D_ {avg} & = & \ frac {D_u + D_d} {2} \\
& = & \ sum_ {k = 1} ^ n \ Bigl (\ frac {g_ {uk} + g_ {dk}} {2} h_k + \ frac {p_ {uk} + p_ {dk}} {2} \ Бигр) \\
& = & \ sum_ {k = 1} ^ n (g_k h_k + p_k) \ ,.\ end {eqnarray *} \]

Если мы хотим минимизировать среднюю задержку пути, мы применяем метод
логическое усилие для многоступенчатых путей , как мы
это уже известно, за исключением того, что мы используем средние логические усилия и
паразитные задержки перекосных ворот для определения пути и размера ворот. В
Порядок проектирования такой же, как и для ворот без швабры. С косыми воротами
в нашем распоряжении есть дополнительная цель проектирования:
минимизировать задержку критического перехода.


Пример 4.1: Путь с перекосом ворот

Рассмотрим трехэтапный путь на рис. 4.32 с перекосом по высоте.
Вентиль И-НЕ на этапе 1, вентиль ИЛИ-НЕ с наклоном LO на этапе 2 и
инвертор с нормальным перекосом в ступени 3. Учитывая ширину транзистора в
Рисунок 4.32 и емкость нагрузки \ (C_L = 6, \)
определить задержку пути критического восходящего перехода,
задержка пути некритического спадающего перехода, а средняя
задержка пути.

Рисунок 4.32: Трехступенчатый путь с HI-skew NAND, LO-skew NOR и инвертором с нормальным скосом.

Анализ логических усилий ворот и паразитных задержек дает
табличные значения.

\ (г_у \) \ (г_д \) \ (g_ {avg} \) \ (п_у \) \ (п_д \) \ (p_ {avg} \)
HI-skew NAND 1 2 3/2 5/3 10/3 5/2
LO-перекос NOR 2 1 3/2 8/3 4/3 2
НЕ 1 1 1 1 1 1

Средняя задержка пути от входа \ (A \) или \ (B \) до выхода
\ (Y \) — сумма средних задержек ворот:

\ [D_ {avg} = d_ {avg, nand} + d_ {avg, nor} + d_ {avg, inv} = \ Bigl (\ frac {3} {2} \ cdot \ frac {3} {3} + \ frac {5} {2} \ Bigr) + \ Bigl (\ frac {3} {2} \ cdot \ frac {3} {3} + 2 \ Bigr) + \ Bigl (1 \ cdot \ frac {6} {3} + 1 \ Bigr) = 10.5 \,. \]

Минимальная задержка — это задержка критического перехода. В
критическим переходом пути является переход нарастающего выхода,
что путь ускоряется с помощью ворот HI-skew NAND, за которым следует
LO-перекос NOR ворота. Задержка нарастания —

.

\ [D_u = d_ {u, nand} + d_ {d, nor} + d_ {u, inv} = \ Bigl (1 \ cdot \ frac {3} {3} + \ frac {5} {3} \ Bigr ) + \ Bigl (1 \ cdot \ frac {3} {3} + \ frac {4} {3} \ Bigr) + \ Bigl (1 \ cdot \ frac {6} {3} + 1 \ Bigr) = 8 \,. \]

Максимальная задержка — это задержка перехода падающего выхода

\ [D_d = d_ {d, nand} + d_ {u, nor} + d_ {d, inv} = \ Bigl (2 \ cdot \ frac {3} {3} + \ frac {10} {3} \ Bigr ) + \ Bigl (2 \ cdot \ frac {3} {3} + \ frac {8} {3} \ Bigr) + \ Bigl (1 \ cdot \ frac {6} {3} + 1 \ Bigr) = 13 \ ,.\]

Получаем, что критический переход пути составляет 2,5 единицы задержки
быстрее, чем средняя задержка, за счет некритических
переход, который на 2,5 единицы задержки медленнее.


Закрываем этот раздел краткой заметкой о другом практически
соответствующее применение косых ворот, то есть конструкция ворот с
равные задержки нарастания и спада, если соотношение подвижностей носителей
процесса изготовления CMOS не \ (\ mu_n / \ mu_p = 2. \)
В тексте мы предполагаем, что коэффициент мобильности равен
\ (\ mu_n / \ mu_p = 2.\) Значение 2 удобно для
предварительные оценки, но это всего лишь приближение к
реальность, где типичные значения находятся в диапазоне \ (2 \ lesssim
\ mu_n / \ mu_p \ lesssim 3. \) В процессах CMOS, где \ (\ mu_n / \ mu_p
\ ne 2, \) мы можем наклонить ворота, чтобы уравнять время нарастания и спада.
Модель логического усилия позволяет определить
желаемую ширину транзистора см. в главе 7 в [SSH99].

Комбинационные логические схемы — вопросы и ответы по цифровой электронике

Почему в цифровой электронике используются комбинационные логические схемы?

В этом разделе вы можете выучить и попрактиковаться в вопросах по цифровой электронике, основанных на «Комбинационных логических схемах», и улучшить свои навыки, чтобы пройти собеседование, конкурсный экзамен и различные вступительные испытания (CAT, GATE, GRE, MAT, банковский экзамен, железнодорожный экзамен). и т.п.) с полной уверенностью.

Где я могу получить вопросы и ответы по комбинационным логическим схемам цифровой электроники с пояснениями?

IndiaBIX предоставляет вам множество полностью решенных вопросов и ответов по цифровой электронике (комбинационные логические схемы) с пояснениями. Решенные примеры с подробным описанием ответов, даны пояснения, которые легко понять. Все студенты и первокурсники могут загрузить вопросы викторины по комбинационным логическим схемам цифровой электроники с ответами в виде файлов PDF и электронных книг.

Где я могу получить вопросы и ответы на собеседование по комбинационным логическим схемам цифровой электроники (тип цели, множественный выбор)?

Здесь вы можете найти вопросы и ответы по вопросам и ответам на собеседование и вступительные экзамены по комбинированным логическим схемам цифровой электроники. Также предусмотрены вопросы с множественным выбором, а также вопросы истинного или ложного типа.

Как решить проблемы с комбинационными логическими схемами цифровой электроники?

Вы можете легко решить все виды вопросов цифровой электроники, основанные на комбинационных логических схемах, выполнив упражнения объективного типа, приведенные ниже, а также получите быстрые методы для решения задач комбинационных логических схем цифровой электроники.

Упражнение «Комбинационные логические схемы — общие вопросы»


2.

Какая из фигур, показанных ниже, представляет элемент исключающее ИЛИ-НЕ?

Цифровые счетчики

  • Изучив этот раздел, вы должны уметь:
  • Понимать работу схем цифрового счетчика и может:
  • Опишите действие асинхронных (пульсационных) счетчиков с помощью триггеров типа D.
  • • Вверх счетчики.
  • • Обратные стойки.
  • • Частотное деление.
  • Разберитесь в работе синхронных счетчиков.
  • Опишите общие функции управления, используемые в синхронных счетчиках.
  • • Счетчики BCD.
  • • Управление вверх / вниз.
  • • Включить / выключить.
  • • Предустановка и очистка.
  • Используйте программное обеспечение для моделирования работы счетчика.

Рис. 5.6.1 Четырехбитный асинхронный счетчик с повышением частоты

Рис. 5.6.2 Формы сигналов четырехбитного асинхронного повышающего счетчика

Асинхронные счетчики.

Счетчики, состоящие из нескольких триггеров, подсчитывают поток импульсов, подаваемых на вход CK счетчика. Выход представляет собой двоичное значение, значение которого равно количеству импульсов, полученных на входе CK.

Каждый выход представляет один бит выходного слова, которое в 74 серийных ИС счетчика обычно имеет длину 4 бита, а размер выходного слова зависит от количества триггеров, составляющих счетчик.Выходные строки 4-битного счетчика представляют значения 2 0 , 2 1 , 2 2 и 2 3 или 1,2,4 и 8 соответственно. Обычно они отображаются на схематических диаграммах в обратном порядке, с наименее значимым битом слева, это необходимо для того, чтобы схематическая диаграмма показывала схему в соответствии с соглашением о том, что сигналы проходят слева направо, поэтому в этом случае вход CK слева.

Четырехбитный асинхронный счетчик с повышением частоты

Рис.5.6.1 показан 4-битный асинхронный восходящий счетчик, построенный из четырех триггеров типа D, запускаемых положительным фронтом, подключенных в режиме переключения. Тактовые импульсы подаются на вход CK FF0, выход которого Q 0 обеспечивает выход 2 0 для FF1 после одного импульса CK.

Передний фронт выхода Q каждого триггера запускает вход CK следующего триггера на половине частоты импульсов CK, подаваемых на его вход.

Выходы Q затем представляют четырехбитный двоичный счет с Q 0 до Q 3 , представляющим от 2 0 (1) до 2 3 (8) соответственно.

Предполагая, что четыре выхода Q изначально имеют значение 0000, нарастающий фронт первого примененного импульса CK приведет к тому, что выход Q 0 перейдет в логическую 1, а следующий импульс CK вернет выход Q 0 в логическое состояние. 0, и при этом Q 0 перейдет с 0 на 1.

По мере того, как Q 0 (и вход CK FF1 становится высоким), теперь Q 1 становится высоким, что указывает на значение 2 1 (2 10 ) на выходах Q.

Следующий (третий) импульс CK заставит Q 0 снова перейти к логической 1, поэтому оба Q 0 и Q 1 теперь будут иметь высокий уровень, что делает 4-битный выход 1100 2 (3 10 с учетом того, что Q 0 является младшим значащим битом).

Четвертый импульс CK заставит Q 0 и Q 1 вернуться к 0, и поскольку Q 1 в это время перейдет в высокий уровень, это переключит FF2, сделав Q 2 высоким и обозначив 0010 2 (4 10 ) на выходах.

Таким образом, при чтении выходного слова справа налево выходы Q продолжают представлять двоичное число, равное количеству входных импульсов, полученных на входе CK FF0. Поскольку это четырехступенчатый счетчик, триггеры будут продолжать переключаться последовательно, и четыре выхода Q будут выводить последовательность двоичных значений от 0000 2 до 1111 2 (от 0 до 15 10 ) перед выход возвращается к 0000 2 и снова начинает отсчет, как показано формами сигнала на рис.6.2.

Рис. 5.6.3 Четырехбитный асинхронный счетчик с понижением частоты

Четырехбитный асинхронный счетчик с понижением частоты

Для преобразования счетчика вверх на рис. 5.6.1 в счет ВНИЗ достаточно просто изменить соединения между триггерами. Принимая обе выходные линии и импульс CK для следующего триггера в последовательности от выхода Q, как показано на рис. 5.6.3, счетчик, запускаемый положительным фронтом, будет отсчитывать в обратном порядке от 1111 2 до 0000 2 .

Хотя могут быть построены как повышающие, так и понижающие счетчики с использованием асинхронного метода распространения тактовых импульсов, они не широко используются в качестве счетчиков, поскольку становятся ненадежными при высоких тактовых частотах или когда большое количество триггеров соединено вместе, чтобы дать большие числа из-за эффекта пульсации часов.

Рис. 5.6.4 Детали временной диаграммы, показывающие пульсацию часов

Clock Ripple

Эффект пульсации часов в асинхронных счетчиках показан на рис. 5.6.4, который представляет собой увеличенную часть (импульс 8) на рис. 5.6.2.

На рис. 5.6.4 показано, как задержки распространения, создаваемые затворами в каждом триггере (обозначены синими вертикальными линиями), складываются по ряду триггеров, чтобы сформировать значительную задержку между временем, когда выходной сигнал изменяется в первом триггере (младший бит) и последнем триггере (самый старший бит).

Поскольку каждый из выходов Q 0 — Q 3 изменяется в разное время, возникает ряд различных состояний выхода, поскольку любой конкретный тактовый импульс вызывает появление нового значения на выходах.

Например, при импульсе 8 CK выходы Q 0 до Q 3 должны измениться с 1110 2 (7 10 ) на 0001 2 (8 10 ), однако, что происходит на самом деле (чтение вертикальные столбцы единиц и нулей на рис. 5.6.4) означает, что выходные значения изменяются в течение периода примерно от 400 до 700 нс в следующей последовательности:

  • 1110 2 = 7 10
  • 0110 2 = 6 10
  • 0010 2 = 4 10
  • 0000 2 = 0 10
  • 0001 2 = 8 10

При импульсах CK, отличных от импульса 8, конечно, будут возникать разные последовательности, поэтому будут периоды, так как изменение значения колеблется через цепочку триггеров, когда неожиданные значения появляются на выходах Q на очень короткое время .Однако это может вызвать проблемы, когда нужно выбрать конкретное двоичное значение, как в случае десятичного счетчика, который должен считать от 0000 2 до 1001 2 (9 10 ), а затем сбрасывать на 0000 2 по счету 1010 2 (10 10 ).

Эти кратковременные логические значения также вызовут серию очень коротких всплесков на выходах Q, поскольку задержка распространения одного триггера составляет всего около 100–150 нс. Эти всплески называются «кратковременными всплесками», и хотя не все они могут каждый раз достигать полного значения логической 1, а также могут вызывать ложное срабатывание счетчика, их также следует рассматривать как возможную причину помех другим частям схемы.

Хотя эта проблема не позволяет использовать схему в качестве надежного счетчика, она все же полезна как простой и эффективный делитель частоты, где высокочастотный генератор обеспечивает входной сигнал, а каждый триггер в цепи делит частоту на два.

Синхронные счетчики

Синхронный счетчик обеспечивает более надежную схему для целей подсчета и для высокоскоростной работы, поскольку тактовые импульсы в этой схеме подаются на каждый триггер в цепочке в одно и то же время.В синхронных счетчиках используются триггеры JK, поскольку программируемые входы J и K позволяют включать или отключать отдельные триггеры на различных этапах счета. Таким образом, синхронные счетчики устраняют проблему пульсаций часов, так как работа схемы синхронизируется с импульсами CK, а не с выходами триггеров.

Синхронный счетчик с повышением частоты

Рис. 5.6.5 Подключение синхронных часов

На рис. 5.6.5 показано, как тактовые импульсы применяются в синхронном счетчике.Обратите внимание, что вход CK применяется ко всем триггерам параллельно. Следовательно, поскольку все триггеры получают тактовый импульс в один и тот же момент, необходимо использовать какой-то метод, чтобы предотвратить одновременное изменение состояния всех триггеров. Это, конечно, приведет к тому, что выходы счетчика будут просто переключаться со всех единиц на все нули и обратно с каждым тактовым импульсом.

Однако с триггерами JK, когда оба входа J и K представляют собой логическую 1, выход переключается при каждом импульсе CK, но когда J и K оба равны логическому 0, никаких изменений не происходит.

Рис. 5.6.6 Первые две ступени синхронного счетчика

На рис. 5.6.6 показаны две ступени синхронного счетчика. Двоичный выход берется с Q выходов триггеров. Обратите внимание, что на FF0 входы J и K постоянно подключены к логической 1, поэтому Q 0 будет изменять состояние (переключаться) при каждом тактовом импульсе. Это обеспечивает счет «единиц» для младшего бита.

На FF1 входы J1 и K1 оба подключены к Q 0 , так что выход FF1 будет в режиме переключения только тогда, когда Q 0 также находится на логической 1.Поскольку это происходит только с чередующимися тактовыми импульсами, Q 1 будет переключать только четные тактовые импульсы, давая «двойки» на выходе Q 1 .

В таблице 5.6.1 показано это действие, из которого видно, что Q 1 переключает тактовый импульс только тогда, когда J1 и K1 имеют высокий уровень, давая двухбитный двоичный счет на выходах Q (где Q 0 — это младший бит).

Однако при добавлении третьего триггера к счетчику прямое подключение от J и K к предыдущему выходу Q 1 не даст правильного счета.Поскольку Q 1 имеет высокий уровень при счете 2 10 , это будет означать, что FF2 будет переключаться на третий тактовый импульс, поскольку J2 и K2 будут высокими. Следовательно, тактовый импульс 3 даст двоичное число 111 2 или 7 10 вместо 4 10 .

Рис. 5.6.7 Добавление третьей ступени

Чтобы предотвратить эту проблему, используется логический элемент И, как показано на рис. 5.6.7, чтобы гарантировать, что J2 и K2 имеют высокий уровень только тогда, когда оба Q 0 и Q 1 находятся на логической 1 (т.е.е. при счете три). Только когда выходы находятся в этом состоянии, следующий тактовый импульс переключит Q 2 на логическую 1. Выходы Q 0 и Q 1 , конечно, вернутся к логическому 0 для этого импульса, таким образом, будет получен счет 001. 2 или 4 10 (где Q 0 является младшим значащим битом).

Рис. 5.6.8 Четырехбитный синхронный счетчик с повышением частоты

На рис. 5.6.8 показан дополнительный стробирующий сигнал для четырехступенчатого синхронного счетчика. Здесь FF3 переводится в режим переключения, делая J3 и K3 логической 1, только когда Q 0 Q 1 и Q 2 все находятся на логической 1.

Q 3 , следовательно, не переключится в свое высокое состояние до восьмого тактового импульса и будет оставаться на высоком уровне до шестнадцатого тактового импульса. После этого импульса все выходы Q вернутся к нулю.

Обратите внимание, что для работы этой базовой формы синхронного счетчика все входы PR и CLR также должны быть на логической 1 (их неактивное состояние), как показано на рис. 5.6.8.

Синхронный счетчик вниз

Преобразование синхронного восходящего счетчика в обратный — это просто вопрос обратного отсчета.Если все единицы и нули в последовательности от 0 до 15 10 , показанной в таблице 5.6.2, дополнены (показано розовым фоном), последовательность станет от 15 10 до 0.

Рис. 5.6.9 Четырехбитный синхронный счетчик с понижением частоты

Цепь обратного счетчика

Поскольку каждый выход Q на триггерах JK имеет дополнение на Q, все, что нужно для преобразования повышающего счетчика на рис. 5.6.8 в понижающий счетчик, показанного на рис. 5.6.9, — это использовать входы JK для FF1. с выхода Q FF0 вместо выхода Q.Строб TC2 теперь принимает входные данные от выходов Q FF0 и FF1, а TC3 также принимает входные данные с выхода Q FF2.

Рис. 5.6.10 Четырехбитный синхронный счетчик вверх / вниз

Счетчик вверх / вниз

На рис. 5.6.10 показано, как один вход, называемый (ВВЕРХ / ВНИЗ), может использоваться для увеличения или уменьшения одного счета счетчика, в зависимости от логического состояния входа ВВЕРХ / ВНИЗ.

Каждая группа вентилей между последовательными триггерами на самом деле является модифицированной схемой выбора данных, описанной в Комбинационном логическом модуле 4.2, но в этой версии используется комбинация И / ИЛИ, а не схема логического элемента И-НЕ, эквивалентная ДеМоргану. Это необходимо для обеспечения правильного логического состояния для следующего селектора данных.

Выходы Q и Q триггеров FF0, FF1 и FF2 подключены к тому, что, по сути, является входами данных A и B селекторов данных. Если управляющий вход находится на логической 1, то импульс CK на следующий триггер подается с выхода Q, что делает счетчик UP-счетчиком, но если управляющий вход равен 0, то импульсы CK подаются с Q и счетчик ВНИЗ счетчик.

Рис. 5.6.11 Четырехбитный счетчик вверх BCD

Синхронный счетчик вверх BCD

Типичное использование входов CLR проиллюстрировано счетчиком BCD на рис. 5.6.11. Выходы счетчика Q 1 и Q 3 подключены к входам логического элемента И-НЕ, выход которого поступает на входы CLR всех четырех триггеров. Когда Q 1 и Q 3 оба находятся на уровне логической 1, выходная клемма логического элемента И-НЕ обнаружения предела (LD1) станет логическим 0 и сбросит все выходы триггеров на логический 0.

Поскольку в первый раз Q 1 и Q 3 оба находятся на уровне логической 1 во время от 0 до 15 10 счетчик имеет счет десять (1010 2 ), это приведет к тому, что счетчик будет отсчитывать от 0 на 9 10 , а затем сбросить на 0, пропуская 10 10 до 15 10 .

Таким образом, схема представляет собой счетчик BCD 8421 , чрезвычайно полезное устройство для управления числовыми дисплеями через декодер BCD на 7 сегментов и т. Д. Однако путем перепроектирования системы стробирования для создания логического 0 на входах CLR для другого максимума значение может быть достигнуто любое количество, кроме 0 до 15.

Если на вашем компьютере уже установлен симулятор, такой как Logisim, почему бы не попробовать, например, создать восьмеричный счетчик вверх.

Рис. 5.6.12 Входы и выходы ИС счетчика

Входы и выходы ИС счетчика

Хотя синхронные счетчики могут быть построены из отдельных триггеров JK, во многих схемах они будут встроены в специализированные микросхемы счетчиков или в другие крупномасштабные интегральные схемы (LSIC).

Для многих приложений счетчики, содержащиеся в ИС, имеют дополнительные входы и выходы, добавленные для повышения универсальности счетчиков.Различия между многими коммерческими ИС счетчиков в основном заключаются в различных предлагаемых возможностях ввода и вывода. Некоторые из них описаны ниже. Обратите внимание, что многие из этих входов имеют активный низкий уровень; это происходит из того факта, что в более ранних устройствах TTL любой неподключенный вход будет плавать до логической 1 и, следовательно, станет неактивным. Однако оставлять входы неподключенными не является хорошей практикой, особенно входы CMOS, которые плавают между логическими состояниями и могут быть легко активированы в любое допустимое логическое состояние из-за случайного шума в цепи, поэтому ЛЮБОЙ неиспользуемый вход должен быть постоянно подключен к его неактивной логике. штат.

Разрешение входов

Рис. 5.6.13 Синхронный счетчик с повышением частоты с входами разрешения и очистки счета

Входы

ENABLE (EN) на микросхемах счетчиков могут иметь несколько разных имен, например Chip Enable (CE), Count Enable (CTEN), Output Enable (ON) и т.д., каждая из которых обозначает одинаковые или похожие функции.

Например,

Разрешение счета (CTEN) — это функция на интегральных схемах счетчика, а в синхронном счетчике, показанном на рис. 5.6.13, это активный низкий вход. Когда он установлен на логическую 1, это предотвратит прогресс счета даже при наличии тактовых импульсов, но счет будет продолжаться нормально, когда CTEN будет на логическом 0.

Обычный способ отключения счетчика при сохранении любых текущих данных на выходах Q — это запретить переключение триггеров JK, пока CTEN неактивен (логическая 1), путем включения входов JK всех триггеров JK. логика flops 0. Однако, поскольку логические состояния входов JK FF1, FF2 и FF3 зависят от состояния предыдущего выхода Q либо напрямую, либо через вентили T2 и T3, чтобы сохранить выходные данные, выходы Q должны быть изолированы от входов JK, когда CTEN равен 1, но выходы Q должны подключаться к входам JK, когда CTEN находится на логическом 0 (состояние включения счета).

Это достигается за счет использования дополнительных разрешающих вентилей (И), E1, E2 и E3, каждый из которых имеет один из своих входов, подключенных к CTEN (инверсию CTEN). Когда счет отключен, CTEN и, следовательно, один из входов на каждом из E1, E2 и E3 будет иметь логический 0, что приведет к тому, что эти разрешающие выходы вентилей и входы триггера JK также будут иметь логический 0, какие бы логические состояния ни присутствовали на выходах Q, а также на других входах разрешающих вентилей. Поэтому всякий раз, когда CTEN находится на логической 1, счет отключается.

Однако, когда CTEN находится на логическом 0, CTEN будет логической 1, и будут включены E1, E2 и E3, в результате чего любое логическое состояние, присутствующее на выходах Q, будет передано на входы JK. В этом состоянии, когда на входе CK будет получен следующий тактовый импульс, триггеры будут переключаться в соответствии с их нормальной последовательностью.

Рис. 5.6.14 Асинхронная параллельная нагрузка

Асинхронная параллельная нагрузка

В то время как общие входы PR и CLR могут выдавать выходные значения 0000 или 1111, вход ПАРАЛЛЕЛЬНОЙ НАГРУЗКИ (PL) позволяет загружать любое значение в счетчик.Используя отдельный вход DATA для каждого триггера и небольшое количество дополнительной логики, логический 0 на PL загружает счетчик любым заранее определенным двоичным значением перед началом или во время счета. Метод достижения асинхронной параллельной загрузки на синхронном счетчике показан на рис. 5.6.14.

Операция нагрузки

Двоичное значение, загружаемое в счетчик, подается на входы D 0 — D 3 , а импульс логического 0 подается на вход PL.Этот логический 0 инвертируется и применяется к одному входу каждого из восьми вентилей И-НЕ для их включения. Если значение, которое должно быть загружено в конкретный триггер, равно логической 1, это делает входы правого логического элемента И-НЕ 1,1, а из-за инвертора между парой вентилей И-НЕ для этого конкретного входа левый вентиль И-НЕ входы будут 1,0.

В результате на вход PR триггера подается логический 0, а на вход CLR — логическая 1. Эта комбинация устанавливает выход Q на логическую 1, то же самое значение, которое было применено к входу D.Точно так же, если вход D имеет логический 0, выход левого логического элемента И-НЕ пары будет логическим 0, а выход правого вентиля будет логическим 1, что очистит выход Q триггера. Поскольку вход PL является общим для каждой пары логических элементов нагрузки И-НЕ, все четыре триггера загружаются одновременно со значением 1 или 0, присутствующим на его конкретном входе D.

Рис. 5.6.15 Синхронный счетчик вверх / вниз с несколькими входами и выходами

Несколько входов и выходов

Модификации, подобные описанным в этом модуле, делают базовый синхронный счетчик гораздо более универсальным.Синхронные счетчики TTL и CMOS доступны в серии 74 ИС, содержащих обычно 4-битные счетчики с этими и другими модификациями для широкого спектра приложений. На рис. 5.6.15 показано, как все входные функции, описанные выше, плюс некоторые важные выходы, такие как перенос пульсаций (RC) и счетчик клемм (TC), могут быть объединены в единую синхронную ИС счетчика.

Типичная одиночная синхронная ИС, такая как четырехразрядный двоичный счетчик вверх / вниз 74HC191, также использует эти функции ввода и вывода, которые обозначены в версиях NXP (рис.5.6.16) следующим образом:

Входы

• D 0 , D 1 , D 2 и D 3 (загрузка входов) — 4-битное двоичное число может быть загружено в счетчик через эти входы, когда вход PL параллельной нагрузки находится на логическом 0

• CE (включение счетчика) — позволяет продолжать счет при нулевом значении. Останавливает счет без сброса при достижении логической 1.

• U / D (вверх / вниз) — считает в возрастающем режиме при 0, в меньшем — при логической 1.

• CP — Вход тактового импульса.

Рис.5.6.16 74HC191 Распиновка

Выходы

• Q 0 , Q 1 , Q 2 и Q 3 — четырехбитный двоичный выход.

• TC (Terminal Count) — в некоторых версиях также называется MAX / MIN, выдает импульс логической 1, равный по ширине одному полному тактовому циклу, при каждом изменении самого старшего бита (что означает, что счетчик вышел за пределы конец счета вверх или вниз). TC может использоваться для определения конца возрастающего или обратного отсчета, а также будучи доступным в качестве выхода, TC используется внутри для генерации выхода Ripple Carry.

• RC (Ripple Carry) — выдает импульс логического 0, равный по ширине нижней части тактового цикла в конце счета, и при подключении к тактовому входу другой 74HC191 IC он действует как «перенос» к следующему счетчику.

Каскадные синхронные счетчики

Рис. 5.6.17 Подключение 74HC191 в Cascade

Подключение синхронных счетчиков в каскаде для получения более широких диапазонов счета упрощается в ИС, таких как 74HC191, за счет использования выхода пульсации переноса (RC) ИС, подсчитывающего 4 младших бита, для управления тактовым входом следующего по величине значительный IC, как показано красным на рис.5.6.17.

Хотя может показаться, что либо выходы TC, либо выходы RC могут управлять следующим тактовым входом, выход TC не предназначен для этой цели, поскольку могут возникнуть проблемы с синхронизацией.

Синхронные и асинхронные счетчики

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

При использовании на высоких скоростях только первый триггер в цепочке счетчика пульсаций работает с тактовой частотой.Каждый последующий триггер работает на половине частоты предыдущего. В синхронных счетчиках, где каждый каскад работает на очень высоких тактовых частотах, более вероятно возникновение паразитной емкостной связи между счетчиком и другими компонентами, а также внутри самого счетчика, так что в синхронных счетчиках помехи могут передаваться между различными каскадами счетчика, вызывая нарушение подсчет, если не предусмотрена адекватная развязка. Эта проблема уменьшена в счетчиках пульсаций из-за более низких частот на большинстве ступеней.

Кроме того, поскольку тактовые импульсы, подаваемые на синхронные счетчики, должны заряжать и разряжать входную емкость каждого триггера одновременно; синхронные счетчики, имеющие много триггеров, будут вызывать большие импульсы тока заряда и разряда в схемах драйвера часов каждый раз, когда часы меняют логическое состояние. Это также может вызвать нежелательные всплески на линиях питания, которые могут вызвать проблемы в других частях цифровой схемы. Это меньшая проблема с асинхронными счетчиками, поскольку часы управляют только первым триггером в цепочке счетчиков.

Асинхронные счетчики в основном используются для приложений с частотным разделением и для генерации временных задержек. В любом из этих приложений синхронизация отдельных выходов вряд ли вызовет проблемы с внешней схемой, а тот факт, что большинство каскадов счетчика работают на гораздо более низких частотах, чем входная синхронизация, значительно снижает любую проблему высокочастотного шума. вмешательство в окружающие компоненты.

ИС счетчика

синхронных (пульсация) Счетчики:

Синхронные счетчики:

Логические и цифровые схемы

Современные цифровые компьютеры построены из цифровых логических схем, основными строительными блоками которых являются логические вентили, каждый из которых предназначен для реализации определенной логической функции.Информация хранится в «словах» данных, представляющих данные или инструкции, составленные из строк отдельных «битов» с двоичными значениями 1 или 0. Эти значения аналогичны предложениям булевой логики и утверждениям или выводам на их основе, которые были определены как «истина» или «ложь». Булева алгебра — это инструмент, используемый для разработки комбинаций вентилей для реализации более сложных функций, таких как математические операции, функции управления и хранение данных.

Булева алгебра

Булева алгебра основана на двузначной или двоичной схеме.Эти два значения могут быть выражены разными способами, например, истина или ложь, 1 или 0, а также «включено» или «выключено». Именно это свойство, которое было признано и разработано Клодом Шенноном в 1937 году, делает его настолько полезным для реализации логических функций с помощью электронных схем. Например, логическая 1 и логический 0 могут быть реализованы как два разных уровня напряжения в цепи, или по состоянию переключателя, или по наличию или отсутствию тока в цепи.

Обозначение

Инженерное приложение логики Буля использует упрощенную версию исходной записи, как показано ниже,

  • Логическое ИЛИ эквивалентно логическому сложению и представлено знаком плюс + , как в случае A + B ≡A OR B .
  • Может представлять параллельных переключающих контакта .

  • Логическое И эквивалентно логическому умножению, которое представлено точкой . знак как в A.B ≡ A AND B .
  • Может представлять переключающие контакты серии .

    Обратите внимание, что точка стала обычным явлением. Знак (символ И), так что A.B записывается как AB .

  • Логическое НЕ эквивалентно логическому дополнению или отрицанию и представлено чертой сверху ‾‾ над соответствующей переменной, как в ≡ НЕ A.
  • Может представлять нормально замкнутых переключающих контактов.

  • Логический XOR Exclusive OR или не был исходным логическим оператором и имеет свой собственный специальный символ, как в B + A , который истинен, если A или B истинно, но НЕ и то и другое.

Логические законы

Двойственность

Обратите внимание, что каждый закон имеет два выражения, (a) и (b), которые являются двойными друг другу. Двойственность означает

  • Замена каждой операции ИЛИ (+) выражения на И (.) и каждой операции И (. ) на ИЛИ (+).
  • Замена всех элементов 0 на 1 и наоборот.

Коммутативный закон

(а) A + B = B + A
(б) A B = B A

Ассоциированное право

(а) (A + B) + C = A + (B + C)
(б) (A B) C = A (B C)

Распределительное право

(а) A (B + C) = A B + A C
(б) A + (B C) = (A + B) (A + C)

Законы о личности

(а) А + А = А
(б) A A = A

(а) AB + A = A
(б) (А + В) (А +) = А

Законы о резервировании

(а) A + A B = A
(б) А (А + В) = А

(а) 0 + A = A
(б) 0 А = 0

(а) 1 + A = 1
(б) 1 А = А

(а) A + = 1
(б) A = 0

(а) A + B = A + B
(б) A (+ B) = AB

Закон об инволюции

(а) = А

Теорема Де Моргана

(a) = (Разрыв верхней черты меняет OR на AND)
(b) = + (Разрыв верхней черты меняет И на ИЛИ)

Примечание: не то же самое, что

В дополнение к вышеупомянутой булевой алгебре были разработаны цифровые логические вентили для представления выражений исключающее ИЛИ и исключающее ИЛИ, расширяющих исходный диапазон логических законов.См. Выражения исключающее ИЛИ ниже.

Логические ворота

Логические элементы могут иметь два или более входа и, за исключением некоторых особых случаев, один выход. Состояние входных и выходных клемм может быть только в одном из двух двоичных состояний, низком (0) или высоком (1), представленном двумя разными уровнями напряжения, обычно 0 вольт для логического 0 и от 3 до 5 вольт. для логической 1, в зависимости от используемой полупроводниковой технологии.Логические ворота также требуют источника питания.

Транзистор как переключатель

Электронные затворы, как правило, состоят из транзисторных схем, работа которых зависит от использования транзистора в качестве переключателя, а не усилителя, для которого он был первоначально изобретен. При отсутствии напряжения на базе нет тока через транзистор, который, таким образом, отключается, и выходное (коллекторное) напряжение будет высоким.Когда на базу подается «высокое» напряжение, транзистор включается и выходное (коллекторное) напряжение будет «низким». Подробнее читайте на странице о полупроводниках.

Ранней версией бистабильной схемы переключения был триггер Eccles and Jordan 1919 года, основанный на клапанах (вакуумных лампах). Более поздняя версия транзистора была одной из первых электронных схем, реализованных Робертом Нойсом в качестве интегральной схемы в 1959 году.

Триггеры основаны на концепции обратной связи, в которой выходной сигнал схемы возвращается на вход, так что, когда вход высокий, выход низкий, и наоборот.

См. Ниже пример транзисторных ключей, используемых в электронной схеме, используемой для реализации трехвходового логического элемента ИЛИ-НЕ

Логические ворота и таблицы истинности

Таблицы истинности логической схемы показывают состояние выходной клеммы или клемм логических вентилей и логических схем для всех возможных комбинаций входов . Входные состояния ворот или схемы показаны в левых столбцах таблицы, а соответствующие выходные состояния показаны в правых столбцах.

Таблицы напротив показывают диапазон общих логических вентилей с соответствующими им таблицами истинности.

Логические ворота

Таблицы истинности

И Гейтс

А

Б

А.В

0

0

0

1

0

1

0

1

1

0

0

1

1

1

1

0

ИЛИ Ворота

А

Б

А + В

0

0

0

1

0

1

1

0

1

0

1

0

1

1

1

0

Эксклюзивное ИЛИ Ворота

А

Б

0

0

0

1

0

1

1

0

1

0

1

0

1

1

0

1

А

0

1

1

0

Шлюз XOR и XNOR

Элемент Exclusive OR (XOR) со входами A, и B реализует логическое выражение = B + A

  • Когда оба входа различны, выход становится высоким или логической 1.
  • Когда оба входа одинаковы, выход становится низким или логическим 0.

Элемент Exclusive NOR (XNOR) со входами A, и B реализует логическое выражение = = AB +

  • Когда оба входа одинаковы, выход становится высоким или логической 1.
  • Когда оба входа различны, выход становится низким или логическим 0.

Элементы «Исключающее ИЛИ» обычно используются для сравнений и проверок на четность.

Шифр ​​Вернама

Шифр ​​Вернама — это специальное приложение логики XOR. Также называется Modulo 2 Addition, он похож на цифровой сумматор, за исключением того, что цифры переноса игнорируются.

Важный инструмент криптографии, его особое свойство состоит в том, что строку сообщения с открытым текстом можно зашифровать с помощью операции XOR со случайной строкой скремблера символов или ключом той же длины для создания действительно неразрывного зашифрованного текста.Однако зашифрованный текст можно расшифровать напрямую, выполняя XOR с исходным ключом скремблера.

Вернам использовал пятибитный код Бодо для представления каждого символа с исходной нотацией + и для представления логических состояний, а не с более привычными 1 и 0 , используемыми сегодня. В примере напротив:

  • Открытая буква А зашифровывается путем добавления случайной буквы скремблера, например буквы В.Это генерирует код Бодо для зашифрованного текста G.
  • Путем добавления той же буквы скремблера B к зашифрованному тексту G восстанавливается исходная буква открытого текста.

Таблица истинности

Входы

Выход /

Ввод

Выход

Обычный текст

Скремблер

Шифрованный текст

Обычный текст

А

B

= G

= А

+

+

+

+

+

+

+

+

+ +

Три входа NOR Gate

Схема напротив представляет собой пример логического элемента ИЛИ-НЕ с тремя входами, показывающий электронную схему, из которой построен вентиль, вместе с символом схемы для вентиля и таблицей истинности, связанной с вентилем.

Применение логической 1 к любой из входных клемм A, B или C вызывает прохождение тока через нагрузочный резистор R4, который, в свою очередь, вызывает падение напряжения на выходной клемме Z до логического уровня 0.

Только когда все входные клеммы установлены на логический 0, ток через нагрузочный резистор будет отключен, а напряжение на выходной клемме повысится до логического уровня 1.

Таким образом, выход с логической 1 может быть только в том случае, если ни A, ни B, ни C не установлены на логическую 1.

Z =

Таблица истинности

А

В

С

0

0

0

1

0

1

0

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

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

Логическая логика используется для разработки сложных цифровых схем, выполняющих широкий спектр логических функций.Однако часто существует более одного способа реализовать логическую схему с использованием альтернативных типов вентилей. Ниже приведены некоторые примеры.

Триггеры и защелки для сброса настроек

Триггер Set-Reset, состоящий из двух перекрестно соединенных, двух входов, вентилей ИЛИ-НЕ, является одной из основных схем цифровой логики. Это бистабильная схема, которая может хранить один бит данных в виде двоичного нуля или двоичного разряда и используется в качестве запоминающего устройства или защелки.

Применение логической 1 к клемме установки S сохраняет 1 и устанавливает выходной контакт Q на логическую 1.

Применение логической 1 к клемме сброса R очищает память, сохраняя вместо этого 0 и устанавливает Q в логический 0.

является обратным или дополнительным к Q

Триггеры или защелки также могут быть сконструированы из логических элементов NAND с аналогичными перекрестными соединениями.

Триггер Set-Reset с воротами NOR

Таблица истинности

Установка / сброс

Выход

S

R

Q

Результат

0

0

Без изменений

0

1

0

1

Сброс защелки

1

0

1

0

Набор защелок

1

1

Не допускается

Регистры — это обычные запоминающие устройства, обеспечивающие временное хранение многобитовых слов данных, таких как 4, 8 или 16-битные слова.Они состоят из групп триггеров, каждая из которых хранит один бит информации, так что n триггеров используются для хранения n битного слова.

Сумматоры

Схема напротив представляет собой однобитовый полусумматор, состоящий из пяти вентилей И-НЕ.

Полусумматоры имеют только два входа для двух добавляемых битов и не могут принимать бит переноса из предыдущего каскада.Однако у них есть два выхода: один для суммы, а другой для вывода переноса из двухбитового сложения.

Таблица истинности

А

Б

Сумма

Перенести

0

0

0

0

1

0

1

0

0

1

1

0

1

1

0

1

Противоположный полусумматор — еще один пример того, как логические функции могут быть реализованы разными способами.В этом случае схему сумматора можно упростить, используя только два логических элемента, логический элемент И и логический элемент исключающее ИЛИ для выполнения той же функции полусумматора, что и в схеме выше.

Полные сумматоры предназначены для приема бита переноса из предыдущего каскада и, следовательно, имеют три входа. Схема ниже представляет собой пример однобитового полного сумматора, полностью состоящего из двух входных вентилей ИЛИ-НЕ. В этом случае, по существу, это два полусумматора с двумя входами, соединенные последовательно, причем входной бит переноса проходит в обход первого сумматора и добавляется к сумме двух входных битов из первого сумматора во втором сумматоре.

Обратите внимание, что требуется 12 таких вентилей, просто чтобы добавить два отдельных бита плюс любой входной бит переноса из предыдущего этапа сложения и предоставить два выходных бита, представляющих сумму битов и любой связанный бит переноса. Логическая схема, предназначенная для сложения двух восьмибитных слов, потребует в восемь раз больше вентилей.

Таблица истинности

Входы

Выходы

А

B

C дюйм

Сумма

C выход

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

Может показаться странным использование такого количества вентилей, когда схема может быть легко реализована с меньшим количеством более сложных вентилей, но схемы, подобные приведенному выше сумматору, использовались в управляющем компьютере Apollo , который доставил американских астронавтов на Луну. в 1969 г.Все его цифровые схемы были построены из трех входных вентилей ИЛИ-НЕ. Это было связано с тем, что им нужны были высоконадежные полупроводниковые компоненты, и в то время (1966 г.), когда компьютерный дизайн был заморожен, технология интегральных схем все еще находилась в зачаточном состоянии, и НАСА хотело ограничить количество различных компонентов, используемых для тех, которые имеют проверенный послужной список . Вентили NOR были выбраны потому, что они были одним из очень немногих вариантов, которые отвечали этому требованию, и потому, что ворота NOR были простыми и более универсальными, чем другие доступные ворота для создания более сложных функций.

Двоичная арифметика

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

  • Дополнение числа до единицы такое же, как и число, при этом все его единицы заменены на 0, а все его 0 заменены на единицы.Этот ход позволяет сумматору иметь дело с отрицательными числами и вычитанием.
  • Дополнение до 2 совпадает с дополнением до единицы с добавлением дополнительной единицы к младшему биту.
  • Знак положительного или отрицательного двоичного числа изменяется путем взятия его дополнения до 2.
  • Сдвиг влево всех битов двоичного числа на 1 позицию аналогичен умножению числа на 2 (двоичное 10).
  • Сдвиг вправо всех битов на 1 позицию аналогичен делению числа на 2 (двоичная 10).
  • Число может быть увеличено до n -й степени двойки, добавив n нулей в конец числа.
  • Умножение многобитового числа на 1 дает такое же число. Умножение его на 0 дает 0 и может быть проигнорировано. Это делает умножение очень простым.
  • При делении многобитового числа 1 возвращается то же самое число.
  • Деление любого числа 0 не допускается.
  • Умножение двух многобитовых чисел включает в себя повторение операций «сдвига и умножения влево» n раз в цикле, где n — количество битов в умножителе.
  • Разделение двух многобитовых чисел включает в себя повторение операций «сдвига вправо и деления» mn раз в цикле, где m — количество бит в делимом (делимое число), а n — это число количество бит в делителе.
  • Подпрограммы выполняют серию инструкций для выполнения арифметических операций.

Ниже приведены три наиболее распространенных примера.

  • Вычитание
  • Для вычитания двоичного числа B (вычитаемое) из двоичного числа A (уменьшаемое).

    • Добавить двоичное дополнение B к A
    • Если есть окончательный бит переноса, отбросьте его, и результат будет положительным.
    • Если B больше, чем A, не будет бита переноса, и результатом будет два отрицательных дополнения суммы.
    • (Есть несколько другой способ сделать вычитание с дополнением до 1 для B вместо дополнения до 2.)
  • Умножение
  • Это включает n шагов, где n — количество бит в умножителе.

    Шаг первый

    • Начать с младшего значащего бита (LSB) умножителя.
    • Если этот бит умножителя равен 1, прибавьте множимое (умножаемое число) к произведению (результату умножения). (Начальная стоимость товара будет нулевая)
    • Если этот бит умножителя равен 0, игнорируйте и переходите к следующему шагу.

    В каждом последующем шаге:

    • Множаемое сдвинуто на одну позицию влево.
    • Проверяется следующий бит умножителя.
    • Если этот бит равен 1, смещенное множимое добавляется к текущему значению произведения.
    • Если этот бит равен 0, игнорируйте и переходите к следующему шагу.
    • Повторить шаг n раз в цикле (пока множимое не будет умножено на каждый бит умножителя).

  • Подразделение
  • Эта операция включает m n шагов, где m — количество бит в делимом (число, которое делится), а n — количество битов в делителе.

    Примечание. Необходимо включить проверки и настроить операцию, чтобы избежать потенциальной проблемы деления на 0.

    • Начните с выравнивания самого старшего бита (MSB) делителя непосредственно под MSB делимого.
    • Сравните n бит делителя с соответствующими n битами делимого непосредственно выше.
    • Если делитель больше делимого, установите 0 в качестве первого бита частного (результат деления).
    • Если делитель меньше делимого, вычтите делитель из дивиденда, чтобы получить новый дивиденд / остаток, и установите первый бит частного в 1.
    • Перейти к следующему шагу

    В каждом последующем шаге:

    • Сдвиньте делитель на одну позицию вправо и сравните его со следующими n бит делимого
    • Если делитель больше, чем соответствующие n бит делимого, установите следующий бит частного на 0
    • Если делитель меньше делимого, вычтите делитель из дивиденда, чтобы получить новый дивиденд / остаток, и установите следующий бит частного в 1.
    • Повторите шаг m-n раз в цикле (пока младшие биты делителя и делимого не выровняются вверх)
    • Результатом вычитания на последнем шаге является повторное деление.

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

Подпрограммы, аналогичные приведенным выше, в комбинации логических схем, используются для расширения возможностей арифметико-логического устройства (ALU) компьютера, чтобы он мог выполнять многие более сложные функции.

Подробнее о компьютерной архитектуре

Арифметика с плавающей запятой

Вычислительный блок компьютера имеет в сумке всего два аппаратных средства: « сдвиг, » и «, прибавьте », чтобы выполнять все свои математические операции.Все основные арифметические операции с четырьмя функциями, описанные в предыдущем разделе, были выполнены с помощью этих двух инструментов и всех соответствующих операций с целыми числами. Однако в практических приложениях даже самые простые математические вычисления включают работу с десятичными числами.

Помимо этого, от компьютера также может потребоваться обработка трансцендентных функций, таких как логарифмы, экспоненциальные и тригонометрические функции, которые не могут быть представлены простыми алгебраическими выражениями и, следовательно, не могут быть обработаны с помощью простого сдвига компьютера и добавить возможность .Однако трансцендентные функции могут быть расширены и выражены как бесконечный ряд более простых алгебраических выражений, каждое из которых может быть обработано базовыми операциями машины, но суммирование бесконечного ряда нецелесообразно. Требуется некоторая форма математического приближения. К счастью, начальные алгебраические члены ряда обычно, но не всегда, быстро сходятся к очень малым значениям, так что последующие члены можно безопасно игнорировать, не влияя серьезно на точность результата.Таким образом, трансцендентную функцию можно рассматривать как полином, состоящий только из нескольких первых значимых членов ряда. См. Примеры (ниже)

Помимо точности, существует проблема масштаба. Трудно управлять как очень большими, так и очень маленькими числами в компьютерных регистрах данных и коммуникационных шинах практического размера. Некоторые примеры:

  • Масса электрона около 0,000000000000000000000000000000

    836 кг.В научных обозначениях это пишется 9,10

    x 10 -31 кг.

  • Масса Земли около 5972400000000000000000000 кг. В экспоненциальном представлении это написано 5,9724 x 10 24 кг.
  • Скорость света около 300000000 м / с (3,0 x 10 8 м / с)
  • Гравитационная постоянная

  • Ньютона составляет около 0,0000000000667 Нм 2 кг -2 (6.67 X 10 -11 Нм 2 кг -2 )

Эти последние два числа могут даже присутствовать в одном уравнении.

Проблема размера становится еще более сложной, когда числа представлены в их гораздо более длинной двоичной форме.

Использование традиционных научных обозначений частично решает эту проблему, но вводит необходимость манипулировать положением десятичной точки.

Эти проблемы точности, точности и масштаба решаются за счет использования арифметики с плавающей запятой, которая использует более удобную научную нотацию, но методы расчета по-прежнему ограничиваются базовыми возможностями компьютера shift и add .Однако эти базовые операции могут быть дополнены программными подпрограммами и дополнительной логикой и регистрами для хранения временных или промежуточных значений. Ниже приведены некоторые примеры вычислений с плавающей запятой:

Сначала некоторые определения:

Определения номеров

  • Мантисса
  • Также называется Significand, содержит всех цифр номера.Отрицательные значения представляют отрицательные числа. (Помните, что термин «мантисса» может вызвать путаницу, поскольку он также может относиться к дробной части десятичного логарифма.)

  • База
  • Справочное число, на котором основана экспонента.

  • Показатель
  • Это мощность, на которую поднимается основание.

    Указывает, где располагается десятичная (или двоичная) точка относительно начала мантиссы.

  • Система корней
  • Двоичный эквивалент десятичной запятой в десятичных числах.

Пример

В экспоненциальном представлении десятичное число 345,6 может быть представлено как 3,456 X 10 2 , где 3456 — мантисса или мантисса, 10 — основание, а 2 — показатель степени.

Число с плавающей запятой Преимущества

  • Они могут представлять числа самой разной величины (диапазон ограничен длиной показателя степени)
  • Они обеспечивают одинаковую относительную точность на всех величинах (точность ограничена длиной мантиссы)
  • При вычислениях с использованием чисел как с очень большими, так и с очень малыми величинами они позволяют сохранить точность обоих в результате.

Операции с плавающей точкой (FP)

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

Сдвиг бит

Сдвиг мантиссы влево на 1 бит уменьшает показатель степени на 1 и перемещает точку счисления вправо на одну позицию.

Сдвиг мантиссы вправо на 1 бит увеличивает показатель степени на 1 и перемещает основание системы счисления влево на одно место.

Базовые алгебраические функции FP

  • Дополнение FP
    • Совместите десятичные точки, увеличивая или уменьшая одну из степеней так, чтобы обе степени были одинаковыми. Это будет новая мантисса для суммы.
    • Измените соответствующую мантиссу.
    • Добавьте новые мантиссы, чтобы получить новую мантиссу на сумму.
  • FP Вычитание
    • Совместите десятичные точки и измените мантиссу, как указано выше
    • Вычесть с дополнением до 2
  • FP Умножение
    • Умножьте мантиссы, чтобы получить новую мантиссу
    • Добавьте экспоненты, чтобы получить новую экспоненту
  • Отделение FP
    • Разделите мантиссы, чтобы получить новую мантиссу
    • Вычтите экспоненты, чтобы получить новую экспоненту

Трансцендентные и другие функции

Можно, но не обязательно практично, хранить все требуемые значения трансцендентных функций в справочных таблицах, хранящихся в памяти компьютера.Хотя это было бы удобно, во многих приложениях, однако, потребовались бы непрактично большие запоминающие устройства. Вместо этого необходимые значения должны быть рассчитаны по мере необходимости.

Оценка значения трансцендентной функции включает в себя настройку цикла для вычисления значения каждого значимого члена в ряду по очереди и суммирование значений в отдельном аккумуляторе (с учетом знака). Чем больше членов в ряду, тем выше будет точность, но соответственно увеличится время обработки из-за увеличения количества вычислений.

Часто возможно представить трансцендентную функцию, используя альтернативные математические методы приближения. Как и в случае вышеупомянутого компромисса между скоростью и точностью, альтернативные методы также предполагают аналогичные компромиссы. Ряд Тейлора — это обычное математическое разложение, хотя и не единственное, которое используется для приближения значения трансцендентных функций. Ниже приведены некоторые типичные примеры с использованием серии Тейлора.

Подробнее о сериале Тейлора.

См. Также расширение CORDIC (ниже).

  • Тригонометрические функции
    • Следующая серия представляет собой разложение Тейлора для синуса и косинуса, где переменная X измеряется в радианах.
    • sin (X)

      X

      Х 3

      +

      Х 5

      Х 7

      +

      .. .

      +

      (-1) и

      X (2i + 1)

      +

      . . .

      3!

      5!

      7!

      (2i + 1)!

      cos ( X)

      1

      Х 2

      +

      X 4

      Х 6

      +

      .. .

      +

      (-1) и

      X (2i)

      +

      . . .

      2!

      4!

      6!

      (2i)!

      Обратите внимание, что эти два ряда включают как положительные, так и отрицательные члены, а знаменатели включают возрастающие факториалы.Это означает, что члены очень быстро сведутся к небольшим величинам.

      Отметим также, что компьютер обычно не вычисляет числовые значения факториалов, которые вместо этого извлекаются из справочных таблиц в памяти.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *