- •Раздел 1. Общеобразовательные дисциплины
- •Раздел 2. Специальные дисциплины
- •Раздел 1. Общеобразовательные дисциплины
- •1.Основные понятия теории вероятностей. Случайные события, случайные величины. Функция распределения вероятностей, плотность распределения вероятностей.
- •2.Среднее значение (момента) случайных величин. Математическое ожидание, дисперсия.
- •3. Характеристическая функция случайных величин.
- •4. Нормальное (Гауссовское) распределение случайных величин. Плотность распределения и характеристическая функция момента.
- •5. Независимость случайных величин. Совместное распределение двух случайных величин. Условное распределение.
- •6. Семиуровневая модель osi/iso (гост р исо/мэк 7498-1-99).
- •Взаимодействие уровней модели osi
- •Уровень представления данных (Presentation layer)
- •Сеансовый уровень (Session layer)
- •Транспортный уровень (Transport Layer)
- •Сетевой уровень (Network Layer)
- •Канальный уровень (Data Link)
- •Физический уровень (Physical Layer)
- •7. Технико-экономические аспекты создания программного обеспечения вс. Оценка стоимости программной разработки.
- •8. Распределение затрат по фазам и видам работ программной разработки.
- •9. Компилятор в языках высокого уровня. Функции. Виды компиляторов.
- •Функции
- •Компиляторы
- •10. Ассемблер. Основные языковые конструкции. Необходимость двухпроходной трансляции. Основные работы, выполняемые транслятором. Таблицы транслятора.
- •11. Формальный язык. Грамматика. Сентенциальная форма. Нисходящий и восходящий анализ.
- •Грамматика
- •12. Понятие алгоритма и его свойства. Нормальные алгоритмы Маркова.
- •13. Иерархия запоминающих устройств. Кэш-память. Работа с кэш-памятью.
- •14. Прерывания. Классификация прерываний. Организация обработки прерываний.
- •15. Виды параллелизма. Векторная и конвейерная обработка. Классификация вычислительных комплексов по сочетанию потоков данных и потоков команд.
- •16. Информационная интегрированная среда предприятия. Общая база данных об изделиях (обди). Разделы обди.
- •17. Электронный документ. Технический электронный документ: форма представления, виды, жизненный цикл.
- •18. Электронная цифровая подпись. Суть и процесс использования электронной цифровой подписи.
- •19. Автоматизированные информационные системы. Цели и методы автоматизации.
- •20. Автоматизированные информационные системы. Математическое и программное обеспечение. Математическая модель. Программное изделие.
- •21. Свободное программное обеспечение: суть, области и проблемы использования.
- •22. Жизненный цикл программного обеспечения. Длительность. Состав. Стадии сопровождения.
- •Раздел 2. Специальные дисциплины
- •1. Модуль в языке System Verilog. Определение модуля, его применение. Задание портов и параметров.
- •2. Типы данных. Wire, reg, logic. Массивы. Строковый тип. Задание числе (в двоичном, десятичном, шестнадцатиричном виде).
- •3. Примитивы, типы примитивов. Объявление и применение примитивов.
- •4. Процедурные блоки (initial и always). Операторы управления временем.
- •Управление временем
- •5. Процедурные операторы. Операторы условного перехода. Операторы цикла. Операторы назначения. Оператор непрерывного назначения.
- •6. Маршрут проектирования программ плис. Средства разработки и проверки. Структура плис. Временные задержки сигналов
- •7. Математическое, программное и информационное обеспечение сапр. Математическая модель. Программное изделие.
- •8. Виды обеспечений, типы подсистем сапр. Общие требования к типовым сапр рэа.
- •9. Принципы измерения вектора движения ка
- •10. Геоцентрическая инерциальная система координат. Прямоугольные, сферические и геодезические координаты
- •11. Классификация орбит ка по параметрам движения. Параметры орбиты по Кеплеру.
- •12. Четыре основных свойства по.
- •13. Каскадная и спиральная модель жизненного цикла программного обеспечения
- •V модель (разработка через тестирование)
- •14. Биологический нейрон. Математическая модель нейрона. Связь искусственных нейронных сетей (инс) с другими дисциплинами. Проблемы, решаемые в контексте инс.
- •15. Архитектура нейронных сетей. Однослойный персептрон. Функции активации. Многослойный персептрон.
- •16. Понятие обучения. Методы обучения. Обучение персептрона. Процедура обратного распространения.
- •Метод к- ближайших соседей
- •Процедура обратного распространения
- •17. Гипотеза Хебба. Гипотеза ковариации. Конкурентное обучение.
- •18. Понятие vc-измерения (Вапника-Червоненкиса). Оценки обобщающей способности в задаче классификации. Теорема об универсальной аппроксимации.
- •19. Сети с локальным базисом. Сравнение сетей rbf с многослойным персептроном.
- •20. Сети Кохонена. Формализация задачи классификации для сети Кохонена. Алгоритм классификации для сети Кохонена.
- •21. Обучение Больцмана. Стохастические модели. Правило обучения Больцмана. Машина Больцмана.
- •22. Нейрокомпьютеры. Основные понятия. Классификация нейрокомпьютеров.
- •1. Что такое нейрокомпьютер?
- •2. Нейронные сети - основные понятия и определения
- •3. Модели нейронных сетей
- •3.1. Модель Маккалоха
- •3.2. Модель Розенблата
- •3.3. Модель Хопфилда
- •3.4. Модель сети с обратным распространением
- •4. Задачи, решаемые на основе нейронных сетей
- •5. Способы реализации нейронных сетей
- •6. Выводы
2. Типы данных. Wire, reg, logic. Массивы. Строковый тип. Задание числе (в двоичном, десятичном, шестнадцатиричном виде).
Тип данных определяет набор значений и набор операций над этими значениями.
bit | logic | reg | byte | shortint | int | longint | integer |time | byte | struct| union | enum | string | event и т.д. - все это типы данных.
Итак, в SV выделяют следующие классы объектов: литералы, параметры, константы, переменные, сигналы и атрибуты. Все они описаны в стандарте. Мы же рассмотрим поподробнее классы объектов "переменные" (variables) и "сигналы" (nets). К классу "сигналы" относятся-
supply0 | supply1 | tri | triand | trior | trireg | tri0 | tri1| uwire | wire | wand | wor.
Объекты класса "сигналы" по умолчанию относятся к типу данных logic и поэтому: wire a; и wire logic a; эквивалентны. Все, что явно не объявлено объектом класса "сигналы", становится объектом класса "переменные". Объявить переменную можно с помощью типа данных и следующего за ним названия переменной: logic a; или с добавлением ключевого слова var:
var logic a;
Это эквивалентные записи. При использовании var тип данных можно не указывать, тогда по умолчание тип данных будет logic.
wire
wire используется для соединения различных элементов;
wire представляет собой физический провод (цепь);
wire можно считывать или присваивать;
wire не может хранить значение;
Для определения состояния сигнала в цепи, у нее должен быть источник сигнала (драйвер), который будет непрерывно управлять цепью;
wire может иметь несколько драйверов;
Назначить драйвер для wire можно с помощью оператора непрерывного присваивания assign или через порт модуля;
При синтезе wire всегда воспринимается как провод
reg
reg в Verilog/SystemVerilog представляет элементы хранения данных (аналог переменной в языках программирования)
reg не всегда представляет физический регистр. При синтезе может получиться регистр (flip-flop), регистр-защелка (latch) или комбинационная логика (еще есть вариант, когда может вообще ничего не получиться - это называется несинтезируемая конструкция).
logic
Ключевое слово logic было добавлено в стандарт, чтобы разработчики больше не думали, что используя переменнуюreg, они получат физический регистр. logic - это эквивалентreg.
Если к переменной типа logic одновременно осуществляется несколько присваиваний, то выбирается последнее.
Присваивание переменной типа logic можно осуществить с помощью оператора непрерывного присваивания assign(тогда она воспринимается, как wire), через порт модуля или в процедурном блоке:
logic sum;
assign sum = a ^ b; // как wire
always_comb sum = a + b; // как reg
adder adder_inst(.out(sum), .op1(a), op2(b)); // как wire
В программировании, строковый тип (англ. string «нить, вереница») — тип данных, значениями которого является произвольная последовательность (строка) символов алфавита. Каждая переменная такого типа (строковая переменная) может быть представлена фиксированным количеством байтов либо иметь произвольную длину.
Массив (также, — в некоторых языках программирования, — «таблица», «ряд», «матрица») — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом. При этом — доступ к отдельным элементам массива осуществляется с помощью индексации (то есть через ссылку на массив с указанием номера (индекса) нужного элемента); за счёт этого и в отличие от списка — массив является структурой данных, пригодной для осуществления произвольного доступа к её ячейкам.
Массивы (Arrays )
Регистры (Registers), целые числа (integers) и временные (time) типы данных можно объявлять как массивы, как это показано в нижеследующем примере:
Объявление
<data_type_spec> {size} <variable_name> {array_size}
Использование
<variable_name> {array_reference} {bit_reference}
reg data [7:0]; // 8 1-разрядных элементов
integer [3:0] out [31:0]; // 32 4-битных элемента
data[5]; // 5 8 битных элементов
Целые числа могут быть:
двоичными (binary), обозначаются b или B;
десятичными (decimal, d или D);
шестнадцатеричными (hexidecimal, h, H);
или восьмеричными (octal, o или O);
Для определения чисел используются следующие форматы:
<разрядность>'<основание><число> - полное описание числа
<основание><число>: используется разрядность представления, заданная в системе по определению, но не менее 32 бит.
<число>: используется, когда по умолчанию десятичное основание
Разрядность определяет число бит под представление числа. Например
8'b10100010 // 8 битное число в двоичной системе
8'hA2 // 8 битное число в шестнадцатиричной системе