4. Моделирование устройств средствами Simulink
1. Моделирование логических устройств
1.1. Подготовка к работе
По указанной литературе изучить:
- правила выполнения логических операций НЕ, И, ИЛИ, исключающее ИЛИ;
-браузер Simulink и объекты подбиблиотеки Logic and Bit Operations, Sinks, Sources библиотеки Simulink.
1.2. Цель работы
Изучить основные логические операции и элементы, реализующие эти операции.
1.3. Задание и порядок выполнения работы
1. Запустить Simulink. Изучить структуру интерфейса.
2. Задания. Выполнить расчет и последующее моделирование двухвходовых (a и b) логических устройств, заданных по варианту в табл. 1.1. Для этого:
- представить два числа (a и b) двоичным эквивалентом;
- выполнить над ними операции, заданные по варианту;
- полученные результаты свести в таблицу, выполненную с использованием текстового редактора;
- проверить результаты выполненных операций путем моделирования устройств с использованием логических блоков Simulink;
- сравнить результаты моделирования с прогнозируемыми значениями;
- скопировать в отчет полученные модели и результаты проверки решения;
- сделать выводы по проделанной работе.
Таблица 1.1. Варианты логических операций.
В таблице приняты следующие обозначения: И ˄(AND), ИЛИ ˅(OR), И-НЕ (NAND), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR), эквивалентность (NXOR)
N
|
a
|
b
|
Операции
|
сравнения
|
Логические
|
1
|
115
|
70
|
a>b
|
a˅b;
|
2
|
120
|
69
|
a≥b
|
|
3
|
73
|
125
|
a
|
|
4
|
82
|
118
|
a≤b
|
|
5
|
112
|
110
|
a==b
|
|
6
|
99
|
113
|
a~=b
|
|
7
|
117
|
76
|
a>b
|
|
8
|
125
|
83
|
a≥b
|
|
9
|
79
|
116
|
a |
|
10
|
81
|
113
|
a≤b
|
a˅b
|
11
|
114
|
98
|
a==b
|
|
12
|
86
|
111
|
a~=b
|
|
13
|
42
|
98
|
a>b
|
|
14
|
74
|
101
|
a≥b
|
|
15
|
124
|
69
|
a
|
|
16
|
119
|
75
|
a≤b
|
|
1.4. Технология выполнения задания
1. Ознакомьтесь с порядком создания модели, который описан во введении.
2. С помощью встроенных функций MATLAB представьте два числа a и b, взятые по варианту из табл. 1.1, двоичным эквивалентом. Для этого в режиме прямых вычислений в командной строке MATLAB введите поочередно два числа, например, a=3 и b=9:
>> a=dec2bin(3) % преобразование 10-го числа «3» в 2-е
a =
11
>> b=dec2bin(9) % преобразование 10-го числа «9» в 2-е
b =
1001
3. В текстовом редакторе создайте таблицу, в которую внесите десятичные числа a и b и их двоичные эквиваленты. Оба числа должны быть одинаковой разрядности:
a10
|
b10
|
a2
|
b2
|
3
|
9
|
0011
|
1001
|
4. С помощью встроенные функции MATLAB (not(), and(), or(), xor()) произведите в режиме прямых вычислений логические операции над числами a2 и b2 в соответствии с вариантом. Например,
>> a=[0 0 1 1]; % вектор двоичного числа a
>> b=[1 0 0 1]; % вектор двоичного числа b
>> and(a,b)
ans =
0 0 0 1
>> not(and(a,b))
ans =
1 1 1 0
>> or(a,b)
ans =
1 0 1 1
>> not(or(a,b))
ans =
0 1 0 0
>> xor(a,b)
ans =
1 0 1 0
>> not(xor(a,b))
ans =
0 1 0 1
>> a>=b
ans =
0 1 1 1
В случае сложных операций, например, можно использовать вложенные функции: not(xor(a,not(b))).
5. Результаты расчета поместите в отчет в новую таблицу:
Таблица результатов расчета и моделирования
Операции c числами a, b
|
Встроенные функции
|
Ожидаемый результат
|
Результат моделирования
|
AND
|
and(a,b)
|
0001
|
|
NAND
|
not(and(a,b))
|
1110
|
|
OR
|
or(a,b)
|
1011
|
|
NOR
|
not(or(a,b))
|
0100
|
|
XOR
|
xor(a,b)
|
1010
|
|
NXOR
|
not(xor(a,b))
|
0101
|
|
>=
|
a>=b
|
0111
|
|
6. В Simulink создайте модель логического устройства (рис. 1.1), выполняющего заданные логические операции. В таблице 1.2 указаны названия блоков, папки в которых находятся нужные блоки для моделирования и параметры блоков, установленные по умолчанию, которые нужно изменить.
Рис. 1.1. Моделирование операций AND и сравнения
* двоичные числа a и b должны быть одинаковой разрядности.
Таблица 1.2. Значения параметров блоков моделирования
Название и назначение блоков
|
Размещение в браузере
|
Параметры блоков
|
Источник входных данных Constant
|
Simulink / Sources
|
Constant value [0 0 1 1] //значения a=3 *
|
Constant1
|
Simulink / Sources
|
Constant value [1 0 0 1] //значения b=9 *
|
Логический блок Logical Operator
|
Simulink / Logic and Bit Operations
|
Operator: AND, OR, NAND, NOR, XOR, NXOR //поочередно
|
Логический блок сравнения данных Relational Operator
|
Simulink / Logic and Bit Operations
|
Relational Operator: ==, ~=, <, <=, >, >= // по варианту
|
Регистраторы Display, Display1
|
Simulink/Sinks
|
По умолчанию
|
7. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 1.2 и 1.3.
Рис. 1.2. Окно установки параметров блока Constant
Рис. 1.3. Окно установки параметров блока Logical Operator
Рис. 1.4. Окно установки параметров блока Relational Operator
Блок Constant (источник) задает постоянный по уровню сигнал. Значение может быть скаляром, вектором или массивом. При вводе вектора числа разделяются пробелами, а сам вектор заключается в квадратные скобки, например, [1 0 1 1 0 1 1].
Блок Logical Operator реализует одну из базовых логических операций. Количество входов и вид операции устанавливается в окне параметров блока (см. рис.1.3). Все операции, кроме NOT выполняются над несколькими операндами. Операция NOT выполняется над одним операндом, например или , или над результатом логической операции.
Блок Relational Operator сравнивает текущие значения входных сигналов. В окне параметры блока устанавливается тип операции отношения. Если значения – векторы, то происходит сравнение чисел, находящихся на одноуровневых позициях.
Блок Display отображает значение в виде числа. Для отображения всех значений вектора, необходимо увеличить размер дисплея.
8. Сохраните модель в своей папке. Имена папки и файла должно содержать латинские символы (допускаются цифры, но не на первом месте).
9. Запустите модель на исполнение. Результаты вычислений отобразятся в дисплее (рис. 1.5).
Рис. 1. 5. Модель работы логического устройства
10. Двойным щелчком мыши образуйте текстовую область в модели и добавьте заголовок к модели, а также название входов a и b. Текстовые комментарии допустимо вносить только латинскими символами.
11. Полученные на дисплее значения внесите в таблицу отчет в колонку «Результат моделирования» (см. п.5 Таблица результатов расчета и моделирования). Сопоставьте результаты моделирования с ожидаемыми результатами. Если результат моделирования не совпал с ожидаемым результатом, то нужно проверить вычисления на наличие ошибки в прогнозе или изменить параметры модели.
12. Скопируйте модель в отчет с помощью клавиш клавиатуры Alt+Print Screen (см. рис. 1.4).
13. Используя полученную модель, аналогично выполните поочередно другие операции, заданные по варианту. Для каждой логической операции необходимо:
- внести изменения в схему, путем установки по варианту нужных параметров блока Logical Operator,
- запустить модель на исполнение,
- снять показания с дисплея,
- внести эти показания в таблицу отчет,
- сравнить полученный результат моделирования с ожидаемым результатом,
- скопировать скорректированную модель в отчет.
14. По окончанию работы сохраните отчет в папке с моделью и сделайте письменно выводы по проделанной работе. В отчете отразить:
- Название работы, цель работы, задание в соответствии с вариантом.
- Вычисления с ожидаемым результатом в виде таблицы.
- Модели заданий в соответствии с номером варианта.
- Результаты компьютерного моделирования.
- Выводы по работе
Do'stlaringiz bilan baham: |