altera Nios V Embedded Processor
Технические характеристики
- Название продукта: Процессор Nios V
- Software Compatibility: Quartus Prime Software and Platform Designer
- Тип процессора: Altera FPGA
- Система памяти: энергозависимая и энергонезависимая память
- Интерфейс связи: UART-агент
Nios V Processor Hardware System Design
To design the Nios V Processor hardware system, follow these steps:
- Create Nios V Processor system design using Platform Designer.
- Интегрировать систему в проект Quartus Prime.
- Design memory system including volatile and non-volatile memory.
- Внедрить передовой опыт по отсчету времени и сбросу показаний часов.
- Назначьте агентов по умолчанию и UART для эффективной работы.
Nios V Processor Software System Design
Для проектирования программной системы для процессора Nios V:
- Следуйте процессу разработки программного обеспечения для процессора Nios V.
- Create Board Support Package Project and Application Project.
Nios V Processor Configuration and Booting Solutions
Для настройки и загрузки процессора Nios V:
- Understand the introduction to configuration and booting solutions.
- Объединяйте приложения для бесперебойной работы.
About the Nios® V Embedded Processor
1.1. ПЛИС Altera® и встраиваемые процессорыview
Устройства Altera FPGA могут реализовывать логику, которая функционирует как полноценный микропроцессор, предоставляя при этом множество опций.
Важное отличие дискретных микропроцессоров от ПЛИС Altera заключается в том, что ПЛИС Altera не содержит логики при включении. Процессор Nios® V — это программный процессор, защищенный интеллектуальной собственностью (ИС), основанный на спецификации RISC-V. Перед запуском программного обеспечения в системе на базе процессора Nios V необходимо настроить устройство ПЛИС Altera с помощью аппаратной схемы, содержащей процессор Nios V. Процессор Nios V можно разместить в любом месте ПЛИС Altera в зависимости от требований схемы.
Чтобы ваша встраиваемая система на базе IP-ПЛИС Altera® FPGA работала как дискретная микропроцессорная система, ваша система должна включать в себя следующее: · AJTAG интерфейс для поддержки конфигурации, аппаратного и программного обеспечения ПЛИС Altera
отладка · Механизм настройки ПЛИС Altera при включении питания
Если ваша система поддерживает эти возможности, вы можете начать доработку своего проекта, используя предварительно протестированную аппаратную версию, загруженную в ПЛИС Altera. Использование ПЛИС Altera также позволяет быстро модифицировать проект для решения проблем или добавления новых функций. Вы можете легко протестировать новые аппаратные версии, перенастроив ПЛИС Altera с помощью J-интерфейса вашей системы.TAG интерфейс.
JTAG Интерфейс поддерживает разработку аппаратного и программного обеспечения. С помощью J вы можете выполнять следующие задачи:TAG Интерфейс: · Настройка ПЛИС Altera · Загрузка и отладка программного обеспечения · Связь с ПЛИС Altera через интерфейс типа UART (JTAG УАПП
терминал) · Отладка оборудования (с помощью встроенного логического анализатора Signal Tap) · Программирование флэш-памяти
После настройки ПЛИС Altera с конструкцией на базе процессора Nios V поток разработки программного обеспечения аналогичен потоку для конструкций на основе дискретных микроконтроллеров.
Сопутствующая информация · AN 985: Учебное пособие по процессору Nios V
Краткое руководство по созданию простой процессорной системы Nios V и запуску приложения Hello World.
© Altera Corporation. Altera, логотип Altera, логотип «a» и другие товарные знаки Altera являются товарными знаками Altera Corporation. Altera оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Altera не несет ответственности, возникающей в связи с применением или использованием любой информации, продукта или услуги, описанных в настоящем документе, за исключением случаев, прямо оговоренных Altera в письменной форме. Клиентам Altera рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и бренды могут быть заявлены как собственность других лиц.
1. О встраиваемом процессоре Nios® V 726952 | 2025.07.16
· Справочное руководство по процессору Nios V Содержит информацию о тестах производительности процессора Nios V, архитектуре процессора, модели программирования и реализации ядра.
· Руководство пользователя по IP-встроенным периферийным устройствам · Справочник разработчика программного обеспечения для процессора Nios V
Описывает среду разработки программного обеспечения для процессора Nios V, доступные инструменты и процесс создания программного обеспечения для работы на процессоре Nios V. · Руководство пользователя интегрированной среды разработки (IDE) Ashling* RiscFree* для ПЛИС Altera Описывает интегрированную среду разработки (IDE) RiscFree* для ПЛИС Altera HPS на базе Arm* и процессора Nios V. · Заметки о выпуске IP-решения ПЛИС Altera для процессора Nios V
1.2. Поддержка программного обеспечения Quartus® Prime
Процесс сборки процессора Nios V для программного обеспечения Quartus® Prime Pro Edition и Quartus Prime Standard Edition отличается. Подробнее об этих различиях см. в документе AN 980: Поддержка программного обеспечения Quartus Prime для процессора Nios V.
Сопутствующая информация AN 980: Поддержка программного обеспечения Quartus Prime для процессора Nios V
1.3. Лицензирование процессора Nios V
У каждого варианта процессора Nios V есть свой лицензионный ключ. После приобретения лицензионного ключа вы сможете использовать его для всех проектов с процессором Nios V до истечения срока его действия. Вы можете приобрести лицензии Altera FPGA IP для процессора Nios V бесплатно.
Список лицензионных ключей для процессора Nios V доступен в Центре самостоятельного лицензирования Altera FPGA. Перейдите на вкладку «Зарегистрироваться для оценки» или «Бесплатная лицензия» и выберите соответствующие параметры, чтобы оформить запрос.
Рисунок 1. Центр самостоятельного лицензирования ПЛИС Altera
С помощью лицензионных ключей вы можете:
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 7
1. О встраиваемом процессоре Nios® V 726952 | 2025.07.16
· Реализовать процессор Nios V в своей системе. · Смоделировать поведение системы на базе процессора Nios V. · Проверить функциональность проекта, например размер и скорость. · Сгенерировать программу устройства. files. · Запрограммировать устройство и проверить конструкцию на аппаратном уровне.
Для разработки программного обеспечения в среде разработки Ashling* RiscFree* для ПЛИС Altera лицензия не требуется.
Сопутствующая информация · Центр самостоятельного лицензирования ПЛИС Altera
Для получения дополнительных сведений о получении лицензионных ключей IP Altera FPGA для процессора Nios V. · Установка и лицензирование программного обеспечения Altera FPGA Для получения дополнительных сведений о лицензировании программного обеспечения Altera FPGA и настройке фиксированной лицензии и сетевого сервера лицензий.
1.4 Проектирование встраиваемых систем
На следующем рисунке показана упрощенная схема проектирования системы на базе процессора Nios V, включая разработку как аппаратного, так и программного обеспечения.
Руководство по проектированию встраиваемых процессоров Nios® V 8
Отправить отзыв
1. О встраиваемом процессоре Nios® V 726952 | 2025.07.16
Рисунок 2.
Процесс проектирования процессорной системы Nios V
Концепция системы
Анализ системных требований
Nios® V
Ядра процессора и стандартные компоненты
Определить и создать систему в
Дизайнер платформы
Аппаратный поток: интеграция и компиляция проекта Intel Quartus Prime
Процесс разработки программного обеспечения: разработка и создание программного обеспечения для Nios V
Аппаратный поток: загрузка проекта ПЛИС
к целевой доске
Программный поток: тестирование и отладка программного обеспечения процессора Nios V
Номер программного обеспечения соответствует спецификациям?
Да
Аппаратное обеспечение Нет Соответствует спецификации? Да
Система завершена
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 9
726952 | 2025.07.16 Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
Рисунок 3.
На следующей диаграмме показана типичная аппаратная конструкция процессора Nios V. Схема проектирования аппаратной части процессорной системы Nios V
Начинать
Ядра Nios V и стандартные компоненты
Используйте Platform Designer для проектирования системы на базе Nios V
Генерация дизайна конструктора платформы
Интеграция системы Platform Designer с проектом Intel Quartus Prime
Назначьте расположение выводов, требования к синхронизации и другие ограничения проекта
Компиляция оборудования для целевого устройства в Intel Quartus Prime
Готово к загрузке
2.1. Создание проекта процессорной системы Nios V с помощью Platform Designer
Программное обеспечение Quartus Prime включает в себя инструмент системной интеграции Platform Designer, который упрощает задачу определения и интеграции IP-ядра процессора Nios V и других IP-компонентов в проект системы на базе ПЛИС Altera. Platform Designer автоматически создаёт логику межсоединений на основе заданных высокоуровневых соединений. Автоматизация межсоединений устраняет трудоёмкую задачу определения HDL-соединений на системном уровне.
© Altera Corporation. Altera, логотип Altera, логотип «a» и другие товарные знаки Altera являются товарными знаками Altera Corporation. Altera оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Altera не несет ответственности, возникающей в связи с применением или использованием любой информации, продукта или услуги, описанных в настоящем документе, за исключением случаев, прямо оговоренных Altera в письменной форме. Клиентам Altera рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и бренды могут быть заявлены как собственность других лиц.
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
После анализа требований к аппаратному обеспечению системы вы используете Quartus Prime для указания ядра процессора Nios V, памяти и других компонентов, необходимых вашей системе. Конструктор платформ автоматически генерирует логику межсоединений для интеграции компонентов в аппаратную систему.
2.1.1. Создание экземпляра процессора Nios V на базе ПЛИС Altera
You can instantiate any of the processor IP cores in Platform Designer IP Catalog Processors and Peripherals Embedded Processors.
IP-ядро каждого процессора поддерживает различные варианты конфигурации, основанные на его уникальной архитектуре. Вы можете настроить эти конфигурации в соответствии с потребностями вашего проекта.
Таблица 1.
Варианты конфигурации для основных вариантов
Параметры конфигурации
Процессор Nios V/c
Процессор Nios V/m
Отладка использования запроса на сброс
—
Ловушки, исключения и прерывания
Архитектура ЦП
ЕСС
Кэши, периферийные регионы и TCM
—
—
Пользовательские инструкции
—
—
Локстеп
—
—
Процессор Nios V/g
2.1.1.1. Создание экземпляра компактного микроконтроллера Nios V/c на базе IP-адреса Altera FPGA Рисунок 4. Компактный микроконтроллер Nios V/c на базе IP-адреса Altera FPGA
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 11
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.1.1.1.1 Вкладка «Архитектура ЦП»
Таблица 2.
Вкладка «Архитектура ЦП»
Особенность
Описание
Включить интерфейс Avalon® Включает интерфейс Avalon для диспетчера инструкций и диспетчера данных. Если отключено, система использует интерфейс AXI4-Lite.
значение mhartid CSR
· Недопустимый параметр IP. · Не используйте значение mhartid CSR в процессоре Nios V/c.
2.1.1.1.2. Использование вкладки «Запрос на сброс»
Таблица 3.
Использовать параметр вкладки «Сброс запроса»
Использовать вкладку «Запрос на сброс»
Описание
Добавить интерфейс запроса на сброс
· Включите эту опцию, чтобы открыть локальные порты сброса, которые локальный мастер может использовать для запуска сброса процессора Nios V, не влияя на другие компоненты в системе процессора Nios V.
· Интерфейс сброса состоит из входного сигнала resetreq и выходного сигнала ack.
· Вы можете запросить сброс ядра процессора Nios V, подав сигнал resetreq.
· Сигнал resetreq должен оставаться активным до тех пор, пока процессор не подтвердит сигнал ack. Отсутствие сигнала может привести к переходу процессора в недетерминированное состояние.
· Процессор Nios V отвечает, что сброс прошел успешно, выдавая сигнал подтверждения.
· После успешного сброса процессора подтверждение сигнала ack может происходить несколько раз периодически до тех пор, пока не будет снято подтверждение сигнала resetreq.
2.1.1.1.3 Вкладка «Ловушки, исключения и прерывания»
Таблица 4.
Параметры вкладки «Ловушки, исключения и прерывания»
Ловушки, исключения и прерывания
Описание
Сбросить агент
· Память, в которой размещен вектор сброса (адрес сброса процессора Nios V), в которой находится код сброса.
· В качестве агента сброса можно выбрать любой модуль памяти, подключенный к главному процессору команд Nios V и поддерживаемый потоком загрузки процессора Nios V.
Сбросить смещение
· Указывает смещение вектора сброса относительно базового адреса выбранного агента сброса. · Platform Designer автоматически предоставляет значение по умолчанию для смещения сброса.
Примечание:
В конструкторе платформ предусмотрен параметр Absolute, позволяющий указать абсолютный адрес в поле Reset Offset. Используйте этот параметр, если память, хранящая вектор сброса, расположена вне процессорной системы и подсистем.
Руководство по проектированию встраиваемых процессоров Nios® V 12
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.1.1.1.4. Вкладка ECC
Таблица 5.
Вкладка ECC
ЕСС
Включить обнаружение ошибок и отчеты о состоянии
Описание
· Включите эту опцию, чтобы применить функцию ECC для внутренних блоков ОЗУ процессора Nios V. · Функции ECC обнаруживают ошибки размером до 2 бит и реагируют на основе следующего поведения:
— Если это исправимая ошибка 1-битного уровня, процессор продолжает работу после исправления ошибки в конвейере процессора. Однако исправление не отражается в исходной памяти.
— Если ошибка неисправима, процессор продолжает работать, не исправляя ее в конвейере процессора и исходной памяти, что может привести к переходу процессора в недетерминированное состояние.
2.1.1.2. Создание экземпляра микроконтроллера Nios V/m с IP-адресом Altera FPGA Рисунок 5. Микроконтроллер Nios V/m с IP-адресом Altera FPGA
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 13
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.1.1.2.1. Вкладка «Отладка»
Таблица 6.
Параметры вкладки «Отладка»
Вкладка «Отладка»
Описание
Включить отладку
Включить сброс из модуля отладки
· Включите эту опцию, чтобы добавить JTAG Модуль целевого подключения к процессору Nios V. · JTAG Модуль целевого подключения позволяет подключаться к процессору Nios V через
JTAG Интерфейсные выводы ПЛИС. · Подключение обеспечивает следующие основные возможности:
— Запуск и остановка процессора Nios V. — Проверка и редактирование регистров и памяти. — Загрузка приложения Nios V .elf. file в память процессора во время выполнения через
niosv-download. — Отладка приложения, работающего на процессоре Nios V. Подключите порт dm_agent к шине инструкций и данных процессора. Убедитесь, что базовые адреса на обеих шинах одинаковы.
· Включите эту опцию, чтобы открыть порты dbg_reset_out и ndm_reset_in. · JTAG отладчик или команда niosv-download -r запускают dbg_reset_out, который
позволяет процессору Nios V сбрасывать системные периферийные устройства, подключенные к этому порту. · Необходимо подключить интерфейс dbg_reset_out к ndm_reset_in вместо reset
Интерфейс для сброса ядра процессора и модуля таймера. Не подключайте интерфейс dbg_reset_out к интерфейсу сброса во избежание неопределённого поведения.
2.1.1.2.2. Использование вкладки «Запрос на сброс»
Таблица 7.
Использовать параметр вкладки «Сброс запроса»
Использовать вкладку «Запрос на сброс»
Описание
Добавить интерфейс запроса на сброс
· Включите эту опцию, чтобы открыть локальные порты сброса, которые локальный мастер может использовать для запуска сброса процессора Nios V, не влияя на другие компоненты в системе процессора Nios V.
· Интерфейс сброса состоит из входного сигнала resetreq и выходного сигнала ack.
· Вы можете запросить сброс ядра процессора Nios V, подав сигнал resetreq.
· Сигнал resetreq должен оставаться активным до тех пор, пока процессор не подтвердит сигнал ack. Отсутствие сигнала может привести к переходу процессора в недетерминированное состояние.
· Установление сигнала resetreq в режиме отладки не влияет на состояние процессора.
· Процессор Nios V отвечает, что сброс прошел успешно, выдавая сигнал подтверждения.
· После успешного сброса процессора подтверждение сигнала ack может происходить несколько раз периодически до тех пор, пока не будет снято подтверждение сигнала resetreq.
2.1.1.2.3 Вкладка «Ловушки, исключения и прерывания»
Таблица 8.
Вкладка «Ловушки, исключения и прерывания»
Вкладка «Ловушки, исключения и прерывания»
Описание
Сбросить агент
· Память, в которой размещен вектор сброса (адрес сброса процессора Nios V), в которой находится код сброса.
· В качестве агента сброса можно выбрать любой модуль памяти, подключенный к главному процессору команд Nios V и поддерживаемый потоком загрузки процессора Nios V.
Режим прерывания смещения сброса
· Указывает смещение вектора сброса относительно базового адреса выбранного агента сброса. · Platform Designer автоматически предоставляет значение по умолчанию для смещения сброса.
Укажите тип контроллера прерываний: прямой или векторный. Примечание: неконвейерный процессор Nios V/m не поддерживает векторные прерывания.
Поэтому избегайте использования режима векторного прерывания, когда процессор находится в неконвейерном режиме.
Руководство по проектированию встраиваемых процессоров Nios® V 14
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Примечание:
В конструкторе платформ предусмотрен параметр Absolute, позволяющий указать абсолютный адрес в поле Reset Offset. Используйте этот параметр, если память, хранящая вектор сброса, расположена вне процессорной системы и подсистем.
2.1.1.2.4 Архитектура ЦП
Таблица 9.
Параметры вкладки «Архитектура ЦП»
Архитектура ЦП
Описание
Включить конвейеризацию в ЦП
· Включите эту опцию, чтобы создать конвейерный процессор Nios V/m. — IPC выше за счет большей логической области и меньшей частоты Fmax.
· Отключите эту опцию, чтобы создать неконвейерный процессор Nios V/m. — Имеет производительность ядра, близкую к производительности процессора Nios V/c. — Поддерживает отладку и прерывания. — Меньшая логическая область и более высокая частота Fmax за счет более низкого IPC.
Включить интерфейс Avalon
Включает интерфейс Avalon для диспетчера инструкций и диспетчера данных. Если отключено, система использует интерфейс AXI4-Lite.
значение mhartid CSR
· Значение регистра Hart ID (mhartid) по умолчанию равно 0. · Присвойте значение от 0 до 4094. · Совместимо с API Altera FPGA Avalon Mutex Core HAL.
Сопутствующая информация Руководство пользователя по IP-встраиваемой периферии – Intel FPGA Avalon® Mutex Core
2.1.1.2.5. Вкладка ECC
Таблица 10. Вкладка ECC
ECC обеспечивает обнаружение ошибок и отчетность о состоянии
Описание
· Включите эту опцию, чтобы применить функцию ECC для внутренних блоков ОЗУ процессора Nios V. · Функции ECC обнаруживают ошибки размером до 2 бит и реагируют на основе следующего поведения:
— Если это исправимая ошибка 1-битного уровня, процессор продолжает работу после исправления ошибки в конвейере процессора. Однако исправление не отражается в исходной памяти.
— Если ошибка неисправима, процессор продолжает работать, не исправляя ее в конвейере процессора и исходной памяти, что может привести к переходу процессора в недетерминированное состояние.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 15
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.1.1.3. Создание экземпляра универсального процессора Nios V/g на базе ПЛИС Altera IP
Рисунок 6. Процессор общего назначения Nios V/g Altera FPGA IP – Часть 1
Рисунок 7.
Процессор общего назначения Nios V/g Altera FPGA IP – Часть 2 (Отключение и включение контроллера прерываний на уровне ядра)
Руководство по проектированию встраиваемых процессоров Nios® V 16
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Рисунок 8.
Процессор общего назначения Nios V/g Altera FPGA IP – Часть 2 (Включение контроллера прерываний на уровне ядра)
Рисунок 9. Процессор общего назначения Nios V/g Altera FPGA IP – Часть 3
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 17
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Рисунок 10. Процессор общего назначения Nios V/g Altera FPGA IP – Часть 4
2.1.1.3.1 Архитектура ЦП
Таблица 11. Параметры архитектуры ЦП
Вкладка «Архитектура ЦП» Включить модуль вычислений с плавающей точкой
Описание Включите эту опцию, чтобы добавить блок вычислений с плавающей запятой (расширение «F») в ядро процессора.
Включить прогнозирование ветвлений
Включить статическое предсказание ветвлений (Backward Taken и Forward Not Taken) для инструкций ветвления.
значение mhartid CSR
· Значение регистра Hart ID (mhartid) по умолчанию равно 0. · Присвойте значение от 0 до 4094. · Совместимо с API Altera FPGA Avalon Mutex Core HAL.
Отключить инструкции FSQRT и FDIV для FPU
· Удалить операции извлечения квадратного корня с плавающей точкой (FSQRT) и деления с плавающей точкой (FDIV) в FPU.
· Применить программную эмуляцию к обеим инструкциям во время выполнения.
Сопутствующая информация Руководство пользователя по IP-встраиваемой периферии – Intel FPGA Avalon® Mutex Core
Руководство по проектированию встраиваемых процессоров Nios® V 18
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.1.1.3.2. Вкладка «Отладка»
Таблица 12. Параметры вкладки «Отладка»
Вкладка «Отладка»
Описание
Включить отладку
Включить сброс из модуля отладки
· Включите эту опцию, чтобы добавить JTAG Модуль целевого подключения к процессору Nios V. · JTAG Модуль целевого подключения позволяет подключаться к процессору Nios V через
JTAG Интерфейсные выводы ПЛИС. · Подключение обеспечивает следующие основные возможности:
— Запуск и остановка процессора Nios V. — Проверка и редактирование регистров и памяти. — Загрузка приложения Nios V .elf. file в память процессора во время выполнения через
niosv-download. — Отладка приложения, работающего на процессоре Nios V. Подключите порт dm_agent к шине инструкций и данных процессора. Убедитесь, что базовые адреса на обеих шинах одинаковы.
· Включите эту опцию, чтобы открыть порты dbg_reset_out и ndm_reset_in. · JTAG отладчик или команда niosv-download -r запускают dbg_reset_out, который
позволяет процессору Nios V сбрасывать системные периферийные устройства, подключенные к этому порту. · Необходимо подключить интерфейс dbg_reset_out к ndm_reset_in вместо reset
Интерфейс для сброса ядра процессора и модуля таймера. Не подключайте интерфейс dbg_reset_out к интерфейсу сброса во избежание неопределённого поведения.
2.1.1.3.3. Таблица 13. Вкладка Lockstep
Параметры Включить Lockstep Период ожидания по умолчанию Включить расширенный интерфейс сброса
Описание · Включение двухъядерной системы Lockstep. · Значение по умолчанию для программируемого тайм-аута при выходе из режима сброса (от 0 до 255). · Включение дополнительного интерфейса расширенного сброса для управления расширенным сбросом. · При отключении fRSmartComp реализует базовое управление сбросом.
2.1.1.3.4. Использование вкладки «Запрос на сброс»
Таблица 14. Параметр вкладки «Использовать запрос на сброс»
Использовать вкладку «Запрос на сброс»
Описание
Добавить интерфейс запроса на сброс
· Включите эту опцию, чтобы открыть локальные порты сброса, которые локальный мастер может использовать для запуска сброса процессора Nios V, не влияя на другие компоненты в системе процессора Nios V.
· Интерфейс сброса состоит из входного сигнала resetreq и выходного сигнала ack.
· Вы можете запросить сброс ядра процессора Nios V, подав сигнал resetreq.
· Сигнал resetreq должен оставаться активным до тех пор, пока процессор не подтвердит сигнал ack. Отсутствие сигнала может привести к переходу процессора в недетерминированное состояние.
· Установление сигнала resetreq в режиме отладки не влияет на состояние процессора.
· Процессор Nios V отвечает, что сброс прошел успешно, выдавая сигнал подтверждения.
· После успешного сброса процессора подтверждение сигнала ack может происходить несколько раз периодически до тех пор, пока не будет снято подтверждение сигнала resetreq.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 19
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.1.1.3.5 Вкладка «Ловушки, исключения и прерывания»
Таблица 15.
Вкладка «Ловушки, исключения и прерывания» при отключенном параметре «Включить контроллер прерываний на уровне ядра»
Вкладка «Ловушки, исключения и прерывания»
Сбросить агент
Описание
· Память, в которой размещен вектор сброса (адрес сброса процессора Nios V), в которой находится код сброса.
· В качестве агента сброса можно выбрать любой модуль памяти, подключенный к главному процессору команд Nios V и поддерживаемый потоком загрузки процессора Nios V.
Сбросить смещение
· Указывает смещение вектора сброса относительно базового адреса выбранного агента сброса. · Platform Designer автоматически предоставляет значение по умолчанию для смещения сброса.
Включить контроллер прерываний на уровне ядра (CLIC)
· Включить CLIC для поддержки упреждающих прерываний и настраиваемых условий запуска прерывания.
· При включении этой функции вы можете настроить количество прерываний платформы, задать условия срабатывания и назначить некоторые прерывания приоритетными.
Теневой регистр режима прерывания Files
Укажите типы прерываний как «Прямые» или «Векторные». Включите теневой регистр, чтобы уменьшить переключение контекста при прерывании.
Таблица 16.
Ловушки, исключения и прерывания при включении контроллера прерываний на уровне ядра
Ловушки, исключения и прерывания
Описания
Сбросить агент
Сбросить смещение
Включить контроллер прерываний на уровне ядра (CLIC)
· Память, в которой размещен вектор сброса (адрес сброса процессора Nios V), в которой находится код сброса.
· В качестве агента сброса можно выбрать любой модуль памяти, подключенный к главному процессору команд Nios V и поддерживаемый потоком загрузки процессора Nios V.
· Указывает смещение вектора сброса относительно базового адреса выбранного агента сброса. · Platform Designer автоматически предоставляет значение по умолчанию для смещения сброса.
· Включите CLIC для поддержки упреждающих прерываний и настраиваемых условий срабатывания прерываний. · При включении можно настроить количество прерываний платформы, задать условия срабатывания,
и назначить некоторые прерывания приоритетными.
Режим прерывания
· Укажите типы прерываний: Direct, Vectored или CLIC.
Теневой регистр Files
· Включить теневой регистр для уменьшения переключения контекста при прерывании.
· Предлагает два подхода:
— Количество уровней прерывания CLIC
— Количество уровней прерывания CLIC – 1: эта опция полезна, когда вы хотите узнать количество регистров file копий, чтобы поместиться в точное количество блоков M20K или M9K.
· Включить процессор Nios V для использования теневого регистра fileкоторые уменьшают накладные расходы на переключение контекста при прерывании.
Для получения дополнительной информации о теневом регистре files, обратитесь к Справочному руководству по процессору Nios V.
Количество источников прерываний платформы
· Указывает номер прерывания платформы от 16 до 2048.
Примечание: CLIC поддерживает до 2064 входов прерываний, и первые 16 входов прерываний также подключены к базовому контроллеру прерываний.
Выравнивание векторной таблицы CLIC
· Автоматически определяется на основе количества источников прерываний платформы. · Если вы используете выравнивание ниже рекомендуемого значения, CLIC увеличивает логику
сложность за счет добавления дополнительного сумматора для выполнения векторных вычислений. · Если вы используете выравнивание ниже рекомендуемого значения, это приводит к увеличению
логическая сложность в CLIC.
продолжение…
Руководство по проектированию встраиваемых процессоров Nios® V 20
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Ловушки, исключения и прерывания
Количество уровней прерывания
Количество приоритетов прерываний на уровень
Настраиваемая полярность прерываний. Поддержка прерываний, запускаемых по фронту.
Описания
· Задаёт количество уровней прерываний с дополнительным уровнем 0 для кода приложения. Прерывания более высокого уровня могут прерывать (вытеснять) работающий обработчик прерывания более низкого уровня.
· Если для прерываний доступны только ненулевые уровни прерываний, код приложения всегда находится на самом низком уровне — 0. Примечание: настройка уровня и приоритета прерывания во время выполнения выполняется в одном 8-битном регистре. Если количество уровней прерываний равно 256, настроить приоритет прерывания во время выполнения невозможно. В противном случае максимальное количество настраиваемых приоритетов равно 256 / (количество уровней прерываний — 1).
· Задаёт количество приоритетов прерываний, которые CLIC использует для определения порядка вызова обработчиков прерываний без приоритета. Примечание: конкатенация двоичных значений выбранного уровня прерывания и выбранного приоритета прерывания должна быть меньше 8 бит.
· Позволяет настраивать полярность прерываний во время выполнения. · Полярность по умолчанию — положительная.
· Позволяет настраивать условия срабатывания прерывания во время выполнения, т. е. срабатывание по высокому уровню или по положительному фронту (когда полярность прерывания положительная в настраиваемой полярности прерываний).
· Условием запуска по умолчанию является прерывание, вызванное уровнем.
Примечание:
В конструкторе платформ предусмотрен параметр Absolute, позволяющий указать абсолютный адрес в поле Reset Offset. Используйте этот параметр, если память, хранящая вектор сброса, расположена вне процессорной системы и подсистем.
Сопутствующая информация: Справочное руководство по процессору Nios® V
2.1.1.3.6 Вкладка «Конфигурации памяти»
Таблица 17. Параметры вкладки «Конфигурация памяти»
Категория
Вкладка «Конфигурация памяти»
Описание
Кэши
Размер кэша данных
· Указывает размер кэша данных. · Допустимые размеры: от 0 килобайт (КБ) до 16 КБ. · Отключите кэш данных, если размер равен 0 КБ.
Размер кэша инструкций
· Задает размер кэша инструкций. · Допустимые размеры: от 0 КБ до 16 КБ. · Отключить кэш инструкций, если размер равен 0 КБ.
Периферийный регион А и В
Размер
· Определяет размер периферийной области.
· Допустимые размеры: от 64 КБ до 2 гигабайт (ГБ) или «Нет». Выбор «Нет» отключает периферийную область.
Базовый адрес
· Указывает базовый адрес периферийного региона после выбора размера.
· Все адреса в периферийном регионе производят некэшируемые доступы к данным.
· Базовый адрес периферийной области должен быть согласован с размером периферийной области.
Тесно связанные воспоминания
Размер
· Указывает размер тесно связанной памяти. — Допустимые размеры: от 0 МБ до 512 МБ.
Инициализация базового адреса File
· Указывает базовый адрес тесно связанной памяти. · Указывает инициализацию. file для сильносвязанной памяти.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 21
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Примечание:
В системе с процессором Nios V с включённым кэшем необходимо разместить периферийные устройства в периферийной области. Периферийные области можно использовать для определения некэшируемых транзакций для периферийных устройств, таких как UART, PIO, DMA и других.
2.1.1.3.7. Вкладка ECC
Таблица 18. Вкладка ECC
ECC обеспечивает обнаружение ошибок и отчетность о состоянии
Включить однобитовую коррекцию
Описание
· Включите эту опцию, чтобы применить функцию ECC для внутренних блоков ОЗУ процессора Nios V. · Функции ECC обнаруживают ошибки размером до 2 бит и реагируют на основе следующего поведения:
— Если ошибка является исправимой и опция «Включить исправление одиночных битов» отключена, процессор продолжает работу после исправления ошибки в конвейере процессора. Однако исправление не отражается в исходной памяти.
— Если это исправимая ошибка одного бита и включена опция Enable Single Bit Correction, процессор продолжает работать после исправления ошибки в конвейере процессора и исходной памяти.
— Если ошибка неисправима, процессор прекращает работу.
Включить коррекцию отдельных битов во встроенных блоках памяти в ядре.
2.1.1.3.8 Вкладка «Пользовательские инструкции»
Примечание:
Эта вкладка доступна только для ядра процессора Nios V/g.
Пользовательские инструкции Nios V Пользовательские инструкции Аппаратный интерфейс Таблица
Таблица макросов программного обеспечения пользовательских инструкций Nios V
Описание
· Процессор Nios V использует эту таблицу для определения своих собственных интерфейсов менеджера инструкций.
· Определенные пользовательские интерфейсы менеджера инструкций уникально кодируются кодом операции (CUSTOM0-3) и 3 битами funct7[6:4].
· Вы можете определить до 32 индивидуальных интерфейсов менеджера инструкций.
· Процессор Nios V использует эту таблицу для определения кодировок программного обеспечения пользовательских инструкций для определенных интерфейсов менеджера пользовательских инструкций.
· Для каждой определенной кодировки программного обеспечения пользовательских инструкций код операции (CUSTOM0-3) и 3 бита кодировки funct7[6:4] должны соответствовать определенной кодировке интерфейса менеджера пользовательских инструкций в Таблице аппаратных интерфейсов пользовательских инструкций.
· Вы можете использовать funct7[6:4], funct7[3:0] и funct3[2:0] для определения дополнительной кодировки для заданной пользовательской инструкции или указать ее как X, которые будут переданы в качестве дополнительных аргументов инструкции.
· Процессор Nios V предоставляет определенные пользовательские программные кодировки инструкций в виде сгенерированных C-макросов в system.h и следует формату инструкций RISC-V типа R.
· Мнемонические символы можно использовать для определения пользовательских имен для: — Сгенерированных C-макросов в system.h.
— Сгенерированная отладочная мнемоника GDB в custom_instruction_debug.xml.
Сопутствующая информация
AN 977: Пользовательская инструкция процессора Nios V Для получения дополнительной информации о пользовательских инструкциях, позволяющих настраивать процессор Nios® V в соответствии с потребностями конкретного приложения.
Руководство по проектированию встраиваемых процессоров Nios® V 22
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
2.1.2 Определение конструкции компонентов системы
Используйте конструктор платформ, чтобы определить аппаратные характеристики процессорной системы Nios V и добавить необходимые компоненты. На следующей схеме показана базовая конструкция процессорной системы Nios V со следующими компонентами: · Ядро процессора Nios V · Встроенная память · JTAG UART · Интервальный таймер (опционально)(1)
При добавлении новой встроенной памяти в систему Platform Designer выполните синхронизацию системной информации (Sync System Infos), чтобы отразить добавленные компоненты памяти при сбросе. Кроме того, можно включить автоматическую синхронизацию в Platform Designer, чтобы автоматически отразить последние изменения компонентов.
Рисунок 11. Example соединение процессора Nios V с другими периферийными устройствами в Platform Designer
(1) У вас есть возможность использовать функции внутреннего таймера Nios V для замены внешнего интервального таймера в Platform Designer.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 23
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Вам также необходимо определить рабочие контакты для экспорта в качестве канала в системе Platform Designer. Например,ample, правильный список контактов для работы системы FPGA определяется следующим образом, но не ограничивается им:
· Часы
· Сброс настроек
· Сигналы ввода/вывода
2.1.3 Указание базовых адресов и приоритетов запросов на прерывание
Чтобы указать, как компоненты, добавленные в проект, взаимодействуют для формирования системы, необходимо назначить базовые адреса для каждого компонента агента и назначить приоритеты запросов на прерывание (IRQ) для JTAG UART и интервальный таймер. В конструкторе платформ есть команда «Назначить базовые адреса», которая автоматически назначает правильные базовые адреса всем компонентам системы. Однако вы можете настроить базовые адреса в соответствии со своими потребностями.
Ниже приведены некоторые рекомендации по назначению базовых адресов:
· Ядро процессора Nios V имеет 32-битный адресный диапазон. Для доступа к компонентам агента их базовый адрес должен находиться в диапазоне от 0x00000000 до 0xFFFFFFFF.
· Программы Nios V используют символические константы для ссылки на адреса. Вам не обязательно выбирать легко запоминающиеся значения адресов.
· Адреса, различающиеся по компонентам всего на один бит, обеспечивают более эффективное аппаратное обеспечение. Необязательно сжимать все базовые адреса в минимально возможный диапазон, поскольку сжатие может привести к снижению эффективности оборудования.
· Platform Designer не пытается выравнивать отдельные компоненты памяти в непрерывном диапазоне. Например,ampт. е., если вы хотите, чтобы несколько компонентов встроенной памяти адресулись как один непрерывный диапазон памяти, вы должны явно назначить базовые адреса.
Platform Designer также предоставляет команду автоматизации «Назначить номера прерываний», которая связывает сигналы прерываний (IRQ) для получения корректных результатов аппаратного обеспечения. Однако эффективное назначение IRQ требует понимания общего поведения системы. Platform Designer не может делать обоснованных предположений о наилучшем назначении IRQ.
Наименьший приоритет имеет наименьшее значение IRQ. В идеальной системе Altera рекомендует, чтобы компонент таймера имел наивысший приоритет IRQ, то есть наименьшее значение, для поддержания точности хода системных часов.
В некоторых случаях можно назначить более высокий приоритет периферийным устройствам реального времени (например, видеоконтроллерам), которые требуют более высокой частоты прерываний, чем компоненты таймера.
Сопутствующая информация
Руководство пользователя Quartus Prime Pro Edition: дополнительная информация о создании системы с помощью Platform Designer.
Руководство по проектированию встраиваемых процессоров Nios® V 24
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
2.2. Интеграция системы Platform Designer в проект Quartus Prime
После создания проекта системы Nios V в Platform Designer выполните следующие задачи для интеграции модуля системы Nios V в проект конструкции ПЛИС Quartus Prime. · Создайте экземпляр модуля системы Nios V в проекте Quartus Prime. · Подключите сигналы модуля системы Nios V к другим сигналам в логике ПЛИС. · Назначьте местоположение физических контактов. · Наложите ограничения на проект ПЛИС.
2.2.1. Создание модуля процессорной системы Nios V в проекте Quartus Prime
Platform Designer генерирует сущность проекта системного модуля, которую можно создать в Quartus Prime. Способ создания экземпляра системного модуля зависит от метода ввода проекта в Quartus Prime. Например,ampЕсли вы использовали Verilog HDL для ввода проекта, создайте экземпляр системного модуля на базе Verilog. Если вы предпочитаете использовать метод блок-схем для ввода проекта, создайте экземпляр символа системного модуля .bdf. file.
2.2.2 Подключение сигналов и назначение физических контактов
Чтобы подключить проект ПЛИС Altera к проекту на уровне платы, выполните следующие задачи: · Определите верхний уровень file для вашего дизайна и сигналов для подключения к внешнему устройству Altera
Контакты устройства ПЛИС. · Узнайте, какие контакты следует подключать, изучив руководство пользователя по проектированию на уровне платы или
схемы. · Назначьте сигналы в проекте верхнего уровня портам на вашем устройстве ПЛИС Altera с помощью выводов
инструменты для выполнения заданий.
Ваша система Platform Designer может быть проектом верхнего уровня. Однако ПЛИС Altera может также включать дополнительную логику, соответствующую вашим потребностям, и, таким образом, создавать пользовательскую платформу верхнего уровня. file. Верхний уровень file соединяет сигналы модуля системы процессора Nios V с другой логикой проекта ПЛИС Altera.
Сопутствующая информация Руководство пользователя Quartus Prime Pro Edition: ограничения проектирования
2.2.3. Ограничение конструкции ПЛИС Altera
Правильная разработка системы на базе ПЛИС Altera включает в себя проектные ограничения, обеспечивающие соответствие проекта требованиям к временным замыканиям и другим логическим ограничениям. Необходимо явно ограничить проект ПЛИС Altera, используя инструменты, входящие в состав программного обеспечения Quartus Prime, или сторонних поставщиков систем автоматизированного проектирования (EDA). Программа Quartus Prime использует предоставленные ограничения на этапе компиляции для достижения оптимальных результатов размещения.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 25
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Сопутствующая информация · Руководство пользователя Quartus Prime Pro Edition: ограничения проектирования · Сторонние партнеры EDA · Руководство пользователя Quartus Prime Pro Edition: временной анализатор
2.3. Проектирование системы памяти процессора Nios V
В этом разделе описываются рекомендации по выбору устройств памяти во встраиваемой системе Platform Designer с процессором Nios V для достижения оптимальной производительности. Устройства памяти играют важнейшую роль в повышении общей производительности встраиваемой системы. Встроенная системная память хранит инструкции и данные программы.
2.3.1 Энергозависимая память
Основное отличие типов памяти — энергозависимость. Энергозависимая память сохраняет своё содержимое только пока на устройство памяти подано питание. При отключении питания память теряет своё содержимое.
ExampК энергозависимой памяти относятся ОЗУ, кэш и регистры. Это быстрые типы памяти, повышающие производительность. Altera рекомендует загружать и выполнять инструкции процессора Nios V в ОЗУ, а также использовать ядро Nios V IP с IP-интерфейсом встроенной памяти или IP-интерфейсом внешней памяти для оптимальной производительности.
Для повышения производительности можно исключить дополнительные компоненты адаптации Platform Designer, сопоставив тип интерфейса или ширину диспетчера данных процессора Nios V с загрузочной оперативной памятью. Например,ample, вы можете настроить On-Chip Memory II с 32-битным интерфейсом AXI-4, который соответствует интерфейсу менеджера данных Nios V.
Сопутствующая информация · Центр поддержки IP-интерфейсов внешней памяти · Встроенная память (ОЗУ или ПЗУ) Altera FPGA IP · Встроенная память II (ОЗУ или ПЗУ) Altera FPGA IP · Выполнение приложения процессора Nios V на месте из OCRAM на стр. 54
2.3.1.1. Конфигурация встроенной памяти (ОЗУ или ПЗУ)
Вы можете настроить IP-адреса встроенной памяти ПЛИС Altera как ОЗУ или ПЗУ. · ОЗУ обеспечивает возможность чтения и записи и является энергозависимым. Если вы
При загрузке процессора Nios V из встроенной оперативной памяти необходимо убедиться, что загрузочное содержимое сохранено и не повреждёно в случае сброса во время работы. · Если процессор Nios V загружается из ПЗУ, любая программная ошибка процессора Nios V не сможет ошибочно перезаписать содержимое встроенной памяти. Это снижает риск повреждения загрузочного ПО.
Сопутствующая информация · Встроенная память (ОЗУ или ПЗУ) Altera FPGA IP · Встроенная память II (ОЗУ или ПЗУ) Altera FPGA IP · Выполнение приложения процессора Nios V на месте из OCRAM на странице 54
Руководство по проектированию встраиваемых процессоров Nios® V 26
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
2.3.1.2.Кэши
Встроенная память обычно используется для реализации функций кэширования благодаря своей низкой задержке. Процессор Nios V использует встроенную память для кэширования инструкций и данных. Ограниченный объём встроенной памяти обычно не является проблемой для кэширования, поскольку оно, как правило, имеет небольшой объём.
Кэши обычно используются в следующих случаях:
· Обычная память расположена вне кристалла и имеет более длительное время доступа, чем встроенная память.
· Критически важные для производительности разделы программного кода могут помещаться в кэш инструкций, что повышает производительность системы.
· Наиболее важные с точки зрения производительности, наиболее часто используемые разделы данных могут помещаться в кэш данных, что повышает производительность системы.
Включение кэшей в процессоре Nios V создает иерархию памяти, которая минимизирует время доступа к памяти.
2.3.1.2.1. Периферийная область
Любые IP-адреса встроенных периферийных устройств, такие как UART, I2C и SPI, не должны кэшироваться. Кэширование настоятельно рекомендуется для внешних запоминающих устройств, требующих длительного времени доступа, в то время как внутренняя память на кристалле может быть исключена из-за её короткого времени доступа. Вы не должны кэшировать никакие IP-адреса встроенных периферийных устройств, такие как UART, I2C и SPI, за исключением памяти. Это важно, поскольку события от внешних устройств, таких как устройства-агенты, обновляющие программные IP-адреса, не захватываются кэшем процессора и, в свою очередь, не принимаются процессором. В результате эти события могут оставаться незамеченными до тех пор, пока вы не очистите кэш, что может привести к непреднамеренному поведению вашей системы. Подводя итог, область отображения памяти IP-адресов встроенных периферийных устройств не подлежит кэшированию и должна находиться в периферийных областях процессора.
Чтобы установить периферийный регион, выполните следующие действия:
1. Откройте карту адресов системы в конструкторе платформ.
2. Перейдите к карте адресов диспетчера инструкций и диспетчера данных процессора.
3. Определите периферийные устройства и память в вашей системе.
Рисунок 12. Example of Address Map
Примечание: синие стрелки указывают на модули памяти. 4. Сгруппируйте периферийные устройства:
а. Память как кэшируемая б. Периферийные устройства как некэшируемые
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 27
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Таблица 19. Кэшируемые и некэшируемые области
Подчиненный
Карта адресов
Статус
Периферийный регион
Размер
Базовый адрес
user_application_mem.s1
0x0 ~ 0x3ffff
Кэшируемый
Н/Д
Н/Д
cpu.dm_agent bootcopier_rom.s1
0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff
Некэшируемый Кэшируемый
65536 байт Н/Д
0x40000 Н/Д
bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm
0x52000 ~ 0x537ff 0x54000 ~ 0x5403f 0x54040 ~ 0x5407f
Кэшируемый Некэшируемый Некэшируемый
144 байта (минимальный размер 65536 байт)
0x54000
sysid_qsys_0.control_slave
0x54080 ~ 0x54087
Некэшируемый
uart.avalon_jtag_раб
0x54088 ~ 0x5408f
Некэшируемый
5. Выровняйте периферийные области по их конкретным размерам:
· Для бывшегоampНапример, если размер равен 65536 байт, это соответствует 0x10000 байт. Следовательно, допустимый базовый адрес должен быть кратен 0x10000.
· CPU.dm_agent использует базовый адрес 0x40000, кратный 0x10000. Таким образом, периферийная область A размером 65536 байт и базовым адресом 0x40000 соответствует требованиям.
· Базовый адрес набора некэшируемых областей по адресу 0x54000 не кратен 0x10000. Необходимо переназначить их на 0x60000 или другое значение, кратное 0x10000. Таким образом, периферийная область B размером 65536 байт и базовым адресом 0x60000 удовлетворяет критериям.
Таблица 20. Кэшируемая и некэшируемая область с переназначением
Подчиненный
Карта адресов
Статус
Периферийный регион
Размер
Базовый адрес
user_application_mem.s1
0x0 ~ 0x3ffff
Кэшируемый
Н/Д
Н/Д
cpu.dm_agent
0x40000 ~ 0x4ffff
Некэшируемые 65536 байт
0x40000
bootcopier_rom.s1
0x50000 ~ 0x517ff
Кэшируемый
Н/Д
Н/Д
bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm sysid_qsys_0.control_slave
0x52000 ~ 0x537ff 0x60000 ~ 0x6003f 0x60040 ~ 0x6007f 0x60080 ~ 0x60087
Кэшируемый Некэшируемый Некэшируемый Некэшируемый
144 байта (минимальный размер 65536 байт)
0x60000
uart.avalon_jtag_раб
0x60088 ~ 0x6008f
Некэшируемый
2.3.1.3 Тесно связанная память
Сильно связанная память (TCM) реализуется с использованием встроенной памяти, поскольку её низкая задержка делает её идеально подходящей для решения этой задачи. TCM — это память, отображаемая в типичном адресном пространстве, но имеющая выделенный интерфейс для микропроцессора и обладающая высокой производительностью и низкой задержкой, характерными для кэш-памяти. TCM также предоставляет подчинённый интерфейс для внешнего хоста. Процессор и внешний хост имеют одинаковый уровень разрешений для работы с TCM.
Руководство по проектированию встраиваемых процессоров Nios® V 28
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Примечание:
При подключении подчиненного порта TCM к внешнему хосту он может отображаться с базовым адресом, отличным от базового адреса, назначенного в ядре процессора. Altera рекомендует выравнивать оба адреса по одному значению.
2.3.1.4 Интерфейс внешней памяти (EMIF)
Интерфейс внешней памяти (EMIF) работает аналогично статической памяти с произвольным доступом (SRAM), но является динамическим и требует периодического обновления для сохранения содержимого. Динамические ячейки памяти в EMIF значительно меньше статических ячеек памяти в SRAM, что обеспечивает большую ёмкость и более низкую стоимость устройств памяти.
Помимо требования к обновлению, EMIF предъявляет особые требования к интерфейсу, которые часто требуют специализированного аппаратного контроллера. В отличие от SRAM, имеющей фиксированный набор адресных линий, EMIF организует пространство памяти в виде банков, строк и столбцов. Переключение между банками и строками приводит к некоторым накладным расходам, поэтому для эффективного использования EMIF необходимо тщательно упорядочивать доступ к памяти. EMIF также мультиплексирует адреса строк и столбцов по одним и тем же адресным линиям, что сокращает количество контактов, необходимых для EMIF заданного размера.
Более скоростные версии EMIF, такие как DDR, DDR2, DDR3, DDR4 и DDR5, предъявляют строгие требования к целостности сигнала, которые должны учитывать проектировщики печатных плат.
Устройства EMIF относятся к числу самых экономичных и ёмких типов оперативной памяти, что делает их популярным выбором. Ключевым компонентом интерфейса EMIF является IP-интерфейс EMIF, который управляет задачами, связанными с мультиплексированием адресов, обновлением и переключением между строками и банками. Такая архитектура позволяет остальной части системы получать доступ к EMIF, не разбираясь в его внутренней архитектуре.
Сопутствующая информация Интерфейсы внешней памяти Центр поддержки IP
2.3.1.4.1. IP-адрес расширителя диапазона
Расширитель адресного пространства Altera FPGA IP позволяет хост-интерфейсам с отображением памяти получать доступ к более крупной или более мелкой карте адресов, чем позволяет ширина их адресных сигналов. Расширитель адресного пространства IP разбивает адресное пространство на несколько отдельных окон, чтобы хост мог получить доступ к соответствующей области памяти через каждое окно.
Address Span Extender не ограничивает разрядность хоста и агента 32- и 64-битной конфигурацией. Вы можете использовать Address Span Extender с адресными окнами от 1 до 64 бит.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 29
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Рисунок 13. Расширитель диапазона адресов Altera FPGA IP
Адрес слова агента
Расширитель диапазона адресов
A
Таблица сопоставления
Порт управления А
…
Регистр управления 0 Регистр управления Z-1
Расширенный адрес хоста H
Сопутствующая информация
Руководство пользователя Quartus® Prime Pro Edition: Конструктор платформ. Дополнительную информацию см. в разделе «Расширитель адресного диапазона Intel® FPGA IP».
2.3.1.4.2. Использование IP-адресного расширителя диапазона с процессором Nios V
32-разрядный процессор Nios V может адресовать до 4 ГБ адресного пространства. Если EMIF содержит более 4 ГБ памяти, это превышает максимально поддерживаемый адресный диапазон, что приводит к ошибке в системе Platform Designer. Для решения этой проблемы требуется IP-адресный расширитель адресного пространства, который разделяет единое адресное пространство EMIF на несколько меньших окон.
Altera рекомендует вам учитывать следующие параметры.
Таблица 21. Параметры расширителя диапазона адресов
Параметр
Рекомендуемые настройки
Ширина тракта данных
Расширенная ширина адреса главного байта
Выберите 32-битный процессор, что соответствует 32-битному процессору. Зависит от размера памяти EMIF.
Ширина адреса подчиненного слова Ширина счетчика пакетов
Выберите 2 ГБ или меньше. Оставшийся адресный диапазон процессора Nios V зарезервирован для других встроенных программных IP-адресов.
Начните с 1 и постепенно увеличивайте это значение для повышения производительности.
Количество подокон
Выберите одно подокно, если вы подключаете EMIF к процессору Nios V в качестве памяти инструкций и данных, или и того, и другого. Переключение между несколькими подокнами во время выполнения процессором Nios V команд из EMIF опасно.
Включить порт управления подчиненным устройством
Отключите порт управления ведомым устройством, если вы подключаете EMIF к процессору Nios V в качестве памяти инструкций и/или данных. Те же вопросы, что и с количеством подокнов.
Максимальное количество ожидающих прочтений
Начните с 1 и постепенно увеличивайте это значение для повышения производительности.
Руководство по проектированию встраиваемых процессоров Nios® V 30
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
Рисунок 14. Подключение диспетчера инструкций и данных к расширителю диапазона адресов
Рисунок 15. Сопоставление адресов
Обратите внимание, что модуль расширения адресного пространства (Address Span Extender) может получить доступ ко всему пространству памяти EMIF объёмом 8 ГБ. Однако процессор Nios V через модуль расширения адресного пространства может получить доступ только к первому пространству памяти EMIF объёмом 1 ГБ.
Рисунок 16. Упрощенная блок-схема
Система конструктора платформ
Осталось 3 ГБ
Адрес процессора Nios V
диапазон для встроенных
NNioios sVV PProrocessosor r
M
программные IP-адреса в той же системе.
Окно 1 ГБ
Диапазон адресов
S
Расширитель
M
Только первый 1 ГБ
памяти EMIF подключен к Nios V
EMIF
процессор.
8 ГБ
S
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 31
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
2.3.1.4.3. Определение устройства памяти линкера расширения адресного диапазона 1. Определите расширитель адресного диапазона (EMIF) в качестве вектора сброса. Кроме того, вектор сброса процессора Nios V можно назначить другим устройствам памяти, например, OCRAM или флэш-памяти.
Рисунок 17. Несколько вариантов как вектор сброса
Однако редактор BSP (Board Support Package Editor) не может автоматически зарегистрировать модуль расширения адресного диапазона (EMIF) как допустимую память. В зависимости от сделанного вами выбора, вы можете увидеть две различные ситуации, как показано на следующих рисунках. Рисунок 18. Ошибка BSP при определении модуля расширения адресного диапазона (EMIF) как вектора сброса.
Руководство по проектированию встраиваемых процессоров Nios® V 32
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
Рисунок 19. Отсутствие EMIF при определении других воспоминаний как вектора сброса
2. Необходимо вручную добавить расширитель адресного диапазона (EMIF) с помощью функций «Добавить устройство памяти», «Добавить область памяти компоновщика» и «Добавить сопоставления разделов компоновщика» на вкладке «Скрипт компоновщика BSP».
3. Следуй этим шагам:
а. Определите диапазон адресов расширителя диапазона адресов с помощью карты памяти (бывшийample на следующем рисунке использует диапазон Address Span Extender от 0x0 до 0x3fff_ffff).
Рисунок 20. Карта памяти
b. Нажмите «Добавить устройство памяти» и заполните поля, используя информацию из карты памяти вашего проекта: i. Имя устройства: emif_ddr4. Примечание: убедитесь, что вы скопировали то же имя из карты памяти. ii. Базовый адрес: 0x0 iii. Размер: 0x40000000
c. Нажмите «Добавить», чтобы добавить новую область памяти компоновщика:
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 33
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Таблица 22. Добавление области памяти компоновщика
Шаги
Сбросить вектор
emif_ddr4
Другие воспоминания
1
Добавьте новую область памяти линкера с именем «reset». Добавьте новую область памяти линкера для
· Название региона: сброс
emif_ddr4.
· Размер региона: 0x20
· Название региона: emif_ddr4
· Устройство памяти: emif_ddr4
· Размер региона: 0x40000000
· Смещение памяти: 0x0
· Устройство памяти: emif_ddr4
· Смещение памяти: 0x0
2
Добавить новую область памяти компоновщика для
оставшийся emif_ddr4.
· Название региона: emif_ddr4
· Размер региона: 0x3fffffe0
· Устройство памяти: emif_ddr4
· Смещение памяти: 0x20
Рисунок 21. Область компоновщика при определении расширителя адресного диапазона (EMIF) как вектора сброса
Рисунок 22. Область компоновки при определении других воспоминаний как вектора сброса
г. После добавления emif_ddr4 в BSP вы можете выбрать его для любого раздела компоновщика.
Рисунок 23. Успешно добавлен расширитель адресного диапазона (EMIF)
е. Игнорируйте предупреждение о том, что устройство памяти emif_ddr4 не отображается в проекте SOPC.
е. Перейдите к созданию BSP.
Сопутствующая информация Введение в методы загрузки процессора Nios V на стр. 51
Руководство по проектированию встраиваемых процессоров Nios® V 34
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
2.3.2 Энергонезависимая память
Энергонезависимая память сохраняет своё содержимое при выключении питания, что делает её хорошим выбором для хранения информации, которую система должна извлечь после выключения питания. Энергонезависимая память обычно хранит загрузочный код процессора, постоянные настройки приложений и данные конфигурации ПЛИС Altera. Хотя энергонезависимая память имеет преимущество,tagХотя энергонезависимая память сохраняет данные при отключении питания, она работает гораздо медленнее энергозависимой памяти и часто имеет более сложные процедуры записи и стирания. Кроме того, энергонезависимая память обычно гарантированно может быть стираема только определённое количество раз, после чего может выйти из строя.
ExampК энергонезависимой памяти относятся все типы флэш-памяти, EPROM и EEPROM. Altera рекомендует хранить битовые потоки ПЛИС Altera и образы программ Nios V в энергонезависимой памяти и использовать последовательную флэш-память в качестве загрузочного устройства для процессоров Nios V.
Сопутствующая информация
· Руководство пользователя Altera FPGA IP по универсальному последовательному флэш-интерфейсу
· Руководство пользователя почтового клиента Altera FPGA IP · Руководство пользователя флэш-памяти MAX® на 10 пользователей: встроенное флэш-ядро Altera FPGA IP
2.4. Лучшие практики по часам и сбросу
Важно понимать, как домен тактовой частоты и сброса процессора Nios V взаимодействует со всеми периферийными устройствами, к которым он подключен. Простая система с процессором Nios V начинается с одного домена тактовой частоты, и в системе с несколькими доменами тактовой частоты она может усложниться, когда быстрый домен тактовой частоты сталкивается с медленным. Необходимо обратить внимание и понять, как эти домены выходят из состояния сброса, и убедиться в отсутствии каких-либо скрытых проблем.
Для достижения наилучших результатов Altera рекомендует размещать процессор Nios V и загрузочную память в одном домене тактовой частоты. Не сбрасывайте процессор Nios V из состояния сброса в домене с высокой частотой, если он загружается из памяти, находящейся в домене с очень низкой частотой, так как это может привести к ошибке выборки инструкций. Вам может потребоваться ручная настройка последовательности, выходящая за рамки возможностей Platform Designer по умолчанию, и спланируйте топологию сброса в соответствии с вашим сценарием использования. Если вы хотите сбросить систему после того, как она загрузится и проработает некоторое время, примените те же рекомендации к последовательности сброса системы и требованиям к инициализации после сброса.
2.4.1. Система JTAG Часы
Указание ограничений тактовой частоты в каждой системе на базе процессора Nios V является важным фактором при проектировании системы и необходимо для обеспечения корректного и детерминированного поведения. Анализатор времени Quartus Prime выполняет статический анализ времени для проверки временных характеристик всей логики в вашем проекте, используя стандартную в отрасли методологию ограничений, анализа и составления отчётов.
Example 1. Базовая тактовая частота 100 МГц с рабочим циклом 50/50 и частотой тактовой частоты 16 МГцTAG Часы
#***************************************************************** # Создать тактовую частоту 100 МГц #***************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #**************************** Создать тактовую частоту 16 МГцTAG Часы #******************************
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 35
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
create_clock -name {altera_reserved_tck} -period 62.500 [get_ports {altera_reserved_tck}] set_clock_groups -asynchronous -group [get_clocks {altera_reserved_tck}] Дополнительная информация: кулинарная книга по анализатору времени Quartus Prime
2.4.2 Интерфейс запроса на сброс
Процессор Nios V включает в себя опциональную функцию запроса на сброс. Функция запроса на сброс состоит из сигналов reset_req и reset_req_ack.
Чтобы включить запрос на сброс в Platform Designer: 1. Запустите редактор параметров IP процессора Nios V. 2. В параметре «Использовать запрос на сброс» включите опцию «Добавить интерфейс запроса на сброс».
вариант.
Рисунок 24. Включение запроса на сброс процессора Nios V
Сигнал reset_req действует как прерывание. Когда вы активируете сигнал reset_req, вы запрашиваете сброс ядра. Ядро ожидает завершения любой незавершённой транзакции шины. Например,ampНапример, если есть ожидающая транзакция доступа к памяти, ядро ожидает полного ответа. Аналогично, ядро принимает любой ожидающий ответ на инструкцию, но не отправляет запрос инструкции после получения сигнала reset_req.
Операция сброса состоит из следующих этапов: 1. Завершение всех отложенных операций. 2. Очистка внутреннего конвейера. 3. Установка счётчика программ на вектор сброса. 4. Сброс ядра. Вся операция сброса занимает несколько тактов. Сигнал reset_req должен оставаться активным до тех пор, пока не будет активен сигнал reset_req_ack, указывающий на успешное завершение операции сброса ядра. В противном случае состояние ядра станет недетерминированным.
Руководство по проектированию встраиваемых процессоров Nios® V 36
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
2.4.2.1. Типичные варианты использования
· Вы можете подать сигнал reset_req при включении питания, чтобы предотвратить запуск ядра процессора Nios V с вектора сброса до тех пор, пока другие хосты ПЛИС в системе не инициализируют загрузочную память процессора Nios V. В этом случае вся подсистема может выполнить чистый аппаратный сброс. Процессор Nios V будет находиться в состоянии запроса сброса неограниченное время, пока другие хосты ПЛИС не инициализируют загрузочную память процессора.
· В системе, где необходимо сбросить ядро процессора Nios V, не нарушая работу остальной системы, можно подать сигнал reset_req, чтобы аккуратно остановить текущую работу ядра и перезапустить процессор с вектора сброса, как только система сбросит сигнал reset_req_ack.
· Внешний хост может использовать интерфейс запроса на сброс для упрощения реализации следующих задач:
— Остановить текущую программу процессора Nios V.
— Загрузите новую программу в загрузочную память процессора Nios V.
— Разрешите процессору начать выполнение новой программы.
Altera рекомендует реализовать механизм тайм-аута для мониторинга состояния сигнала reset_req_ack. Если ядро процессора Nios V переходит в состояние бесконечного ожидания и останавливается по неизвестной причине, сигнал reset_req_ack не может быть активным бесконечно. Механизм тайм-аута позволяет:
· Определите период ожидания восстановления и выполните восстановление системы с помощью сброса на уровне системы.
· Выполните сброс настроек на аппаратном уровне.
2.4.3. Сброс сброса IP
Устройства Altera на базе SDM используют параллельную секторную архитектуру, которая распределяет логику ядра фабрики по нескольким секторам. Altera рекомендует использовать IP-адрес сброса Altera FPGA в качестве одного из начальных входов схемы сброса. Устройства на базе Intel® SDM включают устройства Stratix® 10 и AgilexTM. Это требование не распространяется на устройства на базе блоков управления.
Сопутствующая информация
AN 891: Использование сброса сброса Altera FPGA IP
2.5. Назначение агента по умолчанию
Конструктор платформ позволяет указать агента по умолчанию, который будет действовать как агент по умолчанию для реагирования на ошибки. Назначенный вами агент по умолчанию предоставляет службу реагирования на ошибки для хостов, пытающихся получить недекодированный доступ к карте адресов.
Следующие сценарии вызывают нераскодированное событие:
· Нарушение состояния безопасности транзакций шины
· Транзакционный доступ к неопределенной области памяти
· Исключительное событие и т. д.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 37
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Для обработки таких событий следует назначить агента по умолчанию, при этом неопределенная транзакция перенаправляется агенту по умолчанию и впоследствии отправляет процессору Nios V ответ об ошибке.
Сопутствующая информация
· Руководство пользователя Quartus Prime Pro Edition: Дизайнер платформы. Назначение агента по умолчанию.
· Руководство пользователя Quartus Prime Pro Edition: Конструктор платформ. Ответ на ошибку. Ведомый IP-адрес ПЛИС Altera.
· Github – Дополнительные компоненты сброса для Qsys
2.6. Назначение UART-агента для печати
Печать полезна для отладки программного обеспечения, а также для мониторинга состояния системы. Altera рекомендует печатать основную информацию, такую как сообщение о запуске, сообщение об ошибке и ход выполнения программного обеспечения.
Избегайте использования функции библиотеки printf() в следующих случаях: · Библиотека printf() приводит к остановке приложения, если ни один хост не считывает вывод.
Это применимо к JTAG Только UART. · Библиотека printf() потребляет большой объем памяти программы.
2.6.1. Предотвращение остановок двигателя с помощью JTAG УАПП
Таблица 23. Различия между традиционным UART и JTAG УАПП
Тип UART Традиционный UART
Описание
Передаёт последовательные данные независимо от того, прослушивает ли их внешний хост. Если ни один хост не считывает последовательные данные, они теряются.
JTAG УАПП
Записывает переданные данные в выходной буфер и использует внешний хост для чтения из буфера, чтобы очистить его.
JTAG Драйвер UART ожидает заполнения выходного буфера. JTAG Драйвер UART ожидает, пока внешний хост завершит чтение данных из выходного буфера, прежде чем записывать новые передаваемые данные. Этот процесс предотвращает потерю передаваемых данных.
Однако, когда отладка системы не требуется, например, во время производства, встроенные системы развертываются без подключения главного ПК к JTAG UART. Если система выбрала JTAG UART как агент UART может привести к остановке системы из-за отсутствия подключенного внешнего хоста.
Чтобы предотвратить остановку двигателя по JTAG UART, применим один из следующих вариантов:
Руководство по проектированию встраиваемых процессоров Nios® V 38
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Таблица 24. Предотвращение остановки двигателя с помощью JTAG УАПП
Параметры
Интерфейс UART и драйвер отсутствуют
Использовать другой интерфейс UART и драйвер
Сохранить JTAG Интерфейс UART (без драйвера)
Во время разработки оборудования (в Platform Designer)
Во время разработки программного обеспечения (в редакторе пакетов поддержки плат)
Удалить JTAG UART от системы
Настройте hal.stdin, hal.stdout и hal.stderr как None.
Заменить JTAG UART с другим программным обеспечением. Настройка hal.stdin, hal.stdout и hal.stderr.
UART IP
с другим программным UART IP.
Сохранить JTAG UART в системе
· Настройте hal.stdin, hal.stdout и hal.stderr как None в редакторе пакетов поддержки платы.
· Отключить JTAG Драйвер UART на вкладке Драйвер BSP.
2.7.ДжTAG Сигналы
Модуль отладки процессора Nios V использует JTAG Интерфейс для загрузки и отладки программного обеспечения в формате ELF. При отладке проекта с помощью JTAG интерфейс, JTAG Сигналы TCK, TMS, TDI и TDO реализованы в рамках проекта. Указание JTAG Ограничения сигналов в каждой системе процессора Nios V являются важным фактором при проектировании системы и необходимы для корректного и детерминированного поведения.
Altera рекомендует, чтобы тактовая частота системы любого проекта была по крайней мере в четыре раза больше частоты JTAG тактовой частоты, обеспечивающей правильное функционирование ядра встроенного в чип инструментария (OCI).
Сопутствующая информация · Книга рецептов анализатора времени Quartus® Prime: JTAG Сигналы
Для получения дополнительной информации о JTAG Руководство по временным ограничениям. · KDB: Почему niosv-download не работает с неконвейерным процессором Nios® V/m на
JTAG частота 24МГц или 16МГц?
2.8 Оптимизация производительности системы Platform Designer
Platform Designer предоставляет инструменты для оптимизации производительности системного взаимодействия для проектов ПЛИС Altera.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 39
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer
726952 | 2025.07.16
Рисунок 25. Пример оптимизацииampле
БывшийampНа рисунке показано, как выполняются следующие шаги:
1. Добавляет Pipeline Bridge для разгрузки критических путей, размещая его: а) между диспетчером инструкций и его агентами; б) между диспетчером данных и его агентами.
2. Применить настоящую двухпортовую встроенную оперативную память, где каждый порт выделен для диспетчера инструкций и диспетчера данных соответственно.
Руководство по проектированию встраиваемых процессоров Nios® V 40
Отправить отзыв
2. Проектирование аппаратной системы процессора Nios V с помощью программного обеспечения Quartus Prime и Platform Designer 726952 | 2025.07.16
Ознакомьтесь со следующими ссылками ниже, в которых представлены методы использования доступных инструментов и компромиссы каждой реализации.
Сопутствующая информация · Руководство пользователя Quartus® Prime Pro Edition: конструктор платформ
Дополнительную информацию см. в разделе Оптимизация производительности системы Platform Designer. · Руководство пользователя Quartus® Prime Standard Edition: Platform Designer Дополнительную информацию см. в разделе Оптимизация производительности системы Platform Designer.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 41
726952 | 2025.07.16 Отправить отзыв
3. Проектирование программной системы процессора Nios V
В этой главе описывается процесс разработки программного обеспечения для процессора Nios V и программные инструменты, которые можно использовать при разработке встраиваемой системы проектирования. Содержание служит в качестве общего руководства.view перед разработкой программной системы процессора Nios V.
Рисунок 26. Процесс проектирования программного обеспечения
Начинать
Создайте BSP в конструкторе платформ с помощью редактора BSP
Создание BSP с помощью командной оболочки Nios V
Генерация сборки приложения CMake File Использование командной оболочки Nios V
Примечание:
Импортируйте BSP и сборку приложения CMake File
Создайте приложение процессора Nios V с помощью
RiscFree IDE для Intel FPGA
Создайте приложение Nios V Processor, используя любой
редактор исходного кода командной строки, CMake и Make
команды
Конец
Altera рекомендует использовать комплект разработчика Altera FPGA или специальную прототипную плату для разработки и отладки программного обеспечения. Многие периферийные устройства и системные функции доступны только при запуске программного обеспечения на реальной плате.
© Altera Corporation. Altera, логотип Altera, логотип «a» и другие товарные знаки Altera являются товарными знаками Altera Corporation. Altera оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Altera не несет ответственности, возникающей в связи с применением или использованием любой информации, продукта или услуги, описанных в настоящем документе, за исключением случаев, прямо оговоренных Altera в письменной форме. Клиентам Altera рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и бренды могут быть заявлены как собственность других лиц.
3. Проектирование программного обеспечения процессора Nios V 726952 | 2025.07.16
3.1. Процесс разработки программного обеспечения для процессора Nios V
3.1.1. Проект пакета поддержки Совета директоров
Проект пакета поддержки плат Nios V (BSP) — это специализированная библиотека, содержащая системно-специфичный код поддержки. BSP предоставляет среду выполнения программного обеспечения, настроенную для одного процессора в аппаратной системе Nios V.
Программное обеспечение Quartus Prime предоставляет редактор пакетов поддержки плат Nios V и служебные инструменты niosv-bsp для изменения настроек, управляющих поведением BSP.
BSP содержит следующие элементы: · Уровень абстракции оборудования · Драйверы устройств · Дополнительные программные пакеты · Дополнительная операционная система реального времени
3.1.2. Проект приложения
Проект приложения Nios VC/C++ имеет следующие особенности: · Состоит из коллекции исходного кода и файла CMakeLists.txt.
— CMakeLists.txt компилирует исходный код и связывает его с BSP и одной или несколькими дополнительными библиотеками, чтобы создать один .elf file
· Один из источников files содержит функцию main(). · Включает код, который вызывает функции в библиотеках и BSP.
Altera предоставляет служебную программу niosv-app в составе пакета Quartus Prime, которая позволяет создавать файлы Application CMakeLists.txt, а также среду RiscFree IDE для ПЛИС Altera, позволяющую изменять исходный код в среде на базе Eclipse.
3.2. Встраиваемые средства разработки Altera FPGA
Процессор Nios V поддерживает следующие инструменты для разработки программного обеспечения: · Графический интерфейс пользователя (GUI) — графические инструменты разработки, доступные в
Операционные системы (ОС) Windows* и Linux*. — Редактор пакетов поддержки плат Nios V (редактор Nios V BSP) — IDE Ashling RiscFree для ПЛИС Altera · Инструменты командной строки (CLI) — инструменты разработки, запускаемые из командной оболочки Nios V. Каждый инструмент предоставляет собственную документацию в виде справки, доступной из командной строки. Откройте командную оболочку Nios V и введите следующую команду: –помочь view меню «Справка». — Nios V Utilities Tools — File Инструменты преобразования форматов — Другие утилиты
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 43
3. Проектирование программного обеспечения процессора Nios V 726952 | 2025.07.16
Таблица 25. Сводка задач инструментов графического интерфейса и инструментов командной строки
Задача
Инструмент с графическим интерфейсом
Инструмент командной строки
Создание BSP
Редактор Nios V BSP
· В программном обеспечении Quartus Prime Pro Edition: niosv-bsp -c -s=<.qsys file> -т= [ПАРАМЕТРЫ] settings.bsp
· В программном обеспечении Quartus Prime Standard Edition: niosv-bsp -c -s=<.sopcinfo file> -т= [ПАРАМЕТРЫ] settings.bsp
Создание BSP с использованием существующего .bsp file
Обновление BSP
Редактор Nios V BSP Редактор Nios V BSP
niosv-bsp -g [ПАРАМЕТРЫ] settings.bsp niosv-bsp -u [ПАРАМЕТРЫ] settings.bsp
Проверка BSP
Редактор Nios V BSP
niosv-bsp -q -E= [ПАРАМЕТРЫ] settings.bsp
Создание приложения
–
niosv-app -a= -б= -с= fileкаталог> [ПАРАМЕТРЫ]
Создание пользовательской библиотеки
–
niosv-app -l= -с= fileкаталог> -p= [ПАРАМЕТРЫ]
Изменение приложения Изменение пользовательской библиотеки Создание приложения
RiscFree IDE для ПЛИС Altera
RiscFree IDE для ПЛИС Altera
RiscFree IDE для ПЛИС Altera
Любой редактор исходного кода командной строки
Любой редактор исходного кода командной строки
· сделать · сделать
Создание пользовательской библиотеки
RiscFree IDE для ПЛИС Altera
· сделать · сделать
Загрузка приложения ELF
Преобразование .elf file
RiscFree IDE для ПЛИС Altera
–
niosv-download
· elf2flash · elf2hex
Сопутствующая информация
Руководство пользователя интегрированной среды разработки (IDE) Ashling RiscFree для ПЛИС Altera
3.2.1 Редактор пакетов поддержки процессорной платы Nios V
С помощью редактора BSP процессора Nios V можно выполнять следующие задачи: · Создавать или изменять проект BSP процессора Nios V · Редактировать настройки, области компоновки и сопоставления разделов · Выбирать пакеты программного обеспечения и драйверы устройств.
Возможности редактора BSP включают возможности утилит niosv-bsp. Любой проект, созданный в редакторе BSP, также может быть создан с помощью утилит командной строки.
Руководство по проектированию встраиваемых процессоров Nios® V 44
Отправить отзыв
3. Проектирование программного обеспечения процессора Nios V 726952 | 2025.07.16
Примечание:
Для программного обеспечения Quartus Prime Standard Edition см. документ AN 980: Nios V Processor Quartus Prime Software Support, где описаны шаги по вызову графического интерфейса редактора BSP.
Чтобы запустить редактор BSP, выполните следующие действия: 1. Откройте Platform Designer и перейдите в File меню.
а. Чтобы открыть существующую настройку BSP file, нажмите «Открыть…» б. Чтобы создать новый BSP, нажмите «Новый BSP…» 2. Выберите вкладку «Редактор BSP» и введите необходимые данные.
Рисунок 27. Запуск редактора BSP
Сопутствующая информация AN 980: Поддержка программного обеспечения Quartus Prime для процессора Nios V
3.2.2 RiscFree IDE для ПЛИС Altera
RiscFree IDE для ПЛИС Altera — это IDE на базе Eclipse для процессора Nios V. Altera рекомендует разрабатывать программное обеспечение для процессора Nios V в этой IDE по следующим причинам: · Функции разработаны и проверены на совместимость с Nios V.
Процесс сборки процессора. · Оснащен всеми необходимыми инструментами и вспомогательными инструментами, которые позволяют вам
для легкого начала разработки процессора Nios V.
Сопутствующая информация: Интегрированная среда разработки (IDE) Ashling RiscFree для ПЛИС Altera. Руководство пользователя.
3.2.3. Инструменты Nios V Utilities
Вы можете создавать, изменять и компилировать программы Nios V, используя команды, вводимые в командной строке или встроенные в скрипт. Инструменты командной строки Nios V, описанные в этом разделе, находятся в каталог /niosv/bin.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 45
3. Проектирование программного обеспечения процессора Nios V 726952 | 2025.07.16
Таблица 26. Инструменты Nios V Utilities
Инструменты командной строки
Краткое содержание
niosv-app niosv-bsp niosv-download niosv-shell niosv-stack-report
Для создания и настройки проекта приложения.
Чтобы создать или обновить настройки BSP file и создать BSP files. Чтобы загрузить ELF file к процессору Nios® V.
Открытие командной оболочки Nios V. Информирование об оставшемся объёме памяти, доступном вашему приложению .elf для использования стека или кучи.
3.2.4. File Инструменты преобразования форматов
File Иногда при передаче данных из одной утилиты в другую требуется преобразование формата. file Инструменты преобразования форматов находятся в
каталог установки программного обеспечения>каталог /niosv/bin.
Таблица 27. File Инструменты преобразования форматов
Инструменты командной строки elf2flash elf2hex
Резюме Чтобы перевести .elf file в формат .srec для программирования флэш-памяти. Для перевода .elf file в формат .hex для инициализации памяти.
3.2.5 Другие утилиты
При сборке системы на базе процессора Nios V вам могут потребоваться следующие инструменты командной строки. Эти инструменты командной строки предоставляются Intel в /quartus/bin или приобретено у
инструменты с открытым исходным кодом.
Таблица 28. Другие инструменты командной строки
Инструменты командной строки
Тип
Краткое содержание
juart-терминал
предоставлено Intel
Для мониторинга stdout и stderr, а также для предоставления входных данных процессору Nios® V
Подсистема через стандартный ввод. Этот инструмент применим только к JTAG UART IP при подключении к процессору Nios® V.
openocd
Предоставлено Intel для запуска OpenOCD.
openocd-cfg-gen
Предоставлено Intel · Для создания конфигурации OpenOCD file. · Для отображения JTAG индекс цепочечного устройства.
Руководство по проектированию встраиваемых процессоров Nios® V 46
Отправить отзыв
726952 | 2025.07.16 Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке
Процессор Nios V можно настроить для загрузки и выполнения программного обеспечения из разных областей памяти. В качестве загрузочной памяти используется флэш-память с четырёхпоследовательным периферийным интерфейсом (QSPI), встроенная память (OCRAM) или тесно связанная память (TCM).
Сопутствующая информация · Условия срабатывания триггера при включении питания на стр. 193 · Триггеры при включении питания
Более подробную информацию о триггерах включения питания можно найти здесь.
4.1. Введение
Процессор Nios V поддерживает два типа процессов загрузки: · Выполнение на месте (XIP) с использованием функции alt_load() · Копирование программы в ОЗУ с помощью загрузочного копировщика. Разработка встроенных программ для Nios V основана на уровне аппаратной абстракции (HAL). HAL предоставляет небольшую программу-загрузчик (также известную как загрузочный копировщик), которая копирует соответствующие разделы компоновщика из загрузочной памяти в их место выполнения во время загрузки. Вы можете указать места выполнения программ и памяти данных, изменяя настройки редактора Board Support Package (BSP). В этом разделе описывается: · Загрузочный копировщик процессора Nios V, который загружает вашу систему с процессором Nios V в соответствии с
выбор загрузочной памяти · параметры загрузки процессора Nios V и общий поток · программные решения Nios V для выбранной загрузочной памяти
4.2. Связывание приложений
При создании проекта процессора Nios V редактор BSP генерирует два связанных компоновщика files: · linker.x: команда компоновщика file что сгенерированное приложение делаетfile использует
для создания двоичного файла .elf file· linker.h: Содержит информацию о структуре памяти компоновщика. Все изменения настроек компоновщика, вносимые в проект BSP, влияют на содержимое этих двух файлов компоновщика. files. Каждое приложение процессора Nios V содержит следующие разделы компоновщика:
© Altera Corporation. Altera, логотип Altera, логотип «a» и другие товарные знаки Altera являются товарными знаками Altera Corporation. Altera оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Altera не несет ответственности, возникающей в связи с применением или использованием любой информации, продукта или услуги, описанных в настоящем документе, за исключением случаев, прямо оговоренных Altera в письменной форме. Клиентам Altera рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и бренды могут быть заявлены как собственность других лиц.
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Таблица 29. Секции линкера
.текст
Разделы линкера
.родата
.rwdata
.бсс
.куча
.куча
Описания. Исполняемый код. Любые данные, доступные только для чтения, используемые при выполнении программы. Хранит данные, доступные для чтения и записи, используемые при выполнении программы. Содержит неинициализированные статические данные. Содержит динамически выделяемую память. Хранит параметры вызова функций и другие временные данные.
Вы можете добавить дополнительные разделы линкера в .elf file для хранения пользовательского кода и данных. Эти секции компоновщика размещаются в именованных областях памяти, соответствующих физическим устройствам памяти и адресам. По умолчанию редактор BSP автоматически генерирует эти секции компоновщика. Однако вы можете управлять секциями компоновщика для конкретного приложения.
4.2.1. Связывающее поведение
В этом разделе описывается поведение ссылок по умолчанию в редакторе BSP и способы управления поведением ссылок.
4.2.1.1. Связывание BSP по умолчанию
Во время настройки BSP инструменты автоматически выполняют следующие шаги:
1. Назначьте имена областям памяти: назначьте имя каждому устройству системной памяти и добавьте каждое имя в компоновщик. file как область памяти.
2. Найдите наибольший объем памяти: определите наибольший объем памяти для чтения и записи в компоновщике. file.
3. Назначьте разделы компоновщика: поместите разделы компоновщика по умолчанию (.text, .rodata, .rwdata, .bss, .heap и .stack) в область памяти, определенную на предыдущем шаге.
4. Напишите files: Напишите linker.x и linker.h files.
Обычно схема выделения раздела компоновщика работает в процессе разработки программного обеспечения, поскольку приложение гарантированно будет функционировать, если памяти достаточно много.
Правила поведения компоновки по умолчанию содержатся в сгенерированных Altera скриптах Tcl bsp-set-defaults.tcl и bsp-linker-utils.tcl, которые можно найти в Каталог /niosv/scripts/bsp-defaults. Команда niosv-bsp вызывает эти скрипты. Не изменяйте эти скрипты напрямую.
Руководство по проектированию встраиваемых процессоров Nios® V 48
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
4.2.1.2. Настраиваемое связывание BSP
Вы можете управлять поведением компоновки по умолчанию на вкладке «Скрипт компоновщика» редактора BSP. Для управления скриптом компоновщика используйте следующие методы: · Добавление области памяти: сопоставляет имя области памяти с физическим устройством памяти. · Добавление сопоставления раздела: сопоставляет имя раздела с областью памяти. BSP
Редактор позволяет вам view карта памяти до и после внесения изменений.
4.3. Методы загрузки процессора Nios V
Существует несколько способов загрузки процессора Nios V в устройствах Altera FPGA. Способы загрузки процессора Nios V различаются в зависимости от выбранной флэш-памяти и семейства устройств.
Таблица 30. Поддерживаемые флэш-память с соответствующими вариантами загрузки
Поддерживаемые загрузочные памяти
Устройство
Встроенная флэш-память (для внутренней конфигурации)
Только макс. 10 устройств (с встроенной флэш-памятью IP)
Универсальная QSPI Flash-память (только для пользовательских данных)
Все поддерживаемые устройства FPGA (с универсальным последовательным флэш-интерфейсом FPGA IP)
Конфигурация QSPI Flash (для конфигурации Active Serial)
на основе блока управления
устройства (с Универсальным
Последовательный флэш-интерфейс Intel FPGA IP)(2)
Методы загрузки процессора Nios V
Расположение среды выполнения приложения
Загрузочный копир
Приложение процессора Nios V выполняется на месте из встроенной флэш-памяти
Встроенная флэш-память (XIP) + OCRAM/внешняя RAM (для записываемых разделов данных)
функция alt_load()
Приложение процессора Nios V скопировано из встроенной флэш-памяти в ОЗУ с помощью загрузочного копировщика
OCRAM/Внешняя оперативная память
Повторное использование загрузчика через GSFI
Приложение процессора Nios V выполняется на месте из универсальной флэш-памяти QSPI
Универсальная флэш-память QSPI (XIP) + OCRAM/Внешняя оперативная память (для записываемых разделов данных)
функция alt_load()
Приложение процессора Nios V скопировано из флэш-памяти QSPI общего назначения в ОЗУ с помощью загрузочного копировщика
OCRAM/Внешняя оперативная память
Загрузчик через GSFI
Приложение процессора Nios V выполняется на месте из флэш-памяти конфигурации QSPI
Конфигурация QSPI flash (XIP) + OCRAM/ Внешняя RAM (для записываемых разделов данных)
функция alt_load()
Приложение процессора Nios V скопировано из флэш-памяти конфигурации QSPI в ОЗУ с помощью загрузочного копировщика.
Загрузчик OCRAM/External RAM через GSFI (продолжение)…
(2) Список устройств см. в документе AN 980: Поддержка программного обеспечения Quartus Prime для процессора Nios V.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 49
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Поддерживаемые загрузочные памяти
Память на кристалле (OCRAM) Тесно связанная память (TCM)
Устройство
Устройства на базе SDM (с почтовым клиентом Intel FPGA IP). (2)
Все поддерживаемые устройства Altera FPGA (2)
Все поддерживаемые устройства Altera FPGA(2)
Методы загрузки процессора Nios V
Приложение процессора Nios V скопировано из флэш-памяти конфигурации QSPI в ОЗУ с помощью загрузочного копировщика.
Приложение процессора Nios V выполняется на месте из OCRAM
Приложение процессора Nios V выполняется на месте из TCM
Расположение среды выполнения приложения
Загрузочный копир
Загрузчик OCRAM/внешней RAM через SDM
ОКРАМ
функция alt_load()
Инструкция TCM (XIP) Нет + Данные TCM (для записываемых разделов данных)
Рисунок 28. Процесс загрузки процессора Nios V
Перезагрузить
Процессор переходит к вектору сброса (начало загрузочного кода)
Код приложения может быть скопирован в другую область памяти (в зависимости от параметров загрузки)
Загрузочный код инициализирует процессор
В зависимости от параметров загрузки загрузочный код может копировать начальные значения данных/кода в другое пространство памяти (alt_load)
Загрузочный код инициализирует код приложения и пространство памяти данных.
Загрузочный код инициализирует все периферийные устройства системы с драйверами HAL (alt_main)
Вход в главный
Сопутствующая информация · Руководство пользователя Altera FPGA IP по универсальному последовательному интерфейсу флэш-памяти
Руководство по проектированию встраиваемых процессоров Nios® V 50
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
· Руководство пользователя почтового клиента Altera FPGA IP · AN 980: Поддержка программного обеспечения Quartus Prime для процессора Nios V
4.4 Введение в методы загрузки процессора Nios V
В системах на базе процессора Nios V требуется, чтобы образы программного обеспечения были сконфигурированы в системной памяти, прежде чем процессор сможет начать выполнение прикладной программы. Разделы компоновщика по умолчанию см. в разделе «Разделы компоновщика».
Редактор BSP создает скрипт компоновщика, который выполняет следующие функции: · Обеспечивает компоновку программного обеспечения процессора в соответствии с настройками компоновщика.
редактора BSP и определяет, где в памяти находится программное обеспечение. · Размещает область кода процессора в компоненте памяти в соответствии с
назначенные компоненты памяти.
В следующем разделе кратко описываются доступные методы загрузки процессора Nios V.
4.4.1. Выполнение приложения процессора Nios V на месте из загрузочной флэш-памяти
Компания Altera разработала контроллеры флэш-памяти таким образом, что адресное пространство загрузочной флэш-памяти сразу же становится доступно процессору Nios V после сброса системы, без необходимости инициализации контроллера памяти или устройств памяти. Это позволяет процессору Nios V выполнять код приложения, хранящийся на загрузочных устройствах, напрямую, без использования копировщика загрузки для копирования кода в память другого типа. Контроллеры флэш-памяти: · Встроенная флэш-память с IP-адресом встроенной флэш-памяти (только в устройстве MAX® 10) · Универсальная флэш-память QSPI с IP-адресом Generic Serial Flash Interface · Конфигурационная флэш-память QSPI с IP-адресом Generic Serial Flash Interface (кроме MAX 10)
устройства)
При запуске приложения процессора Nios V из загрузочной флеш-памяти редактор BSP выполняет следующие функции: · Устанавливает разделы компоновщика .text в область загрузочной флеш-памяти. · Устанавливает разделы компоновщика .bss, .rodata, .rwdata, .stack и .heap в ОЗУ.
Область памяти. Необходимо включить функцию alt_load() в настройках BSP, чтобы скопировать разделы данных (.rodata, .rwdata, .exceptions) в оперативную память после сброса системы. Раздел кода (.text) остаётся в области загрузочной флеш-памяти.
Сопутствующая информация · Руководство пользователя Altera FPGA IP по универсальному последовательному интерфейсу Flash · Руководство пользователя Altera MAX 10 по пользовательской флэш-памяти
4.4.1.1.alt_load()
Функцию alt_load() в коде HAL можно включить с помощью редактора BSP.
При использовании в потоке загрузки «execute-in-place» функция alt_load() выполняет следующие задачи:
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 51
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
· Работает как мини-копировщик загрузки, который копирует разделы памяти в ОЗУ на основе настроек BSP.
· Копирует разделы данных (.rodata, .rwdata, .exceptions) в ОЗУ, но не разделы кода (.text). Раздел кода (.text) доступен только для чтения и остаётся в области загрузочной флеш-памяти. Такое разбиение помогает минимизировать использование ОЗУ, но может ограничить производительность выполнения кода, поскольку доступ к флеш-памяти медленнее, чем к встроенной ОЗУ.
В следующей таблице перечислены настройки и функции редактора BSP:
Таблица 31. Настройки редактора BSP
Настройка редактора BSP hal.linker.enable_alt_load hal.linker.enable_alt_load_copy_rodata hal.linker.enable_alt_load_copy_rwdata hal.linker.enable_alt_load_copy_exceptions
Функция Включает функцию alt_load(). alt_load() копирует раздел .rodata в ОЗУ. alt_load() копирует раздел .rwdata в ОЗУ. alt_load() копирует раздел .exceptions в ОЗУ.
4.4.2. Приложение процессора Nios V скопировано из загрузочной флеш-памяти в ОЗУ с помощью Boot Copier
Процессор Nios V и HAL включают в себя загрузочный копировщик, который обеспечивает достаточную функциональность для большинства приложений процессора Nios V и удобен для реализации в процессе разработки программного обеспечения Nios V.
Когда приложение использует загрузочный копировщик, оно помещает все разделы компоновщика (.text, .heap, .rwdata, .rodata, .bss, .stack) во внутреннюю или внешнюю оперативную память. Использование загрузочного копировщика для копирования приложения процессора Nios V из загрузочной флеш-памяти во внутреннюю или внешнюю оперативную память для выполнения помогает повысить производительность выполнения.
При этом варианте загрузки процессор Nios V запускает выполнение программы копирования загрузки после перезагрузки системы. Программа копирует приложение из загрузочной флеш-памяти во внутреннюю или внешнюю оперативную память. После завершения процесса процессор Nios V передаёт управление программой приложению.
Примечание:
Если загрузочный копировщик находится во флэш-памяти, то функцию alt_load() вызывать не нужно, поскольку они оба служат одной и той же цели.
4.4.2.1. Загрузчик процессора Nios V через универсальный последовательный флэш-интерфейс
Загрузчик через GSFI — это копировщик загрузочной памяти процессора Nios V, поддерживающий флэш-память QSPI в устройствах с управляющими блоками. Загрузчик через GSFI включает в себя следующие функции:
· Размещает программное приложение в энергонезависимой памяти.
· Распаковывает и копирует образ программного приложения в оперативную память.
· Автоматически переключает выполнение процессора на код приложения в оперативной памяти после завершения копирования.
Руководство по проектированию встраиваемых процессоров Nios® V 52
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Загрузочный образ расположен сразу после загрузочного копировщика. Необходимо убедиться, что смещение сброса процессора Nios V указывает на начало загрузочного копировщика. На рисунке: Карта памяти для QSPI Flash с загрузчиком через GSFI. Карта памяти для QSPI Flash с загрузчиком через GSFI показана карта флеш-памяти для QSPI Flash при использовании загрузочного копировщика. Эта карта памяти предполагает, что во флеш-памяти хранятся образ ПЛИС и прикладное программное обеспечение.
Таблица 32. Загрузчик через GSFI для ядра процессора Nios V
Ядро процессора Nios V
Процессор Nios V/m
Загрузчик через GSFI File Расположение
/niosv/components/bootloader/ niosv_m_bootloader.srec
Процессор Nios V/g
/niosv/components/bootloader/ niosv_g_bootloader.srec
Рисунок 29. Карта памяти для QSPI Flash с загрузчиком через GSFI
Данные клиента (*.hex)
Код приложения
Примечание:
Сбросить смещение вектора
Загрузочный копир
0x01E00000
Изображение ПЛИС (*.sof)
0x00000000
1. В начале карты памяти находится образ ПЛИС, за которым следуют ваши данные, состоящие из загрузочного копировщика и кода приложения.
2. Необходимо установить смещение сброса процессора Nios V в Platform Designer и указать его на начало загрузочного копировщика.
3. Размер образа ПЛИС неизвестен. Точный размер можно узнать только после компиляции проекта Quartus Prime. Необходимо определить верхнюю границу размера образа ПЛИС Altera. Например,ampле, если размер образа ПЛИС оценивается меньше, чем 0x01E00000, установите смещение сброса на 0x01E00000 в Platform Designer, что также является началом загрузочного копировщика.
4. Хорошей практикой проектирования является установка смещения вектора сброса на границе сектора флэш-памяти, чтобы гарантировать отсутствие частичного стирания образа ПЛИС в случае обновления программного приложения.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 53
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
4.4.2.2. Загрузчик процессора Nios V через Secure Device Manager
Загрузчик через Secure Device Manager (SDM) — это код приложения HAL, использующий драйвер Mailbox Client Altera FPGA IP HAL для загрузки процессора. Altera рекомендует использовать этот загрузчик при использовании конфигурационной флеш-памяти QSPI в устройствах с SDM для загрузки процессора Nios V.
После сброса системы процессор Nios V сначала загружает загрузчик через SDM из небольшой встроенной памяти и запускает загрузчик через SDM для связи с конфигурационной флэш-памятью QSPI, используя IP-адрес клиента почтового ящика.
Загрузчик через SDM выполняет следующие задачи: · Находит программное обеспечение Nios V во флэш-памяти QSPI конфигурации. · Копирует программное обеспечение Nios V во встроенное ОЗУ или внешнее ОЗУ. · Переключает выполнение процессора на программное обеспечение Nios V во встроенном ОЗУ или
внешняя оперативная память.
После завершения процесса загрузчик через SDM передаёт управление программой пользовательскому приложению. Altera рекомендует использовать организацию памяти, описанную в документе «Организация памяти для загрузчика через SDM».
Рисунок 30. Загрузчик через поток процесса SDM
Конфигурация
Вспышка
2
Программное обеспечение Nios V
СДМ
Устройство ПЛИС на базе SDM
IP-адрес клиента почтового ящика
ПЛИС-логика Nios V
4 Внешняя оперативная память
Программное обеспечение Nios V
На чипе 4
EMIF
БАРАН
Встроенная память
IP
Ниос V
1
Программное обеспечение
Загрузчик через SDM
3
3
1. Процессор Nios V запускает загрузчик через SDM из встроенной памяти.
2. Загрузчик через SDM взаимодействует с конфигурационной флэш-памятью и находит программное обеспечение Nios V.
3. Загрузчик через SDM копирует программное обеспечение Nios V из конфигурационной флэш-памяти во встроенную ОЗУ/внешнюю ОЗУ.
4. Загрузчик через SDM переключает выполнение процессора Nios V на программное обеспечение Nios V во встроенной ОЗУ/внешней ОЗУ.
4.4.3. Выполнение приложения процессора Nios V на месте из OCRAM
В этом методе адрес сброса процессора Nios V устанавливается равным базовому адресу встроенной памяти (OCRAM). Двоичный файл приложения (.hex) file загружается в OCRAM при настройке ПЛИС после компиляции аппаратного проекта в программе Quartus Prime. После сброса процессора Nios V приложение начинает выполняться и переходит к точке входа.
Руководство по проектированию встраиваемых процессоров Nios® V 54
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Примечание:
· Для выполнения на месте из OCRAM не требуется загрузочный копировщик, поскольку приложение процессора Nios V уже установлено на месте при сбросе системы.
· Altera рекомендует включить alt_load() для этого метода загрузки, чтобы встроенное программное обеспечение вело себя идентично при сбросе без перенастройки образа устройства FPGA.
· Для копирования раздела .rwdata при сбросе системы необходимо включить функцию alt_load() в настройках BSP. При этом начальные значения инициализированных переменных хранятся отдельно от соответствующих переменных, чтобы избежать перезаписи при выполнении программы.
4.4.4. Выполнение приложения процессора Nios V на месте из TCM
Метод «выполнения на месте» устанавливает адрес сброса процессора Nios V равным базовому адресу тесно связанной памяти (TCM). Двоичный файл приложения (.hex) file загружается в TCM при настройке ПЛИС после компиляции аппаратного проекта в программе Quartus Prime. После сброса процессора Nios V приложение начинает выполняться и переходит к точке входа.
Примечание:
Для выполнения на месте из TCM не требуется загрузочный копировщик, поскольку приложение процессора Nios V уже установлено на месте при сбросе системы.
4.5. Загрузка процессора Nios V из встроенной флэш-памяти (UFM)
Загрузка и выполнение программного обеспечения процессора Nios V из встроенной флэш-памяти (UFM) доступны в устройствах FPGA MAX 10. Процессор Nios V поддерживает следующие два варианта загрузки с использованием встроенной флэш-памяти в режиме внутренней конфигурации:
· Приложение процессора Nios V выполняется на месте из встроенной флэш-памяти.
· Приложение процессора Nios V копируется из встроенной флэш-памяти в ОЗУ с помощью загрузочного копировщика.
Таблица 33. Поддерживаемые флэш-память с соответствующими вариантами загрузки
Поддерживаемые загрузочные памяти
Методы загрузки Nios V
Расположение среды выполнения приложения
Загрузочный копир
Только MAX 10 устройств (с OnChip Flash IP)
Приложение процессора Nios V выполняется на месте из встроенной флэш-памяти
Приложение процессора Nios V скопировано из встроенной флэш-памяти в ОЗУ с помощью загрузочного копировщика
Встроенная флэш-память (XIP) + OCRAM/внешняя RAM (для записываемых разделов данных)
функция alt_load()
OCRAM/внешняя оперативная память
Повторное использование загрузчика через GSFI
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 55
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Рисунок 31.
Проектирование, настройка и процесс загрузки
Проектирование · Создайте проект на базе процессора Nios V с помощью Platform Designer. · Убедитесь, что в проекте системы есть внешняя ОЗУ или встроенная ОЗУ.
Конфигурация и компиляция ПЛИС
· Установите тот же режим внутренней конфигурации в On-chip Flash IP в программном обеспечении Platform Designer и Quartus Prime. · Установите агент сброса процессора Nios V на On-chip Flash. · Выберите предпочтительный метод инициализации UFM. · Сгенерируйте свой проект в Platform Designer. · Скомпилируйте свой проект в программном обеспечении Quartus Prime.
Проект BSP пользовательского приложения · Создание BSP HAL для процессора Nios V на основе .sopcinfo file Создано с помощью Platform Designer. · Отредактируйте настройки BSP процессора Nios V и скрипт компоновщика в BSP Editor. · Сгенерируйте проект BSP.
Проект пользовательского приложения · Разработка кода приложения процессора Nios V. · Компиляция приложения процессора Nios V и генерация приложения процессора Nios V (.hex) file. · Перекомпилируйте свой проект в программном обеспечении Quartus Prime, если вы отметили опцию Инициализация содержимого памяти в Intel FPGA On-Chip Flash IP.
Программирование Files Преобразование, загрузка и запуск · Создание встроенной флэш-памяти .pof file с использованием Convert Programming Fileфункция в программном обеспечении Quartus Prime.
· Программирование .pof file в устройство MAX 10. · Выключите и снова включите устройство.
4.5.1 Описание встроенной флэш-памяти ПЛИС MAX 10
Устройства MAX 10 FPGA содержат встроенную флэш-память, которая сегментирована на две части: · Конфигурационная флэш-память (CFM) — хранит данные о конфигурации оборудования для
МАКСИМУМ 10 ПЛИС. · Пользовательская флэш-память (UFM) — хранит пользовательские данные или программные приложения.
Архитектура UFM устройства MAX 10 представляет собой комбинацию программных и аппаратных IP-адресов. Доступ к UFM возможен только через встроенное в чип флэш-память IP-ядро в программном обеспечении Quartus Prime.
Ядро встроенной флэш-памяти IP поддерживает следующие функции: · Доступ для чтения или записи к секторам UFM и CFM (если включено в Platform Designer)
использование интерфейса данных и управления подчиненного устройства Avalon MM. · Поддержка стирания страниц, стирания секторов и записи секторов. · Имитационная модель для доступа к чтению/записи UFM с использованием различных инструментов моделирования EDA.
Руководство по проектированию встраиваемых процессоров Nios® V 56
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Таблица 34. Регионы флэш-памяти на кристалле в устройствах MAX 10 FPGA
Флэш-регионы
Функциональность
Конфигурация флэш-памяти (секторы CFM0-2)
Конфигурация ПЛИС file хранилище
Пользовательская флэш-память (секторы UFM0-1)
Приложение процессора Nios V и пользовательские данные
Устройства ПЛИС MAX 10 поддерживают несколько режимов конфигурации, некоторые из которых позволяют использовать CFM1 и CFM2 в качестве дополнительной области UFM. В следующей таблице показано место хранения образов конфигурации ПЛИС в зависимости от режимов конфигурации ПЛИС MAX 10.
Таблица 35. Место хранения образов конфигурации ПЛИС
Режим конфигурации Двойные сжатые изображения
Сжатое изображение CFM2 2
CFM1
Сжатое изображение CFM0 1
Одно несжатое изображение
Виртуальный УФМ
Несжатое изображение
Одно несжатое изображение с инициализацией памяти
Несжатое изображение (с предварительно инициализированным содержимым памяти на кристалле)
Одно сжатое изображение с инициализацией памяти Сжатое изображение (с предварительно инициализированным содержимым памяти на кристалле)
Одно сжатое изображение
Виртуальный УФМ
Сжатое изображение
Для доступа к флэш-памяти в ПЛИС MAX 10 необходимо использовать встроенное ядро Flash IP. Можно создать экземпляр встроенного Flash IP и подключить его к программному обеспечению Quartus Prime. Программное ядро процессора Nios V использует интерфейсы Platform Designer для взаимодействия с встроенным Flash IP.
Рисунок 32. Соединение между встроенной флэш-памятью IP и процессором Nios V
Примечание:
Убедитесь, что порт встроенной флэш-памяти csr подключен к data_manager процессора Nios V, чтобы процессор мог управлять операциями записи и стирания.
Ядро встроенной флэш-памяти IP может обеспечить доступ к пяти секторам флэш-памяти — UFM0, UFM1, CFM0, CFM1 и CFM2.
Важная информация о секторах UFM и CFM: · Сектора CFM предназначены для хранения конфигурационных (битовых) данных (*.pof).
· Пользовательские данные могут храниться в секторах UFM и могут быть скрыты, если выбраны правильные настройки в инструменте «Конструктор платформ».
· В некоторых устройствах сектор UFM1 отсутствует. Доступные секторы для каждого отдельного устройства FPGA MAX 10 можно найти в таблице «Размер сектора UFM и CFM».
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 57
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
· Вы можете настроить CFM2 как виртуальный UFM, выбрав режим конфигурации Single Uncompressed Image.
· Вы можете настроить CFM2 и CFM1 как виртуальный UFM, выбрав режим конфигурации Single Uncompressed Image.
· Размер каждого сектора варьируется в зависимости от выбранных устройств MAX 10 FPGA.
Таблица 36.
Размер сектора UFM и CFM
В этой таблице приведены размеры массивов UFM и CFM.
Устройство
Страниц на сектор
УФМ1 УФМ0 CFM2 CFM1 CFM0
Размер страницы (Кбит)
Максимальный пользователь
Размер флэш-памяти (Кбит) (3)
Общий размер конфигурационной памяти (Кбит)
10M02 3
3
0
0
34 16
96
544
10M04 0
8
41 29 70 16
1248
2240
10M08 8
8
41 29 70 16
1376
2240
10M16 4
4
38 28 66 32
2368
4224
10M25 4
4
52 40 92 32
3200
5888
10M40 4
4
48 36 84 64
5888
10752
10M50 4
4
48 36 84 64
5888
10752
Размер OCRAM (Кбит)
108 189 378 549 675 1260 1638
Сопутствующая информация · Руководство пользователя по настройке ПЛИС MAX 10 · Руководство пользователя флэш-памяти Altera MAX 10
4.5.2. Выполнение приложения процессора Nios V на месте из UFM
Решение Execute-In-Place от UFM подходит для приложений на базе процессора Nios V, которым требуется ограниченное использование встроенной памяти. Функция alt_load() работает как мини-копировщик загрузочной памяти, копируя разделы данных (.rodata, .rwdata или .exceptions) из загрузочной памяти в оперативную память в соответствии с настройками BSP. Раздел кода (.text)
Этот раздел, доступный только для чтения, остаётся в области встроенной флэш-памяти MAX 10. Такая конфигурация минимизирует использование ОЗУ, но может ограничить производительность выполнения кода, поскольку доступ к флэш-памяти происходит медленнее, чем к встроенной ОЗУ.
Приложение процессора Nios V запрограммировано в секторе UFM. Вектор сброса процессора Nios V указывает на базовый адрес UFM для выполнения кода из UFM после сброса системы.
Если вы используете отладчик исходного кода для отладки приложения, необходимо использовать аппаратную точку останова. Это связано с тем, что UFM не поддерживает произвольный доступ к памяти, необходимый для отладки с использованием программных точек останова.
Примечание:
Вы не можете стереть или записать UFM во время выполнения на месте в MAX 10. Переключитесь на подход с загрузочным копировщиком, если вам нужно стереть или записать UFM.
(3) Максимально возможное значение, которое зависит от выбранного вами режима конфигурации.
Руководство по проектированию встраиваемых процессоров Nios® V 58
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Рисунок 33. XIP-приложение процессора Nios V от UFM
Макс. 10 устройств
.POF
Nios V Hardware .SOF
Программное обеспечение Nios V .HEX
Программист Quartus
Встроенная флэш-память
CFM
Аппаратное обеспечение Nios V
УФМ
Программное обеспечение Nios V
Внутренняя конфигурация
Встроенная флэш-память IP
Логика ПЛИС
Процессор Nios V
Встроенная оперативная память
Внешний
БАРАН
EMIF
IP
4.5.2.1. Процесс проектирования оборудования
В следующем разделе описывается пошаговый метод создания загрузочной системы для процессора Nios V из встроенной флэш-памяти.ampРисунок ниже создан с использованием устройства MAX 10.
Настройки IP-компонента
1. Создайте проект процессора Nios V с помощью Quartus Prime и Platform Designer. 2. Убедитесь, что внешняя оперативная память или встроенная память (OCRAM) добавлены к вашей платформе.
Дизайнерская система.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 59
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Рисунок 34. ExampIP-соединения в Platform Designer для загрузки Nios V из OnChip Flash (UFM)
3. В редакторе параметров IP-памяти на кристалле Flash установите для параметра «Режим конфигурации» одно из следующих значений в соответствии с предпочтениями вашего проекта: · Одно несжатое изображение · Одно сжатое изображение · Одно несжатое изображение с инициализацией памяти · Одно сжатое изображение с инициализацией памяти
Дополнительную информацию о двухсжатых изображениях см. в Руководстве пользователя по конфигурации MAX 10 FPGA – Удаленное обновление системы.
Примечание:
Необходимо назначить скрытый доступ для каждой области CFM в IP-адресе встроенной флэш-памяти.
Рисунок 35. Выбор режима конфигурации в редакторе параметров встроенной флэш-памяти
Настройки IP-памяти на кристалле Flash – инициализация UFM Вы можете выбрать один из следующих методов в соответствии с вашими предпочтениями:
Руководство по проектированию встраиваемых процессоров Nios® V 60
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Примечание:
Шаги в последующих подразделах (Процесс проектирования программного обеспечения и Программирование) зависят от сделанного вами здесь выбора.
· Метод 1: Инициализация данных UFM в SOF во время компиляции
Quartus Prime включает данные инициализации UFM в SOF во время компиляции. При изменении данных UFM требуется перекомпиляция SOF.
1. Установите флажок Инициализировать флэш-контент и Включить нестандартную инициализацию. file.
Рисунок 36. Инициализация содержимого Flash и включение нестандартной инициализации File
2. Укажите путь к сгенерированному .hex-файлу. file (из команды elf2hex) в созданном пользователем hex или mif file.
Рисунок 37. Добавление .hex File Путь
· Метод 2: объединение данных UFM с скомпилированным SOF во время генерации POF
Данные UFM объединяются с скомпилированным SOF при конвертации программирования files. Вам не нужно перекомпилировать SOF, даже если данные UFM изменятся. В процессе разработки вам не нужно перекомпилировать SOF. files для внесения изменений в приложение. Altera рекомендует этот метод разработчикам приложений.
1. Снимите флажок Инициализировать флэш-контент.
Рисунок 38. Инициализация Flash-контента с инициализацией, отличной от инициализации по умолчанию File
Сброс настроек агента для метода выполнения на месте процессора Nios V
1. В редакторе параметров процессора Nios V установите для параметра Reset Agent значение On-Chip Flash.
Рисунок 39. Настройки редактора параметров процессора Nios V с агентом сброса, настроенным на встроенную флэш-память
2. Нажмите кнопку «Сгенерировать HDL», когда откроется диалоговое окно «Генерация». 3. Укажите выходные данные. file параметры генерации и нажмите «Сгенерировать».
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 61
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Quartus Prime Software Settings 1. In the Quartus Prime software, click Assignments Device Device and Pin
Options Configuration. Set the Configuration mode according to the setting in On-Chip Flash IP. Figure 40. Configuration Mode Selection in Quartus Prime Software
2. Нажмите «ОК», чтобы выйти из окна «Параметры устройства и PIN-кода».
3. Нажмите кнопку «ОК», чтобы выйти из окна «Устройство».
4. Click Processing Start Compilation to compile your project and generate the .sof file.
Примечание:
Если настройки режима конфигурации в программном обеспечении Quartus Prime и редакторе параметров Platform Designer различаются, проект Quartus Prime завершается ошибкой со следующим сообщением об ошибке.
Рисунок 41.
Сообщение об ошибке «Ошибка при установке другого режима конфигурации» (14740): режим конфигурации атома «q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block» не соответствует настройкам проекта. Обновите и заново сгенерируйте систему Qsys в соответствии с настройками проекта.
Сопутствующая информация Руководство пользователя по настройке ПЛИС MAX 10
4.5.2.2. Процесс проектирования программного обеспечения
В этом разделе описывается процесс разработки программного обеспечения для процессора Nios V. Для оптимизации процесса разработки рекомендуется создать аналогичное дерево каталогов в вашем проекте. Следующий процесс разработки программного обеспечения основан на этом дереве каталогов.
Чтобы создать дерево каталогов проекта программного обеспечения, выполните следующие действия: 1. В папке вашего проекта создайте папку с именем software. 2. В папке software создайте две папки с именами hal_app и hal_bsp.
Рисунок 42. Дерево каталогов программного проекта
Руководство по проектированию встраиваемых процессоров Nios® V 62
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Создание проекта BSP приложения
Чтобы запустить редактор BSP, выполните следующие действия: 1. Войдите в командную оболочку Nios V. 2. Вызовите редактор BSP с помощью команды niosv-bsp-editor. 3. В редакторе BSP нажмите File Новый BSP для запуска вашего проекта BSP. 4. Настройте следующие параметры:
· Информация SOPC File имя: Предоставьте SOPCINFO file (.sopcinfo). · Имя ЦП: выберите процессор Nios V. · Операционная система: выберите операционную систему процессора Nios V. · Версия: оставьте значение по умолчанию. · Целевой каталог BSP: выберите путь к каталогу проекта BSP. Вы можете
предварительно установите его на /software/hal_bsp, включив опцию Использовать расположения по умолчанию. · Настройки BSP File Имя: Введите имя настроек BSP. File· Дополнительные сценарии Tcl: укажите сценарий BSP Tcl, включив опцию Включить дополнительный сценарий Tcl. 5. Нажмите кнопку ОК.
Рисунок 43. Настройка нового BSP
Настройка редактора BSP и создание проекта BSP
You can define the processor’s exception vector either in On-Chip Memory (OCRAM) or On-Chip Flash based on your design preference. Setting the exception vector memory to OCRAM/External RAM is recommended to make the interrupt processing faster. 1. Go to Main Settings Advanced hal.linker. 2. If you select On-Chip Flash as exception vector,
а. Включите следующие настройки:
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 63
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Рисунок 44. Настройки Advanced.hal.linker
б. Щелкните вкладку «Скрипт компоновщика» в редакторе BSP. в. Задайте области .exceptions и .text в имени раздела компоновщика следующим образом:
Встроенная флэш-память. г. Установите остальные регионы в списке «Имена разделов компоновщика» в соответствии с встроенной флэш-памятью.
Память (OCRAM) или внешняя оперативная память.
Рисунок 45. Настройки региона компоновщика (память вектора исключений: встроенная флэш-память)
3. Если вы выбрали OCRAM/внешнюю оперативную память в качестве вектора исключения, а) включите следующие параметры: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Рисунок 46. Настройки области компоновщика (память вектора исключений: OCRAM/внешняя RAM)
б. Щелкните вкладку «Скрипт компоновщика» в редакторе BSP.
в) Установите для областей .text в имени раздела компоновщика значение On-Chip Flash.
г. Установите остальные регионы в списке имен разделов компоновщика на встроенную память (OCRAM) или внешнее ОЗУ.
Руководство по проектированию встраиваемых процессоров Nios® V 64
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Рисунок 47. Настройки области компоновщика (память векторов исключений: OCRAM)
4. Нажмите кнопку «Сгенерировать», чтобы создать проект BSP. Создание проекта пользовательского приложения File 1. Перейдите в папку software/hal_app и создайте исходный код приложения.
код. 2. Запустите командную оболочку Nios V. 3. Выполните команду ниже, чтобы создать файл приложения CMakeLists.txt.
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/<user application>
Сборка проекта пользовательского приложения. Вы можете собрать проект пользовательского приложения с помощью среды разработки Ashling RiscFree для ПЛИС Altera или через интерфейс командной строки (CLI). Если вы предпочитаете использовать CLI, вы можете собрать пользовательское приложение с помощью следующей команды: cmake -G «Unix Makefiles” -B software/hal_app/build -S software/hal_app make -C software/hal_app/build
Приложение (.elf) file Создаётся в папке software/hal_app/build. Генерация HEX-файла File Вам необходимо сгенерировать .hex file из вашего приложения .elf file, поэтому вы можете создать .pof file подходит для программирования устройств. 1. Запустите командную оболочку Nios V. 2. Для загрузки приложения процессора Nios V из встроенной флэш-памяти используйте следующее
Командная строка для преобразования ELF-файла в HEX-файл для вашего приложения. Эта команда создаёт пользовательское приложение (onchip_flash.hex). file. elf2hex software/hal_app/build/ .elf -o onchip_flash.hex
-b <base address of On-Chip Flash UFM region> -w 8 -e <end address of On-Chip Flash UFM region> 3. Recompile the hardware design if you check Initialize memory content option in On-Chip Flash IP (Method 1). This is to include the software data (.HEX) in the SOF file.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 65
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
4.5.2.3 Программирование 1. В Quartus Prime нажмите File Преобразовать программирование Fileс. 2. В разделе «Программирование вывода» file, выберите объект программиста File (.pof) как программирование file тип. 3. Установите режим на внутреннюю конфигурацию.
Рисунок 48. Конвертация программирования File Настройки
4. Щелкните «Параметры»/«Сведения о загрузке…», откроется окно «Параметры устройства MAX 10». 5. Основываясь на параметрах инициализации содержимого флэш-памяти в IP-адресе встроенной флэш-памяти, выполните следующие действия:
один из следующих шагов: · Если установлен флажок Инициализировать флэш-содержимое (метод 1), данные инициализации UFM
был включен в SOF во время компиляции Quartus Prime. — Выберите опцию Page_0 для источника UFM:. Нажмите «ОК» и перейдите к
Рисунок 49. Установка Page_0 для источника UFM, если установлен флажок «Инициализировать Flash-контент».
Руководство по проектированию встраиваемых процессоров Nios® V 66
Отправить отзыв
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
· Если флажок «Инициализировать флэш-содержимое» не установлен (метод 2), выберите «Загрузить память». file для варианта источника UFM. Перейдите к сгенерированному HEX-файлу встроенной флеш-памяти. file (onchip_flash.hex) в File Путь: и нажмите «ОК». Этот шаг добавляет данные UFM отдельно в SOF. file во время программирования file конверсия.
Рисунок 50. Настройка загрузочной памяти File для источника UFM, если не установлен флажок «Инициализировать Flash-контент»
6. В конвертном программировании File диалоговое окно, на вкладке «Вход» fileЧтобы преобразовать раздел, нажмите «Добавить». File… и укажите на сгенерированный Quartus Prime .sof file.
Рисунок 51. Ввод Files для конвертации в Convert Programming Files для режима одиночного изображения
7. Нажмите «Создать», чтобы создать файл .pof. file8. Запрограммируйте .pof file в устройство MAX 10. 9. Выключите и снова включите устройство.
4.5.3. Приложение процессора Nios V скопировано из UFM в ОЗУ с помощью Boot Copier.
Altera рекомендует это решение для систем на базе процессора Nios V с ПЛИС MAX 10, где требуется многократная разработка прикладного программного обеспечения и высокая производительность системы. Копировщик загрузки расположен в UFM по смещению, совпадающему с адресом вектора сброса. Приложение Nios V расположено рядом с копировщиком загрузки.
При этом варианте загрузки процессор Nios V запускает загрузочный копировщик после перезагрузки системы, чтобы скопировать приложение из сектора UFM в OCRAM или внешнюю оперативную память. После завершения копирования процессор Nios V передаёт управление программой приложению.
Примечание:
Применяемый загрузчик-копировщик тот же, что и загрузчик через GSFI.
Отправить отзыв
Руководство по проектированию встраиваемых процессоров Nios® V 67
4. Конфигурация процессора Nios V и решения по загрузке 726952 | 2025.07.16
Рисунок 52. Приложение Nios V, скопированное из UFM в ОЗУ с помощью Boot Copier
Макс. 10 устройств
.POF
Nios V Hardware .SOF
Программное обеспечение Nios V .HEX
Загрузчик .SREC
Программист Quartus
Внешняя оперативная память
Программное обеспечение Nios V
Встроенная флэш-память
CFM
Ниос В Хардва
Документы/Ресурсы
![]() |
altera Nios V Embedded Processor [pdf] Руководство пользователя Nios V, Nios Vm, Nios Vg, Nios Vc, Встроенный процессор Nios V, Nios V, Встроенный процессор, Процессор |