- •Ответы к экзамену по курсу «Моделирование»
- •Общая методология моделирования. Принципы моделирования.
- •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. Самотестирующиеся схемы
20. Типы данных в vhdl
Перечисляемые типы данных:
type <имя> is <элементы перечисления>
type T1 is (‘1’,’2’,’3’)
type COM is (‘ADD’,’SUB’,’MUL’)
BIT {0,1}
BOOLEAN (TRUE, FALSE)
Битовый тип обычно используется при описании сигналов и определяет уровни сигналов 0 и 1. BOOLEAN используется в логических выражениях операторов if, case и т.д.
Числовой тип:
Обычно имеет целое или вещественное значение. Достаточно часто вещественный тип не поддерживается компилятором.
type <имя> is <диапазон значений>
type T35 is range 1 to 100
T06 is range 100 downto 1
Физический тип:
Обычно используется для описания физических величин моделируемого процесса.
Сложный тип:
Массивы:
type <имя> is array <диапазон> of <тип>
type word is array (31 downto 0) of BIT
word (21) – обращение к 21-му биту. VHDL допускает описание многомерных массивов.
21. Понятие сигнала в vhdl. Средство описания сигналов.
Классы объектов VHDL включают:
константы
переменные
сигналы
Константы – это объект, значение которого не меняется
Constant <имя> : <тип> : = <начальное значение>
Constant Forse : MLT : = (‘3’)
Перед определением константы должен быть определен тип.
MLT – перечисляемый тип
При работе с битовыми массивами часто используется тип BIT_VECTOR
Constant REG : BIT_VECTOR : = ‘00011111’
Начальные значения могут быть заданы в следующих формах:
Десятичные
Строковые
Строка бит
Символьная
Базовая
Если необходимо указать систему счисления: 2#1001#, 16#ABCD#, 10#99#
Символьная константа задает перечисление отдельных символов ASCII взятых в апострофы ‘A’, ‘a’, ‘c’.
Для задания строковых констант строка записывается в апострофах “REG”
Переменные – объект, значение которого может меняться в процессе моделирования.
Variable <имя> : <тип> : = <начальное значение>
При моделировании устройств целесообразно использовать понятие сигнала. С ним связано задание входных и выходных значений. Сигналы можно использовать для задания моделируемых точек объекта. Принадлежность к сигналу определяется конструкцией: <=
c <= not (a and b)
signal <список сигнала> : <тип> : = <начальное значение>
Безусловное назначение сигнала
Формат: <имя сигнала> <= <выражение>
Пример: описать дешифратор на два входа и 4 выхода.
При написании программы может использоваться, либо структурный подход, либо потоковый. Структурный ориентируется на описание всех используемых компонентов. Потоковый подход абстрагируется от компонент и ориентируется на информационные потоки и описывается в виде булевых функций.
Entity DECODER (дешифратор) is
Port (A0, A1, E: in BIT;
D0, D1, D2, D3: out BIT);
End DECODER
Architecture DECODER.ARH of DECODER is
BEGIN
D0<=not A0 and not A1 and E
D1<=not A0 and A1 and E
D2<=A0 and not A1 and E
D3<=A0 and A1 and E
END DECODER_ARH
Написание программы в ряде случаев упрощается с битовыми строками:
Entity DECODER is
Port (A: in Bit_vector (1 down to 0);
E: in BIT;
D: OUT Bit_vector (0 to 3));
End DECODER
Architecture DECODER.ARH of DECODER is
BEGIN
D(0)<=not A(0) and not A(1) and E;
D(3)<=A(0) and A(1) and E;
End DECODER_ARH
Условное назначение сигнала
В ряде случаев назначение значения сигнала должно осуществляться с использованием сигнала
<имя сигнала><=<выражение 1> When <условие 1> Else <выражение 2>
Проверяется условие 1 и если оно истинно, то выполняется выражение 1. Выражение может выполнять серию соединенных знаками логических операций. Пример:
Интерфейсный блок
Architecture DECODER.ARH of DECODER is
BEGIN
D(0)<=’1’ When A=”00” and E=’1’ Else ‘0’;
………………………………………………...
D(3)<=’1’ When A=”11” and E=’1’ Else ‘0’;
End DECODER_ARH
Следует учесть, что если значение определено как битовое, то оно заключается в одинарные кавычки (1 или 0), если же используется определение битового вектора, то его значение берется в двойные кавычки.
Пример на описание мультиплексоров:
Entity MUX is
Port (D: in bit_vector (3 down to 0);
A: in bit_vector (1 down to 0);
F: out bit);
End MUX
Architecture MUX_ARH of MUX is
Begin
F<=D(0) When A=”00” Else
D(1) When A=”01” Else
D(2) When A=”10” Else
D(3) When A=”11”
End MUX_ARH