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® FPGA и вградени процесори надview
FPGA устройствата на Altera могат да реализират логика, която функционира като цялостен микропроцесор, като същевременно предоставя много опции.
Важна разлика между дискретните микропроцесори и Altera FPGA е, че Altera FPGA fabric не съдържа логика при включване. Процесорът Nios® V е процесор с мека интелектуална собственост (IP), базиран на спецификацията RISC-V. Преди да стартирате софтуер на система, базирана на процесор Nios V, трябва да конфигурирате устройството Altera FPGA с хардуерен дизайн, който съдържа процесор Nios V. Можете да поставите процесора Nios V навсякъде в Altera FPGA, в зависимост от изискванията на дизайна.

За да може вашата вградена система, базирана на IP на Altera® FPGA, да се държи като система, базирана на дискретен микропроцесор, тя трябва да включва следното: · AJTAG интерфейс за поддръжка на конфигурация, хардуер и софтуер на Altera FPGA
отладка · Механизъм за конфигуриране на Altera FPGA при включване
Ако вашата система има тези възможности, можете да започнете да усъвършенствате дизайна си от предварително тестван хардуерен дизайн, зареден в Altera FPGA. Използването на Altera FPGA ви позволява също бързо да модифицирате дизайна си, за да отстраните проблеми или да добавите нова функционалност. Можете лесно да тествате тези нови хардуерни дизайни, като преконфигурирате Altera FPGA, използвайки J на вашата система.TAG интерфейс.
ДжTAG Интерфейсът поддържа разработка на хардуер и софтуер. Можете да изпълнявате следните задачи, използвайки JTAG интерфейс: · Конфигуриране на Altera FPGA · Изтегляне и дебъгване на софтуер · Комуникация с Altera FPGA чрез UART-подобен интерфейс (JTAG UART
терминал) · Хардуер за отстраняване на грешки (с вградения логически анализатор Signal Tap) · Програмна флаш памет
След като конфигурирате Altera FPGA с дизайн, базиран на процесор 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 FPGAs. Описва интегрираната среда за разработка (IDE) на RiscFree* за Altera FPGAs, базирани на Arm* HPS и процесор Nios V. · Бележки за изданието на IP за процесор Nios V на Altera FPGA.
1.2. Софтуерна поддръжка Quartus® Prime
Процесът на сглобяване на процесор Nios V е различен за софтуера Quartus® Prime Pro Edition и софтуера Quartus Prime Standard Edition. Вижте AN 980: Поддръжка на софтуера Quartus Prime за процесор Nios V за повече информация относно разликите.
Свързана информация AN 980: Поддръжка на софтуер за процесор Nios V Quartus Prime
1.3. Лицензиране на процесор Nios V
Всеки вариант на процесор Nios V има свой лицензионен ключ. След като получите лицензионния ключ, можете да го използвате за всички проекти с процесори Nios V до датата на изтичане. Можете да закупите IP лицензите за процесор Nios V Altera FPGA безплатно.
Списъкът с лицензионни ключове за процесор Nios V е наличен в Центъра за самостоятелно лицензиране на FPGA на Altera. Щракнете върху раздела Регистрация за оценка или Безплатен лиценз и изберете съответните опции, за да направите заявката.
Фигура 1. Център за самообслужване при лицензиране на FPGA на Altera
С лицензионните ключове можете:
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 7
1. Относно вградения процесор Nios® V 726952 | 2025.07.16
· Внедрете процесор Nios V във вашата система. · Симулирайте поведението на система с процесор Nios V. · Проверете функционалността на дизайна, като размер и скорост. · Генерирайте програмиране на устройството fileс. · Програмирайте устройство и проверете дизайна на хардуера.
Не е необходим лиценз за разработване на софтуер в Ashling* RiscFree* IDE за Altera FPGA.
Свързана информация · Център за самообслужване при лицензиране на FPGA на Altera
За повече информация относно получаването на лицензионни ключове за IP процесор Nios V Altera FPGA. · Инсталиране и лицензиране на софтуер 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
Хардуерен поток: Изтегляне на FPGA дизайн
към целевата дъска
Софтуерен поток: Тестване и отстраняване на грешки в софтуера на процесора Nios V
Софтуерът не отговаря на спецификациите?
да
Хардуер Не Отговаря на спецификациите? Да
Система завършена
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 9
726952 | 2025.07.16 януари XNUMX г. Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
Фигура 3.
Следната диаграма илюстрира типичен хардуерен дизайн на процесор Nios V. Схемата на проектиране на хардуерната система на процесора Nios V
Започнете
Nios V ядра и стандартни компоненти
Използвайте Platform Designer за проектиране на система, базирана на Nios V
Генериране на дизайн на дизайнер на платформа
Интегриране на системата за проектиране на платформи с проекта Intel Quartus Prime
Задайте местоположения на пиновете, изисквания за време и други ограничения на дизайна
Компилиране на хардуер за целево устройство в Intel Quartus Prime
Готово за изтегляне
2.1. Създаване на системен дизайн на процесор Nios V с Platform Designer
Софтуерът Quartus Prime включва инструмента за системна интеграция Platform Designer, който опростява задачата за дефиниране и интегриране на IP ядрото на процесора Nios V и други IP адреси в системен дизайн на Altera FPGA. Platform Designer автоматично създава логика за взаимосвързване от зададената свързаност на високо ниво. Автоматизацията на взаимосвързванията елиминира отнемащата време задача за определяне на HDL връзки на системно ниво.
© Altera Corporation. Altera, логото на Altera, логото с буквата „a“ и други марки на Altera са търговски марки на Altera Corporation. Altera си запазва правото да прави промени във всички продукти и услуги по всяко време без предизвестие. Altera не поема никаква отговорност, произтичаща от прилагането или използването на информация, продукт или услуга, описани тук, освен ако не е изрично договорено писмено от Altera. Клиентите на Altera се съветват да получат най-новата версия на спецификациите на устройството, преди да разчитат на публикувана информация и преди да правят поръчки за продукти или услуги. *Други имена и марки могат да бъдат заявени като собственост на други лица.
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
След анализ на хардуерните изисквания на системата, използвате Quartus Prime, за да определите процесорното ядро Nios V, паметта и другите компоненти, необходими на вашата система. Platform Designer автоматично генерира логиката за взаимосвързване, за да интегрира компонентите в хардуерната система.
2.1.1. Създаване на инстанции на Nios V процесор Altera FPGA IP
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
Заявка за нулиране на употреба при отстраняване на грешки
—
Капани, изключения и прекъсвания
Архитектура на процесора
ECC
Кешове, периферни региони и TCM
—
—
Персонализирани инструкции
—
—
Заключващ се крак
—
—
Nios V/g процесор
2.1.1.1. Създаване на инстанции на Nios V/c Compact Microcontroller Altera FPGA IP Фигура 4. Nios V/c Compact Microcontroller Altera FPGA IP
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 11
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.1.1.1.1. Раздел „Архитектура на процесора“
Таблица 2.
Раздел „Архитектура на процесора“
Характеристика
Описание
Активиране на интерфейса Avalon® Активира интерфейса Avalon за мениджър на инструкции и мениджър на данни. Ако е деактивирано, системата използва интерфейса AXI4-Lite.
Стойност на корпоративната социална отговорност на mhartid
· Невалидна IP опция. · Не използвайте CSR стойност на mhartid в процесора Nios V/c.
2.1.1.1.2. Използвайте раздела „Заявка за нулиране“
Таблица 3.
Използване на параметъра на раздела „Заявка за нулиране“
Използвайте раздела „Заявка за нулиране“
Описание
Добавяне на интерфейс за заявка за нулиране
· Активирайте тази опция, за да разкриете локални портове за нулиране, където локален мастер може да я използва, за да задейства нулирането на процесора Nios V, без да засяга други компоненти в система с процесор Nios V.
· Интерфейсът за нулиране се състои от входен сигнал resetreq и изходен сигнал ack.
· Можете да заявите нулиране на ядрото на процесора Nios V, като подадете сигнала resetreq.
· Сигналът за resetreq трябва да остане активен, докато процесорът не активира сигнала за потвърждение. Ако сигналът не остане активен, процесорът може да се окаже в недетерминистично състояние.
· Процесорът Nios V отговаря, че нулирането е успешно, като потвърждава сигнала за потвърждение.
· След успешно нулиране на процесора, утвърждаването на сигнала за потвърждение може да се случва многократно периодично, докато сигналът за resetreq не се деактивира.
2.1.1.1.3. Раздел „Капани, изключения и прекъсвания“
Таблица 4.
Параметри на раздела „Капани, изключения и прекъсвания“
Капани, изключения и прекъсвания
Описание
Нулиране на агент
· Паметта, съдържаща вектора за нулиране (адресът за нулиране на процесора Nios V), където се намира кодът за нулиране.
· Можете да изберете всеки модул памет, свързан към главния инструкционен процесор Nios V и поддържан от поток за зареждане на процесор Nios V, като агент за нулиране.
Нулиране на отместване
· Указва отместването на вектора за нулиране спрямо базовия адрес на избрания агент за нулиране. · Дизайнерът на платформа автоматично предоставя стойност по подразбиране за отместването за нулиране.
Забележка:
Platform Designer предоставя опция „Абсолютен“, която ви позволява да зададете абсолютен адрес в „Отместване при нулиране“. Използвайте тази опция, когато паметта, съхраняваща вектора за нулиране, се намира извън процесорната система и подсистемите.
Ръководство за проектиране на вградени процесори Nios® V 12
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.1.1.1.4. Раздел ECC
Таблица 5.
Раздел ECC
ECC
Активиране на откриване на грешки и отчитане на състоянието
Описание
· Активирайте тази опция, за да приложите ECC функцията за вътрешните RAM блокове на процесора Nios V. · ECC функциите откриват грешки до 2 бита и реагират въз основа на следното поведение:
— Ако е поправима грешка от 1 бит, процесорът продължава да работи след коригиране на грешката в конвейера на процесора. Корекцията обаче не се отразява в изходните памети.
— Ако грешката е непоправима, процесорът продължава да работи, без да я коригира в конвейера на процесора и изходните памети, което може да доведе до влизане на процесора в недетерминистично състояние.
2.1.1.2. Създаване на инстанции на Nios V/m микроконтролер Altera FPGA IP Фигура 5. Nios V/m микроконтролер Altera FPGA IP
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 13
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.1.1.2.1. Раздел „Отстраняване на грешки“
Таблица 6.
Параметри на раздела за отстраняване на грешки
Раздел за отстраняване на грешки
Описание
Активиране на отстраняване на грешки
Активиране на нулиране от модула за отстраняване на грешки
· Активирайте тази опция, за да добавите JTAG модул за свързване на целевия елемент към процесора Nios V. · JTAG Целевият модул за свързване позволява свързване към процесора Nios V чрез
JTAG интерфейсни пинове на FPGA. · Връзката осигурява следните основни възможности:
— Стартиране и спиране на процесора 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 вместо да нулира
интерфейс за задействане на нулиране на ядрото на процесора и модула на таймера. Не трябва да свързвате интерфейса dbg_reset_out към интерфейса за нулиране, за да предотвратите неопределено поведение.
2.1.1.2.2. Използвайте раздела „Заявка за нулиране“
Таблица 7.
Използване на параметъра на раздела „Заявка за нулиране“
Използвайте раздела „Заявка за нулиране“
Описание
Добавяне на интерфейс за заявка за нулиране
· Активирайте тази опция, за да разкриете локални портове за нулиране, където локален мастер може да я използва, за да задейства нулирането на процесора Nios V, без да засяга други компоненти в система с процесор Nios V.
· Интерфейсът за нулиране се състои от входен сигнал resetreq и изходен сигнал ack.
· Можете да заявите нулиране на ядрото на процесора Nios V, като подадете сигнала resetreq.
· Сигналът за resetreq трябва да остане активен, докато процесорът не активира сигнала за потвърждение. Ако сигналът не остане активен, процесорът може да се окаже в недетерминистично състояние.
· Утвърждаването на сигнала resetreq в режим на дебъгване няма ефект върху състоянието на процесора.
· Процесорът Nios V отговаря, че нулирането е успешно, като потвърждава сигнала за потвърждение.
· След успешно нулиране на процесора, утвърждаването на сигнала за потвърждение може да се случва многократно периодично, докато сигналът за resetreq не се деактивира.
2.1.1.2.3. Раздел „Капани, изключения и прекъсвания“
Таблица 8.
Раздел „Капани, изключения и прекъсвания“
Раздел „Капани, изключения и прекъсвания“
Описание
Нулиране на агент
· Паметта, съдържаща вектора за нулиране (адресът за нулиране на процесора Nios V), където се намира кодът за нулиране.
· Можете да изберете всеки модул памет, свързан към главния инструкционен процесор Nios V и поддържан от поток за зареждане на процесор Nios V, като агент за нулиране.
Нулиране на режима на прекъсване на отместването
· Указва отместването на вектора за нулиране спрямо базовия адрес на избрания агент за нулиране. · Дизайнерът на платформа автоматично предоставя стойност по подразбиране за отместването за нулиране.
Посочете типа на контролера на прекъсванията - директен или векторен. Забележка: Неконвейерният процесор Nios V/m не поддържа векторни прекъсвания.
Следователно, избягвайте използването на векторен режим на прекъсване, когато процесорът е в неконвейерен режим.
Ръководство за проектиране на вградени процесори Nios® V 14
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Забележка:
Platform Designer предоставя опция „Абсолютен“, която ви позволява да зададете абсолютен адрес в „Отместване при нулиране“. Използвайте тази опция, когато паметта, съхраняваща вектора за нулиране, се намира извън процесорната система и подсистемите.
2.1.1.2.4. Архитектура на процесора
Таблица 9.
Параметри на раздела „Архитектура на процесора“
Архитектура на процесора
Описание
Активиране на конвейерна обработка в процесора
· Активирайте тази опция, за да създадете инстанции на конвейерния Nios V/m процесор. — IPC е по-висок за сметка на по-голяма логическа площ и по-ниска Fmax честота.
· Деактивирайте тази опция, за да създадете инстанции на неконвейерен Nios V/m процесор. — Има подобна производителност на ядрото като Nios V/c процесора. — Поддържа възможности за отстраняване на грешки и прекъсвания — По-ниска логическа област и по-висока Fmax честота за сметка на по-нисък IPC.
Активиране на интерфейса на Авалон
Активира интерфейса Avalon за мениджър на инструкции и мениджър на данни. Ако е деактивиран, системата използва интерфейса AXI4-Lite.
Стойност на корпоративната социална отговорност на mhartid
· Стойността на регистъра на Hart ID (mhartid) е 0 по подразбиране. · Задайте стойност между 0 и 4094. · Съвместим с Altera FPGA Avalon Mutex Core HAL API.
Свързана информация Ръководство за потребителя на вграден периферен IP – Intel FPGA Avalon® Mutex Core
2.1.1.2.5. Раздел ECC
Таблица 10. Раздел ECC
ECC Активиране на откриване на грешки и отчитане на състоянието
Описание
· Активирайте тази опция, за да приложите ECC функцията за вътрешните RAM блокове на процесора Nios V. · ECC функциите откриват грешки до 2 бита и реагират въз основа на следното поведение:
— Ако е поправима грешка от 1 бит, процесорът продължава да работи след коригиране на грешката в конвейера на процесора. Корекцията обаче не се отразява в изходните памети.
— Ако грешката е непоправима, процесорът продължава да работи, без да я коригира в конвейера на процесора и изходните памети, което може да доведе до влизане на процесора в недетерминистично състояние.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 15
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.1.1.3. Създаване на инстанции на Nios V/g процесор с общо предназначение Altera FPGA 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
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
726952 | 2025.07.16
Фигура 10. Nios V/g процесор с общо предназначение Altera FPGA IP – Част 4
2.1.1.3.1. Архитектура на процесора
Таблица 11. Параметри на архитектурата на процесора
Раздел „Архитектура на процесора“ Активиране на единица с плаваща запетая
Описание Активирайте тази опция, за да добавите единица с плаваща запетая („разширение „F“) в ядрото на процесора.
Активиране на прогнозиране на разклонения
Активирайте статично предсказване на разклонения (обратно предприето и напред не предприето предприето) за инструкции за разклонения.
Стойност на корпоративната социална отговорност на mhartid
· Стойността на регистъра на Hart ID (mhartid) е 0 по подразбиране. · Задайте стойност между 0 и 4094. · Съвместим с Altera FPGA Avalon Mutex Core HAL API.
Деактивирайте инструкциите FSQRT и FDIV за FPU
· Премахнете операциите за корен квадратен с плаваща запетая (FSQRT) и деление с плаваща запетая (FDIV) в FPU.
· Приложете софтуерна емулация и на двете инструкции по време на изпълнение.
Свързана информация Ръководство за потребителя на вграден периферен IP – Intel FPGA Avalon® Mutex Core
Ръководство за проектиране на вградени процесори Nios® V 18
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.1.1.3.2. Раздел „Отстраняване на грешки“
Таблица 12. Параметри на раздела за отстраняване на грешки
Раздел за отстраняване на грешки
Описание
Активиране на отстраняване на грешки
Активиране на нулиране от модула за отстраняване на грешки
· Активирайте тази опция, за да добавите JTAG модул за свързване на целевия елемент към процесора Nios V. · JTAG Целевият модул за свързване позволява свързване към процесора Nios V чрез
JTAG интерфейсни пинове на FPGA. · Връзката осигурява следните основни възможности:
— Стартиране и спиране на процесора 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 вместо да нулира
интерфейс за задействане на нулиране на ядрото на процесора и модула на таймера. Не трябва да свързвате интерфейса dbg_reset_out към интерфейса за нулиране, за да предотвратите неопределено поведение.
2.1.1.3.3. Раздел „Заключване на стъпката“ Таблица 13. Раздел „Заключване на стъпката“
Параметри Активиране на Lockstep (заключване) Период на изчакване по подразбиране Активиране на разширен интерфейс за нулиране
Описание · Активиране на двуядрената система Lockstep. · Стойност по подразбиране на програмируемото време за изчакване при изход от нулиране (между 0 и 255). · Активиране на опционалния разширен интерфейс за нулиране за разширен контрол на нулирането. · Когато е деактивиран, fRSmartComp внедрява основен контрол на нулирането.
2.1.1.3.4. Използвайте раздела „Заявка за нулиране“
Таблица 14. Използване на параметъра на раздела „Заявка за нулиране“
Използвайте раздела „Заявка за нулиране“
Описание
Добавяне на интерфейс за заявка за нулиране
· Активирайте тази опция, за да разкриете локални портове за нулиране, където локален мастер може да я използва, за да задейства нулирането на процесора Nios V, без да засяга други компоненти в система с процесор Nios V.
· Интерфейсът за нулиране се състои от входен сигнал resetreq и изходен сигнал ack.
· Можете да заявите нулиране на ядрото на процесора Nios V, като подадете сигнала resetreq.
· Сигналът за resetreq трябва да остане активен, докато процесорът не активира сигнала за потвърждение. Ако сигналът не остане активен, процесорът може да се окаже в недетерминистично състояние.
· Утвърждаването на сигнала resetreq в режим на дебъгване няма ефект върху състоянието на процесора.
· Процесорът Nios V отговаря, че нулирането е успешно, като потвърждава сигнала за потвърждение.
· След успешно нулиране на процесора, утвърждаването на сигнала за потвърждение може да се случва многократно периодично, докато сигналът за resetreq не се деактивира.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 19
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.1.1.3.5. Раздел „Капани, изключения и прекъсвания“
Таблица 15.
Раздел „Капани, изключения и прекъсвания“, когато „Активиране на контролера на прекъсвания на ниво ядро“ е изключено
Раздел „Капани, изключения и прекъсвания“
Нулиране на агент
Описание
· Паметта, съдържаща вектора за нулиране (адресът за нулиране на процесора Nios V), където се намира кодът за нулиране.
· Можете да изберете всеки модул памет, свързан към главния инструкционен процесор Nios V и поддържан от поток за зареждане на процесор Nios V, като агент за нулиране.
Нулиране на отместване
· Указва отместването на вектора за нулиране спрямо базовия адрес на избрания агент за нулиране. · Дизайнерът на платформа автоматично предоставя стойност по подразбиране за отместването за нулиране.
Активиране на контролера за прекъсвания на ниво ядро (CLIC)
· Активирайте CLIC за поддръжка на превантивни прекъсвания и конфигурируемо условие за задействане на прекъсване.
· Когато е активирано, можете да конфигурирате броя на прекъсванията на платформата, да зададете условия за задействане и да обозначите някои от прекъсванията като превантивни.
Регистър на сянка в режим на прекъсване Files
Задайте типовете прекъсвания като Директни или Векторни. Активирайте регистъра на сянка, за да намалите превключването на контекста при прекъсване.
Таблица 16.
Капани, изключения и прекъсвания, когато е включено „Enable Core Level Interrupt Controller“ (Активиране на контролера на прекъсвания на ниво ядро)
Капани, изключения и прекъсвания
Описания
Нулиране на агент
Нулиране на отместване
Активиране на контролера за прекъсвания на ниво ядро (CLIC)
· Паметта, съдържаща вектора за нулиране (адресът за нулиране на процесора Nios V), където се намира кодът за нулиране.
· Можете да изберете всеки модул памет, свързан към главния инструкционен процесор Nios V и поддържан от поток за зареждане на процесор Nios V, като агент за нулиране.
· Указва отместването на вектора за нулиране спрямо базовия адрес на избрания агент за нулиране. · Дизайнерът на платформа автоматично предоставя стойност по подразбиране за отместването за нулиране.
· Активирайте CLIC за поддръжка на превантивни прекъсвания и конфигурируемо условие за задействане на прекъсване. · Когато е активирано, можете да конфигурирате броя на прекъсванията на платформата, да задавате условия за задействане,
и да определите някои от прекъсванията като превантивни.
Режим на прекъсване
· Задайте типовете прекъсвания като Директно, Векторно или CLIC.
Регистър на сянка Files
· Активирайте регистъра на сянка, за да намалите превключването на контекста при прекъсване.
· Предлага два подхода:
— Брой нива на прекъсвания на CLIC
— Брой нива на прекъсване на CLIC – 1: Тази опция е полезна, когато искате броя на регистрите file копия, за да се поберат в точен брой блокове M20K или M9K.
· Активирайте процесора Nios V да използва регистър на сянка fileкоито намаляват разходите за превключване на контекста при прекъсване.
За повече информация относно регистъра на сянка fileвижте Справочното ръководство за процесор Nios V.
Брой източници на прекъсвания на платформата
· Указва броя на прекъсванията на платформата между 16 и 2048.
Забележка: CLIC поддържа до 2064 входа за прекъсвания, като първите 16 входа за прекъсвания също са свързани към основния контролер за прекъсвания.
Подравняване на векторна таблица по CLIC
· Автоматично се определя въз основа на броя на източниците на прекъсвания на платформата. · Ако използвате подравняване, което е под препоръчителната стойност, CLIC увеличава логиката
сложност чрез добавяне на допълнителен суматор за извършване на векторни изчисления. · Ако използвате подравняване, което е под препоръчителната стойност, това води до увеличена
логическа сложност в CLIC.
продължи…
Ръководство за проектиране на вградени процесори Nios® V 20
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Капани, изключения и прекъсвания
Брой нива на прекъсвания
Брой приоритети на прекъсвания на ниво
Конфигурируема полярност на прекъсванията. Поддържа прекъсвания, задействани от фронта.
Описания
· Указва броя на нивата на прекъсвания с допълнително ниво 0 за кода на приложението. Прекъсванията от по-високо ниво могат да прекъснат (предотвратят) работещ обработчик за прекъсване от по-ниско ниво.
· С ненулеви нива на прекъсвания като единствени опции за прекъсвания, кодът на приложението винаги е на най-ниското ниво 0. Забележка: Конфигурирането на нивото и приоритета на прекъсване по време на изпълнение се извършва в един 8-битов регистър. Ако броят на нивата на прекъсвания е 256, не е възможно да се конфигурира приоритетът на прекъсването по време на изпълнение. В противен случай максималният брой конфигурируеми приоритети е 256 / (брой нива на прекъсвания – 1).
· Указва броя на приоритетите на прекъсванията, които CLIC използва, за да определи реда, в който се извикват обработчиците на прекъсвания без предварително изпълнение. Забележка: Конкатенацията на двоични стойности на избраното ниво на прекъсване и избрания приоритет на прекъсване трябва да бъде по-малка от 8 бита.
· Позволява ви да конфигурирате полярността на прекъсванията по време на изпълнение. · Полярността по подразбиране е положителна.
· Позволява ви да конфигурирате условие за задействане на прекъсване по време на изпълнение, т.е. задействане от високо ниво или задействане от положителен фронт (когато полярността на прекъсването е положителна в Конфигурируема полярност на прекъсване).
· Условието за задействане по подразбиране е прекъсване, задействано от ниво.
Забележка:
Platform Designer предоставя опция „Абсолютен“, която ви позволява да зададете абсолютен адрес в „Отместване при нулиране“. Използвайте тази опция, когато паметта, съхраняваща вектора за нулиране, се намира извън процесорната система и подсистемите.
Свързана информация Справочник за процесор Nios® V
2.1.1.3.6. Раздел „Конфигурации на паметта“
Таблица 17. Параметри на раздела „Конфигурация на паметта“
Категория
Раздел „Конфигурация на паметта“
Описание
Кешове
Размер на кеша за данни
· Указва размера на кеша на данни. · Валидните размери са от 0 килобайта (KB) до 16 KB. · Изключете кеша на данни, когато размерът е 0 KB.
Размер на кеша на инструкциите
· Указва размера на кеша на инструкциите. · Валидните размери са от 0 KB до 16 KB. · Изключва кеша на инструкциите, когато размерът е 0 KB.
Периферен регион А и Б
Размер
· Определя размера на периферната област.
· Валидните размери са от 64 KB до 2 гигабайта (GB) или „Няма“. Избирането на „Няма“ деактивира периферната област.
Основен адрес
· Указва базовия адрес на периферната област, след като изберете размера.
· Всички адреси в периферната област водят до некешируем достъп до данни.
· Базовият адрес на периферния регион трябва да бъде подравнен с размера на периферния регион.
Тясно свързани спомени
Размер
· Указва размера на тясно свързаната памет. — Валидните размери са от 0 MB до 512 MB.
Инициализация на базовия адрес File
· Указва базовия адрес на тясно свързана памет. · Указва инициализацията file за тясно свързана памет.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 21
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Забележка:
В система с процесор Nios V и активиран кеш, трябва да поставите системните периферни устройства в периферен регион. Можете да използвате периферни региони, за да дефинирате некешируема транзакция за периферни устройства като UART, PIO, DMA и други.
2.1.1.3.7. Раздел ECC
Таблица 18. Раздел ECC
ECC Активиране на откриване на грешки и отчитане на състоянието
Активиране на корекция на единичен бит
Описание
· Активирайте тази опция, за да приложите ECC функцията за вътрешните RAM блокове на процесора Nios V. · ECC функциите откриват грешки до 2 бита и реагират въз основа на следното поведение:
— Ако е поправима еднобитова грешка и опцията „Enable Single Bit Correction“ е изключена, процесорът продължава да работи след коригиране на грешката в процесорния конвейер. Корекцията обаче не се отразява в изходните памети.
— Ако е поправима еднобитова грешка и е включена опцията „Enable Single Bit Correction“, процесорът продължава да работи след коригиране на грешката в процесорния конвейер и изходните памети.
— Ако грешката е непоправима, процесорът спира работата си.
Активирайте корекция на един бит на вградени блокове памет в ядрото.
2.1.1.3.8. Раздел „Персонализирани инструкции“
Забележка:
Този раздел е наличен само за процесорното ядро Nios V/g.
Таблица с потребителски инструкции за хардуерен интерфейс на Nios V
Таблица с макроси за софтуер за персонализирани инструкции Nios V
Описание
· Процесорът Nios V използва тази таблица, за да дефинира своите персонализирани интерфейси за управление на инструкции.
· Дефинираните потребителски интерфейси за мениджър на инструкции са уникално кодирани от Opcode (CUSTOM0-3) и 3 бита на funct7[6:4].
· Можете да дефинирате до общо 32 индивидуални интерфейса за персонализирани команди за управление на инструкции.
· Процесорът Nios V използва тази таблица, за да дефинира персонализирани софтуерни кодировки на инструкции за дефинирани интерфейси на мениджъра на персонализирани инструкции.
· За всяко дефинирано софтуерно кодиране на персонализирани инструкции, кодирането на Opcode (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 726952 | 2025.07.16
2.1.2. Дефиниране на дизайна на системните компоненти
Използвайте Platform Designer, за да дефинирате хардуерните характеристики на процесорната система Nios V и да добавите желаните компоненти. Следната диаграма показва основен дизайн на процесорна система Nios V със следните компоненти: · Процесорно ядро Nios V · Вградена памет · JTAG UART · Интервален таймер (по избор)(1)
Когато към система Platform Designer се добави нова вградена памет, изпълнете синхронизиране на системната информация, за да отразите добавените компоненти на паметта при нулиране. Като алтернатива можете да активирате автоматично синхронизиране в Platform Designer, за да отразите автоматично последните промени в компонентите.
Фигура 11. Прampсвързване на процесора Nios V с други периферни устройства в Platform Designer
(1) Имате възможност да използвате функциите на вътрешния таймер на Nios V, за да замените външния интервален таймер в Platform Designer.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 23
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Трябва също да дефинирате работните пинове за експортиране като тръбопроводи във вашата система Platform Designer. Напримерampт.е., правилният списък с пинове за работа на FPGA системата е дефиниран по-долу, но не се ограничава до:
· Часовник
· Нулиране
· Входно/изходни сигнали
2.1.3. Задаване на базови адреси и приоритети на заявките за прекъсване
За да определите как компонентите, добавени в дизайна, взаимодействат, за да формират система, трябва да зададете базови адреси за всеки компонент на агента и да зададете приоритети за заявки за прекъсване (IRQ) за J.TAG UART и интервалният таймер. Дизайнерът на платформата предоставя команда – Присвояване на базови адреси – която автоматично присвоява правилните базови адреси на всички компоненти в системата. Можете обаче да коригирате базовите адреси според вашите нужди.
Следват някои насоки за задаване на базови адреси:
· Ядрото на процесора Nios V има 32-битов адресен диапазон. За достъп до компонентите на агента, техният базов адрес трябва да е в диапазона между 0x00000000 и 0xFFFFFFFF.
· Програмите на Nios V използват символни константи за обозначаване на адреси. Не е нужно да избирате адресни стойности, които са лесни за запомняне.
· Адресните стойности, които разграничават компоненти само с разлика в адреса от един бит, създават по-ефективен хардуер. Не е необходимо да компресирате всички базови адреси в най-малкия възможен диапазон от адреси, защото компресирането може да създаде по-неефективен хардуер.
· Platform Designer не се опитва да подравни отделни компоненти на паметта в съседен диапазон на паметта. Напримерampт.е., ако искате множество компоненти на вградената памет (On-Chip Memory) да могат да бъдат адресирани като един съседен диапазон памет, трябва изрично да зададете базови адреси.
Platform Designer предоставя и команда за автоматизация – Assign Interrupt Numbers (Присвояване на номера на прекъсвания), която свързва IRQ сигналите, за да се получат валидни хардуерни резултати. Ефективното присвояване на IRQ обаче изисква разбиране на цялостното поведение на системата при реакция. Platform Designer не може да прави обосновани предположения за най-доброто присвояване на IRQ.
Най-ниската стойност на IRQ има най-висок приоритет. В идеална система, Altera препоръчва таймерът да има IRQ с най-висок приоритет, т.е. най-ниската стойност, за да се поддържа точността на системния такт.
В някои случаи може да зададете по-висок приоритет на периферни устройства в реално време (като видеоконтролери), което изисква по-висока честота на прекъсвания отколкото компонентите на таймера.
Свързана информация
Ръководство за потребителя на Quartus Prime Pro Edition: Повече информация за създаването на система с Platform Designer.
Ръководство за проектиране на вградени процесори Nios® V 24
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime 726952 | 2025.07.16
2.2. Интегриране на системата за проектиране на платформи в проекта Quartus Prime
След генериране на системния дизайн на Nios V в Platform Designer, изпълнете следните задачи, за да интегрирате системния модул Nios V в проекта за проектиране на Quartus Prime FPGA. · Създайте инстанция на системния модул Nios V в проекта Quartus Prime · Свържете сигналите от системния модул Nios V с други сигнали в FPGA логиката · Задайте местоположението на физическите пинове · Ограничете FPGA дизайна
2.2.1. Създаване на системния модул на процесора Nios V в проекта Quartus Prime
Platform Designer генерира проектен обект на системен модул, който можете да създадете в Quartus Prime. Начинът, по който създавате системния модул, зависи от метода за въвеждане на дизайн за целия проект Quartus Prime. НапримерampНапример, ако сте използвали Verilog HDL за въвеждане на проект, създайте инстанция на системния модул, базиран на Verilog. Ако предпочитате да използвате метода на блоковата диаграма за въвеждане на проект, създайте инстанция на символ на системен модул .bdf. file.
2.2.2. Свързване на сигнали и задаване на физически местоположения на пинове
За да свържете вашия Altera FPGA дизайн с вашия дизайн на платка, изпълнете следните задачи: · Идентифицирайте най-високото ниво file за вашия дизайн и сигнали за свързване към външна Altera
Пинове на FPGA устройството. · Разберете кои пинове да свържете чрез ръководството за потребителя за проектиране на ниво платка или
схеми. · Присвойте сигнали в дизайна от най-високо ниво към портове на вашето Altera FPGA устройство с пин
инструменти за задаване на задачи.
Вашата система Platform Designer може да бъде проектирана от най-високо ниво. FPGA на Altera обаче може да включва и допълнителна логика, базирана на вашите нужди, и по този начин да въведе персонализирана система от най-високо ниво. fileНай-високото ниво file свързва сигналите на системния модул на процесора Nios V с друга логика на Altera FPGA.
Свързана информация Ръководство за потребителя на Quartus Prime Pro Edition: Ограничения в дизайна
2.2.3. Ограничаване на дизайна на FPGA на Altera
Правилният дизайн на Altera FPGA система включва ограничения, за да се гарантира, че дизайнът отговаря на изискванията за времево затваряне и други логически ограничения. Трябва да ограничите вашия Altera FPGA дизайн, за да отговаря на тези изисквания изрично, като използвате инструменти, предоставени в софтуера Quartus Prime или от доставчици на EDA от трети страни. Софтуерът Quartus Prime използва предоставените ограничения по време на фазата на компилиране, за да получи оптимални резултати при разполагане.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 25
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
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По-малко от енергозависимата памет са RAM, кеш паметта и регистрите. Това са бързи типове памет, които увеличават производителността. Altera препоръчва да зареждате и изпълнявате инструкции на процесора Nios V в RAM паметта и да сдвоявате IP ядрото на Nios V с On-Chip Memory IP или External Memory Interface IP за оптимална производителност.
За да подобрите производителността, можете да елиминирате допълнителни компоненти за адаптация на Platform Designer, като съпоставите типа или ширината на интерфейса на мениджъра на данни на процесора Nios V с оперативната памет за зареждане. Напримерampт.е., можете да конфигурирате On-Chip Memory II с 32-битов AXI-4 интерфейс, който съответства на интерфейса на мениджъра на данни Nios V.
Свързана информация · Външни интерфейси за памет Център за поддръжка на IP · Вградена памет (RAM или ROM) Altera FPGA IP · Вградена памет II (RAM или ROM) Altera FPGA IP · Nios V процесор Приложение за изпълнение на място от OCRAM на страница 54
2.3.1.1. Конфигурация на вградената памет RAM или ROM
Можете да конфигурирате IP адресите на Altera FPGA On-Chip Memory като RAM или ROM. · RAM паметта осигурява възможности за четене и запис и е енергонезависима. Ако сте
При зареждане на процесора Nios V от вградена RAM памет, трябва да се уверите, че съдържанието за зареждане е запазено и не е повредено в случай на рестартиране по време на работа. · Ако процесор Nios V се зарежда от ROM, всяка софтуерна грешка в процесора Nios V не може погрешно да презапише съдържанието на вградената RAM памет. По този начин се намалява рискът от повреда на софтуера за зареждане.
Свързана информация · Вградена памет (RAM или ROM) Altera FPGA IP · Вградена памет II (RAM или ROM) Altera FPGA IP · Приложение за процесор Nios V, изпълнявано на място от OCRAM на страница 54
Ръководство за проектиране на вградени процесори Nios® V 26
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime 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. Прampле на адресната карта
Забележка: Сините стрелки сочат към памети. 4. Групирайте периферните устройства:
а. Памет като кешируема б. Периферни устройства като некешируеми
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 27
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Таблица 19. Кешируем и некешируем регион
Подчинен
Карта на адреса
Статус
Периферен регион
Размер
Основен адрес
user_application_mem.s1
0x0 ~ 0x3ffff
Може да се кешира
N/A
N/A
cpu.dm_agent bootcopier_rom.s1
0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff
Некешируем Кешируем
65536 байта Няма данни
0x40000 N/A
bootcopier_ram.s1 cpu.timer_sw_agent пощенска кутия.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
Може да се кешира
N/A
N/A
cpu.dm_agent
0x40000 ~ 0x4ffff
Некеширани 65536 байта
0x40000
bootcopier_rom.s1
0x50000 ~ 0x517ff
Може да се кешира
N/A
N/A
bootcopier_ram.s1 cpu.timer_sw_agent пощенска кутия.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
726952 | 2025.07.16
Забележка:
Когато подчиненият порт на TCM е свързан към външен хост, той може да се показва с различен базов адрес от базовия адрес, зададен в ядрото на процесора. Altera препоръчва двата адреса да се подравнят с еднаква стойност.
2.3.1.4. Интерфейс за външна памет (EMIF)
EMIF (External Memory Interface) функционира подобно на SRAM (Static Random Access Memory), но е динамична и изисква периодично обновяване, за да поддържа съдържанието си. Динамичните клетки на паметта в EMIF са много по-малки от статичните клетки на паметта в SRAM, което води до устройства с памет с по-висок капацитет и по-ниска цена.
В допълнение към изискването за обновяване, EMIF има специфични изисквания към интерфейса, които често налагат специализиран хардуер на контролера. За разлика от SRAM, която има фиксиран набор от адресни линии, EMIF организира паметта си в банки, редове и колони. Превключването между банки и редове води до известни разходи, така че трябва внимателно да подредите достъпа до паметта, за да използвате EMIF ефективно. EMIF също така мултиплексира адресите на редове и колони върху едни и същи адресни линии, намалявайки броя на пиновете, необходими за даден размер на EMIF.
По-високоскоростните версии на EMIF, като DDR, DDR2, DDR3, DDR4 и DDR5, налагат строги изисквания за целостта на сигнала, които дизайнерите на печатни платки трябва да вземат предвид.
EMIF устройствата се нареждат сред най-рентабилните и висококапацитетни типове RAM памет, което ги прави популярен вариант. Ключов компонент на EMIF интерфейса е EMIF IP, който управлява задачи, свързани с мултиплексиране на адреси, обновяване и превключване между редове и банки. Този дизайн позволява на останалата част от системата да има достъп до EMIF, без да е необходимо да разбира вътрешната ѝ архитектура.
Свързана информация Външни интерфейси за памет Център за поддръжка на IP
2.3.1.4.1. Адрес на IP адреса на разширителя на обхвата
Разширителят на адресния обхват Altera FPGA IP позволява на хост интерфейсите, картографирани в паметта, да имат достъп до по-голяма или по-малка адресна карта, отколкото позволява ширината на техните адресни сигнали. Разширителят на адресния обхват IP разделя адресируемото пространство на множество отделни прозореца, така че хостът да може да осъществи достъп до съответната част от паметта през прозореца.
Разширителят на адресния обхват не ограничава ширината на хоста и агента до 32-битова и 64-битова конфигурация. Можете да използвате разширителя на адресния обхват с адресни прозорци от 1 до 64 бита.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 29
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
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 GB от адресен диапазон. Ако EMIF съдържа повече от 4 GB памет, той надвишава максималния поддържан адресен диапазон, което прави системата Platform Designer грешна. За разрешаване на този проблем е необходим IP адресен разширител (Address Span Extender) чрез разделяне на едно EMIF адресно пространство на множество по-малки прозорци.
Алтера препоръчва да вземете предвид следните параметри.
Таблица 21. Параметри на разширителя на адресния обхват
Параметър
Препоръчителни настройки
Ширина на пътя на данните
Разширена ширина на адреса на главния байт
Изберете 32-бита, което съответства на 32-битовия процесор. Зависи от размера на EMIF паметта.
Ширина на адреса на подчинена дума Ширина на burstcount
Изберете 2 GB или по-малко. Оставащият адресен диапазон на процесора Nios V е резервиран за други вградени софтуерни IP адреси.
Започнете с 1 и постепенно увеличавайте тази стойност, за да подобрите производителността.
Брой подпрозорци
Изберете 1 подпрозорец, ако свързвате EMIF към процесора Nios V като памет за инструкции и данни или и двете. Превключването между няколко подпрозореца, докато процесорът Nios V изпълнява от EMIF, е опасно.
Активиране на порт за управление на подчинени устройства
Деактивирайте порта за управление на подчинените устройства, ако свързвате EMIF към процесора Nios V като памет за инструкции и/или данни. Същите проблеми като при броя на подпрозорците.
Максимален брой чакащи четения
Започнете с 1 и постепенно увеличавайте тази стойност, за да подобрите производителността.
Ръководство за проектиране на вградени процесори Nios® V 30
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime 726952 | 2025.07.16
Фигура 14. Свързване на мениджъра на инструкции и данни към разширител на адресния обхват
Фигура 15. Съпоставяне на адреси
Обърнете внимание, че разширителят на адресния обхват може да получи достъп до цялото 8GB пространство от паметта на EMIF. Чрез разширителя на адресния обхват обаче, процесорът Nios V може да получи достъп само до първото пространство от 1GB памет на EMIF.
Фигура 16. Опростена блокова диаграма
Система за проектиране на платформа
Оставащи 3 ГБ
Адрес на процесора Nios V
span е за вградени
NNioios sVV PProrocecsesosor r
M
меки IP адреси в една и съща система.
1 ГБ прозорец
Адресен диапазон
S
Разширител
M
Само първият 1 ГБ
EMIF паметта е свързана към Nios V
EMIF
процесор.
8 GB
S
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 31
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
2.3.1.4.3. Дефиниране на разширител на адресния обхват (ADRESS Span Extender) - свързващо устройство с памет 1. Дефинирайте разширителя на адресния обхват (EMIF) като вектор за нулиране. Като алтернатива, можете да присвоите вектора за нулиране на процесора Nios V на други памети, като например OCRAM или флаш устройства.
Фигура 17. Множество опции като вектор за нулиране
Редакторът на Board Support Package (BSP) обаче не може автоматично да регистрира разширителя на адресния обхват (EMIF) като валидна памет. В зависимост от направения от вас избор, ще видите две различни ситуации, както е показано на следващите фигури. Фигура 18. Грешка в BSP при дефиниране на разширителя на адресния обхват (EMIF) като вектор за нулиране
Ръководство за проектиране на вградени процесори Nios® V 32
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime 726952 | 2025.07.16
Фигура 19. Липсва EMIF при дефиниране на други памети като вектор за нулиране
2. Трябва ръчно да добавите разширителя на адресния обхват (EMIF), като използвате „Добавяне на устройство с памет“, „Добавяне на регион на паметта на линкера“ и „Добавяне на съпоставяния на секции на линкера“ в раздела „Скрипт на BSP линкера“.
3. Следвайте тези стъпки:
а. Определете адресния обхват на разширителя на адресния обхват, използвайки картата на паметта (напр.ampНа следващата фигура се използва диапазонът на разширителя на адресния обхват от 0x0 до 0x3fff_ffff).
Фигура 20. Карта на паметта
b. Щракнете върху „Добавяне на устройство с памет“ и попълнете въз основа на информацията в картата на паметта на вашия проект: i. Име на устройството: emif_ddr4. Забележка: Уверете се, че сте копирали същото име от картата на паметта. ii. Базов адрес: 0x0 iii. Размер: 0x40000000
c. Щракнете върху Добавяне, за да добавите нов регион на паметта на линкера:
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 33
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
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 726952 | 2025.07.16
2.3.2. Нелетлива памет
Енергонезависимата памет запазва съдържанието си, когато захранването се изключи, което я прави добър избор за съхранение на информация, която системата трябва да извлече след цикъл на захранване. Енергонезависимата памет обикновено съхранява код за зареждане на процесора, постоянни настройки на приложенията и данни за конфигурация на Altera FPGA. Въпреки че енергонезависимата памет има предимството...tage of retaining its data when you remove the power, it is much slower compare to volatile memory, and often has more complex writing and erasing procedures. Non-volatile memory is also usually only guaranteed to be erasable a given number of times, after which it may fail.
ExampЕлементите на енергонезависимата памет включват всички видове флаш памет, EPROM и EEPROM. Altera препоръчва да съхранявате битови потоци от Altera FPGA и програмни образи на Nios V в енергонезависима памет и да използвате серийна флаш памет като устройство за зареждане за процесорите Nios V.
Свързана информация
· Ръководство за потребителя на Altera FPGA IP за общ сериен флаш интерфейс
· Ръководство за потребителя на Mailbox Client Altera FPGA IP · Ръководство за потребителя на MAX® 10 User Flash Memory: Вградено флаш устройство Altera FPGA IP Core
2.4. Най-добри практики за тактиране и нулиране
Важно е да се разбере как тактовият домейн и домейнът за нулиране на процесора Nios V взаимодействат с всяко периферно устройство, към което се свързва. Една проста процесорна система Nios V започва с единичен тактов домейн и може да се усложни при система с многотактови домейни, когато домейн с бърз тактов домейн се сблъска с домейн с бавен тактов домейн. Трябва да се обърне внимание и да се разбере как тези различни домейни се подреждат последователно след нулиране и да се уверите, че няма някакви фини проблеми.
За най-добри практики, Altera препоръчва поставянето на процесора Nios V и паметта за зареждане в един и същ домейн на тактова честота. Не освобождавайте процесора Nios V от нулиране в домейн с бърза тактова честота, когато той се зарежда от памет, която се намира в домейн с много бавна тактова честота, което може да причини грешка при извличане на инструкции. Може да се нуждаете от известно ръчно последователност, освен това, което Platform Designer предоставя по подразбиране, и планирайте топологията за нулиране и освобождаване съответно въз основа на вашия случай на употреба. Ако искате да нулирате системата си, след като тя се стартира и работи известно време, приложете същите съображения към последователността на нулиране на системата и изискването за инициализация след нулиране.
2.4.1. Система JTAG Часовник
Определянето на ограниченията на тактовата честота във всяка процесорна система Nios V е важно съображение при проектирането на системата и е необходимо за коректност и детерминистично поведение. Анализаторът на време Quartus Prime извършва статичен анализ на времето, за да валидира производителността на времето на цялата логика във вашия проект, използвайки стандартна за индустрията методология за ограничения, анализ и отчитане.
Example 1. Базов 100 MHz тактов генератор с работен цикъл 50/50 и 16 MHz JTAG Часовник
#******************************************************************** # Създаване на 100MHz тактова честота #**************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Създаване на 16MHz тактова честотаTAG Часовник #************************
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 35
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
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 726952 | 2025.07.16
2.4.2.1. Типични случаи на употреба
· Можете да активирате сигнала reset_req от включване на захранването, за да предотвратите стартирането на изпълнението на програма от ядрото на процесора Nios V от неговия вектор за нулиране, докато други FPGA хостове в системата не инициализират паметта за зареждане на процесора Nios V. В този случай цялата подсистема може да претърпи чисто хардуерно нулиране. Процесорът Nios V се задържа за неопределено време в състояние на заявка за нулиране, докато другите FPGA хостове не инициализират паметта за зареждане на процесора.
· В система, където трябва да рестартирате ядрото на процесора 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 препоръчва да използвате Reset Release Altera FPGA IP като един от първоначалните входове към веригата за нулиране. Устройствата, базирани на Intel® SDM, включват Stratix® 10 и Agilex™. Устройствата, базирани на контролни блокове, не са засегнати от това изискване.
Свързана информация
AN 891: Използване на Reset Release Altera FPGA IP
2.5. Присвояване на агент по подразбиране
Дизайнерът на платформи ви позволява да зададете агент по подразбиране, който действа като агент по подразбиране за отговор на грешки. Агентът по подразбиране, който посочите, предоставя услуга за отговор на грешки за хостове, които се опитват да осъществят недекодиран достъп до адресната карта.
Следните сценарии задействат недекодирано събитие:
· Нарушение на състоянието на сигурността на транзакциите с автобус
· Достъп на транзакции до неопределена област на паметта
· Изключително събитие и др.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 37
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
За обработка на такива събития, при които недефинирана транзакция се пренасочва към агента по подразбиране и впоследствие отговаря на процесора Nios V с отговор за грешка, трябва да бъде назначен агент по подразбиране.
Свързана информация
· Ръководство за потребителя на Quartus Prime Pro Edition: Дизайнер на платформа. Определяне на агент по подразбиране
· Ръководство за потребителя на Quartus Prime Pro Edition: Дизайнер на платформи. Подчинено устройство за реакция при грешки Altera FPGA IP
· Github – Допълнителни компоненти за нулиране за Qsys
2.6. Присвояване на UART агент за печат
Печатът е полезен за отстраняване на грешки в софтуерното приложение, както и за наблюдение на състоянието на вашата система. Altera препоръчва отпечатването на основна информация, като например съобщение при стартиране, съобщение за грешка и напредък на изпълнението на софтуерното приложение.
Избягвайте използването на функцията от библиотеката printf() при следните обстоятелства: · Библиотеката printf() причинява блокиране на приложението, ако никой хост не чете изхода.
Това е приложимо за J.TAG Само UART. · Библиотеката printf() консумира големи количества програмна памет.
2.6.1. Предотвратяване на спирания от JTAG UART
Таблица 23. Разлики между традиционния UART и JTAG UART
Тип UART Традиционен UART
Описание
Предава серийни данни, независимо дали външен хост слуша. Ако никой хост не чете серийните данни, данните се губят.
JTAG UART
Записва предадените данни в изходен буфер и разчита на външен хост, който да чете от буфера, за да го изпразни.
ДжTAG UART драйверът изчаква, когато изходният буфер е пълен. JTAG UART драйверът изчаква външен хост да прочете от изходния буфер, преди да запише още данни за предаване. Този процес предотвратява загубата на данни за предаване.
Въпреки това, когато не се изисква системно отстраняване на грешки, например по време на производство, вградените системи се внедряват без хост компютър, свързан към J.TAG UART. Ако системата е избрала JTAG UART като UART агент, това може да доведе до блокиране на системата, защото не е свързан външен хост.
За да се предотврати спирането от JTAG UART, приложете една от следните опции:
Ръководство за проектиране на вградени процесори Nios® V 38
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Таблица 24. Предотвратяване на забавяне от JTAG UART
Опции
Няма 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 препоръчва системната тактова честота на всеки дизайн да бъде поне четири пъти по-висока от J.TAG тактова честота, за да се гарантира правилното функциониране на ядрото на вградената инструментация (OCI).
Свързана информация · Наръчник с рецепти за анализатор на праймтайминг Quartus®: JTAG Сигнали
За повече информация за ДжTAG насоки за ограничения във времето. · KDB: Защо niosv-download се проваля с неконвейерен Nios® V/m процесор на
JTAG честота 24MHz или 16MHz?
2.8. Оптимизиране на производителността на системата за проектиране на платформи
Platform Designer предоставя инструменти за оптимизиране на производителността на системните взаимовръзки за Altera FPGA проекти.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 39
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime
726952 | 2025.07.16
Фигура 25. Пример за оптимизацияampлес
БившиятampПоказаният на фигурата процес показва следните стъпки:
1. Добавя Pipeline Bridge, за да облекчи критичните пътища, като го поставя: а. Между Instruction Manager-а и неговите агенти б. Между Data Manager-а и неговите агенти
2. Прилагане на истинска двупортова вградена RAM памет, като всеки порт е предназначен съответно за мениджъра на инструкции и мениджъра на данни.
Ръководство за проектиране на вградени процесори Nios® V 40
Изпратете обратна връзка
2. Проектиране на хардуерна система за процесор Nios V със софтуер и дизайнер на платформи Quartus Prime 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 януари XNUMX г. Изпратете обратна връзка
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 препоръчва да използвате комплект за разработка на FPGA от Altera или персонализирана прототипна платка за разработка и отстраняване на грешки в софтуера. Много периферни устройства и функции на системно ниво са достъпни само когато софтуерът ви работи на реална платка.
© 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 Board Support Package (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 за създаване на приложението CMakeLists.txt и RiscFree IDE за Altera FPGA за модифициране на изходния код в среда, базирана на Eclipse.
3.2. Инструменти за разработка на вградени FPGA на Altera
Процесорът Nios V поддържа следните инструменти за разработка на софтуер: · Графичен потребителски интерфейс (GUI) – Инструменти за графична разработка, които са налични в
Операционни системи (ОС) както Windows*, така и Linux*. — Редактор на пакети за поддръжка на платки Nios V (Nios V BSP Editor) — Ashling RiscFree IDE за Altera FPGA · Инструменти за команден ред (CLI) – Инструменти за разработка, които се стартират от командния ред Nios V. Всеки инструмент предоставя собствена документация под формата на помощ, достъпна от командния ред. Отворете командния ред Nios V и въведете следната команда: –помощ за view менюто „Помощ“. — Nios V Utilities Tools — File Инструменти за преобразуване на формати — Други помощни програми Инструменти
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 43
3. Проектиране на софтуерна система за процесор Nios V 726952 | 2025.07.16
Таблица 25. Обобщение на задачите на инструментите на графичния потребителски интерфейс и инструментите от командния ред
Задача
GUI инструмент
Инструмент за команден ред
Създаване на BSP
Редактор на BSP от Nios V
· В софтуера Quartus Prime Pro Edition: niosv-bsp -c -s=<.qsys file> -t= [ОПЦИИ] settings.bsp
· В софтуера Quartus Prime Standard Edition: niosv-bsp -c -s=<.sopcinfo file> -t= [ОПЦИИ] settings.bsp
Генериране на BSP с помощта на съществуващ .bsp файл file
Актуализиране на BSP
Редактор на Nios V BSP Редактор на Nios V BSP
niosv-bsp -g [ОПЦИИ] settings.bsp niosv-bsp -u [ОПЦИИ] settings.bsp
Разглеждане на BSP
Редактор на BSP от Nios V
niosv-bsp -q -E= [ОПЦИИ] settings.bsp
Създаване на приложение
–
niosv-app -a= -b= -s= fileдиректория s> [ОПЦИИ]
Създаване на потребителска библиотека
–
niosv-app -l= -s= files директория> -p= [ОПЦИИ]
Модифициране на приложение Модифициране на потребителска библиотека Създаване на приложение
RiscFree IDE за Altera FPGAs
RiscFree IDE за Altera FPGAs
RiscFree IDE за Altera FPGAs
Всеки редактор на код от командния ред
Всеки редактор на код от командния ред
· правя · правя
Изграждане на потребителска библиотека
RiscFree IDE за Altera FPGAs
· правя · правя
Изтегляне на приложение ELF
Конвертиране на .elf file
RiscFree IDE за Altera FPGAs
–
niosv-изтегляне
· елф2флаш · елф2хекс
Свързана информация
Ръководство за потребителя на интегрираната среда за разработка (IDE) на Ashling RiscFree за FPGA на 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: Поддръжка на софтуера Quartus Prime за процесор Nios V за стъпките за извикване на графичния потребителски интерфейс на BSP Editor.
За да стартирате BSP редактора, следвайте тези стъпки: 1. Отворете Platform Designer и отидете до File меню.
а. За да отворите съществуваща настройка на BSP file, щракнете върху Отвори… b. За да създадете нов BSP, щракнете върху Нов BSP… 2. Изберете раздела Редактор на BSP и предоставете съответните данни.
Фигура 27. Стартиране на BSP редактора
Свързана информация AN 980: Поддръжка на софтуер за процесор Nios V Quartus Prime
3.2.2. RiscFree IDE за Altera FPGA
RiscFree IDE за Altera FPGAs е IDE, базирана на Eclipse, за процесора Nios V. Altera препоръчва да разработвате софтуера за процесора Nios V в тази IDE поради следните причини: · Функциите са разработени и проверени, за да бъдат съвместими с Nios V
процес на изграждане на процесора. · Снабден с всички необходими инструменти и помощни средства, които ви позволяват
за лесно стартиране на разработката на процесор Nios V.
Свързана информация Ashling RiscFree Интегрирана среда за разработка (IDE) за Altera FPGA Ръководство за потребителя
3.2.3. Инструменти за помощни програми на Nios V
Можете да създавате, променяте и изграждате програми на Nios V с команди, въведени в командния ред или вградени в скрипт. Инструментите за команден ред на Nios V, описани в този раздел, са в Директорията /niosv/bin.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 45
3. Проектиране на софтуерна система за процесор Nios V 726952 | 2025.07.16
Таблица 26. Инструменти за помощни програми Nios V
Инструменти за команден ред
Резюме
niosv-app niosv-bsp niosv-download niosv-shell niosv-stack-report
За генериране и конфигуриране на проект за приложение.
За да създадете или актуализирате настройките на BSP file и да създадат BSP fileс. За да изтеглите ELF file към процесор Nios® V.
За да отворите командния интерфейс на Nios V. За да ви информира за останалото пространство в паметта, достъпно за вашето приложение .elf за използване на стек или heap.
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
подсистема чрез stdin. Този инструмент се прилага само за JTAG UART IP, когато е свързан към процесора Nios® V.
openocd
Предоставено от Intel За изпълнение на OpenOCD.
openocd-cfg-gen
Предоставено от Intel · За генериране на конфигурацията на OpenOCD file. · За да се покаже JTAG индекс на верижно устройство.
Ръководство за проектиране на вградени процесори Nios® V 46
Изпратете обратна връзка
726952 | 2025.07.16 януари XNUMX г. Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V
Можете да конфигурирате процесора Nios V да стартира и изпълнява софтуер от различни местоположения в паметта. Паметта за стартиране е флаш памет с четириядрен сериен периферен интерфейс (QSPI), вградена памет (OCRAM) или тясно свързана памет (TCM).
Свързана информация · Условия за задействане при включване на страница 193 · Задействания при включване
За повече информация относно тригерите при включване.
4.1. Въведение
Процесорът Nios V поддържа два вида процеси на зареждане: · Изпълнение на място (XIP) с помощта на функцията alt_load() · Програма, копирана в RAM паметта с помощта на boot copier. Разработката на вградени програми на Nios V е базирана на слоя за хардуерна абстракция (HAL). HAL предоставя малка програма за зареждане (известна също като boot copier), която копира съответните секции на линкера от паметта за зареждане до тяхното местоположение по време на изпълнение по време на зареждане. Можете да укажете местоположенията на паметта за програми и данни по време на изпълнение, като манипулирате настройките на редактора на Board Support Package (BSP). Този раздел описва: · Boot copier на процесор Nios V, който зарежда вашата процесорна система Nios V съгласно
избор на памет за зареждане · Опции за зареждане на процесора Nios V и общ процес · Програмни решения на Nios V за избраната памет за зареждане
4.2. Свързване на приложения
Когато генерирате проекта на процесора Nios V, BSP редакторът генерира два линкера, свързани с него. files: · linker.x: Командата за линкер file че генерираното приложение правиfile използва
за да създадете двоичния файл .elf file. · linker.h: Съдържа информация за оформлението на паметта на линкера. Всички промени в настройките на линкера, които правите в BSP проекта, влияят на съдържанието на тези два линкера. fileВсяко приложение за процесор Nios V съдържа следните секции за линкери:
© Altera Corporation. Altera, логото на Altera, логото с буквата „a“ и други марки на Altera са търговски марки на Altera Corporation. Altera си запазва правото да прави промени във всички продукти и услуги по всяко време без предизвестие. Altera не поема никаква отговорност, произтичаща от прилагането или използването на информация, продукт или услуга, описани тук, освен ако не е изрично договорено писмено от Altera. Клиентите на Altera се съветват да получат най-новата версия на спецификациите на устройството, преди да разчитат на публикувана информация и преди да правят поръчки за продукти или услуги. *Други имена и марки могат да бъдат заявени като собственост на други лица.
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Таблица 29. Секции на линкера
.текст
Секции на линкера
.rodata
.rwdata
.bss
.купчина
.stack
Описания Изпълним код. Всякакви данни само за четене, използвани при изпълнението на програмата. Съхранява данни за четене и запис, използвани при изпълнението на програмата. Съдържа неинициализирани статични данни. Съдържа динамично разпределена памет. Съхранява параметри за извикване на функции и други временни данни.
Можете да добавите допълнителни секции за линкер към .elf файла. file да съхранява персонализиран код и данни. Тези секции за линкиране се поставят в именувани области на паметта, дефинирани да съответстват на физически устройства с памет и адреси. По подразбиране BSP Editor автоматично генерира тези секции за линкиране. Можете обаче да контролирате секциите за линкиране за конкретно приложение.
4.2.1. Поведение при свързване
Този раздел описва поведението на свързване по подразбиране в BSP Editor и как да се контролира поведението на свързване.
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 устройства (с On-Chip Flash IP)
QSPI Flash с общо предназначение (само за потребителски данни)
Всички поддържани FPGA устройства (с Generic Serial Flash Interface FPGA IP)
Конфигурация QSPI Flash (за конфигурация с активен сериен порт)
Контрол, базиран на блокове
устройства (с Generic
Сериен флаш интерфейс Intel FPGA IP)(2)
Методи за зареждане на процесор Nios V
Местоположение на изпълнението на приложението
Копирно устройство за стартиране
Приложението за процесор Nios V се изпълнява на място от On-Chip Flash
Вградена флаш памет (XIP) + OCRAM/ Външна RAM памет (за секции с данни за запис)
Функция alt_load()
Приложението за процесор Nios V е копирано от вградената флаш памет в RAM паметта с помощта на boot copyr
OCRAM/Външна RAM памет
Повторно използване на Bootloader чрез GSFI
Приложението за процесор Nios V се изпълнява на място от универсална QSPI флаш памет
Универсална QSPI флаш памет (XIP) + OCRAM/ Външна RAM памет (за секции с данни за запис)
Функция alt_load()
Приложението за процесор Nios V е копирано от универсална QSPI флаш памет в RAM паметта с помощта на boot copyr.
OCRAM/Външна RAM памет
Буутлоудър чрез GSFI
Приложението за процесор Nios V се изпълнява на място от конфигурация QSPI флаш памет
Конфигурация QSPI флаш памет (XIP) + OCRAM/ Външна RAM памет (за секции с данни за запис)
Функция alt_load()
Приложението за процесор Nios V е копирано от конфигурационната QSPI флаш памет в RAM паметта с помощта на boot copyr.
OCRAM/ Външен RAM Bootloader чрез GSFI продължава…
(2) Вижте AN 980: Поддръжка на софтуер за процесор Nios V Quartus Prime за списъка с устройства.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 49
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Поддържани памети за зареждане
Вградена памет (OCRAM) Тясно свързана памет (TCM)
устройство
SDM-базирани устройства (с Mailbox Client Intel FPGA IP). (2)
Всички поддържани FPGA устройства Altera (2)
Всички поддържани FPGA устройства Altera (2)
Методи за зареждане на процесор Nios V
Приложението за процесор Nios V е копирано от конфигурационната QSPI флаш памет в RAM паметта с помощта на boot copyr.
Приложението на процесора Nios V се изпълнява на място от OCRAM
Приложението за процесор Nios V се изпълнява на място от TCM
Местоположение на изпълнението на приложението
Копирно устройство за стартиране
OCRAM/ Външна RAM памет, буутлоудър чрез SDM
OCRAM
Функция 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
· Ръководство за потребителя на Mailbox Client Altera FPGA IP · AN 980: Софтуерна поддръжка за процесор Nios V Quartus Prime
4.4. Въведение в методите за зареждане на процесора Nios V
Системите с процесори Nios V изискват софтуерните образи да бъдат конфигурирани в системната памет, преди процесорът да може да започне да изпълнява приложната програма. Вижте разделите за линкери за секциите за линкери по подразбиране.
BSP редакторът генерира линкер скрипт, който изпълнява следните функции: · Гарантира, че софтуерът на процесора е свързан в съответствие с настройките на линкера
на BSP редактора и определя къде се намира софтуерът в паметта. · Позиционира кодовата област на процесора в компонента на паметта според
назначени компоненти на паметта.
Следващият раздел описва накратко наличните методи за зареждане на процесора Nios V.
4.4.1. Изпълнение на приложението на процесора Nios V от Boot Flash
Altera е проектирала флаш контролерите така, че адресното пространство на зареждащата флаш памет е незабавно достъпно за процесора Nios V при рестартиране на системата, без да е необходимо инициализиране на контролера на паметта или устройствата с памет. Това позволява на процесора Nios V да изпълнява код на приложението, съхранен на устройствата за зареждане, директно, без да използва копирно устройство за зареждане, за да копира кода в друг тип памет. Флаш контролерите са: · Вградена флаш памет с On-Chip Flash IP (само в устройство MAX® 10) · Флаш памет с общо предназначение QSPI с общ IP интерфейс за сериен флаш интерфейс · Конфигурационна QSPI флаш памет с общ IP интерфейс за сериен флаш интерфейс (с изключение на MAX 10)
устройства)
Когато приложението за процесор Nios V се изпълнява на място от флаш паметта за зареждане, BSP редакторът изпълнява следните функции: · Задава секциите за линкер .text към региона на флаш паметта за зареждане. · Задава секциите за линкер .bss, .rodata, .rwdata, .stack и .heap към RAM паметта.
област на паметта. Трябва да активирате функцията alt_load() в настройките на BSP, за да копирате секциите с данни (.rodata, .rwdata, .exceptions) в RAM паметта при рестартиране на системата. Секцията с код (.text) остава в областта на флаш паметта за зареждане.
Свързана информация · Ръководство за потребителя на Altera FPGA IP за общ сериен интерфейс · Ръководство за потребителя на флаш памет Altera MAX 10
4.4.1.1. alt_load()
Можете да активирате функцията alt_load() в HAL кода, като използвате BSP редактора.
Когато се използва в потока на зареждане „изпълнение на място“, функцията alt_load() изпълнява следните задачи:
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 51
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
· Работи като мини копир за зареждане, който копира секциите от паметта в RAM паметта въз основа на настройките на BSP.
· Копира секции с данни (.rodata, .rwdata, .exceptions) в RAM паметта, но не и секциите с код (.text). Секцията с код (.text) е само за четене и остава в областта на флаш паметта за зареждане. Това разделяне помага за минимизиране на използването на RAM паметта, но може да ограничи производителността при изпълнение на код, тъй като достъпът до флаш паметта е по-бавен от достъпа до вградената RAM памет.
Следната таблица изброява настройките и функциите на BSP Editor:
Таблица 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 в RAM. alt_load() копира секцията .rwdata в RAM. alt_load() копира секцията .exceptions в RAM.
4.4.2. Приложението на процесора Nios V е копирано от Boot Flash в RAM паметта с помощта на Boot Copier
Процесорът Nios V и HAL включват копир за зареждане, който осигурява достатъчна функционалност за повечето приложения на процесора Nios V и е удобен за внедряване с процеса на разработка на софтуер Nios V.
Когато приложението използва копир за зареждане, то задава всички секции на линкера (.text, .heap, .rwdata, .rodata, .bss, .stack) във вътрешна или външна RAM памет. Използването на копира за зареждане за копиране на приложение на процесор Nios V от флаш паметта за зареждане във вътрешната или външната RAM памет за изпълнение помага за подобряване на производителността на изпълнение.
При тази опция за зареждане, процесорът Nios V започва да изпълнява софтуера за копиране на зареждане при рестартиране на системата. Софтуерът копира приложението от флаш паметта за зареждане във вътрешната или външната RAM памет. След като процесът приключи, процесорът Nios V прехвърля контрола върху програмата към приложението.
Забележка:
Ако копирната машина за зареждане е във флаш паметта, тогава функцията alt_load() не е необходимо да се извиква, защото и двете служат за една и съща цел.
4.4.2.1. Буутлоудър на процесор Nios V чрез универсален сериен интерфейс за флаш памет
Буутлоудърът чрез GSFI е копирът за зареждане на процесора Nios V, който поддържа QSPI флаш памет в устройства, базирани на контролни блокове. Буутлоудърът чрез GSFI включва следните функции:
· Локализира софтуерното приложение в енергонезависима памет.
· Разопакова и копира образа на софтуерното приложение в RAM паметта.
· Автоматично превключва изпълнението на процесора към код на приложението в RAM паметта след завършване на копирането.
Ръководство за проектиране на вградени процесори Nios® V 52
Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Образът за зареждане се намира веднага след копира за зареждане. Трябва да се уверите, че отместването за нулиране на процесора Nios V сочи към началото на копира за зареждане. Фигурата: Карта на паметта за QSPI Flash с Bootloader чрез GSFI показва картата на флаш паметта за QSPI flash при използване на копир за зареждане. Тази карта на паметта предполага, че флаш паметта съхранява FPGA образа и приложния софтуер.
Таблица 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 с Bootloader чрез GSFI
Данни за клиента (*.hex)
Код на приложението
Забележка:
Нулиране на векторното отместване
Копирно устройство за стартиране
0x01E00000
FPGA изображение (*.sof)
0x00000000
1. В началото на картата на паметта е FPGA изображението, последвано от вашите данни, които се състоят от кода на зареждащото копие и кода на приложението.
2. Трябва да зададете отместването за нулиране на процесора Nios V в Platform Designer и да го насочите към началото на копирната машина за зареждане.
3. Размерът на FPGA изображението е неизвестен. Можете да знаете точния размер едва след компилацията на проекта Quartus Prime. Трябва да определите горна граница за размера на FPGA изображението на Altera. Напримерampнапример, ако размерът на FPGA изображението се оценява на по-малък от 0x01E00000, задайте Reset Offset на 0x01E00000 в Platform Designer, което е и началото на копирането на зареждащата машина.
4. Добрата дизайнерска практика се състои в задаване на отместването на вектора за нулиране на границата на сектора на флаш паметта, за да се гарантира, че няма да се получи частично изтриване на FPGA изображението в случай на актуализиране на софтуерното приложение.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 53
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
4.4.2.2. Зареждащ механизъм на процесор Nios V чрез Secure Device Manager
Буутлоудърът чрез Secure Device Manager (SDM) е HAL код на приложение, използващ драйвера за IP HAL на Mailbox Client Altera FPGA за зареждане на процесора. Altera препоръчва това приложение за буутлоудър, когато се използва конфигурационната QSPI флаш памет в SDM-базирани устройства за зареждане на процесора Nios V.
След рестартиране на системата, процесорът Nios V първо стартира Bootloader-а чрез SDM от малка вградена памет и изпълнява Bootloader-а чрез SDM, за да комуникира с конфигурационната QSPI флаш памет, използвайки IP адреса на Mailbox Client.
Буутлоудърът чрез SDM изпълнява следните задачи: · Намира софтуера Nios V в конфигурационната QSPI флаш памет. · Копира софтуера Nios V във вградената RAM памет или външната RAM памет. · Превключва изпълнението на процесора към софтуера Nios V във вградената RAM памет или
външна RAM памет.
След като процесът приключи, Bootloader-ът чрез SDM прехвърля програмния контрол на потребителското приложение. Altera препоръчва организацията на паметта, както е описано в Организация на паметта за Bootloader чрез SDM.
Фигура 30. Буутлоудър чрез SDM процес
Конфигурация
Светкавица
2
Софтуер Nios V
SDM
FPGA устройство, базирано на SDM
IP адрес на клиента за пощенска кутия
FPGA логика Nios V
4 Външна RAM памет
Софтуер Nios V
Вграден чип 4
EMIF
RAM
Вградена памет
IP
Ниос V
1
Софтуер
Буутлоудър чрез SDM
3
3
1. Процесорът Nios V изпълнява Bootloader чрез SDM от вградената памет.
2. Буутлоудърът чрез SDM комуникира с конфигурационната флаш памет и локализира софтуера Nios V.
3. Буутлоудърът чрез SDM копира софтуера на Nios V от конфигурационната флаш памет във вградената RAM памет / външна RAM памет.
4. Буутлоудърът чрез SDM превключва изпълнението на процесора Nios V към софтуера Nios V във вградената RAM памет / външната RAM памет.
4.4.3. Приложение за процесор Nios V, изпълнявано на място от OCRAM
При този метод адресът за нулиране на процесора Nios V се задава на базовия адрес на вградената памет (OCRAM). Двоичният файл на приложението (.hex) file се зарежда в OCRAM, когато FPGA е конфигурирана, след като хардуерният дизайн е компилиран в софтуера Quartus Prime. След като процесорът Nios V се рестартира, приложението започва да се изпълнява и се разклонява към входната точка.
Ръководство за проектиране на вградени процесори Nios® V 54
Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Забележка:
· Изпълнението на място от OCRAM не изисква копирно устройство за зареждане, тъй като приложението на процесора Nios V вече е инсталирано при рестартиране на системата.
· Altera препоръчва активиране на alt_load() за този метод на зареждане, така че вграденият софтуер да се държи идентично при рестартиране, без да се преконфигурира образът на FPGA устройството.
· Трябва да активирате функцията alt_load() в настройките на BSP, за да копирате секцията .rwdata при рестартиране на системата. При този метод началните стойности за инициализираните променливи се съхраняват отделно от съответните променливи, за да се избегне презаписване при изпълнение на програмата.
4.4.4. Изпълнение на приложението на процесора Nios V на място от TCM
Методът „изпълнение на място“ задава адреса за нулиране на процесора Nios V на базовия адрес на тясно свързаната памет (TCM). Двоичният файл на приложението (.hex) file се зарежда в TCM, когато конфигурирате FPGA, след като компилирате хардуерния дизайн в софтуера Quartus Prime. След като процесорът Nios V се рестартира, приложението започва да се изпълнява и се разклонява към входната точка.
Забележка:
Изпълнението на място от TCM не изисква копирно устройство за зареждане, тъй като приложението за процесор Nios V вече е инсталирано при рестартиране на системата.
4.5. Зареждане на процесор Nios V от вградена флаш памет (UFM)
Зареждането и изпълнението на софтуер от вградена флаш памет (UFM) на процесора Nios V е възможно в устройствата MAX 10 FPGA. Процесорът Nios V поддържа следните две опции за зареждане, използвайки вградена флаш памет в режим на вътрешна конфигурация:
· Приложението на процесора Nios V се изпълнява на място от вградената флаш памет.
· Приложението за процесор Nios V се копира от вградената флаш памет в RAM паметта с помощта на boot copyr.
Таблица 33. Поддържани флаш памети със съответните опции за зареждане
Поддържани памети за зареждане
Методи за зареждане на Nios V
Местоположение на изпълнението на приложението
Копирно устройство за стартиране
Само MAX 10 устройства (с OnChip Flash IP)
Приложението за процесор Nios V се изпълнява на място от On-Chip Flash
Приложението за процесор Nios V е копирано от вградената флаш памет в RAM паметта с помощта на boot copyr
Вградена флаш памет (XIP) + OCRAM/ Външна RAM памет (за секции с данни за запис)
Функция alt_load()
OCRAM/ Външна RAM
Повторно използване на Bootloader чрез GSFI
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 55
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Фигура 31.
Проектиране, конфигуриране и процес на зареждане
Проектиране · Създайте проект, базиран на процесор Nios V, използвайки Platform Designer. · Уверете се, че в системния проект има външна RAM памет или вградена RAM памет.
Конфигурация и компилация на FPGA
· Задайте същия вътрешен режим на конфигурация в On-chip Flash IP в софтуера Platform Designer и Quartus Prime. · Задайте агента за нулиране на процесора Nios V на On-chip Flash. · Изберете предпочитания от вас метод за инициализация на UFM. · Генерирайте вашия дизайн в Platform Designer. · Компилирайте вашия проект в софтуера Quartus Prime.
Проект за потребителско приложение BSP · Създаване на HAL BSP за процесор Nios V, базиран на .sopcinfo file създадено от Platform Designer. · Редактиране на BSP настройките на процесора Nios V и Linker Script в BSP Editor. · Генериране на BSP проект.
Проект за потребителско приложение APP · Разработване на код на приложение за процесор Nios V. · Компилиране на приложение за процесор Nios V и генериране на приложение за процесор Nios V (.hex) file· Прекомпилирайте проекта си в софтуера Quartus Prime, ако сте отметнали опцията Initialize memory content в Intel FPGA On-Chip Flash IP.
Програмиране Files Конвертиране, изтегляне и стартиране · Генериране на .pof файл на чипа file използване на конвертиращо програмиране Fileфункция в софтуера Quartus Prime.
· Програмирайте .pof файла file във вашето устройство MAX 10. · Рестартирайте хардуера си.
4.5.1. Описание на вградената флаш памет MAX 10 FPGA
FPGA устройствата MAX 10 съдържат вградена флаш памет, която е сегментирана на две части: · Конфигурационна флаш памет (CFM) — съхранява данни за хардуерната конфигурация за
MAX 10 FPGA. · Потребителска флаш памет (UFM) — съхранява потребителски данни или софтуерни приложения.
UFM архитектурата на устройството MAX 10 е комбинация от меки и твърди IP адреси. Можете да получите достъп до UFM само чрез On-Chip Flash IP Core в софтуера 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)
FPGA конфигурация file съхранение
Потребителска флаш памет (сектори UFM0-1)
Приложение за процесор Nios V и потребителски данни
Устройствата MAX 10 FPGA поддържат няколко режима на конфигуриране, като някои от тези режими позволяват CFM1 и CFM2 да се използват като допълнителна UFM област. Следната таблица показва мястото за съхранение на конфигурационните изображения на FPGA въз основа на режимите на конфигуриране на MAX 10 FPGA.
Таблица 35. Място за съхранение на изображения на конфигурация на FPGA
Режим на конфигурация Двойно компресирани изображения
CFM2 компресирано изображение 2
CFM1
CFM0 компресирано изображение 1
Единично некомпресирано изображение
Виртуален UFM
Некомпресирано изображение
Единично некомпресирано изображение с инициализация на паметта
Некомпресирано изображение (с предварително инициализирано съдържание на паметта в чипа)
Единично компресирано изображение с инициализация на паметта Компресирано изображение (с предварително инициализирано съдържание на паметта в чипа)
Единично компресирано изображение
Виртуален UFM
Компресирано изображение
Трябва да използвате On-chip Flash IP ядрото, за да получите достъп до флаш паметта в MAX 10 FPGA. Можете да създадете инстанции и да свържете On-chip Flash IP към софтуера Quartus Prime. Софткорпусният процесор Nios V използва връзките на Platform Designer, за да комуникира с On-chip Flash IP.
Фигура 32. Връзка между On-chip Flash IP и Nios V процесор
Забележка:
Уверете се, че портът On-chip Flash csr е свързан към data_manager на процесора Nios V, за да може процесорът да контролира операциите по запис и изтриване.
Вграденото IP ядро на флаш паметта може да осигури достъп до пет сектора на флаш паметта – UFM0, UFM1, CFM0, CFM1 и CFM2.
Важна информация за секторите UFM и CFM.: · CFM секторите са предназначени за съхранение на конфигурационни (битстрийм) данни (*.pof).
· Потребителските данни могат да се съхраняват в UFM секторите и могат да бъдат скрити, ако са избрани правилните настройки в инструмента Platform Designer.
· Някои устройства нямат UFM1 сектор. Можете да се обърнете към таблицата: Размер на секторите UFM и CFM за наличните сектори във всяко отделно MAX 10 FPGA устройство.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 57
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
· Можете да конфигурирате CFM2 като виртуален UFM, като изберете режим на конфигурация „Единично некомпресирано изображение“.
· Можете да конфигурирате CFM2 и CFM1 като виртуален UFM, като изберете режим на конфигурация „Единично некомпресирано изображение“.
· Размерът на всеки сектор варира в зависимост от избраните MAX 10 FPGA устройства.
Таблица 36.
Размер на секторите UFM и CFM
Тази таблица изброява размерите на UFM и CFM масивите.
устройство
Страници на сектор
UFM1 UFM0 CFM2 CFM1 CFM0
Размер на страницата (Kbit)
Максимален потребител
Размер на флаш паметта (Kbit) (3)
Общ размер на конфигурационната памет (Kbit)
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 (Kbit)
108 189 378 549 675 1260 1638
Свързана информация · Ръководство за потребителя за конфигурация на MAX 10 FPGA · Ръководство за потребителя за флаш памет Altera MAX 10
4.5.2. Изпълнение на приложение за процесор Nios V на място от UFM
Решението „Изпълнение на място“ от UFM е подходящо за приложения с процесор Nios V, които изискват ограничено използване на памет на чипа. Функцията alt_load() работи като мини копир за зареждане, който копира секциите с данни (.rodata, .rwdata или .exceptions) от паметта за зареждане в RAM въз основа на настройките на BSP. Секцията с код (.text),
която е секция само за четене, остава в областта на вградената флаш памет на MAX 10. Тази настройка минимизира използването на RAM памет, но може да ограничи производителността при изпълнение на код, тъй като достъпът до флаш паметта е по-бавен от този до вградената RAM памет.
Приложението на процесора Nios V е програмирано в сектора UFM. Векторът за нулиране на процесора Nios V сочи към базовия адрес на UFM, за да се изпълни код от UFM след нулиране на системата.
Ако използвате дебъгер на ниво изходен код за дебъгване на приложението си, трябва да използвате хардуерна точка на прекъсване. Това е така, защото UFM не поддържа произволен достъп до паметта, който е необходим за дебъгване на меки точки на прекъсване.
Забележка:
Не можете да изтривате или записвате UFM, докато изпълнявате изпълнение на място в MAX 10. Превключете към подход на копирно устройство за зареждане, ако трябва да изтриете или запишете UFM.
(3) Максималната възможна стойност, която зависи от избрания от вас режим на конфигурация.
Ръководство за проектиране на вградени процесори Nios® V 58
Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Фигура 33. Приложение за процесор Nios V XIP от UFM
Макс. 10 устройства
.ПОФ
Хардуер Nios V .SOF
Софтуер Nios V .HEX
Програмист на Quartus
Вградена светкавица
CFM
Хардуер Nios V
UFM
Софтуер Nios V
Вътрешна конфигурация
Вградена флаш IP памет
FPGA логика
Процесор Nios V
Вградена RAM памет
Външен
RAM
EMIF
IP
4.5.2.1. Процес на проектиране на хардуер
Следващият раздел описва стъпка по стъпка метод за изграждане на стартираща система за приложение с процесор Nios V от On-Chip Flash.ampСледният файл е изграден с помощта на устройството MAX 10.
Настройки на IP компонента
1. Създайте вашия проект за процесор Nios V, използвайки Quartus Prime и Platform Designer. 2. Уверете се, че към вашата платформа е добавена външна RAM памет или вградена памет (OCRAM).
Дизайнерска система.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 59
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Фигура 34. ПрampIP връзки в Platform Designer за зареждане на Nios V от OnChip Flash (UFM)
3. В редактора на параметри на On-Chip Flash IP, задайте Configuration Mode на едно от следните, според предпочитанията ви за дизайн: · Единично некомпресирано изображение · Единично компресирано изображение · Единично некомпресирано изображение с инициализация на паметта · Единично компресирано изображение с инициализация на паметта
За повече информация относно двойно компресираните изображения вижте Ръководството за потребителя за конфигурация на MAX 10 FPGA – Дистанционно надграждане на системата.
Забележка:
Трябва да зададете скрит достъп на всеки CFM регион в On-Chip Flash IP адреса.
Фигура 35. Избор на режим на конфигурация в редактора на параметри на флаш паметта на чипа
IP настройки на вградената флаш памет – UFM инициализация Можете да изберете един от следните методи според вашите предпочитания:
Ръководство за проектиране на вградени процесори Nios® V 60
Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Забележка:
Стъпките в следващите подраздели („Процес на проектиране на софтуер и програмиране“) зависят от избора, който направите тук.
· Метод 1: Инициализиране на UFM данните в SOF по време на компилация
Quartus Prime включва данните за инициализация на UFM в SOF по време на компилацията. Прекомпилацията на SOF е необходима, ако има промени в UFM данните.
1. Отметнете „Инициализирай флаш съдържание“ и „Разреши инициализация, различна от стандартната“. file.
Фигура 36. Инициализиране на флаш съдържанието и активиране на нестандартна инициализация File
2. Посочете пътя на генерирания .hex файл file (от командата elf2hex) в създадения от потребителя шестнадесетичен или миф файл file.
Фигура 37. Добавяне на .hex файла File Пътека
· Метод 2: Комбиниране на UFM данни с компилиран SOF по време на генериране на POF
UFM данните се комбинират с компилирания SOF при конвертиране на програмиране files. Не е необходимо да прекомпилирате SOF, дори ако UFM данните се променят. По време на разработката не е необходимо да прекомпилирате SOF. fileза промени в приложението. Altera препоръчва този метод за разработчици на приложения.
1. Махнете отметката от „Инициализирай флаш съдържание“.
Фигура 38. Инициализиране на Flash съдържание с нестандартна инициализация File
Нулиране на настройките на агента за метода „Изпълнение на място“ на процесора Nios V
1. В редактора на параметри на процесора Nios V, задайте агента за нулиране на On-Chip Flash.
Фигура 39. Настройки на редактора на параметри на процесора Nios V с агент за нулиране, зададен на On-Chip Flash
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. Щракнете върху OK, за да излезете от прозореца с опции за устройство и пин.
3. Щракнете върху OK, за да излезете от прозореца Устройство.
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 FPGA
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 скрипт, като активирате „Enable Additional Tcl script“. 5. Щракнете върху OK.
Фигура 43. Конфигуриране на нов BSP
Configuring the BSP Editor and Generating the BSP Project
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,
a. Enable the following settings:
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори 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 Figure 44. Advanced.hal.linker Settings
b. Click on the Linker Script tab in the BSP Editor. c. Set the .exceptions and .text regions in the Linker Section Name to
On-Chip Flash. d. Set the rest of the regions in the Linker Section Name list to the On-Chip
Memory (OCRAM) or external RAM.
Figure 45. Linker Region Settings (Exception Vector Memory: On-Chip Flash)
3. If you select OCRAM/External RAM as exception vector, a. Enable the following settings: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Figure 46. Linker Region Settings (Exception Vector Memory: OCRAM/External RAM)
b. Click on the Linker Script tab in the BSP Editor.
c. Set the.text regions in the Linker Section Name to On-Chip Flash.
d. Set the rest of the regions in the Linker Section Name list to the On-Chip Memory (OCRAM) or external RAM.
Ръководство за проектиране на вградени процесори Nios® V 64
Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Figure 47. Linker Region Settings (Exception Vector Memory: OCRAM)
4. Click Generate to generate the BSP project. Generating the User Application Project File 1. Navigate to the software/hal_app folder and create your application source
code. 2. Launch the Nios V Command Shell. 3. Execute the command below to generate the application CMakeLists.txt.
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/<user application>
Building the User Application Project You can choose to build the user application project using Ashling RiscFree IDE for Altera FPGAs or through the command line interface (CLI). If you prefer using CLI, you can build the user application using the following command: cmake -G “Unix Makefiles” -B software/hal_app/build -S software/hal_app make -C software/hal_app/build
The application (.elf) file is created in software/hal_app/build folder. Generating the HEX File You must generate a .hex file from your application .elf file, so you can create a .pof file suitable for programming the devices. 1. Launch the Nios V Command Shell. 2. For Nios V processor application boot from On-Chip Flash, use the following
command line to convert the ELF to HEX for your application. This command creates the user application (onchip_flash.hex) file. elf2hex software/hal_app/build/<user_application>.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. Programming 1. In Quartus Prime, click File Конвертиране на програмиране Files. 2. Under Output programming file, choose Programmer Object File (.pof) as Programming file type. 3. Set Mode to Internal Configuration.
Figure 48. Convert Programming File Настройки
4. Click Options/Boot info…, the MAX 10 Device Options window appears. 5. Based on the Initialize flash content settings in the On-chip Flash IP, perform
one of the following steps: · If Initialize flash content is checked (Method 1), the UFM initialization data
was included in the SOF duringQuartus Prime compilation. — Select Page_0 for UFM source: option. Click OK and proceed to the
next. Figure 49. Setting Page_0 for UFM Source if Initialize Flash Content is Checked
Ръководство за проектиране на вградени процесори Nios® V 66
Изпратете обратна връзка
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
· If Initialize flash content is not checked (Method 2), choose Load memory file for the UFM source option. Browse to the generated On-chip Flash HEX file (onchip_flash.hex) in the File path: and click OK. This step adds UFM data separately to the SOF file during the programming file преобразуване.
Figure 50. Setting Load Memory File for UFM Source if Initialize Flash Content is Not Checked
6. In the Convert Programming File dialog box, at the Input files to convert section, click Add File… and point to the generated Quartus Prime .sof file.
Figure 51. Input Files to Convert in Convert Programming Files for Single Image Mode
7. Click Generate to create the .pof file. 8. Program the .pof file into your MAX 10 device. 9. Power cycle your hardware.
4.5.3. Nios V Processor Application Copied from UFM to RAM using Boot Copier
Altera recommends this solution for MAX 10 FPGA Nios V processor system designs where multiple iterations of application software development and high system performance are required. The boot copier is located within the UFM at an offset that is the same address as the reset vector. The Nios V application is located next to the boot copier.
For this boot option, the Nios V processor starts executing the boot copier upon system reset to copy the application from the UFM sector to the OCRAM or external RAM. Once copying is complete, the Nios V processor transfers the program control over to the application.
Забележка:
The applied boot copier is the same as the Bootloader via GSFI.
Изпратете обратна връзка
Ръководство за проектиране на вградени процесори Nios® V 67
4. Решения за конфигуриране и зареждане на процесор Nios V 726952 | 2025.07.16
Figure 52. Nios V Application Copied from UFM to RAM using Boot Copier
Макс. 10 устройства
.ПОФ
Хардуер Nios V .SOF
Софтуер Nios V .HEX
Bootloader .SREC
Програмист на Quartus
Външна RAM памет
Софтуер Nios V
Вградена светкавица
CFM
Nios V Hardwa
Документи / Ресурси
![]() |
altera Nios V Embedded Processor [pdf] Ръководство за потребителя Nios V, Nios V-m, Nios V-g, Nios V-c, Nios V Embedded Processor, Nios V, Embedded Processor, Processor |

