From e42a60816abd94c3f910e887ae95cbeb9a00a468 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Sun, 1 Jun 2025 19:36:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20readme.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 797 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 688 insertions(+), 109 deletions(-) diff --git a/readme.md b/readme.md index d45e93d..e0e0c49 100644 --- a/readme.md +++ b/readme.md @@ -48,6 +48,36 @@ L(\omega) = 20 \log_{10} |W(e^{j\omega T})| --- +## Вопрос 3. Комбинационные и последовательностные логические устройства, их описание на языке Verilog + +#### Комбинационные логические устройства +Комбинационные логические устройства — это такие схемы, в которых выходные сигналы зависят исключительно от текущих входных сигналов. Примеры включают логические элементы, мультиплексоры, дешифраторы и сумматоры. + +В Verilog описания таких устройств часто используют оператор `assign` для создания непрерывных связей. Например, логический элемент AND: + +```verilog +module and_gate( + input wire a, + input wire b, + output wire y +); + assign y = a & b; // Выход равен логическому И входов +endmodule +``` + +Для более сложных устройств, таких как 4-битный сумматор, можно использовать битовые операции: + +```verilog +module adder_4bit( + input wire [3:0] a, + input wire [3:0] b, + output wire [3:0] sum, + output wire carry_out +); + assign {carry_out, sum} = a + b; // Сложение с учётом переноса +endmodule +``` +--- # Экзаменационный билет №2 @@ -115,6 +145,62 @@ W(z) = \frac{1 - \beta z^{-1}}{1 - \alpha z^{-1}} Обучение нейросетей позволяет решать широкий спектр задач: распознавание образов, прогнозирование, управление и многое другое. +--- +## Вопрос 3. Маршрут проектирования в САПР Quartus II + +САПР Quartus II компании Intel (ранее Altera) предназначена для проектирования цифровых схем и программирования FPGA и CPLD. Основной маршрут проектирования включает несколько ключевых этапов, от создания проекта до загрузки конфигурации в устройство. + +#### Основные этапы проектирования + +1. **Создание нового проекта** + - В Quartus II откройте "New Project Wizard". + - Укажите директорию проекта, имя проекта и основное устройство FPGA/CPLD. + - Добавьте исходные файлы, если они уже созданы. + +2. **Добавление исходного кода** + - Напишите HDL-код (Verilog или VHDL) для описания логики устройства. + - Для схемотехнического подхода используйте встроенный инструмент Block Diagram/Schematic Editor. + +3. **Назначение пинов устройства** + - Используйте Pin Planner для привязки логических сигналов к физическим выводам FPGA. + - Задайте электрические характеристики пинов (например, стандарт сигналов, уровень напряжения). + +4. **Синтез проекта** + - Выполните компиляцию проекта (synthesis), чтобы преобразовать HDL-код в логические элементы устройства. + - Проверьте сообщения о предупреждениях и ошибках. + +5. **Анализ временных характеристик** + - После компиляции используйте TimeQuest Timing Analyzer для проверки временных ограничений. + - Убедитесь, что проект соответствует заданным требованиям (например, максимальная частота). + +6. **Симуляция проекта** + - Для функциональной проверки используйте встроенный инструмент ModelSim или сторонний симулятор. + - Проверьте корректность работы схемы на основе тестовых входных данных. + +7. **Компиляция и оптимизация** + - После внесения изменений в проект выполните финальную компиляцию. + - Используйте отчёты Quartus II для анализа использования ресурсов и возможной оптимизации логики. + +8. **Создание конфигурационного файла** + - Сгенерируйте файл конфигурации (например, .sof или .pof) для загрузки в целевое устройство. + +9. **Программирование FPGA** + - Используйте Programmer для загрузки конфигурации в FPGA. + - Подключите устройство через JTAG, USB-Blaster или другой интерфейс и выполните программирование. + +10. **Тестирование и отладка** + - Проверьте работу схемы на аппаратном уровне. + - Используйте SignalTap Logic Analyzer для анализа внутренних сигналов FPGA в реальном времени. + +#### Особенности маршрута проектирования в Quartus II +- **Поддержка IP-ядер**: возможность добавления готовых функциональных модулей, таких как процессоры Nios II, контроллеры памяти и интерфейсы. +- **Удобная интеграция**: инструменты для работы с внешними симуляторами и средствами отладки. +- **Многоуровневая оптимизация**: настройки для достижения наилучшей производительности или минимального использования ресурсов. + +Маршрут проектирования в Quartus II предоставляет гибкие возможности для создания цифровых систем любой сложности, от простых логических схем до высокопроизводительных встроенных решений. +--- + + # Экзаменационный билет №3 ## Вопрос 1. Частотные методы исследования цифровых автоматических систем (ЦАС). Реакция элемента ЦАС на гармоническое входное воздействие @@ -169,6 +255,53 @@ x(k) = A \cdot \sin(\omega kT + \phi) Алгоритм Розенблатта гарантирует сходимость, если данные линейно разделимы. В противном случае он не сможет найти решение. +--- + +## Вопрос 3. Язык Verilog. Структура описания проекта на Verilog + +Язык Verilog — это язык описания аппаратуры (Hardware Description Language, HDL), предназначенный для моделирования и проектирования цифровых систем. Основная цель Verilog — описывать поведение цифровой схемы и её структуру на высоком уровне абстракции. + +#### Структура проекта на Verilog + +Проект на Verilog обычно включает несколько модулей (“modules”), которые являются основными строительными блоками описания. Модуль может включать: + +1. **Заголовок модуля** + - Определение имени модуля и его интерфейса (порты ввода/вывода): + ```verilog + module module_name(input wire in1, output wire out1); + ``` + +2. **Объявление сигналов и переменных** + - Внутренние сигналы, регистры и константы, необходимые для реализации логики: + ```verilog + wire internal_signal; + reg [3:0] counter; + ``` + +3. **Поведенческое или структурное описание** + - Поведенческое описание использует операторы `always`, `initial` или `assign` для определения логики. Пример: + ```verilog + always @(posedge clk) begin + if (reset) + counter <= 0; + else + counter <= counter + 1; + end + ``` + - Структурное описание соединяет различные модули: + ```verilog + module top_module(input wire clk, reset, output wire [3:0] out); + wire internal_signal; + submodule u1 (.clk(clk), .reset(reset), .out(internal_signal)); + endmodule + ``` + +4. **Конец модуля** + - Завершается ключевым словом `endmodule`. + +Проект может включать дополнительные файлы, содержащие тестовые окружения (testbenches) для проверки работы модулей. + +--- # Экзаменационный билет №4 @@ -246,6 +379,31 @@ w_{ij}^{(new)} = w_{ij}^{(old)} - \eta \frac{\partial E}{\partial w_{ij}} Таким образом, процедура обратного распространения ошибки является основным методом обучения нейронных сетей, а ускорение ее сходимости достигается за счет комбинации методов оптимизации, правильной инициализации и настройки гиперпараметров. +--- + +## Вопрос 3. Язык Verilog. Выражения. Операторы + +#### Выражения +Выражения в Verilog описывают комбинационную логику или вычисления. Они состоят из операндов и операторов. + +#### Операторы в Verilog: +1. **Арифметические**: `+`, `-`, `*`, `/`, `%`. +2. **Логические**: `&&`, `||`, `!`. +3. **Побитовые**: `&`, `|`, `^`, `~`. +4. **Сравнения**: `==`, `!=`, `>`, `<`, `>=`, `<=`. +5. **Шифты**: `<<`, `>>`. +6. **Тернарный оператор**: + - `? :` для условных выражений: `out = (a > b) ? a : b;` +7. **Присваивание**: + - `=` (блоки `initial`), `<=` (неблокирующее присваивание в `always`). + +Пример: +```verilog +assign sum = a + b; +assign equal = (a == b) ? 1'b1 : 1'b0; +``` + +--- # Экзаменационный билет №5 @@ -310,6 +468,39 @@ x(k) = \frac{1}{2\pi j} \oint_C X(z) z^{k-1} dz Таким образом, однослойные сети эффективны для простых задач, но для более сложных случаев необходима глубокая архитектура, обеспечивающая большую выразительную силу модели. +--- + +## Вопрос 3. Язык Verilog. Подпрограммы + +Подпрограммы позволяют переиспользовать код и упрощают проектирование. + +#### Виды подпрограмм: +1. **Функции (`function`)**: + - Возвращают одно значение. + - Используются для выполнения небольших вычислений. + ```verilog + function [3:0] add; + input [3:0] a, b; + begin + add = a + b; + end + endfunction + ``` +2. **Задачи (`task`)**: + - Могут возвращать несколько значений через выходные параметры. + - Поддерживают задержки (`#`, `@`): + ```verilog + task delay_task; + input [7:0] value; + begin + #10; + $display("Value: %d", value); + end + endtask + ``` + +--- + # Экзаменационный билет №6 @@ -392,53 +583,64 @@ Cortex-A53 обычно используется в энергосберегаю ## Вопрос 1. Расчет аналогового прототипа корректирующего устройства при наличии неизменяемой непрерывной части системы методом логарифмических частотных характеристик -При проектировании корректирующих устройств (КУ) для систем автоматического управления (САУ) важно учитывать структуру системы, особенно если существует неизменяемая непрерывная часть. Один из методов построения КУ — использование логарифмических частотных характеристик (ЛАЧХ). +При проектировании корректирующего устройства (КУ) для системы автоматического управления (САУ) часто используется метод логарифмических амплитудно-частотных характеристик (ЛАЧХ), который позволяет наглядно определить влияние отдельных звеньев на поведение системы. Особое внимание уделяется случаю, когда в системе присутствует неизменяемая непрерывная часть — например, физический процесс, исполнительный механизм или датчик, параметры которых заданы и не подлежат изменению. -Процедура построения корректирующего устройства методом ЛАЧХ включает следующие этапы: +Процедура расчета включает несколько этапов: -1. Анализ структуры САУ и выделение неизменяемой непрерывной части. -2. Определение желаемых показателей системы (запас по фазе, запас по амплитуде, время переходного процесса). -3. Построение ЛАЧХ неизменяемой части. -4. Наложение требований к ЛАЧХ замкнутой системы и определение требуемой ЛАЧХ КУ. -5. Синтез передаточной функции КУ в аналоговой форме (аналоговый прототип) — обычно через подбор усилителя, интегратора, дифференцирующего звена, фильтра и т. д. -6. Проверка полученной ЛАЧХ КУ и её корректировка при необходимости. +1. **Построение ЛАЧХ неизменяемой части** — определяется амплитудно-частотная характеристика данной части системы. Это делается либо экспериментально, либо по известной передаточной функции. -Таким образом, метод позволяет учесть влияние неизменяемых элементов и целенаправленно формировать частотные свойства системы. +2. **Формулировка требований к системе** — определяются показатели качества, такие как запас устойчивости по амплитуде и фазе, требуемая полоса пропускания, форма переходного процесса. + +3. **Определение формы ЛАЧХ корректирующего устройства** — производится анализ требуемой ЛАЧХ замкнутой системы. Обычно это графическое наложение желаемой ЛАЧХ на ЛАЧХ неизменяемой части, чтобы понять, какую характеристику должен иметь КУ для выполнения требований. + +4. **Синтез корректирующего устройства** — по разности между требуемой ЛАЧХ и ЛАЧХ неизменяемой части определяется передаточная функция КУ. Формируются типовые звенья: интеграторы, дифференциаторы, фильтры и усилители. Этот прототип описывается в аналоговой форме, и его можно реализовать с помощью операционных усилителей или других аналоговых компонентов. + +5. **Проверка полученной схемы** — проводится моделирование или экспериментальная проверка, чтобы убедиться, что корректирующее устройство в сочетании с неизменяемой частью системы дает требуемый результат по частотным и переходным характеристикам. + +Метод ЛАЧХ позволяет эффективно учитывать ограничения и особенности системы, а также упрощает синтез КУ, делая его более наглядным и интуитивным. --- ## Вопрос 2. Обучение когнитрона -Когнитрон — это многослойная нейронная сеть, разработанная Кунио Фукусимой для распознавания образов. Его архитектура вдохновлена работой зрительной коры человека и включает слои клеток, выполняющих операции локального объединения и распознавания. +Когнитрон — это тип многослойной нейронной сети, разработанный Кунио Фукусимой в 1975 году для распознавания образов. Основная идея когнитрона — это моделирование процессов обработки информации в зрительной коре человека, а обучение сети происходит без явного учителя, с использованием принципов самоорганизации. -Обучение когнитрона происходит в несколько этапов: +### Архитектура когнитрона: +- **Элементарные слои**: нижние уровни сети выделяют простые признаки изображения (линии, углы, кривизны). +- **Объединяющие слои**: более высокие уровни комбинируют простые признаки в более сложные образы. +- **Слои распознавания**: заключительные уровни принимают решения о классификации образов. -* **Формирование карты признаков**: нижние слои когнитрона выделяют простые признаки (линии, углы). -* **Обучение по принципу без учителя**: веса синапсов настраиваются так, чтобы усиливать часто встречающиеся шаблоны (например, с использованием алгоритма конкуренции). -* **Закрепление связей**: после многократных проходов по обучающим примерам веса стабилизируются. +### Принцип обучения: +- **Без учителя**: обучение происходит на основе самоорганизации весов, когда нейроны усиливают реакции на часто встречающиеся паттерны. +- **Использование латерального подавления**: активные нейроны подавляют соседние, чтобы выделить наиболее выраженные признаки. +- **Фиксация связей**: после нескольких итераций обучения веса стабилизируются, формируя «навыки» распознавания. -Особенностью когнитрона является обучение без явного учителя: система учится распознавать структуры самостоятельно на основе частотного анализа входных данных. +Когнитрон способен самостоятельно обучаться выделению признаков и классификации, что делает его мощным инструментом для задач компьютерного зрения. --- ## Вопрос 3. ПЛИС типа FPGA фирмы Altera семейств Cyclone, Arria и Stratix -ПЛИС (FPGA) — программируемые логические интегральные схемы, позволяющие реализовать цифровые устройства с гибкой архитектурой. +FPGA (Field-Programmable Gate Array) фирмы Altera (ныне Intel) представляют собой программируемые логические интегральные схемы, которые позволяют реализовывать цифровые схемы с высокой степенью гибкости. Каждое семейство FPGA Altera ориентировано на разные сегменты задач: ### Cyclone - -FPGA Cyclone ориентированы на низкую стоимость и низкое энергопотребление. Предназначены для массовых приложений, таких как бытовая электроника и коммуникационные устройства. Обеспечивают базовые логические ресурсы, поддерживают PLL, встроенные мультипликаторы и блоки памяти. +- **Назначение**: массовое производство, недорогие приложения. +- **Особенности**: низкое энергопотребление, базовый набор логических элементов, поддержка PLL, встроенные блоки памяти и мультипликаторы. +- **Применение**: бытовая электроника, недорогие системы управления, обработка сигналов с невысокими требованиями к производительности. ### Arria - -FPGA Arria — устройства среднего класса, ориентированные на более сложные задачи, такие как обработка сигналов и протоколы связи. Отличаются улучшенной производительностью, поддержкой высокоскоростных интерфейсов (Transceivers) и большей плотностью логических элементов. +- **Назначение**: средний уровень сложности задач. +- **Особенности**: улучшенная производительность, поддержка высокоскоростных интерфейсов (Transceivers), большая плотность логических элементов. +- **Применение**: системы обработки сигналов, коммуникационное оборудование, промышленные системы. ### Stratix +- **Назначение**: высокопроизводительные системы. +- **Особенности**: максимальная плотность логических элементов, большое количество встроенных DSP-блоков, поддержка многогигабитных интерфейсов, высокая энергоэффективность для мощных приложений. +- **Применение**: телекоммуникации, обработка видео, большие системы обработки данных и вычислений. -Stratix — флагманская серия FPGA от Altera. Предназначены для высокопроизводительных вычислений, обработки сигналов, телекоммуникаций и систем с большими объемами данных. Отличаются высокой плотностью логических элементов, большим количеством DSP-блоков и поддержкой многогигабитных интерфейсов. - -Таким образом, выбор серии FPGA Altera зависит от задач проекта: Cyclone — для простых и экономичных решений, Arria — для задач среднего уровня сложности, Stratix — для высокопроизводительных приложений. +Таким образом, выбор семейства FPGA зависит от сложности и задач проекта: Cyclone — для простых решений, Arria — для среднего уровня, Stratix — для максимально производительных систем. +--- # Экзаменационный билет №8 @@ -451,13 +653,7 @@ Stratix — флагманская серия FPGA от Altera. Предназн Критерий Найквиста формулируется следующим образом: если при обходе контуром Найквиста комплексной плоскости (имагинальной оси от −∞ до +∞ и обратно через бесконечность) замкнутый путь вокруг критической точки (−1; 0) не обходит её, система устойчива. Количество оборотов вокруг точки (−1; 0) связано с числом полюсов системы, находящихся в правой полуплоскости. Алгоритм применения критерия Найквиста: - -1. Построить частотную характеристику разомкнутой системы. -2. Выполнить обход частотной характеристики от ω = 0 до ω = ∞ и далее от ω = −∞ до ω = 0, учтя возможные особенности функции (например, полюсы на мнимой оси). -3. Подсчитать количество обходов точки (−1; 0) в положительном направлении. -4. Проверить условие устойчивости: система устойчива, если число оборотов вокруг (−1; 0) равно количеству полюсов системы, находящихся в правой полуплоскости. - -Критерий Найквиста позволяет проводить анализ устойчивости систем с запаздыванием, колебательными процессами и другими сложными характеристиками, обеспечивая наглядное представление поведения системы в частотной области. +найквист из тау ответов --- @@ -561,175 +757,558 @@ $w_{ij}^{(new)} = w_{ij}^{(old)} + \eta \cdot x_i \cdot y_j$ Метод Хэбба часто применяется в простых архитектурах и является основой для построения более сложных моделей обучения, таких как когнитроны и нейросетевые автоассоциаторы. +--- + +## Вопрос 3. Организация памяти в системах с процессорными ядрами Nios II + +Организация памяти в системах Nios II отличается гибкостью, так как память конфигурируется в зависимости от конкретного проекта. + +#### Пространство адресов: +1. **Единое адресное пространство**: + - 32-битное адресное пространство, позволяющее адресовать до 4 ГБ памяти. + - Используется для программного кода, данных и периферийных устройств. + +2. **Типы памяти**: + - **Оперативная память (RAM)** — для хранения данных и выполнения программ. + - **Постоянная память (ROM/Flash)** — для хранения программного кода и констант. + - **Кэш-память** (в конфигурациях Nios II/f): + - Инструкционный кэш (для ускорения загрузки команд). + - Кэш данных (для ускорения операций с памятью). + +#### Иерархия памяти: +1. **Локальная память (On-Chip Memory)**: + - Встроенная память ПЛИС, доступная для быстрого доступа. +2. **Внешняя память (Off-Chip Memory)**: + - Подключается через контроллер памяти. + +#### Организация доступа к памяти: +1. **Прямой доступ (Direct Memory Access, DMA)**: + - Используется для передачи данных между периферией и памятью без загрузки процессора. +2. **Блочный доступ**: + - Поддержка объединения операций чтения/записи для повышения производительности. + +--- + # Экзаменационный билет №10 ## Вопрос 1. Построение переходных процессов. Разложение в ряд Лорана -Переходные процессы в системах автоматического управления (САУ) отражают динамическую реакцию системы на изменения входного воздействия, например, при включении, переключении режимов или возмущениях. Для анализа переходных процессов часто используют методы, основанные на обратных преобразованиях комплексных функций. +### Построение переходных процессов -Разложение в ряд Лорана — мощный математический инструмент для представления функции комплексного переменного в окрестности особенностей (полюсов). В отличие от разложения в ряд Тейлора, который существует в области аналитичности функции, ряд Лорана позволяет описать функцию с особенностями, выделяя как положительные, так и отрицательные степени переменной. +Переходный процесс в системе — это изменение состояния системы во времени после воздействия на неё внешнего возмущения или начальных условий. В теории автоматического управления и радиотехнике построение переходных процессов тесно связано с методами анализа линейных систем, такими как метод обратного преобразования Лапласа. -В контексте ЦАС (цифровых автоматических систем) разложение передаточной функции системы в ряд Лорана даёт возможность разложить систему на элементарные составляющие с разными характеристиками динамики. При построении переходных процессов это помогает выделить устойчивые и неустойчивые составляющие, а также оценить влияние полюсов и нулей. +Для построения переходного процесса \(y(t)\) системы, заданной передаточной функцией \(W(s)\), используют следующие шаги: +1. Находят изображение отклика в области Лапласа: + \[ + Y(s) = W(s) \cdot X(s) + \] + где \(X(s)\) — изображение входного сигнала. +2. Выполняют разложение \(Y(s)\) на простые дроби, чтобы затем воспользоваться таблицами преобразования Лапласа. +3. На основе разложения находят выражение \(y(t)\) через обратное преобразование Лапласа. -Построение переходного процесса обычно начинается с представления передаточной функции в виде дробно-рациональной функции. Затем выполняется разложение на элементарные дроби, которые можно преобразовать в соответствующие временные функции с использованием обратного преобразования Лапласа или Z-преобразования (для дискретных систем). Если особенности функции требуют, применяют разложение в ряд Лорана, позволяющее учесть поведение функции в окрестностях точек, где ряд Тейлора неприменим. +Особенно важен учёт полюсов передаточной функции: каждый полюс порождает слагаемое в виде экспоненты или затухающей синусоиды, что и формирует форму переходного процесса. -Таким образом, разложение в ряд Лорана расширяет возможности анализа переходных процессов, позволяя учитывать более сложные динамические эффекты и особенности системы. +### Разложение в ряд Лорана + +Разложение в ряд Лорана применяется в комплексном анализе для функций, имеющих особенности (особые точки). Оно позволяет выразить функцию \(f(s)\) в виде: +\[ +f(s) = \sum_{n=-\infty}^{\infty} a_n (s - s_0)^n +\] +где \(s_0\) — точка, вокруг которой строится разложение. + +Для анализа переходных процессов разложение в ряд Лорана используется при нахождении обратного преобразования Лапласа через метод вычетов: +- В случае простых полюсов на комплексной плоскости \(s\) разложение функции по ряду Лорана позволяет вычислить вычет, а значит, и находить обратное преобразование. +- Каждое слагаемое ряда Лорана в области \(s\) соответствует определённому элементу во временной области \(t\) после преобразования Лапласа. + +Таким образом, разложение в ряд Лорана позволяет связать поведение функции вблизи особых точек с переходным процессом во временной области. --- ## Вопрос 2. Неокогнитрон: сходство с когнитроном и отличие от него, структура сети -Неокогнитрон — это усовершенствованная архитектура нейронной сети, предложенная Фукусимой в 1980-х годах для распознавания образов, эволюционировавшая из когнитрона. +### Сходство с когнитроном -### Сходства с когнитроном -- Оба основаны на концепции многослойных сетей с иерархической обработкой признаков. -- Используют слои, ответственные за выделение и классификацию признаков на разных уровнях. -- Могут обучаться без учителя, используя принципы конкуренции и самоорганизации. +Неокогнитрон — это многослойная иерархическая нейронная сеть, разработанная Кунихико Фукусимой в 1980 году для распознавания образов. Она является развитием идеи когнитрона, предложенного Фукусимой ранее. Оба типа сетей: +- Моделируют обработку информации, подобную обработке в зрительной коре мозга. +- Имеют слоистую архитектуру: чередование слоёв объединения (S-слоёв) и слоёв конкуренции/выборки (C-слоёв). +- Используют локальные рецептивные поля: каждый нейрон обрабатывает ограниченную часть входного изображения. -### Отличия -- Неокогнитрон внедряет механизмы инвариантности к сдвигам входного изображения, что обеспечивает устойчивость к перемещению распознаваемых объектов. -- Архитектура неокогнитрона состоит из чередующихся слоев S (пространственная свертка) и C (агрегация и подвыборка), что имитирует функции зрительной коры. -- В неокогнитроне применяются методы подкрепления и более сложные правила обучения по сравнению с базовым когнитроном. +### Отличия от когнитрона -### Структура сети -- **Слои S:** выделяют локальные признаки с помощью фильтров, аналогичных рецептивным полям. -- **Слои C:** выполняют подвыборку (subsampling), снижая размерность и обеспечивая инвариантность к сдвигам. -- Множество таких пар слоев образует глубокую структуру, где каждый последующий слой работает с более абстрактными признаками. -- В конце сети обычно расположены слои классификации. +Основные отличия неокогнитрона от когнитрона: +- В неокогнитроне улучшены механизмы обучения: вместо простого обучения по типу Хэбба применяется механизм с локальными правилами обучения и самонастройкой. +- Вводится более сложная структура слоёв: + - S-слои выполняют операцию свёртки с обучаемыми ядрами (аналог фильтров), усиливая локальные признаки. + - C-слои выполняют операцию подвыборки (пулинга), повышая инвариантность к сдвигам. +- Неокогнитрон более устойчив к сдвигам, искажениям и частичной потере информации по сравнению с когнитроном. + +### Архитектура неокогнитрона + +Архитектура неокогнитрона напоминает современные сверточные нейронные сети и состоит из повторяющихся блоков: +1. **S-слои (Simple cells)** — извлечение локальных признаков из входных данных через свёртку. +2. **C-слои (Complex cells)** — агрегация выходов S-слоёв, подавление слабых реакций, инвариантность к позициям. +3. Многократное чередование S- и C-слоёв позволяет формировать сложные признаки из простых, например, линии, углы, фигуры. +4. Последний слой — классификационный, определяющий принадлежность входного изображения к одному из классов. + +Таким образом, неокогнитрон является прототипом современных сверточных сетей и показывает, как можно построить систему распознавания образов, устойчивую к шумам и искажениям. + +--- + +## Вопрос 3. Особенности системы команд процессорного ядра Nios II фирмы Altera + +Система команд Nios II отличается простотой и эффективностью, что соответствует принципам RISC-архитектуры. + +#### Основные особенности: +1. **Формат инструкций**: + - Все инструкции фиксированной длины (32 бита). + - Поддерживаются три формата инструкций: R-тип (регистр-регистр), I-тип (регистр-немедленное значение) и J-тип (прыжки). + +2. **Набор команд**: + - **Арифметические операции**: сложение, вычитание, умножение, деление. + - **Логические операции**: AND, OR, XOR, NOT. + - **Сдвиги**: логические и арифметические влево и вправо. + - **Переходы и ветвления**: условные (BEQ, BNE) и безусловные (JMP). + - **Операции с памятью**: загрузка (LOAD) и сохранение (STORE). + +3. **Регистры**: + - Всего 32 регистра общего назначения (R0–R31), где R0 всегда равен 0. + - Специальные регистры: регистр состояния (status), регистр возврата (ra). + +4. **Особенности реализации**: + - В некоторых конфигурациях доступны аппаратные ускорители для работы с плавающей запятой. + - Поддержка пользовательских инструкций (custom instructions), позволяющая расширять функциональность. + +#### Пример кода на языке ассемблера Nios II: +```assembly +addi r8, r0, 10 // Загрузить значение 10 в регистр r8 +addi r9, r0, 20 // Загрузить значение 20 в регистр r9 +add r10, r8, r9 // Сложить r8 и r9, результат в r10 +beq r10, r0, end // Если r10 == 0, перейти к метке end +end: +``` + +--- -Неокогнитрон считается предшественником современных сверточных нейронных сетей (CNN), вобравших в себя идеи и архитектурные решения этого подхода. # Экзаменационный билет №11 + ## Вопрос 1. Синтез корректирующих устройств ЦАС методом расчета по аналоговому прототипу -Синтез корректирующих устройств цифровых автоматических систем (ЦАС) с использованием аналогового прототипа — классический метод, позволяющий разрабатывать цифровые регуляторы на основе хорошо известных аналоговых схем. +### Принцип метода аналогового прототипа -Процедура включает следующие этапы: +Синтез корректирующих устройств цифровых автоматических систем (ЦАС) методом аналогового прототипа основан на использовании известных аналоговых фильтров и корректирующих устройств в качестве исходной модели. Основная идея заключается в том, чтобы: +1. Спроектировать корректирующее устройство в аналоговой форме, используя классические методы (например, частотный метод, корневой метод). +2. Затем преобразовать аналоговую систему в цифровую, используя подходящее преобразование (обычно билинейное или импульсно-инвариантное). -1. **Выбор аналогового прототипа** — корректирующего устройства, обеспечивающего требуемые показатели качества по частоте и устойчивости. -2. **Построение частотных характеристик аналогового прототипа** — амплитудно-частотной (АЧХ) и фазо-частотной (ФЧХ). -3. **Преобразование аналогового прототипа в цифровую модель** — с помощью методов дискретизации, таких как преобразование Билинейное или метод импульсно-инвариантного преобразования. -4. **Настройка параметров цифрового корректирующего устройства** — с целью сохранения свойств аналогового прототипа и достижения необходимых требований к системе. -5. **Проверка и корректировка** — моделирование переходных процессов и устойчивости. +### Этапы синтеза -Данный метод позволяет использовать проверенные схемотехнические решения и интуитивно понятные характеристики, облегчая проектирование цифровых регуляторов. +1. **Проектирование аналогового прототипа**: + - Разрабатывается передаточная функция аналогового корректирующего устройства \(G_a(s)\) на основе требований к системе (устойчивость, точность, быстродействие). + - Например, могут использоваться фильтры Баттерворта, Чебышева, корректирующие устройства типа ПИД-регуляторов. + +2. **Выбор метода дискретизации**: + - Обычно используется билинейное \(w\)-преобразование: + \[ + s = \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} + \] + где \(T\) — шаг дискретизации. + - При необходимости может быть применено импульсно-инвариантное преобразование. + +3. **Преобразование передаточной функции**: + - Аналоговый прототип \(G_a(s)\) преобразуется в цифровую передаточную функцию \(G_d(z)\) по выбранной формуле. + - При этом важно учесть возможное искажение частотного диапазона (используется предискажение частоты). + +4. **Получение разностного уравнения**: + - На основе полученной \(G_d(z)\) формируется разностное уравнение, реализующее работу корректирующего устройства в ЦАС. + +### Преимущества метода + +- Возможность использования богатого опыта аналогового проектирования. +- Сохранение характеристик аналоговой системы (например, устойчивости, формы переходного процесса) в цифровом варианте. --- ## Вопрос 2. Нейронная сеть Хэмминга -Нейронная сеть Хэмминга — это однослойная сеть, использующая весовые коэффициенты, основанные на кодах Хэмминга, предназначенная для распознавания образов и коррекции ошибок. +### Основная идея сети Хэмминга -Основные характеристики: +Нейронная сеть Хэмминга — это разновидность сетей сопоставления образов (ассоциативной памяти), предназначенная для классификации и распознавания входных шаблонов. Сеть названа в честь американского математика Ричарда Хэмминга и основана на использовании метрики Хэмминга для оценки близости между векторами. + +### Архитектура сети + +Сеть Хэмминга обычно имеет **двухслойную архитектуру**: +1. **Первый слой (линейный слой)**: + - Выполняет вычисление сходства между входным вектором \(X\) и эталонными векторами \(W_i\), используя скалярное произведение или косинусное сходство. + - Весовые коэффициенты первого слоя задаются заранее и равны обучающим образцам. + - Результаты вычислений первого слоя подаются на второй слой. + +2. **Второй слой (нелинейный слой)**: + - Реализует механизм подавления побочных реакций (механизм подавления конкурентов, lateral inhibition). + - На выходе остаётся активированным только один нейрон, соответствующий наиболее близкому образцу. + - Обычно используется правило максимального отклика. + +### Принцип работы + +- На вход сети подаётся вектор \(X\). +- Первый слой вычисляет "сходство" \(S_i\) между входным вектором и каждым эталоном: + \[ + S_i = \sum_{j} W_{ij} X_j + \] +- Второй слой подавляет все отклики, кроме максимального. +- Победивший нейрон указывает на класс, к которому относится входной вектор. + +### Особенности + +- Сеть Хэмминга обучается **однократно**, просто запоминая эталоны. +- Быстрая классификация: процесс распознавания требует одного прямого прохода через сеть. +- Основная область применения — задачи классификации и распознавания образов (например, текстовые шаблоны, сигналы, образы). + +### Отличие от других сетей + +В отличие от многослойных персептронов, сеть Хэмминга не требует многократного обучения через обратное распространение ошибки. Её задача — находить ближайший эталон в памяти на основе заданной метрики (метрики Хэмминга или косинусной меры). + + +--- + +## Вопрос 3. Проектирование на основе языков описания аппаратных средств + +#### Языки описания аппаратных средств (HDL) +Языки HDL (Hardware Description Languages) предназначены для описания структуры и поведения цифровых устройств. Основными языками являются Verilog и VHDL. Они позволяют описывать как комбинационные, так и последовательностные схемы на уровне абстракции, близком к архитектуре устройства. + +#### Основные этапы проектирования + +1. **Описание схемы**: + - Поведенческое описание (behavioral): описание функциональности без детализации архитектуры. + - Структурное описание (structural): описание взаимосвязей между модулями. + +2. **Синтез схемы**: + - Преобразование HDL-кода в сетевой граф (netlist), который отражает использование аппаратных ресурсов FPGA. + +3. **Функциональная симуляция**: + - Проверка правильности работы схемы до этапа синтеза. + - Используются инструменты ModelSim, QuestaSim и аналогичные. + +4. **Размещение и трассировка**: + - Размещение логических блоков и маршрутизация соединений на кристалле FPGA. + +5. **Анализ временных характеристик**: + - Проверка выполнения временных ограничений для корректной работы устройства. + +6. **Программирование устройства**: + - Генерация конфигурационного файла и загрузка его в FPGA. + +#### Преимущества проектирования на основе HDL +- **Ускорение разработки**: позволяет автоматизировать многие процессы проектирования. +- **Портативность**: HDL-код может быть использован для различных FPGA. +- **Модульность**: поддержка иерархии позволяет разрабатывать сложные проекты, используя простые модули. + +Пример кода на Verilog: +```verilog +module and_gate ( + input wire a, + input wire b, + output wire y +); + assign y = a & b; +endmodule +``` + +Проектирование на основе HDL позволяет разработчикам создавать сложные цифровые устройства, используя гибкие инструменты для симуляции, синтеза и оптимизации логики. -- Сеть строится на основе принципа коррекции и обнаружения ошибок, используя свойства кодов Хэмминга. -- Каждый нейрон сети соответствует определённому эталонному шаблону или коду. -- При подаче входного сигнала сеть вычисляет расстояние Хэмминга до эталонных кодов, определяя наиболее близкий к нему класс. -- Используется для задач распознавания с ограниченным числом шаблонов и в условиях шума. -Нейронная сеть Хэмминга демонстрирует эффективность в задачах классификации с чётко разделёнными классами и обладает высокой устойчивостью к ошибкам входных данных благодаря свойствам кода Хэмминга. # Экзаменационный билет №12 ## Вопрос 1. Использование билинейного w-преобразования. Использование псевдочастоты -Билинейное преобразование — один из распространённых методов дискретизации аналоговых систем, позволяющий преобразовать непрерывные передаточные функции в цифровые, сохраняя при этом устойчивость и частотные характеристики. +### Билинейное \(w\)-преобразование -Основные свойства и этапы применения билинейного преобразования: +Билинейное преобразование — это метод перехода от непрерывной к дискретной передаточной функции в цифровой обработке сигналов и системах управления. Оно позволяет преобразовать аналоговую передаточную функцию \(H(s)\) в цифровую \(H(z)\), сохраняя основные характеристики системы (например, устойчивость и характер переходных процессов). -- Преобразование отображает левую полуплоскость комплексной переменной s в единичный круг в плоскости z, что обеспечивает сохранение устойчивости. -- Формула преобразования: - \( z = \frac{1 + \frac{T}{2}s}{1 - \frac{T}{2}s} \), где T — период дискретизации. -- Частоты аналогового сигнала \( \omega \) преобразуются в псевдочастоты \( \Omega \) по формуле: - \( \Omega = \frac{2}{T} \tan \left(\frac{\omega T}{2}\right) \). -- Использование псевдочастоты позволяет учитывать искажения частотных характеристик, возникающие при дискретизации, и корректировать их при проектировании цифровых фильтров. +Формула билинейного преобразования: +\[ +s = \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} +\] +где: +- \(s\) — комплексная переменная в области Лапласа, +- \(z\) — комплексная переменная \(Z\)-области, +- \(T\) — шаг дискретизации. -Таким образом, билинейное преобразование с использованием псевдочастоты обеспечивает точное моделирование частотных характеристик и позволяет эффективно разрабатывать цифровые системы управления на основе аналоговых прототипов. +Это преобразование нелинейно и искажает частотную ось: линейная шкала в аналоговой системе сжимается к низким частотам в цифровой системе. Для компенсации этого эффекта используется техника **предварительной подстановки частоты** (frequency pre-warping). + +### Псевдочастота + +При билинейном преобразовании возникает так называемая **псевдочастота** (\(\Omega\)), которая отражает несоответствие между аналоговой частотой \(\omega_a\) и цифровой \(\omega_d\). Связь между ними: +\[ +\Omega = 2 \cdot \tan\left(\frac{\omega_d T}{2}\right) +\] +где: +- \(\Omega\) — аналоговая частота в области Лапласа \(s = j\Omega\), +- \(\omega_d\) — частота в цифровой области (в радианах на отсчет), +- \(T\) — шаг дискретизации. + +Использование псевдочастоты позволяет корректно сопоставлять характеристики аналоговой и цифровой систем, а также более точно рассчитывать коэффициенты фильтров и корректирующих устройств. --- ## Вопрос 2. Проблема переобучения алгоритма обратного распространения ошибки -Переобучение (overfitting) — одна из ключевых проблем при обучении нейронных сетей с помощью алгоритма обратного распространения ошибки. Оно возникает, когда модель слишком хорошо подстраивается под обучающие данные, но теряет способность обобщать на новые, невидимые данные. +### Обучение нейросети методом обратного распространения ошибки + +Алгоритм обратного распространения ошибки (backpropagation) — это метод оптимизации весов в многослойных нейросетях. Сеть обучается на примерах: входные данные подаются на вход сети, вычисляется ошибка между выходом сети и целевым значением, затем веса корректируются с помощью градиентного спуска. + +### Проблема переобучения + +**Переобучение** (overfitting) возникает, когда нейросеть слишком хорошо подгоняет модель под обучающие данные, включая шум и случайные отклонения, но теряет способность обобщать информацию для новых данных. Это приводит к ухудшению качества работы сети на тестовых данных, которые она раньше не видела. Основные причины переобучения: +- Слишком сложная модель (много нейронов и слоёв) по сравнению с количеством обучающих данных. +- Отсутствие регуляризации. +- Длительное обучение без контроля за ошибкой на валидационной выборке. +- Наличие шума и ошибок в данных. -- Слишком сложная модель с большим числом параметров. -- Недостаточный объем или разнообразие обучающей выборки. -- Чрезмерное количество итераций обучения. +### Методы борьбы с переобучением -Способы предотвращения и борьбы с переобучением: +- **Регуляризация**: добавление штрафов за слишком большие веса (например, \(L_2\) или \(L_1\) регуляризация). +- **Раннее остановка (early stopping)**: прекращение обучения, когда ошибка на валидационной выборке перестаёт уменьшаться. +- **Dropout**: случайное отключение нейронов на тренировке для предотвращения избыточного обучения связей. +- **Увеличение объёма обучающей выборки**: помогает сети учиться на большем количестве примеров и улучшать обобщающие способности. +- **Кросс-валидация**: регулярная проверка качества на невидимых данных. + +### Заключение + +Проблема переобучения — ключевая трудность в обучении нейросетей. Для создания надёжных моделей важно контролировать процесс обучения, использовать регуляризацию и проверять обобщающую способность сети на тестовых данных. + + +--- + +## Вопрос 3. Маршрут проектирования SOPC и возможности САПР Quartus + +#### Маршрут проектирования SOPC (System on a Programmable Chip): +Проектирование систем с процессорами Nios II осуществляется через специализированный инструмент Platform Designer (ранее Qsys), входящий в состав среды Quartus. + +1. **Этапы проектирования**: + - **Создание системы**: + - Определение процессора Nios II, добавление периферийных устройств. + - Настройка соединений между компонентами через шины Avalon. + - **Настройка параметров**: + - Установка тактовой частоты, ширины шин и размеров памяти. + - **Генерация HDL-кода**: + - Автоматическая генерация кода на Verilog/VHDL для всей системы. + - **Синтез и компиляция**: + - Оптимизация и загрузка проекта в ПЛИС. + +2. **Создание программы**: + - **Компиляция кода**: + - Написание кода на языке C и его компиляция + - **Загрузка и отладка программы**: + - Загрузка скомпилированный бинарный файл (.elf) в память процессора Nios II через JTAG и отладка с помощью Eclipse IDE + +3. **Поддержка тестирования**: + - Создание тестовых прошивок для отладки с использованием встроенных средств. + - Интеграция с инструментами анализа производительности (SignalTap II). + +#### Возможности Quartus для разработки с Nios II: +1. **Автоматическая генерация системы**: + - Упрощённый процесс проектирования сложных систем благодаря удобному интерфейсу Platform Designer. +2. **Поддержка пользовательских модулей**: + - Интеграция собственных аппаратных блоков через шины Avalon. +3. **Среда для разработки программы**: + - Наличие интегрированной среды разработки Eclipse IDE для генерации проекта и создания программы. +3. **Инструменты отладки**: + - Использование встроенного отладчика для пошагового выполнения программ Nios II. +4. **Оптимизация производительности**: + - Анализ использования ресурсов и автоматическая настройка параметров синтеза. + +Таким образом, Quartus и SOPC Designer предоставляют мощный инструмент для разработки настраиваемых систем с процессорами Nios II, что делает их незаменимыми для задач создания встраиваемых решений. -- **Регуляризация** — добавление штрафов к функции потерь для ограничения величины весов. -- **Раннее прекращение обучения (early stopping)** — остановка тренировки до достижения минимальной ошибки на проверочной выборке. -- **Использование более простых моделей** — снижение количества параметров. -- **Аугментация данных** — расширение обучающей выборки с помощью преобразований данных. -- **Кросс-валидация** — использование разделения данных для оценки способности модели к обобщению. -Понимание и контроль переобучения важны для создания устойчивых и надежных нейронных сетей с хорошей обобщающей способностью. # Экзаменационный билет №13 + ## Вопрос 1. Рекурсивные и нерекурсивные корректирующие фильтры ЦАС -В системах автоматического управления (САУ) корректирующие фильтры используются для формирования требуемых характеристик системы и улучшения её динамических свойств. Существуют два основных типа корректирующих фильтров: рекурсивные и нерекурсивные. +Корректирующие фильтры в системах автоматического управления (САУ) используются для изменения динамических свойств системы, улучшения устойчивости и точности регулирования. В зависимости от структуры различают **рекурсивные** (с обратной связью) и **нерекурсивные** (без обратной связи) фильтры. -**Рекурсивные фильтры** (инфинитные импульсные отклики, IIR) имеют обратную связь, то есть выход фильтра зависит не только от текущих и предыдущих входных значений, но и от предыдущих выходных значений. Это позволяет реализовывать фильтры с бесконечной длительностью импульсного отклика. Такие фильтры обычно обладают меньшим порядком при аналогичных характеристиках и требуют меньше вычислительных ресурсов. Однако их устойчивость и фазовые характеристики требуют особого контроля. +### Нерекурсивные (конечные импульсные характеристики, FIR) -**Нерекурсивные фильтры** (конечные импульсные отклики, FIR) не имеют обратной связи — выход зависит только от текущих и прошлых входных значений. Они имеют конечный импульсный отклик и гарантированную устойчивость. FIR-фильтры обладают линейной фазой, что важно для сохранения формы сигнала, но часто требуют более высокого порядка для достижения тех же характеристик, что и рекурсивные. +Нерекурсивные фильтры описываются разностным уравнением, в котором выход в текущий момент времени зависит только от текущего и предыдущих значений входа: +\[ +y(k) = \sum_{i=0}^{N} b_i x(k - i) +\] +где \(x(k)\) — входной сигнал, \(y(k)\) — выходной сигнал, \(b_i\) — коэффициенты фильтра. -Выбор между рекурсивными и нерекурсивными фильтрами зависит от требований к системе, включая устойчивость, фазовые характеристики, вычислительную сложность и целевые характеристики фильтра. +Особенности: +- Простота реализации. +- Гарантированная устойчивость, так как нет обратной связи. +- Ограниченная возможность моделирования сложных динамических свойств. +- Применяются для задач, где важна линейная фазовая характеристика (например, в цифровой обработке сигналов). + +### Рекурсивные (бесконечные импульсные характеристики, IIR) + +Рекурсивные фильтры используют обратную связь, и выходной сигнал зависит как от входных данных, так и от предыдущих выходов: +\[ +y(k) = \sum_{i=0}^{M} b_i x(k - i) - \sum_{j=1}^{N} a_j y(k - j) +\] + +Особенности: +- Более компактное представление сложных фильтров (по сравнению с нерекурсивными). +- Возможность реализации фильтров с резонансными свойствами и острыми пиками на АЧХ. +- Возможность возникновения устойчивости или неустойчивости в зависимости от выбора коэффициентов \(a_j\). +- Широко используются для реализации корректирующих звеньев в ЦАС, например, ПИД-регуляторов. + +### Заключение + +- **Нерекурсивные фильтры** — проще, всегда устойчивы, но менее гибкие. +- **Рекурсивные фильтры** — сложнее, требуют контроля устойчивости, но позволяют реализовать более широкий класс фильтров. --- ## Вопрос 2. Двухслойность персептрона -Двухслойный персептрон — это простейшая многослойная нейронная сеть, состоящая из входного слоя, одного скрытого слоя и выходного слоя. В отличие от однослойного персептрона, который способен решать только линейно разделимые задачи, двухслойный персептрон способен аппроксимировать нелинейные функции и решать задачи, неразрешимые линейными моделями. +Персептрон — это классическая модель искусственного нейрона, предложенная Ф. Розенблаттом в 1958 году для распознавания образов и решения задач классификации. Основной особенностью персептрона является его **двухслойная архитектура**. -Основные особенности двухслойного персептрона: +### Архитектура двухслойного персептрона -- **Скрытый слой** содержит нейроны с нелинейной активацией, что позволяет модели выявлять сложные зависимости в данных. -- Использование алгоритмов обучения с обратным распространением ошибки (backpropagation) для настройки весов. -- Возможность решать задачи классификации с несколькими классами и задачи регрессии. +Персептрон состоит из двух слоев: +1. **Входной слой**: + - Каждый нейрон входного слоя просто передаёт значения входных признаков (векторов данных) в следующий слой. + - Входы могут быть нормализованными данными, бинарными или действительными значениями. -Двухслойный персептрон является базовым элементом современных глубоких нейронных сетей и заложил основу для развития методов обучения и архитектур, используемых в современной нейросетевой инженерии. +2. **Слой вычислительных нейронов (выходной слой)**: + - Каждый нейрон этого слоя вычисляет взвешенную сумму входов: + \[ + y = \varphi\left(\sum_{i=1}^n w_i x_i + b\right) + \] + где \(x_i\) — входные данные, \(w_i\) — веса, \(b\) — смещение, \(\varphi\) — функция активации (обычно ступенчатая или сигмоидальная). + - Выходы нейронов определяют класс входного вектора. +### Ограничения и возможности + +- **Двухслойный персептрон** (один слой весовых связей) способен решать только линейно разделимые задачи. Например, он может классифицировать точки, разделённые прямой, но не способен решить задачу XOR. +- Для решения нелинейно разделимых задач требуется добавление скрытых слоёв, что приводит к многоуровневым сетям. + +### Итог + +- Двухслойный персептрон — базовый элемент нейронных сетей, важный для понимания принципов обучения и классификации. +- Его возможности ограничены линейными задачами, поэтому дальнейшее развитие нейросетей привело к созданию многослойных персептронов и более сложных архитектур. + + +--- + +## Вопрос 3. Архитектура процессорных ядер Nios II, основные конфигурации систем + +Процессорное ядро Nios II, разработанное фирмой Altera (ныне Intel), — это универсальное 32-битное RISC-ядро, которое может быть интегрировано в ПЛИС для создания настраиваемых систем-на-кристалле (SoC). + +#### Основные характеристики архитектуры: +1. **RISC-архитектура**: + - Nios II использует простую и эффективную архитектуру с фиксированной длиной инструкции (32 бита). +2. **Модульность и настраиваемость**: + - Ядро поддерживает множество настроек, таких как число регистров, аппаратное умножение и деление, уровень производительности и объём используемой памяти. +3. **Конвейерная обработка**: + - Реализован трехступенчатый конвейер (fetch, decode, execute) для повышения производительности. + +#### Основные конфигурации Nios II: +1. **Nios II/e (Economy)**: + - Минимальный размер ядра с минимальными аппаратными ресурсами. + - Подходит для простых приложений, где критична экономия места. +2. **Nios II/s (Standard)**: + - Сбалансированная конфигурация, обеспечивающая хорошую производительность при умеренном использовании ресурсов. +3. **Nios II/f (Fast)**: + - Максимальная производительность за счёт включения таких функций, как аппаратное умножение, кэш инструкций и данных. + +#### Встроенные периферийные устройства: +Nios II легко интегрируется с различными периферийными компонентами, такими как UART, SPI, таймеры, а также с пользовательскими логическими блоками, разработанными в HDL. + +--- # Экзаменационный билет №14 ## Вопрос 1. Определение устойчивости ЦАС по логарифмическим частотным характеристикам -Устойчивость систем автоматического управления (САУ) является ключевым параметром, обеспечивающим корректное и предсказуемое поведение системы. Один из эффективных методов оценки устойчивости — анализ логарифмических амплитудно-фазовых характеристик (ЛАЧХ). +Устойчивость систем автоматического управления (САУ) может быть определена с помощью анализа логарифмических частотных характеристик (ЛАЧХ), которые включают амплитудно-частотную характеристику (АЧХ) и фазо-частотную характеристику (ФЧХ). Этот метод основан на частотном критерии Найквиста и широко применяется при проектировании и анализе систем управления, особенно когда требуется визуальная оценка запаса устойчивости системы. -Определение устойчивости по ЛАЧХ основано на оценке запаса по фазе и запаса по амплитуде системы замкнутой передачи. Запас по фазе показывает, на сколько градусов фазовый сдвиг отличается от критического значения -180° при частоте с единичным усилением, а запас по амплитуде — насколько амплитуда ЛАЧХ меньше единицы при частоте, где фазовый сдвиг достигает -180°. Положительные запасы обеспечивают устойчивость. +### Основные принципы -Метод позволяет визуально оценить близость системы к нестабильности и корректировать параметры регулятора для улучшения устойчивости и динамических характеристик. +Для определения устойчивости ЦАС по ЛАЧХ используется понятие **запаса устойчивости**: +- **Запас по амплитуде (Aзап)** — отношение фактического усиления системы к такому усилению, при котором система становится на грани устойчивости. В графическом виде это вертикальное расстояние (в дБ) между АЧХ и линией 0 дБ в точке, где фазовый сдвиг достигает –180°. +- **Запас по фазе (φзап)** — угол между фазовой характеристикой и линией –180° в точке пересечения АЧХ с линией 0 дБ. Это горизонтальное расстояние на ФЧХ. + +### Критерий устойчивости по ЛАЧХ + +Система считается устойчивой, если: +1. АЧХ системы пересекает уровень 0 дБ на такой частоте, где фазовый сдвиг меньше –180° (т.е. φзап > 0). +2. На частоте, где фазовый сдвиг достигает –180°, АЧХ должна находиться ниже 0 дБ (Aзап > 0). + +Эти условия позволяют оценить, насколько устойчива система к изменениям параметров, и избежать колебательного или неустойчивого поведения. + +### Преимущества метода + +- Позволяет проектировать системы с заданными запасами устойчивости. +- Удобен для работы с системами, содержащими неизменяемую часть (например, технологический процесс). +- Визуализация частотных свойств помогает понять поведение системы на разных частотах. --- ## Вопрос 2. Радиальная нейронная сеть и ее архитектура -Радиальная базисная функция (РБФ) — это вид нейронной сети, где каждый нейрон скрытого слоя использует радиальную базисную функцию, обычно гауссову. Архитектура РБФ-сети включает: +Радиальная нейронная сеть (RBF-сеть) — это разновидность искусственных нейронных сетей, которая широко используется для решения задач классификации, регрессии, аппроксимации и интерполяции данных. Она названа так, потому что в качестве функции активации используется радиальная базисная функция, обычно зависящая от расстояния между входным вектором и центром нейрона. -- Входной слой, передающий данные в скрытый слой. -- Скрытый слой, состоящий из нейронов с радиальной функцией активации, реагирующей на близость входного вектора к центру функции. -- Выходной слой, обычно линейный, который формирует итоговый ответ сети. +### Архитектура RBF-сети -РБФ-сети хорошо подходят для задач классификации и регрессии благодаря быстрому обучению и способности аппроксимировать нелинейные зависимости. Обучение состоит из выбора центров радиальных функций, масштабирования и обучения выходных весов. +Структура RBF-сети обычно включает три слоя: +1. **Входной слой** — принимает входные данные, каждый нейрон связан с одним компонентом входного вектора. +2. **Скрытый слой** — содержит нейроны с радиальными базисными функциями, например, гауссовыми. Каждый нейрон скрытого слоя вычисляет значение функции активации: + \[ + \phi(x) = \exp\left(-\frac{\|x - c_i\|^2}{2\sigma^2}\right) + \] + где \(x\) — входной вектор, \(c_i\) — центр радиального нейрона, \(\sigma\) — параметр ширины функции. +3. **Выходной слой** — линейно комбинирует отклики скрытого слоя для формирования итогового ответа сети. + +### Особенности + +- RBF-сеть обладает высокой скоростью обучения по сравнению с многослойным персептроном. +- Каждый скрытый нейрон локально реагирует на входные данные, что делает сеть устойчивой к шуму. +- Архитектура RBF хорошо подходит для аппроксимации сложных нелинейных зависимостей и задач классификации. --- ## Вопрос 3. ПЛИС типа FPGA фирмы Xilinx семейств Artix-7, Kintex-7, Virtex-7, Zynq-7000 -FPGA Xilinx серии 7-й генерации предлагают широкий спектр устройств для различных приложений. +Программируемые логические интегральные схемы (ПЛИС, FPGA) фирмы Xilinx серии 7-го поколения представляют собой мощные платформы для создания цифровых устройств с гибкой архитектурой. Рассмотрим особенности каждого семейства: -**Artix-7** — ориентированы на энергоэффективность и низкую стоимость, подходят для встраиваемых систем и приложений с ограниченными ресурсами. +### Artix-7 -**Kintex-7** — сбалансированы по производительности и стоимости, предназначены для приложений со средними требованиями к пропускной способности и вычислительной мощности. +Artix-7 — это семейство FPGA, ориентированное на приложения с низким энергопотреблением и стоимостью. Основные особенности: +- Энергоэффективная архитектура на основе 28-нм техпроцесса. +- Поддержка базовых функций цифровой логики, включая DSP-блоки, PLL и блоки памяти. +- Часто используется в портативных устройствах, обработке сигналов, коммуникационном оборудовании. -**Virtex-7** — высокопроизводительные FPGA для сложных вычислительных задач, телекоммуникаций и обработки сигналов с большим числом логических элементов и высокоскоростными интерфейсами. +### Kintex-7 -**Zynq-7000** — гибридные SoC-устройства, объединяющие FPGA с процессорным ядром ARM Cortex-A9, обеспечивают гибкость программирования и аппаратного ускорения, применяются в системах реального времени и встроенных вычислениях. +Kintex-7 — средний класс FPGA, сочетающий относительно низкое энергопотребление и высокую производительность: +- Поддержка высокоскоростных интерфейсов, таких как PCIe и трансиверов до 12.5 Гбит/с. +- Увеличенное количество логических элементов и ресурсов DSP по сравнению с Artix-7. +- Используется в задачах обработки видео, связи и встроенных системах. -Выбор семейства зависит от конкретных требований по производительности, стоимости и функциональности. +### Virtex-7 + +Virtex-7 — высокопроизводительное семейство FPGA для задач, требующих максимальной вычислительной мощности: +- Большое количество логических ячеек, DSP-блоков, поддержка многогигабитных интерфейсов (до 28 Гбит/с). +- Применяется в телекоммуникационных системах, центрах обработки данных, сложных вычислительных системах. + +### Zynq-7000 + +Zynq-7000 — уникальная платформа, сочетающая в одном кристалле FPGA-логику и процессорное ядро ARM Cortex-A9: +- Позволяет объединить гибкость программируемой логики и возможности процессора общего назначения. +- Используется для создания систем на кристалле (SoC) для встраиваемых приложений, робототехники, обработки изображений, сетевых устройств. + +### Заключение + +Выбор семейства зависит от требований задачи: +- **Artix-7** — бюджетные решения с низким энергопотреблением. +- **Kintex-7** — высокоскоростная обработка данных. +- **Virtex-7** — задачи с экстремальной производительностью. +- **Zynq-7000** — объединение процессорной и логической частей в едином чипе для гибких систем. \ No newline at end of file