Генератор слов (Word Generator)

Лабораторная работа № 4. Синтез комбинационных схем

Цели работы

1. Используя программу для моделирования аналоговых и цифровых электронных устройств Electronic Workbench (EWB), научиться реализовывать логические вентили НЕ, И-НЕ, ИЛИ-НЕ.

2. Научиться строить на логических вентилях булевы функции.

 

Теоретическая часть

Вентили

Вся компьютерная техника построена на очень простых элементах. Эти элементы называются вентилями. Вентили – электронные устройства, вычисляющие простейшие булевы функции.

В свою очередь, вентили строятся из транзисторов. Транзистор – полупроводниковый прибор, способный изменять свое сопротивление под действием управляющего напряжения (электронный переключатель, ключ).

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

Рис. 1. Инвертор: с переключателем (а); с транзистором (б)

 

На рис.1б вместо переключателя используется биполярный транзистор, а вместо лампочки – резистор. Транзистор имеет три вывода – коллектор, базу и эмиттер. На базу подается управляющее (входное) напряжение Uвх, от которого зависит, будет транзистор включен или выключен (рис.2).

Рис. 2. Принцип действия транзистора

 

Если управляющее напряжение Uвх равно логическому нулю, транзистор выключается и действует как очень большое сопротивление. Это приводит к выходному сигналу Uвых, близкому к Uпит. Если Uвх становится равно логической единице, транзистор включается и действует как проводник, Uвых = 0 В.

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

Схемы на рис.3 и рис.4 образуют вентили И-НЕ (NOT-AND, или NAND) и ИЛИ-НЕ (NOT-OR, или NOR).

 

Рис. 3. Вентиль И-НЕ

Рис. 4. Вентиль ИЛИ-НЕ

Обозначения пяти основных вентилей на электрических схемах приведены на рис. 5а – российский стандарт и на рис.5б – американский стандарт.

Рис.5. Основные вентили

 

Вентили И и ИЛИ получаются путем подключения к выходу вентилей И-НЕ и ИЛИ-НЕ инверторов. Таким образом, вентили И-НЕ и ИЛИ-НЕ требуют по два транзистора, а вентили И и ИЛИ – по три. Поэтому в большинстве компьютеров используются вентили И-НЕ и ИЛИ-НЕ. (На практике все вентили выполняются несколько сложнее, но вентили И-НЕ и ИЛИ-НЕ все равно проще, чем вентили И и ИЛИ.) Вентили могут иметь более двух входов (до восьми) и в этом случае называются 3И-НЕ, 4И-НЕ и т. д.

 

Порядок работы

1. Изучить Приложение II Руководство по Electronic Workbench.

2. Реализовать логический вентиль НЕ.

2.1. Построить следующую схему:

Рис. 1. Транзисторный инвертор

Таблица 1 – Основные элементы в Electronic Workbench.

Элемент Название Группа элементов в EWB Значение параметра Примечание
Батарея (Battery) Sources 100 мВ (100 милли- вольт) Для изменения значения параметра использовать команду контекстного меню Component properties или двойной щелчок мышью на элементе
Батарея (Battery) Sources 5 В (5 вольт) Для поворота использовать команду контекстного меню Rotate
Заземление (Ground) Sources -  
Резистор (Resistor) Basic 1 кОм (1 килоом)  
NPN-транзистор (NPN transistor) Transistors -  
Вольтметр (Voltmeter) Indicators -  
Точка соединения (Connector) Basic -  
Красный Индикатор (Red probe) Indicators Красный цвет Цвет индикатора выбирается через контекстное меню

2.2. Сохранить построенную схему под именем Inverter.ewb.

2.3. Нажать кнопку Activate simulation в верхнем правом углу EWB. На вольтметре должно появиться значение выходного напряжения в вольтах. Записать его, а также значение входного напряжения (батарея 100 мВ).

2.4. Изменить значение входного напряжения на 3 В (использовать команду Component properties контекстного меню батареи 100 мВ или двойной щелчок мышью на батарее).

2.5. Нажать кнопку Activate simulation. Записать значение входного и выходного напряжений.

2.6. Проанализировать полученные результаты. Почему данная схема называется инвертором?

 

3. Реализовать логический вентиль И-НЕ.

3.1. Построить следующую схему:

Рис. 2. Схема И-НЕ

3.2 Сохранить построенную схему под именем NAND.ewb.

3.3. Заполнить таблицу:

 

Входное напряжение Входное напряжение Выходное напряжение (вольтметр)
U1 U2  
100 мВ 100 мВ  
100 мВ 3 В  
3 В 100 мВ  
3 В 3 В  

3.4. Нажать кнопку Activate simulation в верхнем правом углу EWB. На вольтметре должно появиться значение выходного напряжения в вольтах. Записать его в соответствующую строку таблицы.

3.5. Изменить значение входного напряжения U1 на 3 В (использовать команду Component properties контекстного меню батареи).

3.6. Нажать кнопку Activate simulation. Записать значение выходного напряжения в соответствующую строку таблицы.

3.7. Изменить значение входного напряжения U1 обратно на 100 мВ, а значение входного напряжения U2 сделать равным 3 В.

3.8. Нажать кнопку Activate simulation. Записать значение выходного напряжения в соответствующую строку таблицы.

3.9. Оба входных напряжения сделать равными 3 В.

3.10. Нажать кнопку Activate simulation. Записать значение выходного напряжения в соответствующую строку таблицы.

3.11. Проанализировать полученные результаты. Почему данная схема называется И-НЕ?

 

4. Реализовать логический вентиль ИЛИ-НЕ.

4.1. Построить следующую схему:

Рис. 3. Схема ИЛИ-НЕ

4.2. Сохранить построенную схему под именем NOR.ewb.

4.3. Повторить пункты 3.3–3.10 предыдущего задания.

4.4. Проанализировать полученные результаты. Почему данная схема называется ИЛИ-НЕ?

 

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

5.1. Пример. Реализовать булеву функцию f(x,y,z), заданную таблицей истинности:

 

x y z f(x,y,z)

 

Для таблицы истинности получаем логическую формулу:

f (x, y,z) = x × y × z + x × y × z + x × y × z .

По формуле строим схему с применением логических вентилей И, ИЛИ, НЕ:

Рис. 4. Реализация булевой функции

 

Таблица 2 – Элементы для построения логических схем в EWB

Элемент Название Группа элементов в EWB Значение параметра Примечание
Переключатель (Switch) Basic Клавиша «1» (Key «1»)   Положение переключателя изменяется клавишей 1. Клавиша выбирается через команду контекстного меню Component properties или двойным щелчком мышью на элементе. Для поворота использовать команду контекстного меню Rotate
Инвертор (NOT Gate) Logic gates -  
Элемент И-НЕ (AND Gate) Logic gates 3 входа (3 inputs)   Количество входов выбирается через контекстное меню элемента
Элемент ИЛИ-НЕ (ORGate) Logic gates 3 входа (3 inputs)   Количество входов выбирается через контекстное меню элемента

 

Управляя переключателями с помощью клавиш 1, 2, 3, на входе схемы можно получить любую комбинацию 0 и 1 из таблицы истинности. По индикатору определяется выход схемы (также с помощью индикаторов можно отслеживать наличие 0 или 1 в любой части схемы). Если запустить данную модель на выполнение и перебрать все 8 входов, то выход схемы будет совпадать с требуемым значением заданной булевой функции.


 

Варианты заданий


Вариант 1

x y z f(x,y,z)

 

Вариант 4

x y z f(x,y,z)

 

Вариант 7

x y z f(x,y,z)

 

 

Вариант 2

x y z f(x,y,z)

 

Вариант 5

x y z f(x,y,z)

 

Вариант 8

x y z f(x,y,z)

 

 

Вариант 3

x y z f(x,y,z)

 

Вариант 6

x y z f(x,y,z)

 

Вариант 9

x y z f(x,y,z)

 

Вариант 10

x y z f(x,y,z)

 

Вариант 13

x y z f(x,y,z)

 

Вариант 16

x y z f(x,y,z)

 

Вариант 11

x y z f(x,y,z)

 

Вариант 14

x y z f(x,y,z)

 

Вариант 17

x y z f(x,y,z)

 

Вариант 12

x y z f(x,y,z)

 

Вариант 15

x y z f(x,y,z)

 

Вариант 18

x y z f(x,y,z)

 


Требования к отчету

Отчет по лабораторной работе должен включать:

1. Схемы логических вентилей НЕ, И-НЕ, ИЛИ-НЕ, выполненные в Electronic Workbench.

2. Таблицы входных и выходных напряжений для каждой схемы.

3. Таблицы истинности булевых функций: NOT, AND, OR, NOT-AND, NOT-OR, XOR.

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

 

Контрольные вопросы

1. Что такое транзистор?

2. Как на вход инвертора подать логический ноль? Что при этом произойдет с транзистором?

3. Если на вход инвертора подать логический ноль, ток будет протекать через транзистор? Какой потенциал окажется на выходе схемы? Почему?

4. Как на вход инвертора подать логическую единицу?

5. Вопросы 2–4 для логической единицы на входе.

6. Объяснить работу схемы И-НЕ.

7. Объяснить работу схемы ИЛИ-НЕ.


Приложение II. Руководство по Electronic Workbench

 

Введение

 

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

Программа Electronic Workbench (EWB)фирмы Interactive Image Technologies (Канада) предназначена для схемотехнического моделирования аналоговых и цифровых радиоэлектронных устройств различного назначения. Эта программа легко осваивается и удобна в работе. Особенностью программы EWB является наличие контрольно- измерительных приборов, по внешнему виду, органам управления и характеристикам максимально приближенных к их промышленным аналогам, что способствует приобретению практических навыков работы с наиболее распространенными приборами: мультиметром, осциллографом, измерительным генератором и др. После составления схемы моделирование начинается щелчком обычного выключателя. Поэтому программу EWB часто применяют при обучении студентов электронике и схемотехнике [25].

 

Структура окна программы

 

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

Линейка инструментов содержит стандартные кнопки работы с файлами (создать, открыть, сохранить, печатать) и с элементами схем (вырезать, копировать, вставить).

Также на линейке инструментов присутствуют кнопки:

– Поворот выделенного элемента против часовой стрелке на 900


 
(Rotate)


 

 

– Поворот выделенного элемента относительно вертикальной оси


(Flip Horizontal)

– Поворот выделенного элемента относительно горизонтальной оси (Flip Vertical)


 

 
 
 
Кнопки и , а также поле ввода позволяют изменять масштаб схемы.

С помощью кнопки можно вызвать справочную систему (на английском языке).

Ниже линейки инструментов находится линейка библиотечных компонентов – компонентов, входящих в состав программы EWB.

Favorites (Избранное). В этот раздел помещаются подсхемы, созданные пользователем.

Sources (Источники сигналов). В раздел входят следующие компоненты:

Ground (Заземление)

Battery (Батарея)

Clock (Генератор однополярных прямоугольных импульсов)

Basic (Базовые компоненты). Раздел содержит компоненты:

Connector (Точка соединения проводников)

Resistor (Сопротивление)

Capacitor (Конденсатор)

Inductor (Индуктивность)

Switch (Переключатель)

Potentiometer (Потенциометр, переменное сопротивление)

Diodes (Диоды)

Transistors (Транзисторы). Имеются следующие виды транзисторов:

NPN Transistor (NPN-транзистор)

PNP Transistor (PNP-транзистор)

N- Channel JFET (N-канальный полевой транзистор)

P- Channel JFET (P-канальный полевой транзистор)

Analog ICs (Аналоговые микросхемы). Сюда входят операционные усилители и компараторы.


 

 
Mixed ICs (Микросхемы смешанного типа). Здесь присутствуют аналого-цифровые преобразователи (АЦП), цифро-аналоговые преобразователи (ЦАП), таймер.

Digital ICs (Цифровые микросхемы). Представлены модели промышленных микросхем серии SN74 (аналог советской серии К155), а также микросхем серии CD4000 (отечественные аналоги К164, 176, 564, 561, 1561).

 

Logic Gates (Логические вентили). Раздел содержит элементы:

2- Input AND Gate (2-входовой вентиль И). Количество входов можно изменять от 2 до 8.

2- Input OR Gate (2-входовой вентиль ИЛИ). Количество входов можно изменять от 2 до 8.

NOT Gate (Инвертор).

2- Input NOR Gate (2-входовой вентиль ИЛИ-НЕ).

2- Input NAND Gate (2-входовой вентиль И-НЕ).

2- Input XOR Gate (2-входовой вентиль Исключающее ИЛИ).

2- Input XNOR Gate (2-входовой вентиль Исключающее


ИЛИ-НЕ).


 

 

Tristate Buffer (Тристабильный элемент).

Buffer (Буферный элемент).


Здесь же представлены промышленные микросхемы, включающие в себя логические вентили.

Digital (Цифровые микросхемы). В этот раздел входят следующие элементы:

Half- Adder (Полусумматор).

Full- Adder (Полный сумматор).

RS Flip- Flop (RS-триггер).

D Flip- Flop (D-триггер).

Multiplexers (Мультиплексоры).

Decoders (Дешифраторы).

Encoders (Шифраторы).


Arithmetic (АЛУ).

Counters (Счетчики).

Shift Registers (Регистры сдвига).

Flip- Flops (Микросхемы триггеров).

Indicators (Индикаторы). Раздел включает в себя следующие индикаторные приборы:

Voltmeter (Вольтметр).

Ammeter (Амперметр).

Bulb (Лампа накаливания).

Red Probe (Светоиндикатор). Может быть красным, зеленым и


синим.


 

 

Seven- Segment Display (Семисегментный индикатор).

Decoded Seven- Segment Display (Семисегментный индикатор с


дешифратором).

Buzzer (Зуммер).

Bargraph Display (Линейка из 10 независимых светодиодов).

Decoded Bargraph Display (Линейка из 10 независимых светодиодов со встроенным АЦП).

Controls (Аналоговые вычислительные устройства). Раздел содержит дифференциатор, интегратор, ограничители и другие элементы.

Miscellaneous (Компоненты смешанного типа). Раздел


включает:


 

 

Crystal (Кварцевый резонатор).

Textbox (Текстовая строка).

Title Block (Текстовый блок).

Instruments (Контрольно-измерительные приборы).


Присутствуют следующие приборы:

Multimeter (Мультиметр) – прибор для измерения напряжения, тока, сопротивления и коэффициента усиления.


 

 
Function Generator (Функциональный генератор) – предназначен для задания на выходе синусоидального, треугольного или прямоугольного сигнала.

Oscilloscope (Осциллограф) – прибор для отображения формы


 
сигнала.


 

 

Bode Plotter (Измеритель амплитудно-частотных и


фазочастотных характеристик).

Word Generator (Генератор слова) – предназначен для генерации 16-разрядных двоичных слов.

Logic Analyzer (Логический анализатор) – предназначен для отображения 16-разрядных двоичных слов.

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

 

Создание схем

 

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

В общем случае процесс создания схемы начинается с размещения на рабочем поле EWB компонентов из библиотек программы в соответствии с подготовленным эскизом. Необходимая библиотека выбирается с помощью щелчка мышью на её значке. Открытую библиотеку можно расположить в любом месте с помощью перетаскивания за заголовок.

Необходимый для создания схемы компонент переносится из библиотеки на рабочее поле программы мышью при нажатой левой кнопке, после чего кнопка отпускается. Чтобы изменить параметры компонента, производится двойной щелчок по значку компонента. В раскрывающемся диалоговом окне устанавливаются требуемые параметры (сопротивление резистора, число входов логического вентиля и т. д.), и выбор подтверждается нажатием кнопки Acceptили клавиши Enter.

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


При необходимости подключения к этим выводам других проводников в библиотеке Basic выбирается Connector (точка соединения) и переносится на ранее установленный проводник. Чтобы точка почернела (первоначально она имеет красный цвет), необходимо щелкнуть мышью по свободному месту рабочего поля. Если эта точка действительно имеет электрическое соединение с проводником, то она полностью окрашивается черным цветом. Если на ней виден след от пересекающего проводника, то электрического соединения нет и точку необходимо установить заново. После удачной установки к точке соединения можно подключить еще два проводника.

Если необходимо переместить отдельный сегмент проводника, к нему подводится курсор, нажимается левая кнопка и после появления в вертикальной или горизонтальной плоскости двойного курсора производятся нужные перемещения.

 

Описания компонентов

 

Генератор слов (Word Generator)

Перенесите Генератор слов из библиотеки Instruments на рабочее поле и дважды щелкните по нему:

 

 

 

Каждая кодовая комбинация вводится с помощью клавиатуры в левое окно с полосой прокрутки (в шестнадцатеричной форме), или в нижнее окно Binary (в двоичной форме), или в окно ASCII (в символьной форме). Номер редактируемой ячейки фиксируется в окне Edit блока Address. Всего таких ячеек 1024. В процессе работы в блоке Address отображается номер текущей ячейки (Current), начальной ячейки (Initial) и конечной ячейки (Final).

Запуск генератора осуществляется в следующих режимах:

· циклическом – при нажатии кнопки Cycle. На выход генератора выдаются 16-разрядные сигналы, начиная с Initial и заканчивая Final, после чего все повторяется;

· с выбранной ячейки до конца – при нажатии кнопки Burst;


· пошаговом – при нажатии кнопки Step.

В блоке Frequency задается частота, а также единицы частоты (Гц, кГц, МГц) выдачи комбинаций.

К дополнительным органам управления относится кнопка Breakpoint – прерывание работы генератора в указанной ячейке. При этом требуемая ячейка выбирается на экране дисплея курсором, а затем нажимается кнопка Breakpoint.

 

2. Логический анализатор(Logic Analyzer)

Анализатор предназначен для отображения на экране монитора кодовых последовательностей одновременно в 16 точках схемы, а также в виде двоичных чисел на входных клеммах-индикаторах. При нажатии кнопки STOP сбор информации останавливается, а при нажатии кнопки RESET информация на экране стирается.

Анализатор снабжен двумя визирными линейками, что позволяет получать точные отсчеты временных интервалов Т1, Т2 и Т2–Т1, а также линейкой прокрутки по горизонтали, что позволяет анализировать процессы на большом временном интервале.

 

3. Микросхема арифметико-логического устройства SN 74181

В библиотеке Digital программы «Electronic Workbench» присутствует микросхема АЛУ SN 74181 (отечественный аналог К155 ИП3):

 

 

 

Эта микросхема обеспечивает 32 режима работы АЛУ в зависимости от управляющих сигналов на входах М, S0–S3. Возможные режимы задаются путем подачи сигналов на входы управления S0, S1, S2, S3. Если сигнал на входе М равен 0, то выполняются 16 арифметических операций (16 комбинаций сигналов S0...S3) с учетом переноса по входу CN (если CN=0) или без учета переноса (если CN=1). При сигнале на входе М, равном 1, выполняются 16 логических операций, задаваемых S0–S3.


Четырехразрядные операнды А и В задаются на входах А0–А3 и В0– В3 соответственно. Результат арифметической или логической операции появляется на выходах F0–F3.

В микросхеме предусмотрены выходы переноса CN+4, ускоренного переноса Р, ускоренного группового переноса G, равенства операндов А=В. Питание микросхемы осуществляется подключением источника питания 5 В ко входу VCC и заземлением входа GND.

Таблица истинности микросхемы АЛУ SN 74181

Выбор функции Логические функции М=1 Арифметические функции, M=0
S3 S2 S1 S0 С переносом CN=0 Без переноса CN=1
Not A A + 1 A
not (A or B) A + B + 1 A or B
(Not A) and B A + (not B) + 1 A or (not B)
Логический 0 –1
Not (A and B) A + Not (A and B)+ + 1 A + (A and (not B))
Not B (A or B) + +(A and (not B)) + 1 (A+B) + + (A and (not B))
A xor B A – B A–B–1
A and (not B) Not (A and B) (A and (not B)) – 1
(Not A) or B A + B +1 A+(A and B)
Not (A xor B) A + B + 1 A + B
B (A or (not B)) + + (A and B) + 1 (A or (not B)) + + A and B
A and B A and B A and B – 1
Логическая 1 A + A + 1 A + A
A or (not B) (A or B) + A + 1 (A or B) + A
A or B (A or (not B)) + A + 1 (A or (not B)) + A
A A A – 1