
- •Ответы к экзамену по курсу «Моделирование»
- •Общая методология моделирования. Принципы моделирования.
- •2.Категории языка gpss. Модельное время в gpss.
- •3.Операторы Generate и Terminate в gpss.
- •4. Равномерный, нормальный, биномиальный и пуассоновский законы распределения случайных величин.
- •5. Цепи текущих и будущих событий в gpss
- •7. Задание дискретных и непрерывных функций распределения в gpss.
- •8. Организация ветвлений в gpss.
- •17. Ансамбли и группы транзактов в gpss.
- •9.Стандартные числовые атрибуты.
- •10.Моделирование многоканальных устройств в gpss. Прерывание работы устройств в gpss
- •11. Приоритеты, недоступные состояния, проверка состояния в gpss.
- •12. Таблицы в gpss
- •13.Резидентное и транзитное время транзактов
- •14.Переменные, операции в gpss. Оператор Select.
- •15. Проверка числовых выражений в gpss. Изменение значений параметров в gpss.
- •16. Сохраняемые величины в gpss.
- •19.Составные части описания устройств в vhdl.
- •20. Типы данных в vhdl
- •21. Понятие сигнала в vhdl. Средство описания сигналов.
- •22.Операторы Process в vhdl.
- •24.Операторы if и Case.
- •25. Структурная и поведенческая модель в vhdl
- •27.Методы асинхронного и синхронного моделирования. Виды состязаний в цифровых схемах.
- •28.Методы выявления статических и динамических состязаний в цифровых схемах.
- •29.Основные понятия технической диагностики. Классы неисправностей цифровых схем.
- •30. Построение контролирующего теста. Метод тфн. Словарь неисправностей.
- •31. Построение контролирующего теста. D-алгоритм Рота.
- •32.Подходы, используемые при контроле последовательностных схем. Построение установочной последовательности.
- •33. Построение переводящей и диагностической последовательностей.
- •34. Построение контролирующего теста с использованием моделирования.
- •35. Самотестирующиеся схемы
13.Резидентное и транзитное время транзактов
С транзактами связано использование двух временных параметров:
Интервал времени, в течение которого транзакт находится в модели – резидентное время (РВ).
Интервал времени, в течение которого транзакт проходит из одной точки в другую – транзитное время (ТВ).
Для вычисления РВ целесообразно использовать СЧА №1:
<имя> TABLE M1, B, C, D
GENERATE
TABULATE <имя>
TERMINATE
Для вычисления ТВ первую точку необходимо пометить. Подобная операция выполняется с помощью блока MARK A, где A – определяет номер параметра транзакта, в котором хранится абсолютное модельное время. Для вычисления ТВ необходимо использовать:
<имя> TABLE MP3, B, C, D
GENERATE
…
MARK P3
…
TABULATE <имя>
14.Переменные, операции в gpss. Оператор Select.
Переменные GPSS. При построении моделей достаточно часто возникает задача использования сложных математических выражений. Для записи подобных выражений используются переменные в GPSS. Переменная бывает трех типов:
Арифметические переменные (целый тип)
Переменные с плавающей точкой
Булевые переменные
Прежде чем работать с переменной, ее необходимо определить с помощью блока:
<имя переменной> Variable <операнд (выражение, определяющее значение переменной) >
Арифметические выражения включают имена переменных, знаки операций, скобки: Операции: + , - , # (умножение), / , & (деление по модулю 2), * (используется для косвенного задания параметров).
В выражении наряду с переменными могут участвовать стандартные числовые атрибуты.
Res Variable FC5+18
Переменная Res принимает значение числа занятий прибора 5+18
Variable QT$WAIT+3 – FN$OST#17
Переменная образуется как текущее значение очереди WAIT+3 – значение функции OST*17
1 Variable Q*P7
Переменная принимает текущее значение длины очереди * на значение 7 параметра транзакта.
При использовании выражений можно использовать ( ).
Приоритет операций: «* / &» - высший приоритет; «- +» – низший.
Все промежуточные вычисления с арифметическими переменными (целочисленные) ведутся с отбрасыванием дробной части, однако в ряде случаев, особенно при работе с непрерывными значениями распределения нужно использовать представления с плавающей точкой, тогда все промежуточные вычисления будут вестись без отбрасывания дробной части, однако в конце дробная часть отбрасывается.
Для задания переменных с плавающей точкой используется:
<имя> FVariable <выражение>
Alert Variable (Q1+Q2+Q3)/3+1/2 = 4
Ter FVariable (Q1+Q2+Q3)/3+1/2 = 5
При моделировании сложных комплексов часто возникает задача индивидуальной работы с отдельными узлами МКУ или индивидуальной работы с ОКУ. Для этих целей используется оператор: Select X A, B, C, D, E, (F)
Выбор осуществляется по некоторому СЧА. Имя СЧА задается в операнде E. Как правил, работа осуществляется со многими ОКУ, либо отдельными устройствами в рамках МКУ, поэтому параметр В определяет наименьший номер устройства, параметр С – наибольший номер рассматриваемого устройства, D – значение с которым должно сравниваться текущее значение СЧА. Номер выбранного устройства записывается в параметр А, Х – логический оператор, который определяет функцию выбора.
Интерпретатор GPSS определяет принадлежность к ОКУ или МКУ по мнемонике задаваемой операндом GATE:
NU, V - для ОКУ
SE, SV, SF - для МКУ
Логический оператор Х имеет группу соотношений определяющих логический выбор устройств:
X |
Описание параметров E, D |
G |
E>D |
GE |
E>=D |
E |
E=D |
NE |
E≠D |
L |
E<D |
LE |
E=<D |
Если условие заданное логическим оператором Х выполняется, то транзакт переходит в следующий блок, если не выполняется, то: 1) если задан операнд F, то в нем всегда задано имя, куда перейти; 2) задерживается.
Select L 3,5,8,0.25,SR – СЧА SR определяет занятость устройства SR, то есть если существует устройство из 5,6,7,8 с занятостью <0.25, то номер этого устройства запишется в третий параметр транзакта.
В большинстве случаев пользователя интересуют крайние величины СЧА (max очередь, min загрузка) в этом случае блок Select может быть записан в укороченном формате: Select min 6,1,5,,FR – оператор среди устройств 1,2,3,4,5 выделяет устройство с min загрузкой и номер этого устройства записывается в шестой параметр транзакта.
Пример: в супермаркете покупатель имеет возможность оплатить свой товар в одной из пяти касс, если имеется свободная касса, он подходит к ней, если подобной нет, он становится в кассу, где min очередь.
В первом блоке проверяется имеется ли среди пяти касс свободная.