Как уже упоминалось ранее, особенностью использования цифровой техники является то, что при разработке схем можно отвлечься от особенностей практической реализации цифровых микросхем, а также от влияния конкретных значений выходного напряжения и токов нагрузки. При этом всё внимание можно уделить разработке целевой логической функции, реализуемой цифровой схемой. Для этого входные и выходные сигналы цифровой схемы можно задать цифрами "0" и "1". При этом неважно, с использованием какой схемотехники (ТТЛ, КМОП или BiCMOS) будут реализованы сами логические элементы. Выбор конкретной схемотехники влияет только на эксплуатационные характеристики реализуемой аппаратуры, но совершенно не отразится на виде логической функции. Именно поэтому логические элементы, выполненные с использованием различных серий интегральных цифровых микросхем, изображаются на принципиальных схемах совершенно одинаково.
Для того чтобы исключить влияние задержек распространения сигналов на выходные сигналы цифровых микросхем, можно рассматривать эти сигналы в статическом режиме, когда все переходные процессы уже закончились.
Выходные сигналы в простейших цифровых схемах зависят только от входных сигналов, и не зависят от их значений в предыдущие моменты времени. Такие цифровые устройства получили название комбинационных цифровых устройств. Обычно такие устройства описываются при помощи таблицы истинности.
Процесс разработки цифрового устройства достаточно сильно алгоритмизирован. Это позволяет значительно сократить время разработки устройства и снизить вероятность возникновения ошибки на этапе проектирования устройства.
Разработка цифрового устройства разбивается на пять этапов:
1. создание таблицы истинности;
2. запись логического выражения;
3. минимизация полученного логического выражения;
4. создание схемы по минимизированному логическому выражению;
5. реализация полученной схемы в заданном наборе микросхем.
Таблица истинности – это совокупность всех возможных комбинаций логических сигналов на входе цифрового устройства и значений выходных сигналов для каждой комбинации. Для того чтобы не пропустить ни одной комбинации входных сигналов их обычно записывают в виде двоичного кода. Пример таблицы истинности приведен в таблице 1.1.
Для описания принципов работы комбинационной цифровой схемы достаточно таблицы истинности. Этой же таблицы достаточно для создания её принципиальной схемы.
Рассмотрим несколько примеров описания цифровой схемы с помощью таблицы истинности. Пусть требуется преобразовать двоично-десятичный код в десятичный. Поставим в соответствие каждой комбинации двоично-десятичного кода соответствующее десятичное значение (для отображения десятичных цифр необходимо использовать десять выходов схемы). Получившаяся таблица истинности содержится в таблице 1.2.
Составим ещё одну таблицу истинности. На этот раз в качестве исходной постановки задачи используем временные диаграммы. В микропроцессорной технике достаточно часто приходится сталкиваться с задачей преобразования временных диаграмм системной шины (например, в процессорах фирмы Freescale, бывшая Motorola) во временные диаграммы системной шины, использующиеся в процессорах фирмы Intel. Эти временные диаграммы приведены на рисунке 1.8. На рисунке 1.8а приведены временные диаграммы системной шины процессоров фирмы Freescale, а на рисунке 1.8б приведены временные диаграммы системной шины фирмы Intel.
Преобразуем временные диаграммы в таблицу истинности. Для этого проведём вертикальное сечение этих диаграмм. Видим, что на обеих временных диаграммах присутствуют единичные потенциалы (DS=1, R/W=1, WR=1, RD=1). Записываем их в таблицу истинности. Это состояние соответствует отсутствию каких либо операций в системной шине. Следующая комбинация соответствует подготовке к операции записи в системной шине процессоров фирмы Freescale (DS=1, R/W=0). В системной шине процессоров фирмы Intel нет аналога, поэтому заменим комбинацией отсутствия операций WR=1, RD=1 (то же самое мы видим по временным диаграммам). Точно так же запишем в таблицу истинности уровни сигналов, соответствующие операциям записи и чтения памяти. В результате мы получили таблицу истинности для схемы перекодировки двух разных микропроцессоров (см. таблицу 1.3).
Рисунок 1.8 – Пример временных диаграмм цифрового устройства
Теперь эта таблица истинности может быть использована для записи логического выражения и создания принципиальной схемы перекодировки сигналов записи/чтения, использующихся в системных шинах разных производителей микросхем.