Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие (последняя версия).doc
Скачиваний:
10
Добавлен:
01.04.2025
Размер:
14.66 Mб
Скачать

3. Основы моделирования цифровых устройств

Цифровые устройства, оперирующие с двоичной (дискретной) информацией, подразделяются на два больших класса: комбинационные схемы — дискретные авто­маты без памяти и последовательностные — дискретные автоматы с памятью.

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

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

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

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

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

3.1. Логические элементы

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

Простейших логических операций три: отрицание (инверсия, операция НЕ), ло­гическое умножение (конъюнкция, операция И) и логическое сложение (дизъюнкция, операция ИЛИ). Более сложные логические преобразования можно свести к указан­ным операциям.

Операция отрицания выполняется над одной переменной и обозначается чер­той над переменной, например: Y = ; в EWB инверсия обозначается как Y = X` (да­лее инверсия будет обозначаться именно таким образом).

Операция логического умножения (конъюнкция) Y = Х1Х2 для двух перемен­ных выражается следующим образом: 0  0 = 0; 0  1 = 0; 1  0 = 0; 1  1 = 1, т. е. нуле­вое значение хотя бы одного из аргументов обеспечивает нулевой результат опера­ции. Операция может быть распространена и на большее число переменных.

Операция логического сложения (дизъюнкция) Y = X1 V X2 или Y = X1 + Х2 для двух переменных характеризуется следующими свойствами: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 1, т. е. единичное значение хотя бы одного из аргументов обеспечивает единич­ный результат операции.

Совокупность различных значений переменных называют набором. При таб­личном способе представления (задания) булевых функций значения аргументов (наборы) записывают в строчки таблицы и указывают значение функции на каждом на­боре (если n > 4, то такое представление становится достаточно громоздким). Булева функция п аргументов может иметь до N = 2n наборов. Поскольку функция принимает только два значения, общее число булевых функций п аргументов равно 2N = 2k, где k = 2n. Например, функция одного аргумента может иметь четыре значения: Y = X; Y = X`; Y = 1 (константа 1); Y = 0 (константа 0). Кроме указанных операций (И, ИЛИ, инверсия) на практике часто используются еще три логические операции:

ИСКЛЮЧАЮЩЕЕ ИЛИ Y = Х1  Х2; (0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 0);

ИЛИ-НЕ (функция Пирса) Y = (X1 + X2)`; (0 + 0 = 1; 0 + 1 = 0; 1 + 0 = 0; 1 + 1 = 0);

И-НЕ (функция Шеффера) Y = (Х1Х2)`; (0  0 = 1; 0  1 = 1; 1  0 = 1; 1  1 = 0).

Условные графические обозначения (УГО) логических элементов, выполняющих эле­ментарные логические операции, представлены на рис. 15.

а) б) в) г) д)

Рис. 15. Условные графические обозначения логических элементов

На рис. 15 показаны обозначения базовых логических элементов, принятые в программе EWB.

В первом ряду: а) буферный логический элемент; б) И (AND); в) ИЛИ (OR); г) ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR);

во втором ряду - их инверсные варианты: NOT, NAND, NOR, XNOR соответ­ственно;

д) триггер Шмитта.

Булева алгебра базируется на нескольких аксиомах, из которых выводят основ­ные законы булевой алгебры для преобразований с двоичными переменными. Каждая аксиома представлена в двух видах, что вытекает из принципа дуальности (двойственности) логических операций, согласно которому операции конъюнкции и дизъюнкции допускают взаимную замену, если одновременно поменять логическую 1 на логический 0, а 0 на 1, знак « V » (или « + ») на «  », а «  » на « V ». К основным аксиомам относят:

  1. операции отрицания: 0 = 1; 1 = 0.

  2. операции конъюнкции (а) и дизъюнкции (б):

(а) 0  1 = 1; (б) 1 + 1 = 1;

1  0=0 1 = 0; 0+1 = 1+0=1;

1 1 = 1; 0 + 0 = 0.

Законы булевой алгебры вытекают из аксиом и также имеют две формы выражения: для конъюнкции (а) и дизъюнкции (б). Их правильность легко проверить по таблицам истинности либо путем подстановки 0 и 1 вместо соответствующих значе­ний переменных.

1. Переместительный закон:

Х1Х2 = Х2Х1; (а) X1 + Х2 = Х2 + Х1 (б)

2. Сочетательный закон:

Х12Х3) = (Х1Х23 = Х1Х2Х3; (a)

X1 + (X2 + Х3) = (Х1 + Х2) + Х3 = X1 + Х2 + Х3. (б)

3. Закон повторения (тавтологии):

Х  Х = Х; (а) Х + Х = Х. (б)

4. Закон обращения:

если X1 = Х2, то Х1` = Х2`.

5. Закон двойной инверсии:

(X`)` = X.

6. Закон нулевого множества:

Х  0 = 0; (а) Х + 0 = Х. (б)

7. Закон универсального множества:

Х  1 = Х; (а) Х + 1 = 1. (б)

8. Закон дополнительности:

Х  Х` = 0; (а) X + Х` = 1. (б)

9. Распределительный закон:

Х12 + Х3) = Х1Х2 + Х1Х3; (a)

X1 + X2Х3 = (Х1 + Х2)  (X1 + Х3). (б)

10. Закон поглощения:

Х1 + Х1Х2 = Х1; (а) Х1Х2 + Х1Х2` = X1. (б)

11. Закон склеивания:

1 + Х2)  (Х1 + Х2`) = Х1; (а) Х1Х2 + Х1Х2` = X1. (б)

12. Закон инверсии (закон Де Моргана):

1Х2)` = Х1` + Х2`; (а) (Х1 + Х2)` = Х1` Х2` (б)

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

В отечественной литературе и документации (в отличие от УГО, см. рис. 15) логические элементы согласно ГОСТ 2.743—82 «Обозначения условные графические в схемах. Элементы цифровой техники» изображают прямоугольником (так называемое основное поле), в верхней части которого указывают символ функции: & для И, 1 для ИЛИ. Входы показывают с левой стороны прямоугольника, выходы — с правой. Допускается другая ориента­ция прямоугольника, при которой входы располагают сверху, а выходы снизу. Ин­версные входы и выходы выделяются индикатором логического отношения — не­большим кружком у вывода. Выводы питания и общий обычно не показываются. В случае необходимости шины, не несущие логической информации (в том числе пита­ния и общие), подводят к левой или правой стороне прямоугольника и помечают звездочкой.

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

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

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

Два уровня напряжения, характеризующие логические состояния, обозначают­ся: высокий Н (High — высокий) и низкий L (Low — низкий). Эти два значения назы­вают логическими уровнями. Существуют два рода так называемых логических со­глашений в зависимости от того, каким уровнем напряжения кодировать логическую 1 (и соответственно логический 0). В соглашении положительной логики более высо­кий уровень напряжения (Н) соответствует логической 1, а низкий (L) — логическому 0. В соглашении отрицательной логики — наоборот.

Элемент, выполняющий логические функции, можно оценивать с позиций как положительной, так и отрицательной логики. Его функциональная роль в обоих слу­чаях будет различной. Это важное положение, которым часто пользуются на практи­ке, вытекает из закона Де Моргана. Например, по правилам положительной логики (Н 1) элемент выполняет операцию И, а в отрицательной логике (Н = 0) он действу­ет как элемент ИЛИ, что и следует из закона Де Моргана.

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

Имея изображение логического элемента, его эквивалентную форму можно по­лучить, проделав следующие преобразования:

а) в основном поле изображения элемента символ операции & заменить на символ 1 либо наоборот;

б) все прямые входы заменить инверсными, а инверсные — прямыми;

в) все прямые выходы заменить инверсными, а инверсные — прямыми.

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

Моделирование простейших логических схем в программе EWB может проводиться с помощью логического преобразователя (см. рис. 14). На рисунке 16 приведена схема для исследования логического элемента ИСКЛЮЧАЮЩЕЕ ИЛИ. Входы этого исследуемого элемента подключаются ко входам А и В логического преобразователя, выход - к выходу OUT. Очевидно, что при наличии двух входов возможны только четыре комбинации (четыре набора) входных сигналов, что отображается на экране преобразователя в виде таблицы истинности, которая генерируется после нажатия кнопки: .

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

а) б)

Рис. 16. Исследование логических элементов

с помощью логического преобразователя

С помощью логического преобразователя можно проводить не только анализ логических устройств, но и их синтез. Допустим, что требуется составить схему и бу­лево выражение для логического элемента, у которого выходная комбинация в табли­це истинности не 0110, как на рис. 16, а 1101. Для внесения необходимых изменений отмечаем курсором в столбце OUT подлежащий изменению символ, изменяем его с помощью клавиатуры и затем, перемещаясь по столбцу клавишами управления кур­сором, изменяем по необходимости символы в других строках.

После внесения всех изменений последовательно нажимаем на кнопки:

и получаем результат, представленный на рис. 17.

Синтезированное логическое устройство показано в верхнем левом углу рис. 17, а его булево выражение — на дополнительном дисплее.

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

Рис. 17. Результат синтеза логического устройства

по заданной таблице истинности

Таким образом, для осуществления синтеза целесообразно выполнить следую­щие действия. Щелкнуть курсором мыши по иконке логического преобразователя не­посредственно на линейке приборов, чтобы раскрыть его лицевую панель. Активизи­ровать курсором клеммы кнопок А, В, ..., Н (начиная с А), в зависимости от количест­ва входов синтезируемого устройства. Внести необходимые изменения в столбец OUT и после нажатия на панели преобразователя указанных выше кнопок управления получить результат в виде схемы на рабочем поле программы и булево выражение на дополнительном дисплее.

При необходимости для двухвходовых логических элементов (см. рис. 15) количество входов можно увеличить до восьми, открывая двойным щелчком по значку компонента диалоговое окно (рис. 18).

Рис. 18. Окно установки количества входов логического элемента

По умолчанию в этом окне указано минимально возможное число входов, равное двум.

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