Найти тему
Андрей Куликов

Логический элемент 2И-НЕ (NAND2) в логическом симуляторе наносекундных времён

"Даром дадено, даром давайте", - И. Христос.

Иногда бывает нужным исследовать поведение логических схем в диапазоне наносекундных времён. В логическом симуляторе реального времени (секундных времён, 1 секунда симуляции в 1 реальную секунду) Real Time Logic Simulator Atanua [1] такое исследование невозможно, так как типовые времена задержек логических элементов (около 22 нсек для SN7400) почти в 50 000 000 раз меньше 1 секунды. В не Real Time симуляторе электроники Circuit Simulator [2] у логических элементов времён задержки нет и, поэтому, такое исследование в нём тоже невозможно.

Для исследования поведения логических элементов в наносекундных временах, автором в Borland TurboBasic'е была написана программа не Real Time логического симулятора, а NanoSecond Time логического симулятора ("логический микроскоп" с "увеличением" ("растяжением", замедлением), по сравнению с Atanua, почти в x50 000 000 раз) с программным ("вручную") редактором логических схем. Логическая схема в симуляторе редактируются добавлением или удалением соответствующих блоков кода в программе, а не интерактивным редактором логических схем мышью, как в Atanua, Sircuit Simulator'е и им подобных.

Ниже приведён снимок модели логического элемента 2И-НЕ (2inNAND, NAND2), выполняющего двоичную бинарную (двухаргументную, двухвходовую) логическую функцию F2B7 [3], которая является минимальной симметричной функционально полной системой [4], но с добавлением времени задержки, в логическом симуляторе наносекундных времён. Двоичная бинарная логическая функция F2B1 (2ИЛИ-НЕ, 2inNOR, NOR2) тоже является минимальной симметричной функционально полной системой и более удобна при изучении, но, из-за свойств входного многоэмиттерного транзистора в первых сериях логики TTL ('00 и 'S00) была выбрана функция NAND2, из-за чего разработчикам приходилось работать в отрицательной (перевёрнутой) логике, в которой TRUE=0, а FALSE=1. Позже, в следующей серии логики TTL ('LS00) [5], отказались от многоэмиттерного транзистора на входе и фактически перешли к логике DTL и необходимость в отрицательной логике отпала.

Рис.1. Снимок результата работы модели логичеcкого элемента 2И-НЕ (NAND2) в логическом симуляторе наносекундных времён. (Для увеличения кликнуть на картинке.)

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

После включения напряжения питания, в момент времени t=0 нсек, начинается процесс перехода логического элемента в "1", который заканчивается через tP=22 нсек.

Через время задержки, для SN7400 равное 22 нсек, логический элемент готов к работе.

В момент времени t=30 нсек подаётся "1" на оба входа. Через 22 нсек, в момент времени t=30+22=52 нсек, элемент переключается в "0".

В момент времени t=60 нсек снимается "1" с одного входа (in1). Через 22 нсек, в момент времени t=60+22=82 нсек, элемент переключается в "1".

В момент времени t=90 нсек "0" и "1" на входах меняются местами. Через 22 нсек, в момент времени t=90+22=112 нсек, ничего не происходит, как и должно быть.

Основной частью программы является математическая модель логического элемента 2И-НЕ (NAND2).

Математическая модель логического элемента имеет два состояния: состояние до начала процесса переключения (до установки времени задержки со случайным отклонением от типового (22 нсек для SN7400)) и состояние после начала процесса переключения (после установки времени задержки со случайным отклонением от типового). Для двух состояний требуется один триггер (одна переменная с двумя состояниями). После переключения логический элемент опять переходит в состояние без установки начала процесса переключения.

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

Работа сложных логических схем, состоящих из нескольких логических элементов (из 2-х в случае RS-триггеров 2xNAND2 или 2xNOR2), симулируется автоматически, без задания таблицы истинности этой более сложной логической схемы. Т.е. логический элемент, кроме входных сигналов, "не видит" и "не знает", в какую логическую схему он включен и что делают другие логические элементы, а просто выполняет свою работу по своему алгоритму.

Литература:

1. Логический симулятор реального времени Atanua. Яри Комппа.

2. Симулятор электроники Circuit Simulator. Поль Фальстад.

3. Википедия. Булевы функции. Бинарные функции.

4. Википедия. Функциональная полнота. (Программа проверки правильности уравнений в статье в TurboBasice: FPOLNOTA.BAS).

5. SN7400 Datasheet(HTML) 3 Page - Texas Instruments

Приложение:

Скачать архив с TurboBasic'ом и с логическим симулятором наносекундных времён с моделью логического элемента NAND2.

Для запуска программы нужно:

1. найти в интернете DOSBox 0.74, скачать его и разместить на рабочем столе, установить CPU Speed: max 100% cycles, для этого в файле DOSBox Options, в разделе [cpu] вместо
cycles=auto
вставить
cycles=max

2. скачать заархивированный файл NAND2.rar, разместить его в отдельной папке и разархивировать,

3. перетащить TurboBaisic из папки на значок DOSBox 0.74 на рабочем столе и запустить программу NAND2.BAS.

Для повторного запуска программы NAND2.BAS нужно два раза нажать на клавишу <Enter>.

#электроника #цифровая электроника #цифровая техника #двоичная цифровая техника #binary logic #двоичные логические элементы #binary logic elements #binary digital technics #технологии ит #it technologies