Введение
Электронные схемы, использующие цифровые сигналы
Цифровая электроника – это область электроники, занимающаяся изучением цифровых сигналов и разработкой устройств, использующих или генерирующих их. Это противопоставляется аналоговой электронике, которая работает преимущественно с аналоговыми сигналами. Несмотря на название, проектирование цифровой электроники включает в себя важные аспекты аналогового проектирования. Цифровые электронные схемы обычно состоят из больших блоков логических элементов, часто заключенных в интегральные схемы. Сложные устройства могут иметь упрощенные электронные реализации булевых логических функций.
История
Двоичная система чисел была усовершенствована Готфридом Вильгельмом Лейбницем (опубликована в 1705 году), и он также установил, что с помощью двоичной системы можно объединить принципы арифметики и логики. Цифровая логика в том виде, в котором мы её знаем, была создана Джорджем Булем в середине XIX века. В письме от 1886 года Чарльз Сандерс Пирс описал, как логические операции могут выполняться с помощью электрических коммутационных схем. В конечном итоге вакуумные лампы заменили реле для выполнения логических операций. Модификация клапана Флеминга, предложенная Ли де Форестом в 1907 году, могла использоваться в качестве логического элемента И (AND). Людвиг Витгенштейн представил версию 16-строчной таблицы истинности как предложение 5.101 в «Tractatus Logico-Philosophicus» (1921). Вальтер Боте, изобретатель схемы совпадений, разделил Нобелевскую премию по физике в 1954 году за создание первого современного электронного логического элемента И (AND) в 1924 году. Механические аналоговые компьютеры начали появляться в первом веке и позже использовались в средневековую эпоху для астрономических расчетов. Во время Второй мировой войны механические аналоговые компьютеры использовались для специализированных военных задач, таких как вычисление углов наведения торпед. В это же время были разработаны первые электронные цифровые компьютеры, а термин «цифровой» был предложен Джорджем Стибицем в 1942 году. Изначально они занимали целую комнату и потребляли столько же энергии, сколько несколько сотен современных ПК. Z3 был электромеханическим компьютером, разработанным Конрадом Цузе. Завершенный в 1941 году, он стал первым в мире программируемым, полностью автоматическим цифровым компьютером. Его работа была облегчена изобретением вакуумной лампы Джоном Амброзом Флемингом в 1904 году. Параллельно с заменой аналоговых вычислений цифровыми, чисто электронные элементы схем вскоре заменили свои механические и электромеханические аналоги. Джон Бардин и Уолтер Браттейн изобрели точечный транзистор в Bell Labs в 1947 году, а затем Уильям Шокли изобрел биполярный транзистор в Bell Labs в 1948 году. В Манчестерском университете команда под руководством Тома Килберна спроектировала и построила машину, использующую недавно разработанные транзисторы вместо вакуумных ламп. Их «транзисторный компьютер», первый в мире, был введен в эксплуатацию в 1953 году, а вторая версия была завершена в апреле 1955 года. С 1955 года транзисторы заменили вакуумные лампы в компьютерных конструкциях, что привело к появлению «второго поколения» компьютеров. По сравнению с вакуумными лампами, транзисторы были меньше, надежнее, имели неограниченный срок службы и потребляли меньше энергии, выделяя меньше тепла и позволяя создавать более плотные схемы, содержащие до десятков тысяч элементов в относительно компактном пространстве. Работая в Texas Instruments в июле 1958 года, Джек Килби записал свои первые идеи относительно интегральной схемы (ИС), а затем успешно продемонстрировал первую рабочую интегральную схему 12 сентября 1958 года. Чип Килби был изготовлен из германия. В следующем году Роберт Нойс из Fairchild Semiconductor изобрел кремниевую интегральную схему. Основой кремниевой ИС Нойса был планарный процесс, разработанный в начале 1959 года Жаном Хёрни, который, в свою очередь, опирался на метод пассивации поверхности кремния, разработанный Мохамедом Аталлой в 1957 году. Эта новая технология, интегральная схема, позволила быстро и недорого изготавливать сложные схемы, размещая набор электронных схем на одной небольшой пластине («чипе») из полупроводникового материала, обычно кремния. Металл-оксид-полупроводниковый полевой транзистор (MOSFET), также известный как МОП-транзистор, был изобретен Мохамедом Аталлой и Давоном Кангом в Bell Labs в 1959 году. Преимущества MOSFET включают высокую масштабируемость, доступность, низкое энергопотребление и высокую плотность транзисторов. Его высокая скорость электронного переключения также делает его идеальным для генерации импульсных последовательностей, которые являются основой электронных цифровых сигналов, в отличие от биполярных транзисторов, которые медленнее генерируют аналоговые сигналы, напоминающие синусоиды. MOSFET произвел революцию в электронной промышленности и является наиболее распространенным полупроводниковым устройством. На заре интегральных схем каждый чип был ограничен лишь несколькими транзисторами, а низкая степень интеграции означала, что процесс проектирования был относительно простым. Выход годных при производстве также был довольно низким по современным меркам. Широкое распространение МОП-транзистора к началу 1970-х годов привело к появлению первых интегральных схем большой степени интеграции (LSI) с более чем 10 000 транзисторами на одном чипе. После широкого распространения КМОП, типа логики на основе МОП-транзисторов, к 1980-м годам на одном чипе можно было разместить миллионы, а затем и миллиарды МОП-транзисторов, и для создания хороших проектов требовалось тщательное планирование, что привело к появлению новых методов проектирования. Количество транзисторов в устройствах и общий объем производства достигли беспрецедентных высот. Общее количество произведенных транзисторов к 2018 году оценивается в 1,3E22 (13 секстиллионов). Революция беспроводной связи (внедрение и распространение беспроводных сетей) началась в 1990-х годах и стала возможной благодаря широкому распространению МОП-транзисторов в радиочастотных усилителях мощности (МОП-транзисторы и LDMOS) и радиочастотных схемах (RF CMOS). Беспроводные сети обеспечили общедоступную цифровую передачу данных без необходимости использования кабелей, что привело к появлению цифрового телевидения, спутникового и цифрового радио, GPS, беспроводного Интернета и мобильных телефонов в 1990-х – 2000-х годах.
Свойства
Преимущество цифровых схем по сравнению с аналоговыми заключается в том, что сигналы, представленные в цифровом виде, могут передаваться без ухудшения качества из-за шума. Например, непрерывный звуковой сигнал, передаваемый в виде последовательности 1 и 0, может быть восстановлен без ошибок, при условии, что помехи, возникающие при передаче, недостаточны для того, чтобы помешать идентификации 1 и 0. В цифровой системе более точное представление сигнала можно получить, используя большее количество двоичных разрядов для его кодирования. Хотя для обработки сигналов требуется больше цифровых схем, каждый разряд обрабатывается одним и тем же типом оборудования, что обеспечивает легко масштабируемую систему. В аналоговой системе повышение разрешения требует фундаментальных улучшений линейности и шумовых характеристик на каждом этапе цепи обработки сигнала. В цифровых системах с компьютерным управлением новые функции можно добавить путем изменения программного обеспечения, без необходимости внесения изменений в аппаратную часть. Часто это можно сделать за пределами производства, просто обновив программное обеспечение продукта. Таким образом, ошибки проектирования продукта можно исправить даже после того, как продукт попал к потребителю. Хранение информации может быть проще в цифровых системах, чем в аналоговых. Невосприимчивость цифровых систем к шуму позволяет хранить и извлекать данные без потерь качества. В аналоговой системе шум, вызванный старением и износом, приводит к деградации сохраненной информации. В цифровой системе, пока общий уровень шума не превышает определенного порога, информация может быть восстановлена идеально. Даже при более значительном уровне шума использование избыточности позволяет восстановить исходные данные, если количество ошибок не слишком велико. В некоторых случаях цифровые схемы потребляют больше энергии, чем аналоговые, для выполнения одних и тех же задач, что приводит к большему тепловыделению и увеличению сложности схем, например, необходимости использования радиаторов. В портативных или работающих от батарей системах это может ограничить использование цифровых схем. Например, сотовые телефоны, работающие от батарей, часто используют маломощный аналоговый входной каскад для усиления и настройки радиосигналов от базовой станции. Однако базовая станция имеет доступ к сети электропитания и может использовать энергоемкие, но очень гибкие программно-определяемые радиостанции. Такие базовые станции можно легко перепрограммировать для обработки сигналов, используемых в новых стандартах сотовой связи. Многие полезные цифровые системы должны преобразовывать непрерывные аналоговые сигналы в дискретные цифровые сигналы. Это приводит к ошибкам квантования. Ошибку квантования можно уменьшить, если система хранит достаточное количество цифровых данных для представления сигнала с требуемой степенью точности. Теорема Котельникова-Найквиста предоставляет важные рекомендации относительно необходимого объема цифровых данных для точного представления заданного аналогового сигнала. Если один фрагмент цифровых данных будет потерян или неправильно интерпретирован, в некоторых системах это может привести лишь к незначительной ошибке, в то время как в других системах смысл больших блоков связанных данных может полностью измениться. Например, одиночная битовая ошибка в аудиоданных, хранящихся непосредственно в виде линейной импульсно-кодовой модуляции, в худшем случае вызовет один слышимый щелчок. Но при использовании сжатия звука для экономии места хранения и времени передачи, одиночная битовая ошибка может вызвать гораздо более серьезные искажения. Из-за эффекта обрыва пользователям может быть трудно определить, находится ли система на грани отказа или может выдержать гораздо больше шума, прежде чем выйти из строя. Хрупкость цифровых систем можно снизить, проектируя цифровую систему с учетом надежности. Например, в путь сигнала можно добавить бит четности или другой метод управления ошибками. Эти схемы помогают системе обнаруживать ошибки, а затем либо исправлять их, либо запрашивать повторную передачу данных.
Строительство
Цифровая схема обычно строится из небольших электронных схем, называемых логическими элементами, которые могут быть использованы для создания комбинационной логики. Каждый логический элемент предназначен для выполнения функции булевой логики при воздействии на логические сигналы. Логические элементы обычно создаются из одного или нескольких электрически управляемых переключателей, как правило, транзисторов, хотя в прошлом использовались и вакуумные лампы. Выход логического элемента может, в свою очередь, управлять или подаваться на другие логические элементы. Другой тип цифровой схемы строится на основе таблиц поиска (многие продаются как "программируемые логические устройства", хотя существуют и другие виды PLD). Таблицы поиска могут выполнять те же функции, что и схемы, основанные на логических элементах, но их можно легко перепрограммировать без изменения соединений. Это означает, что разработчик часто может исправить ошибки проектирования, не меняя расположение проводников. Поэтому для продукции небольшими партиями программируемые логические устройства часто являются предпочтительным решением. Они обычно разрабатываются инженерами с использованием программного обеспечения для автоматизированного проектирования электроники. Интегрированные схемы состоят из множества транзисторов на одном кремниевом кристалле и являются наиболее экономичным способом создания большого количества взаимосвязанных логических элементов. Интегрированные схемы обычно соединяются друг с другом на печатной плате – плате, на которой размещаются электронные компоненты и соединяются между собой медными дорожками.
Дизайн
Инженеры используют множество методов для минимизации логической избыточности с целью снижения сложности схемы. Уменьшение сложности приводит к сокращению количества компонентов и потенциальных ошибок, а следовательно, обычно снижает стоимость. Логическую избыточность можно устранить с помощью нескольких известных методов, таких как бинарные диаграммы решений, булева алгебра, карты Карно, алгоритм Куайна — Маккласки и эвристический компьютерный метод. Эти операции обычно выполняются в системе автоматизированного проектирования (САПР). Встраиваемые системы с микроконтроллерами и программируемыми логическими контроллерами часто используются для реализации цифровой логики в сложных системах, не требующих оптимальной производительности. Эти системы обычно программируются инженерами-программистами или электриками с использованием релейно-контактной логики.
Представительство
Входно-выходное соотношение цифровой схемы может быть представлено таблицей истинности. Эквивалентная схема высокого уровня использует логические элементы, каждый из которых представлен своей формой (стандартизированной IEEE/ANSI 91–1984). Низкоуровневое представление использует эквивалентную схему из электронных переключателей (обычно транзисторов). Большинство цифровых систем делятся на комбинационные и последовательностные системы. Выход комбинационной системы зависит только от текущих входных сигналов. Однако, в последовательностной системе часть выходов подается обратно на входы, поэтому ее выход может зависеть от предыдущих входных сигналов, помимо текущих, для выполнения последовательности операций. Упрощенные модели их поведения, называемые конечными автоматами, облегчают проектирование и тестирование. Последовательностные системы подразделяются на два дополнительных подтипа. "Синхронные" последовательностные системы изменяют состояние одновременно с изменением тактового сигнала. "Асинхронные" последовательностные системы распространяют изменения при любом изменении входных сигналов. Синхронные последовательностные системы создаются с использованием триггеров, которые сохраняют входное напряжение в виде бита только при изменении тактового сигнала.
Синхронные системы
Обычный способ реализации синхронной последовательной машины состояний — разделить её на блок комбинационной логики и набор триггеров, называемых регистром состояний. Регистр состояний представляет состояние в виде двоичного числа. Комбинационная логика формирует двоичное представление следующего состояния. На каждом тактовом цикле регистр состояний захватывает обратную связь, сформированную на основе предыдущего состояния комбинационной логики, и подаёт её обратно в качестве постоянного входного сигнала в комбинационную часть машины состояний. Тактовая частота ограничивается самым длительным по времени логическим вычислением в комбинационной логике.
Асинхронные системы
Большинство цифровых логических схем синхронны, поскольку синхронные схемы проще разрабатывать и верифицировать. Однако асинхронная логика имеет преимущество: её скорость не ограничивается произвольным тактовым сигналом, а определяется максимальной скоростью работы её логических элементов. Тем не менее, большинству систем необходимо принимать внешние, несинхронизированные сигналы в свои синхронные логические схемы. Такой интерфейс по своей природе асинхронен и должен анализироваться соответствующим образом. Примеры широко используемых асинхронных схем включают синхронизирующие триггеры, схемы устранения дребезга контактов и арбитры. Разработка асинхронных логических компонентов может быть сложной, поскольку необходимо учитывать все возможные состояния и все возможные моменты времени их возникновения. Обычно используется метод построения таблицы минимального и максимального времени, в течение которого может существовать каждое такое состояние, а затем корректировки схемы для минимизации количества этих состояний. Разработчик должен обеспечить периодическое ожидание схемой, пока все её части не перейдут в совместимое состояние (это называется "саморесинхронизацией"). Без тщательной разработки легко непреднамеренно создать асинхронную логику, которая будет нестабильной – то есть, реальная электронная схема может выдавать непредсказуемые результаты из-за кумулятивных задержек, вызванных незначительными отклонениями в параметрах электронных компонентов.
Системы передачи реестров
Многие цифровые системы являются машинами потока данных. Обычно они разрабатываются с использованием синхронной логики переноса регистров и описываются на языках описания аппаратуры, таких как VHDL или Verilog. В логике переноса регистров двоичные числа хранятся в группах триггеров, называемых регистрами. Последовательный автомат управляет моментом, когда каждый регистр принимает новые данные со своего входа. Выходы каждого регистра образуют набор проводников, называемый шиной, которая передает это число для дальнейших вычислений. Вычисление – это просто участок комбинационной логики. Каждое вычисление также имеет выходную шину, и эти шины могут быть подключены ко входам нескольких регистров. Иногда на входе регистра установлен мультиплексор, позволяющий ему сохранять число с любой из нескольких шин. Асинхронные системы переноса регистров (например, компьютеры) имеют общее решение. В 1980-х годах некоторые исследователи обнаружили, что почти все синхронные машины переноса регистров можно преобразовать в асинхронные схемы, используя логику синхронизации FIFO (first in, first out). В этой схеме цифровая машина представляется как набор потоков данных. На каждом этапе потока схема синхронизации определяет, когда выходы этого этапа становятся допустимыми, и сообщает следующему этапу, когда использовать эти выходы.
Компьютерный дизайн
Наиболее универсальной машиной, реализующей передачу данных между регистрами, является компьютер. По сути, это автоматический двоичный счет. Управляющее устройство компьютера обычно проектируется как микропрограмма, управляемая микросекуэнсером. Микропрограмма во многом похожа на рулон для музыкального автомата (пианинолы). Каждая запись в таблице микропрограммы задает состояние каждого бита, управляющего работой компьютера. Затем секвенсер выполняет подсчет, который адресует память или комбинационную логическую схему, содержащую микропрограмму. Биты из микропрограммы управляют арифметико-логическим устройством, памятью и другими частями компьютера, включая сам микросекуэнсер. Таким образом, сложная задача проектирования системы управления компьютером сводится к более простой задаче программирования набора гораздо более простых логических устройств. Почти все компьютеры синхронные. Однако были созданы и асинхронные компьютеры. Примером является ядро ASPIDA DLX. Еще один пример был предложен компанией ARM Holdings.
Компьютерная архитектура
Компьютерная архитектура – это специализированная инженерная область, которая стремится оптимально организовать регистры, вычислительную логику, шины и другие компоненты компьютера для достижения конкретной цели. Архитекторы компьютеров проделали значительную работу по снижению стоимости и увеличению скорости компьютеров, а также по повышению их устойчивости к ошибкам программирования. Всё чаще архитекторы компьютеров ставят перед собой задачу снижения энергопотребления в системах, работающих от аккумуляторов, таких как смартфоны.
Проблемы проектирования цифровых схем
Цифровые схемы создаются из аналоговых компонентов. Конструкция должна обеспечивать, чтобы аналоговая природа компонентов не подавляла желаемое цифровое поведение. Цифровые системы должны управлять шумами и временными запасами, паразитной индуктивностью и ёмкостью. Некачественные схемы подвержены периодическим проблемам, таким как ложные срабатывания, крайне короткие импульсы, которые могут приводить в действие некоторые логические элементы, но не другие, и импульсы с недостаточной амплитудой, не достигающие допустимых пороговых значений. Кроме того, при взаимодействии синхронизированных цифровых систем с аналоговыми системами или системами, работающими от другого тактового сигнала, цифровая система может оказаться в состоянии метастабильности, когда изменение входного сигнала нарушает время установления для цифрового входного триггера. Поскольку цифровые схемы создаются из аналоговых компонентов, они вычисляют медленнее, чем малоточные аналоговые схемы, использующие сопоставимое пространство и мощность. Однако цифровая схема обеспечивает более повторяемые вычисления благодаря высокой помехоустойчивости.
Автоматизированные инструменты проектирования
Большая часть работы по проектированию крупных логических устройств автоматизирована благодаря применению автоматизированного проектирования электронных схем (EDA). Простые описания логики в виде таблиц истинности часто оптимизируются с помощью EDA, которые автоматически создают упрощенные системы логических элементов или меньшие таблицы подстановки, сохраняя при этом желаемые выходные сигналы. Наиболее распространенным примером такого программного обеспечения является эвристический минимизатор логики Espresso. Оптимизация крупных логических систем может выполняться с использованием алгоритма Куина — МакКласки или диаграмм принятия решений (binary decision diagrams). Существуют перспективные эксперименты с генетическими алгоритмами и оптимизацией имитацией отжига. Для автоматизации дорогостоящих инженерных процессов некоторые EDA могут принимать таблицы состояний, описывающие конечные автоматы, и автоматически генерировать таблицу истинности или таблицу функций для комбинационной логики конечного автомата. Таблица состояний представляет собой текстовый фрагмент, в котором перечисляются все состояния, условия, управляющие переходами между ними, и соответствующие выходные сигналы. Часто реальные логические системы разрабатываются как серия подпроектов, которые объединяются с помощью технологического потока (tool flow). Управлением технологическим потоком обычно осуществляется с помощью языка сценариев — упрощенного языка программирования, который может вызывать инструменты проектирования в правильном порядке. Технологические потоки для крупных логических систем, таких как микропроцессоры, могут содержать тысячи команд и объединять работу сотен инженеров. Разработка и отладка технологических потоков — это устоявшаяся инженерная специализация в компаниях, занимающихся разработкой цифровых схем. Технологический поток обычно завершается подробным компьютерным файлом или набором файлов, описывающих физическую реализацию логики. Часто он содержит инструкции по размещению транзисторов и проводников на интегральной схеме или печатной плате. Отдельные этапы технологического потока отлаживаются путем сопоставления результатов моделирования логики с ожидаемыми входными данными. Инструменты тестирования принимают компьютерные файлы с наборами входных и выходных данных и выделяют расхождения между смоделированным и ожидаемым поведением. Если входные данные считаются корректными, то необходимо проверить и сам проект на правильность. Некоторые технологические потоки проверяют проекты, сначала создавая проект, а затем сканируя его для получения совместимых входных данных для технологического потока. Если отсканированные данные совпадают с исходными, то технологический поток, вероятно, не внес ошибок. Данные функциональной верификации обычно называют тестовыми векторами. Функциональные тестовые векторы могут быть сохранены и использованы на производстве для проверки правильности работы вновь изготовленной логики. Однако функциональные тесты не выявляют все дефекты производства. Производственные тесты часто разрабатываются с помощью программного обеспечения для автоматической генерации тестовых шаблонов. Оно генерирует тестовые векторы, анализируя структуру логики и систематически создавая тесты, направленные на выявление конкретных потенциальных неисправностей. Таким образом, покрытие неисправностей может быть приближено к 100%, при условии, что конструкция спроектирована с учетом требований тестируемости (см. следующий раздел). После создания, верификации и обеспечения тестируемости проекта, его часто необходимо обработать для обеспечения возможности производства. Современные интегральные схемы имеют элементы, размеры которых меньше длины волны света, используемого для экспонирования фоторезиста. Программное обеспечение, предназначенное для обеспечения возможности производства, добавляет интерференционные рисунки к шаблонам экспонирования для устранения обрывов цепей и повышения контрастности шаблонов.
Конструкция для проверки
Есть несколько причин для тестирования логической схемы. При первоначальной разработке схемы необходимо убедиться, что спроектированная схема соответствует требуемым функциональным и временным характеристикам. Когда производится несколько экземпляров правильно спроектированной схемы, необходимо тестировать каждый экземпляр, чтобы удостовериться, что производственный процесс не привнес никаких дефектов. Большая логическая машина (например, с более чем сотней логических переменных) может иметь астрономическое число возможных состояний. Очевидно, что проверка всех состояний такой машины на производстве невозможна, поскольку даже если тестирование каждого состояния занимает всего микросекунду, количество возможных состояний превышает количество микросекунд с момента возникновения Вселенной! Большие логические машины почти всегда проектируются как сборки из меньших логических машин. Для экономии времени меньшие подмашины изолируются с помощью постоянно установленных схем для тестирования и тестируются независимо. Одна из распространенных схем тестирования предусматривает тестовый режим, который переводит часть логической машины в тестовый цикл. Тестовый цикл обычно активирует большие независимые части машины. Граничное сканирование – распространенная схема тестирования, использующая последовательную связь с внешним тестовым оборудованием через один или несколько сдвиговых регистров, известных как цепочки сканирования. Последовательное сканирование использует всего один или два провода для передачи данных, что минимизирует физический размер и стоимость редко используемой тестовой логики. После установки всех битов тестовых данных схема переводится в нормальный режим и подается один или несколько тактовых импульсов для выявления неисправностей (например, зафиксированного низкого или высокого уровня) и захвата результата тестирования во флип-флопы или триггеры в сдвиговых регистрах сканирования. Наконец, результат тестирования выводится на границу блока и сравнивается с ожидаемым результатом для исправной машины. В среде тестирования плат последовательное тестирование было формализовано в стандарт JTAG.
Стоимость
Поскольку цифровая система может использовать множество логических элементов, общая стоимость создания компьютера тесно связана со стоимостью одного логического элемента. В 1930-х годах самые ранние цифровые логические системы строились из телефонных реле, поскольку они были недорогими и относительно надежными. Первые интегральные схемы были разработаны для снижения веса и обеспечения возможности управления инерциальной системой наведения космического аппарата компьютером управления Apollo. Первые логические элементы на интегральных схемах стоили почти 50 долларов США, что эквивалентно примерно <расчетной сумме> в последние годы. Массовое производство элементов на интегральных схемах стало самым экономичным способом создания цифровой логики. С развитием интегральных схем, уменьшение абсолютного количества используемых микросхем стало еще одним способом снижения затрат. Задача разработчика состоит не только в создании самой простой схемы, но и в минимизации количества компонентов. Иногда это приводит к более сложным конструкциям с точки зрения базовой цифровой логики, но при этом уменьшает количество компонентов, размер платы и даже энергопотребление.
Надежность
Другой важный мотив для уменьшения количества компонентов на печатных платах – снижение частоты производственных дефектов, вызванных некачественными паяными соединениями, и повышение надежности. Вероятность дефектов и отказов, как правило, возрастает с увеличением общего числа выводов компонентов. Отказ даже одного логического элемента может привести к сбою цифровой машины. В тех случаях, когда требуется повышенная надежность, можно использовать резервирование. Резервирование увеличивает стоимость и энергопотребление по сравнению с нерезервированной системой. Надежность логического элемента описывается средним временем наработки на отказ (MTBF). Цифровые машины впервые стали практически полезными, когда MTBF для переключателя превысил несколько сотен часов. Тем не менее, многие из этих машин имели сложные, отработанные процедуры ремонта и могли быть неработоспособны в течение нескольких часов из-за перегорания лампы или застревания мотылька в реле. Современные транзисторные логические элементы интегральных схем имеют MTBF более 82 миллиардов часов (8,2). Такой высокий уровень надежности необходим, поскольку интегральные схемы содержат огромное количество логических элементов.
Расширяется
Раскрытие (Fan out) описывает, сколько логических входов может управляться одним логическим выходом без превышения допустимых электрических токов на выходах логических элементов. Минимальное практическое раскрытие составляет около пяти. Современные электронные логические элементы, использующие CMOS-транзисторы в качестве ключей, имеют более высокое раскрытие.
Скорость
Скорость переключения описывает, за какое время логический выход изменяет свое состояние с истинного на ложное или наоборот. Более быстрая логика способна выполнять больше операций за единицу времени. Современная электронная цифровая логика обычно переключается со скоростью 5, а в некоторых лабораторных системах – более 1.
Логические семьи
Цифровой дизайн начался с релейной логики, которая была медленной. Время от времени происходили механические отказы. Коэффициент ветвления обычно составлял около 10, что ограничивалось сопротивлением катушек и искрением на контактах из-за высокого напряжения. Позже стали использовать вакуумные лампы. Они были очень быстрыми, но выделяли тепло и были ненадежными, поскольку нити накаливания перегорали. Коэффициент ветвления обычно составлял 5–7, что ограничивалось нагревом от тока ламп. В 1950-х годах были разработаны специальные компьютерные лампы с нитями накаливания, не содержащими летучих элементов, таких как кремний. Они работали сотни тысяч часов. Первым полупроводниковым логическим семейством была логика на резисторах и транзисторах. Она была в тысячу раз надежнее ламп, работала холоднее и потребляла меньше энергии, но имела очень низкий коэффициент ветвления – 3. Логика на диодах и транзисторах улучшила коэффициент ветвления до примерно 7 и снизила энергопотребление. В некоторых конструкциях DTL использовались два источника питания с чередующимися слоями NPN и PNP транзисторов для увеличения коэффициента ветвления. Логика на транзисторах (TTL) стала значительным улучшением по сравнению с ними. В ранних устройствах коэффициент ветвления был увеличен до 10, а в более поздних модификациях надежно достигал 20. TTL также была быстрой, некоторые модификации достигали времени переключения до 20 нс. TTL до сих пор используется в некоторых конструкциях. Логика с эмиттерным соединением очень быстрая, но потребляет много энергии. Она широко использовалась в высокопроизводительных компьютерах, таких как Illiac IV, состоящих из множества компонентов средней степени интеграции. В настоящее время наиболее распространенными цифровыми интегральными схемами являются схемы на КМОП-логике, которые отличаются высокой скоростью, высокой плотностью элементов и низким энергопотреблением на элемент. Она используется даже в больших и быстрых компьютерах, таких как IBM System z.
Последние события
В 2009 году исследователи обнаружили, что мемристоры способны реализовывать хранение булевых состояний и предоставляют полную логическую семейство, занимая очень мало места и потребляя небольшое количество энергии, при использовании знакомых полупроводниковых процессов CMOS. Открытие сверхпроводимости позволило разработать технологию сверхбыстрых схем на основе одиночных квантовых потоков (RSFQ), использующую джозефсоновские переходы вместо транзисторов. В последнее время предпринимаются попытки создать полностью оптические вычислительные системы, способные обрабатывать цифровую информацию с помощью нелинейных оптических элементов.