- •3. Режимы функционирования технических объектов.
- •4. Основные виды анализа технических систем (тс) при математическом
- •5. Классификация математических моделей.
- •6. Операторные модели систем (частотные, преобразование Лапласа, z-преобразование).
- •7. Свойства преобразования Лапласа.
- •9. Свойства пф. Классификация типовых пф.
- •10. Анализ систем в частотной области.
- •11. Анализ устойчивости тс: определения, критерии устойчивости, примеры анализа.
- •12. Качественный анализ технических систем. Необходимость выполнения качественного анализа технических систем, его цели.
- •13. Моделирование нелинейных систем: определение нелинейной системы, виды нелинейных характеристик элементов технических систем.
- •14. Особенности поведения и анализа нелинейных систем, методы решения систем нелинейных ду.
- •15. Модели нелинейных систем на фазовой плоскости. Анализ технических систем по фазовому портрету. Примеры построения фазовых портретов.
- •16. Факторные модели и модели регрессионного анализа. Примеры реализации.
- •17. Состав пакета OrCad. Порядок работы с пакетом OrCad.
- •18. Спектральный анализ в OrCad.
- •19. Частотный анализ в OrCad.
- •20. Статистический анализ в OrCad.
- •21. Язык моделирования pSpice. Основные семантические конструкции языка pSpice.
- •22. Язык моделирования pSpice. Описание топологии схемы.
- •23. Язык моделирования pSpice. Первые символы имён компонентов.
- •24. Язык моделирования pSpice. Классификация моделей компонентов. Имена типов моделей.
- •25. Математические операции в pSpice: классификация, порядок и примеры применения.
- •Name — имя функции;
- •27. Язык pSpice. Анализ режима по постоянному току.
- •28. Язык pSpice. Частотный анализ.
- •29. Язык pSpice. Спектральный анализ.
- •30. Язык pSpice. Анализ шума.
- •31. Примеры описания директив на языке pSpice.
- •35. Реализация поведенческой модели в пакете OrCad. Применение элементов библиотеки abm.Slb.
- •36. Моделирование аналого-цифрового преобразователя (ацп) в пакете OrCad.
- •37. Моделирование цифро-аналогового преобразователя (цап) в пакете OrCad.
- •38. Основные блоки и конструкции языка vhdl.
- •39. Модели описания цифровой системы. Примеры.
- •40. Структура описания архитектурного тела vhdl. Примеры.
- •41. Структура описания интерфейса проекта на языке vhdl. Примеры.
- •42. Синтезируемое подмножество языка vhdl.
- •43. Интерфейс и архитектура объекта в языке vhdl.
- •44. Карта портов и карта настройки в языке vhdl.
- •45. Параллельный оператор generate в языке vhdl: назначение, общая формаописания, примеры применения.
- •46. Алфавит языка vhdl.
- •47. Скалярные типы в vhdl.
- •48. Регулярные типы в vhdl.
- •49. Физические типы в vhdl. Тип time.
- •50. Стандартные типы в vhdl.
- •51. Понятия сигнала и переменной в vhdl.
- •52. Атрибуты сигналов в языке vhdl.
- •53. Атрибуты скалярного типа в языке vhdl.
- •54. Атрибуты регулярного типа в языке vhdl.
- •55. Циклы в vhdl.
- •56. Оператор ветвления и селектор в vhdl.
- •57. Объявление компонента в vhdl. Включение компонента в схему.
- •58. Модели задержки в языке vhdl. Примеры применения.
- •59. Примеры описания регистровых схем на языке vhdl. Триггер d-типа
- •Vhdl-файл имеет следующее описание:
- •D-триггер с асинхронным сбросом
- •60. Основные операции в vhdl. Приоритеты операций.
- •61. Типы std_ulogic и std_logic.
- •62. Спецификация процедуры в vhdl.
- •63. Спецификация функции в vhdl.
- •Объявление функции
- •64. Пакет std_logic_arith. Функции преобразования типов.
46. Алфавит языка vhdl.
Как и любой другой язык программирования, VHDL имеет свой алфавит – набор символов, разрешенных к использованию и воспринимаемых компилятором. В алфавит языка входят:
Латинские строчные и прописные буквы: A, B, . . . , Z и a, b, . . . , z
Цифры от 0 до 9.
Символ подчеркивания «_» (код ASCII номер 95).
Из символов, перечисленных в пп. 1–3 (и только из них!) могут конструироваться идентификаторы в программе. Кроме того, написание идентификаторов должно подчиняться следующим правилам:
идентификатор не может быть зарезервированным словом языка;
идентификатор должен начинаться с буквы;
идентификатор не может заканчиваться символом подчеркивания «_»;
идентификатор не может содержать двух последовательных символов подчеркивания «__»;
Примеры корректных идентификаторов:
cont, clock2, full_add
Примеры некорректных идентификаторов:
1clock, _adder, add__sub, entity
Следует отметить что прописные и строчные буквы не различаются, т.е. идентификаторы clock и CLOCK являются эквивалентными.
Символ «пробел» (код 32), символ табуляции (код 9), символ новой строки (коды 10 и 13).
Данные символы являются разделителями слов в конструкциях языка. Количество разделителей не имеет значения. Т.о. следующие выражения для компилятора будут эквивалентны:
count:=2+2;
count := 2 + 2 ;
count := 2
+
2;
Специальные символы, участвующие в построении конструкций языка:
+ – * / = <> . , ( ) : ; # ' " |
Составные символы, воспринимаемые компилятором как один символ:
<= >= => := /=
Разделители между элементами составных символов недопустимы.
47. Скалярные типы в vhdl.
Скалярные типы — это базовое множество предопределенных типов, из которых конструируются все остальные типы в VHDL. Всего определено четыре вида скалярных типов: целый, с плавающей точкой, перечисление (enumertaion) и физический тип. Также есть возможность задавать подтипы скалярных типов.
Целый тип (integer) Объекты целого типа используются для представления абстрактных числовых значений, диапазон представления ограничен разрядностью платформы. Существует возможность задания диапазона при помощи добавочных целых типов. Для формирования значения целых типов используются целые литералы. Примеры объявления целых типов и объектов:
type Bus_width is range 0 to 64; type Bus_width is range 63 downto 0; – объявление переменных и сигналов данных типов variable address_range: Bus_width:=32; signal current_slot: Bus_index;
Для целых типов предопределены все обычные арифметические операторы и операторы отношения, при этом оба аргумента оператора должны быть одного типа. Для обеспечения сравнения объектов разного типа в VHDL определены преобразования для тесно связных типов. Все целые типы и типы с плавающей точкой являются тесно связанными типами, и их можно сравнивать при помощи явного преобразования:
if Bus_index (address_range) > current_slot …
При преобразовании между типом с плавающей точкой и целым типом выполняется округление до ближайшего целого.
Тип с плавающей точкой (real) Объекты типа с плавающей точкой используются для представления абстрактных числовых значений, тип геа1 предопределен и включает вещественные числа. Добавочные типы с плавающей точкой могут быть объявлены явно заданием диапазона значений, допустимых для объектов данного типа. Для формирования значения типа с плавающей точкой используются действительные литералы. Примеры добавочных типов с плавающей точкой и формирования значений приведены ниже:
type Speed is range 0.0 to 100.0; constant low_speed: Speed := 5.0; variable current_speed: Speed;
Для типов с плавающей точкой действуют аналогичные целым типам правила преобразования при выполнении арифметических операций и операций отношения.
Перечислимый тип (enumeration) Перечисление определяется множеством возможных значений объектов данного типа. Значения перечислимых типов упорядочены и отношение упорядочения определяется последовательностью их появления в списке объявления типа. Примерыобъявленияперечислимыхтиповиобъектов:
type Oruent is (North, South, West, East); type bit4 is (‘U’, ’0′, ’1′, ‘Z’); signal synch, ready: bit4; variable direction: Orient; variable test result:probability; signal proceed:boolean; — предопределенныйперечислимыйтип
Существует несколько предопределенных перечислимых типов: boolean, bit, character и т.д.
Подтипы скалярных типов Для ограничения диапазона принимаемых скалярным объектом значений используется объявление подтипа. Объявление подтипа определяет базовый тип (base type) и ограничение диапазона (range constraint); базовый тип и ограничение диапазона могут быть включены прямо в объявление объекта:
subtype SW_orient is Orient range South to West; signal unit_orient: SW_orient; signal unit_orient1: Orient range South to West;
В ходе моделирования проверяется соответствие назначаемого значения заданному диапазону, и в случае нарушения моделирование останавливается и выдается сообщение, описывающее это нарушение.
Операторы определяются для типов, а не для подтипов, поэтому объекты с общим базовым типом могут использоваться в одном выражении.
Предопределенные атрибуты скалярных типов Характеристики скалярных типов и подтипов могут быть определены в программе при помощи атрибутов. Для скалярного типа Т доступны следующие атрибуты: • T’low — возвращает наименьшее значение объекта данного типа; • T’high — возвращает наибольшее значение объекта данного типа; • T’left — возвращает левую границу значений объекта данного типа; • T’right — возвращает правую границу значений объекта данного типа;
Примеры значений атрибутов для типа:
type Bus_index is range 63 downto 0; Bus_index’low = 0 Bus_index’high = 63 Bus_index’left = 63 Bus_index’right = 0
Целый, перечислимый и физический типы имеют позиционный номер (0-based), связанный с каждым значением типа. Для определения соответствия элемента типа и его позиции, а также для итерирования позиции определены следующие атрибуты: • T’pos(value) — возвращает позицию указанного элемента; • T’val(position) — возвращает элемент, находящийся в заданной позиции; • T’pred(value) — возвращает предыдущий указанному элемент (без учета направления диапазона); • T’succ(value) — возвращает следующий за указанным элемент (без учета направления диапазона); • T’leftof(value) — возвращает элемент слева от указанного; • T’rightof(position) — возвращает элемент справа от указанного.