Введение

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

{| class="wikitable floatright"
|+ Буквенные обозначения логических значений. Он был спонсирован Комитетом по стандартам автоматизации проектирования Института инженеров электротехники и электроники (IEEE). Работа по стандартизации была основана на предоставленной Synopsys декларации типа MVL 9. Основной тип данных (стандартная неразрешенная логика) состоит из девяти буквенных обозначений (см. таблицу справа). Эта система способствовала созданию полезного набора логических значений, которые типичные схемы на КМОП-логике могут реализовать в большинстве случаев моделирования, включая:

'Z' – обозначение для упрощения реализации логики трехстабильных буферов; 'H' и 'L' – слабые сигналы для реализации логических операций «И» и «ИЛИ» с проводным соединением; 'U' – значение по умолчанию для всех объявлений объектов, что позволяет легко обнаруживать неинициализированные значения во время моделирования и, при необходимости, легко их исправлять. В VHDL разработчик аппаратуры делает эти объявления видимыми с помощью следующих операторов библиотеки и использования:

library IEEE;
use IEEE.std_logic_1164.all;

Использование "U"

Многие инструменты моделирования языков описания аппаратуры (HDL), такие как Verilog и VHDL, поддерживают неопределенное значение, подобное показанному выше, при моделировании цифровой электроники. Неопределенное значение может быть результатом ошибки в проекте, которую разработчик может исправить до синтеза в реальную схему. Оно также представляет собой неинициализированные значения памяти и входные сигналы схемы до того, как процесс моделирования установит фактическое значение этих сигналов. Инструменты синтеза HDL обычно создают схемы, работающие только с двоичной логикой.

Использование "-"

При проектировании цифровой схемы некоторые условия могут выходить за рамки тех, для которых схема предназначена. Следовательно, разработчика не интересует, что происходит при этих условиях. Кроме того, часто бывает, что входы схемы маскируются другими сигналами, и значение такого входа не оказывает влияния на поведение схемы. В таких случаях традиционно используют 'X' в качестве заполнителя, чтобы обозначить "Неважно" при построении таблиц истинности, но "Неважно" особенно часто используются в VHDL при проектировании конечных автоматов и упрощении карт Карно. Значения 'X' предоставляют дополнительные степени свободы при разработке конечной схемы, что обычно приводит к её упрощению и уменьшению размера. После завершения проектирования схемы и создания физической схемы значения 'X' исчезают. Они преобразуются в конкретное значение '0' или '1', в зависимости от окончательной оптимизации проекта.

Использование "Z"

Некоторые цифровые устройства поддерживают логику трех состояний только на своих выходах. Эти три состояния – "0", "1" и "Z". Обычно называемая трехстатной логикой (торговая марка National Semiconductor), она включает в себя обычные логические состояния "истина" и "ложь", а также третье состояние – высокое сопротивление (или "выключенное состояние"), которое фактически отключает логический выход. Это обеспечивает эффективный способ подключения нескольких логических выходов к одному входу, при этом все, кроме одного, переводятся в состояние высокого сопротивления, позволяя оставшемуся выходу работать в обычном двоичном режиме. Это часто используется для подключения банков компьютерной памяти и других подобных устройств к общей шине данных; большое количество устройств может взаимодействовать по одному каналу, просто обеспечивая включение только одного устройства за раз. Хотя выходы могут находиться в одном из трех состояний, входы способны распознавать только два. Несмотря на то, что состояние высокого сопротивления можно рассматривать как "неопределенное", в большинстве электронных схем нет возможности интерпретировать его как отдельное состояние. Входы могут определять только "0" и "1". Если цифровой вход остается неподключенным, цифровое значение, которое он интерпретирует, зависит от используемой технологии. Технология TTL надежно переходит в состояние "1" по умолчанию. С другой стороны, технология CMOS временно сохраняет последнее состояние, которое было на этом входе (из-за емкости входного затвора). Со временем ток утечки приводит к тому, что вход CMOS дрейфует в случайном направлении, что может привести к изменению входного состояния. Неподключенные входы устройств CMOS могут улавливать помехи, вызывать колебания, значительно увеличить потребляемый ток (эффект "crowbar") или даже привести к полному выходу устройства из строя.