altera Nios V Embedded Processor

Specifikace

  • Název produktu: Procesor Nios V
  • Software Compatibility: Quartus Prime Software and Platform Designer
  • Typ procesoru: Altera FPGA
  • Paměťový systém: Volatilní a energeticky nezávislá paměť
  • Komunikační rozhraní: UART Agent

Nios V Processor Hardware System Design

To design the Nios V Processor hardware system, follow these steps:

  1. Create Nios V Processor system design using Platform Designer.
  2. Integrujte systém do projektu Quartus Prime.
  3. Design memory system including volatile and non-volatile memory.
  4. Implementujte osvědčené postupy pro měření hodin a resetování.
  5. Pro efektivní provoz přiřaďte výchozí agenty a agenty UART.

Nios V Processor Software System Design

Návrh softwarového systému pro procesor Nios V:

  1. Postupujte podle postupu vývoje softwaru pro procesor Nios V.
  2. Create Board Support Package Project and Application Project.

Nios V Processor Configuration and Booting Solutions

Pro konfiguraci a spuštění procesoru Nios V:

  1. Understand the introduction to configuration and booting solutions.
  2. Propojte aplikace pro bezproblémový provoz.

About the Nios® V Embedded Processor
1.1. FPGA a vestavěné procesory Altera®view
Zařízení Altera FPGA mohou implementovat logiku, která funguje jako kompletní mikroprocesor a zároveň poskytuje mnoho možností.
Důležitý rozdíl mezi diskrétními mikroprocesory a FPGA Altera spočívá v tom, že struktura FPGA Altera po zapnutí neobsahuje žádnou logiku. Procesor Nios® V je procesor s ochranou duševního vlastnictví (IP) založený na specifikaci RISC-V. Než spustíte software na systému s procesorem Nios V, musíte nakonfigurovat zařízení FPGA Altera s hardwarovým návrhem, který obsahuje procesor Nios V. Procesor Nios V můžete umístit kamkoli na FPGA Altera v závislosti na požadavcích návrhu.


Aby se váš vestavěný systém Altera® FPGA IP choval jako systém založený na diskrétním mikroprocesoru, měl by obsahovat následující: · AJTAG rozhraní pro podporu konfigurace, hardwaru a softwaru Altera FPGA
ladění · Konfigurační mechanismus FPGA Altera při zapnutí
Pokud váš systém má tyto funkce, můžete začít vylepšovat svůj návrh z předem otestovaného hardwarového návrhu nahraného do FPGA Altera. Použití FPGA Altera vám také umožňuje rychle upravit váš návrh, abyste řešili problémy nebo přidali nové funkce. Tyto nové hardwarové návrhy můžete snadno otestovat překonfigurováním FPGA Altera pomocí J vašeho systému.TAG rozhraní.
JTAG Rozhraní podporuje vývoj hardwaru a softwaru. Pomocí J můžete provádět následující úkolyTAG rozhraní: · Konfigurace FPGA Altera · Stažení a ladění softwaru · Komunikace s FPGA Altera přes rozhraní podobné UART (JTAG UART
terminál) · Ladění hardwaru (s integrovaným logickým analyzátorem Signal Tap) · Programovací flash paměť
Po konfiguraci FPGA Altera s návrhem založeným na procesoru Nios V je postup vývoje softwaru podobný postupu pro návrhy diskrétních mikrokontrolérů.


Související informace · AN 985: Výukový program k procesoru Nios V
Stručný návod k vytvoření jednoduchého procesorového systému Nios V a spuštění aplikace Hello World.
© Altera Corporation. Altera, logo Altera, logo „a“ a další ochranné známky společnosti Altera jsou ochrannými známkami společnosti Altera Corporation. Společnost Altera si vyhrazuje právo kdykoli bez předchozího upozornění provádět změny v jakýchkoli produktech a službách. Společnost Altera nepřebírá žádnou odpovědnost ani závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, s výjimkou případů, kdy s tím společnost Altera výslovně písemně souhlasí. Zákazníkům společnosti Altera se doporučuje, aby si před spoléháním se na jakékoli publikované informace a před objednáváním produktů nebo služeb zajistili nejnovější verzi specifikací zařízení. *Jiné názvy a značky mohou být nárokovány jako majetek jiných osob.

1. O integrovaném procesoru Nios® V 726952 | 2025.07.16
· Referenční příručka k procesoru Nios V Poskytuje informace o výkonnostních benchmarkech procesoru Nios V, architektuře procesoru, programovacím modelu a implementaci jádra.
· Uživatelská příručka pro vestavěné periferie IP · Příručka pro vývojáře softwaru pro procesor Nios V


Popisuje vývojové prostředí pro procesor Nios V, dostupné nástroje a proces tvorby softwaru pro běh na procesoru Nios V. · Uživatelská příručka k integrovanému vývojovému prostředí (IDE) Ashling* RiscFree* pro FPGA Altera. Popisuje integrované vývojové prostředí (IDE) RiscFree* pro FPGA Altera s procesorem Arm* a jádrem Nios V. · Procesor Nios V – poznámky k verzi IP pro FPGA Altera.
1.2. Softwarová podpora Quartus® Prime
Postup sestavení procesoru Nios V se liší pro software Quartus® Prime Pro Edition a software Quartus Prime Standard Edition. Další informace o rozdílech naleznete v dokumentu AN 980: Podpora softwaru Quartus Prime pro procesor Nios V.
Související informace AN 980: Podpora softwaru pro procesor Nios V Quartus Prime
1.3. Licencování procesorů Nios V
Každá varianta procesoru Nios V má svůj licenční klíč. Jakmile licenční klíč získáte, můžete jej používat pro všechny projekty procesorů Nios V až do data vypršení platnosti. Licence IP pro procesor Nios V Altera FPGA můžete získat zdarma.
Seznam licenčních klíčů pro procesor Nios V je k dispozici v centru samoobslužných licencí Altera FPGA. Klikněte na kartu Registrace k zkušební verzi nebo Bezplatná licence a vyberte odpovídající možnosti pro odeslání požadavku.
Obrázek 1. Samoobslužné licenční centrum Altera FPGA

S licenčními klíči můžete:
Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 7

1. O integrovaném procesoru Nios® V 726952 | 2025.07.16
· Implementujte procesor Nios V ve vašem systému. · Simulujte chování systému s procesorem Nios V. · Ověřte funkčnost návrhu, jako je velikost a rychlost. · Generujte programování zařízení files. · Naprogramujte zařízení a ověřte návrh v hardwaru.
Pro vývoj softwaru v IDE Ashling* RiscFree* pro FPGA Altera nepotřebujete licenci.
Související informace · Centrum samoobslužných licencí Altera FPGA
Další informace o získání licenčních klíčů IP pro procesor Nios V Altera FPGA. · Instalace a licencování softwaru Altera FPGA Další informace o licencování softwaru Altera FPGA a nastavení pevné licence a serveru síťových licencí.
1.4. Návrh vestavěných systémů
Následující obrázek znázorňuje zjednodušený postup návrhu systému založeného na procesoru Nios V, včetně vývoje hardwaru i softwaru.

Příručka návrhu vestavěných procesorů Nios® V 8

Odeslat zpětnou vazbu

1. O integrovaném procesoru Nios® V 726952 | 2025.07.16

Obrázek 2.

Postup návrhu systému procesorů Nios V
Koncepce systému

Analýza systémových požadavků

Nios® V
Jádra procesoru a standardní komponenty

Definovat a generovat systém v
Návrhář platformy

Hardwarový postup: Integrace a kompilace projektu Intel Quartus Prime

Tok softwaru: Vývoj a tvorba softwaru pro návrhy Nios V

Hardwarový postup: Stáhněte si návrh FPGA
na cílovou desku

Postup softwaru: Testování a ladění softwaru procesoru Nios V

Nesplňuje software specifikaci?
Ano
Hardware Ne Splňuje specifikaci? Ano
Systém je dokončen

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 9

726952 | 2025.07.16 Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime

Obrázek 3.

Následující diagram znázorňuje typický návrh hardwaru procesoru Nios V. Postup návrhu hardwaru systému procesoru Nios V

Start

Jádra Nios V a standardní komponenty

Použití nástroje Platform Designer k návrhu systému založeného na Nios V
Generování návrhu návrháře platformy

Integrace systému Platform Designer s projektem Intel Quartus Prime
Přiřazení umístění pinů, časových požadavků a dalších konstrukčních omezení
Kompilace hardwaru pro cílové zařízení v Intel Quartus Prime

Připraveno ke stažení
2.1. Vytvoření návrhu systému s procesorem Nios V pomocí nástroje Platform Designer
Software Quartus Prime obsahuje nástroj pro integraci systému Platform Designer, který zjednodušuje definování a integraci IP jádra procesoru Nios V a dalších IP adres do návrhu systému Altera FPGA. Platform Designer automaticky vytváří logiku propojení ze zadané konektivity na vysoké úrovni. Automatizace propojení eliminuje časově náročný úkol specifikace HDL připojení na systémové úrovni.
© Altera Corporation. Altera, logo Altera, logo „a“ a další ochranné známky společnosti Altera jsou ochrannými známkami společnosti Altera Corporation. Společnost Altera si vyhrazuje právo kdykoli bez předchozího upozornění provádět změny v jakýchkoli produktech a službách. Společnost Altera nepřebírá žádnou odpovědnost ani závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, s výjimkou případů, kdy s tím společnost Altera výslovně písemně souhlasí. Zákazníkům společnosti Altera se doporučuje, aby si před spoléháním se na jakékoli publikované informace a před objednáváním produktů nebo služeb zajistili nejnovější verzi specifikací zařízení. *Jiné názvy a značky mohou být nárokovány jako majetek jiných osob.

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Po analýze hardwarových požadavků systému použijete Quartus Prime k určení jádra procesoru Nios V, paměti a dalších komponent, které váš systém vyžaduje. Návrhář platformy automaticky generuje logiku propojení pro integraci komponent do hardwarového systému.

2.1.1. Instantizace procesoru Nios V s FPGA IP od Altera

You can instantiate any of the processor IP cores in Platform Designer IP Catalog Processors and Peripherals Embedded Processors.

IP jádro každého procesoru podporuje různé možnosti konfigurace na základě své jedinečné architektury. Tyto konfigurace můžete definovat tak, aby lépe vyhovovaly vašim konstrukčním potřebám.

Tabulka 1.

Možnosti konfigurace napříč základními variantami

Možnosti konfigurace

Procesor Nios V/c

Procesor Nios V/m

Požadavek na resetování použití ladění

Trapy, výjimky a přerušení

Architektura CPU

ECC

Mezipaměti, periferní oblasti a TCM

Vlastní pokyny

Uzamčený krok

Procesor Nios V/g

2.1.1.1. Vytváření instance kompaktního mikrokontroléru Nios V/c Altera FPGA IP Obrázek 4. Kompaktní mikrokontrolér Nios V/c Altera FPGA IP

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 11

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

2.1.1.1.1. Záložka Architektura CPU

Tabulka 2.

Karta Architektura CPU

Funkce

Popis

Povolit rozhraní Avalon® Povolí rozhraní Avalon pro správce instrukcí a správce dat. Pokud je tato možnost zakázána, systém používá rozhraní AXI4-Lite.

Hodnota společenské odpovědnosti společnosti mhartid

· Neplatná IP adresa. · Nepoužívejte hodnotu CSR mhartid v procesoru Nios V/c.

2.1.1.1.2. Použijte záložku Žádost o reset

Tabulka 3.

Použít parametr karty Reset Request

Použijte kartu Žádost o reset

Popis

Přidat rozhraní pro požadavek na reset

· Povolením této možnosti zpřístupníte lokální resetovací porty, kde je může lokální master použít ke spuštění resetu procesoru Nios V bez ovlivnění ostatních komponent v systému procesorů Nios V.
· Resetovací rozhraní se skládá ze vstupního signálu resetreq a výstupního signálu ack.
· Reset jádra procesoru Nios V můžete požádat vyvoláním signálu resetreq.
· Signál resetreq musí zůstat aktivní, dokud procesor neaktivuje signál ACK. Pokud signál nezůstane aktivní, může to způsobit, že se procesor dostane do nedeterministického stavu.
· Procesor Nios V odpoví, že reset byl úspěšný, odesláním signálu ACK.
· Po úspěšném resetování procesoru se může potvrzení signálu ACK opakovat periodicky, dokud se signál resetreq nezruší.

2.1.1.1.3. Záložka Depeše, výjimky a přerušení

Tabulka 4.

Parametry záložky Depeše, výjimky a přerušení

Trapy, výjimky a přerušení

Popis

Obnovit agenta

· Paměť obsahující resetovací vektor (resetovací adresu procesoru Nios V), kde se nachází resetovací kód.
· Jako resetovací agent můžete vybrat libovolný paměťový modul připojený k hlavní instrukční řídicí jednotce procesoru Nios V a podporovaný bootovacím postupem procesoru Nios V.

Resetovat offset

· Určuje posun vektoru resetování vzhledem k základní adrese vybraného agenta resetování. · Návrhář platformy automaticky poskytuje výchozí hodnotu pro posun resetování.

Poznámka:

Návrhář platformy nabízí možnost Absolutní, která umožňuje zadat absolutní adresu v poli Reset Offset. Tuto možnost použijte, pokud se paměť ukládající vektor resetování nachází mimo procesorový systém a subsystémy.

Příručka návrhu vestavěných procesorů Nios® V 12

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

2.1.1.1.4. Záložka ECC

Tabulka 5.

Karta ECC

ECC

Povolit detekci chyb a hlášení stavu

Popis
· Povolte tuto možnost, chcete-li použít funkci ECC pro interní bloky RAM procesoru Nios V. · Funkce ECC detekují chyby až do 2 bitů a reagují na základě následujícího chování:
— Pokud se jedná o opravitelnou chybu o velikosti 1 bit, procesor pokračuje v činnosti i po opravě chyby v procesorovém pipeline. Oprava se však neprojeví ve zdrojových pamětech.
— Pokud je chyba neopravitelná, procesor pokračuje v činnosti bez její opravy v procesorovém pipeline a zdrojových pamětech, což může způsobit, že procesor přejde do nedeterministického stavu.

2.1.1.2. Vytvoření instance mikrokontroléru Nios V/m Altera FPGA IP Obrázek 5. Mikrokontrolér Nios V/m Altera FPGA IP

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 13

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

2.1.1.2.1. Karta Ladění

Tabulka 6.

Parametry karty ladění

Karta Ladění

Popis

Povolit ladění
Povolit reset z ladicího modulu

· Povolte tuto možnost pro přidání písmene JTAG cílový připojovací modul k procesoru Nios V. · JTAG Modul cílového připojení umožňuje připojení k procesoru Nios V prostřednictvím
JTAG piny rozhraní FPGA. · Zapojení poskytuje následující základní funkce:
— Spuštění a zastavení procesoru Nios V — Prozkoumání a úprava registrů a paměti. — Stažení aplikace Nios V ve formátu .elf file do paměti procesoru za běhu přes
niosv-download. — Ladění aplikace běžící na procesoru Nios V · Připojte port dm_agent k instrukční a datové sběrnici procesoru. Ujistěte se, že základní adresa mezi oběma sběrnicemi je stejná.
· Povolte tuto možnost pro zpřístupnění portů dbg_reset_out a ndm_reset_in. · JTAG debugger nebo příkaz niosv-download -r spustí příkaz dbg_reset_out, který
umožňuje procesoru Nios V resetovat systémové periferie připojené k tomuto portu. · Rozhraní dbg_reset_out musíte připojit k ndm_reset_in místo resetování.
rozhraní pro spuštění resetu jádra procesoru a modulu časovače. Rozhraní dbg_reset_out nesmíte připojovat k rozhraní resetování, abyste předešli neurčitému chování.

2.1.1.2.2. Použijte záložku Žádost o reset

Tabulka 7.

Použít parametr karty Reset Request

Použijte kartu Žádost o reset

Popis

Přidat rozhraní pro požadavek na reset

· Povolením této možnosti zpřístupníte lokální resetovací porty, kde je může lokální master použít ke spuštění resetu procesoru Nios V bez ovlivnění ostatních komponent v systému procesorů Nios V.
· Resetovací rozhraní se skládá ze vstupního signálu resetreq a výstupního signálu ack.
· Reset jádra procesoru Nios V můžete požádat vyvoláním signálu resetreq.
· Signál resetreq musí zůstat aktivní, dokud procesor neaktivuje signál ACK. Pokud signál nezůstane aktivní, může to způsobit, že se procesor dostane do nedeterministického stavu.
· Zadání signálu resetreq v ladicím režimu nemá žádný vliv na stav procesoru.
· Procesor Nios V odpoví, že reset byl úspěšný, odesláním signálu ACK.
· Po úspěšném resetování procesoru se může potvrzení signálu ACK opakovat periodicky, dokud se signál resetreq nezruší.

2.1.1.2.3. Záložka Depeše, výjimky a přerušení

Tabulka 8.

Karta Depeše, výjimky a přerušení

Karta Depeše, výjimky a přerušení

Popis

Obnovit agenta

· Paměť obsahující resetovací vektor (resetovací adresu procesoru Nios V), kde se nachází resetovací kód.
· Jako resetovací agent můžete vybrat libovolný paměťový modul připojený k hlavní instrukční řídicí jednotce procesoru Nios V a podporovaný bootovacím postupem procesoru Nios V.

Resetovat režim přerušení ofsetu

· Určuje posun vektoru resetování vzhledem k základní adrese vybraného agenta resetování. · Návrhář platformy automaticky poskytuje výchozí hodnotu pro posun resetování.
Zadejte typ řadiče přerušení, buď přímý, nebo vektorový. Poznámka: Nezřetězcový procesor Nios V/m nepodporuje vektorová přerušení.
Proto se vyhněte používání vektorového režimu přerušení, když je procesor v nekanálovém režimu.

Příručka návrhu vestavěných procesorů Nios® V 14

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Poznámka:

Návrhář platformy nabízí možnost Absolutní, která umožňuje zadat absolutní adresu v poli Reset Offset. Tuto možnost použijte, pokud se paměť ukládající vektor resetování nachází mimo procesorový systém a subsystémy.

2.1.1.2.4. Architektura CPU

Tabulka 9.

Parametry záložky Architektura CPU

Architektura CPU

Popis

Povolit zřetězení v CPU

· Povolením této možnosti vytvoříte instanci procesoru Nios V/m s pipeline konfigurací. — IPC je vyšší na úkor vyšší logické plochy a nižší frekvence Fmax.
· Zakažte tuto možnost pro vytvoření instance nepipelined procesoru Nios V/m. — Má podobný výkon jádra jako procesor Nios V/c. — Podporuje ladění a přerušení — Nižší logická plocha a vyšší frekvence Fmax na úkor nižšího IPC.

Povolit rozhraní Avalon

Povolí rozhraní Avalon pro správce instrukcí a správce dat. Pokud je zakázáno, systém použije rozhraní AXI4-Lite.

Hodnota společenské odpovědnosti společnosti mhartid

· Hodnota registru Hart ID (mhartid) je ve výchozím nastavení 0. · Přiřaďte hodnotu mezi 0 a 4094. · Kompatibilní s Altera FPGA Avalon Mutex Core HAL API.

Související informace Uživatelská příručka pro integrované periferní IP – Intel FPGA Avalon® Mutex Core

2.1.1.2.5. Záložka ECC
Tabulka 10. Karta ECC
ECC umožňuje detekci chyb a hlášení stavu

Popis
· Povolte tuto možnost, chcete-li použít funkci ECC pro interní bloky RAM procesoru Nios V. · Funkce ECC detekují chyby až do 2 bitů a reagují na základě následujícího chování:
— Pokud se jedná o opravitelnou chybu o velikosti 1 bit, procesor pokračuje v činnosti i po opravě chyby v procesorovém pipeline. Oprava se však neprojeví ve zdrojových pamětech.
— Pokud je chyba neopravitelná, procesor pokračuje v činnosti bez její opravy v procesorovém pipeline a zdrojových pamětech, což může způsobit, že procesor přejde do nedeterministického stavu.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 15

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
2.1.1.3. Vytváření instancí univerzálního procesoru Nios V/g s FPGA IP od Altera
Obrázek 6. Univerzální procesor Nios V/g Altera FPGA IP – 1. část

Obrázek 7.

Univerzální procesor Nios V/g Altera FPGA IP – Část 2 (Vypnutí a povolení řadiče přerušení na úrovni jádra)

Příručka návrhu vestavěných procesorů Nios® V 16

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Obrázek 8.

Univerzální procesor Nios V/g Altera FPGA IP – Část 2 (Zapnutí a povolení řadiče přerušení na úrovni jádra)

Obrázek 9. Univerzální procesor Nios V/g Altera FPGA IP – 3. část

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 17

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
Obrázek 10. Univerzální procesor Nios V/g Altera FPGA IP – 4. část

2.1.1.3.1. Architektura CPU

Tabulka 11. Parametry architektury CPU

Karta Architektura CPU Povolit jednotku s plovoucí desetinnou čárkou

Popis Povolením této možnosti přidáte do jádra procesoru jednotku s plovoucí desetinnou čárkou („přípona „F“).

Povolit predikci větvení

Povolit statickou predikci větvení (zpětně provedeno a vpřed neprovedeno) pro instrukce větvení.

Hodnota společenské odpovědnosti společnosti mhartid

· Hodnota registru Hart ID (mhartid) je ve výchozím nastavení 0. · Přiřaďte hodnotu mezi 0 a 4094. · Kompatibilní s Altera FPGA Avalon Mutex Core HAL API.

Zakázat instrukce FSQRT a FDIV pro FPU

· Odstraňte operace odmocniny s plovoucí desetinnou čárkou (FSQRT) a dělení s plovoucí desetinnou čárkou (FDIV) v FPU.
· Aplikujte softwarovou emulaci na obě instrukce během běhu.

Související informace Uživatelská příručka pro integrované periferní IP – Intel FPGA Avalon® Mutex Core

Příručka návrhu vestavěných procesorů Nios® V 18

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

2.1.1.3.2. Karta Ladění

Tabulka 12. Parametry karty ladění

Karta Ladění

Popis

Povolit ladění
Povolit reset z ladicího modulu

· Povolte tuto možnost pro přidání písmene JTAG cílový připojovací modul k procesoru Nios V. · JTAG Modul cílového připojení umožňuje připojení k procesoru Nios V prostřednictvím
JTAG piny rozhraní FPGA. · Zapojení poskytuje následující základní funkce:
— Spuštění a zastavení procesoru Nios V — Prozkoumání a úprava registrů a paměti. — Stažení aplikace Nios V ve formátu .elf file do paměti procesoru za běhu přes
niosv-download. — Ladění aplikace běžící na procesoru Nios V · Připojte port dm_agent k instrukční a datové sběrnici procesoru. Ujistěte se, že základní adresa mezi oběma sběrnicemi je stejná.
· Povolte tuto možnost pro zpřístupnění portů dbg_reset_out a ndm_reset_in. · JTAG debugger nebo příkaz niosv-download -r spustí příkaz dbg_reset_out, který
umožňuje procesoru Nios V resetovat systémové periferie připojené k tomuto portu. · Rozhraní dbg_reset_out musíte připojit k ndm_reset_in místo resetování.
rozhraní pro spuštění resetu jádra procesoru a modulu časovače. Rozhraní dbg_reset_out nesmíte připojovat k rozhraní resetování, abyste předešli neurčitému chování.

2.1.1.3.3. Záložka Lockstep Tabulka 13. Záložka Lockstep
Parametry Povolit Lockstep Výchozí časový limit Povolit rozšířené rozhraní resetování

Popis · Povolí dvoujádrový systém Lockstep. · Výchozí hodnota programovatelného časového limitu při ukončení resetu (mezi 0 a 255). · Povolí volitelné rozšířené rozhraní resetu pro rozšířené řízení resetu. · Pokud je tato možnost zakázána, fRSmartComp implementuje základní řízení resetu.

2.1.1.3.4. Použijte záložku Žádost o reset

Tabulka 14. Použití parametru karty Reset Request

Použijte kartu Žádost o reset

Popis

Přidat rozhraní pro požadavek na reset

· Povolením této možnosti zpřístupníte lokální resetovací porty, kde je může lokální master použít ke spuštění resetu procesoru Nios V bez ovlivnění ostatních komponent v systému procesorů Nios V.
· Resetovací rozhraní se skládá ze vstupního signálu resetreq a výstupního signálu ack.
· Reset jádra procesoru Nios V můžete požádat vyvoláním signálu resetreq.
· Signál resetreq musí zůstat aktivní, dokud procesor neaktivuje signál ACK. Pokud signál nezůstane aktivní, může to způsobit, že se procesor dostane do nedeterministického stavu.
· Zadání signálu resetreq v ladicím režimu nemá žádný vliv na stav procesoru.
· Procesor Nios V odpoví, že reset byl úspěšný, odesláním signálu ACK.
· Po úspěšném resetování procesoru se může potvrzení signálu ACK opakovat periodicky, dokud se signál resetreq nezruší.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 19

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

2.1.1.3.5. Záložka Depeše, výjimky a přerušení

Tabulka 15.

Karta Depeše, výjimky a přerušení, když je vypnuta možnost Povolit řadič přerušení na úrovni jádra

Karta Depeše, výjimky a přerušení
Obnovit agenta

Popis
· Paměť obsahující resetovací vektor (resetovací adresu procesoru Nios V), kde se nachází resetovací kód.
· Jako resetovací agent můžete vybrat libovolný paměťový modul připojený k hlavní instrukční řídicí jednotce procesoru Nios V a podporovaný bootovacím postupem procesoru Nios V.

Resetovat offset

· Určuje posun vektoru resetování vzhledem k základní adrese vybraného agenta resetování. · Návrhář platformy automaticky poskytuje výchozí hodnotu pro posun resetování.

Povolit řadič přerušení na úrovni jádra (CLIC)

· Povolit CLIC pro podporu preventivních přerušení a konfigurovatelných podmínek pro spuštění přerušení.
· Je-li tato možnost povolena, můžete konfigurovat počet přerušení platformy, nastavit spouštěcí podmínky a označit některá přerušení jako preventivní.

Stínový registr režimu přerušení Files

Zadejte typy přerušení jako Přímé nebo Vektorové. Povolte stínový registr pro snížení přepínání kontextu při přerušení.

Tabulka 16.

Depeše, výjimky a přerušení, když je zapnuta volba Povolit řadič přerušení na úrovni jádra

Trapy, výjimky a přerušení

Popisy

Obnovit agenta
Resetovat offset
Povolit řadič přerušení na úrovni jádra (CLIC)

· Paměť obsahující resetovací vektor (resetovací adresu procesoru Nios V), kde se nachází resetovací kód.
· Jako resetovací agent můžete vybrat libovolný paměťový modul připojený k hlavní instrukční řídicí jednotce procesoru Nios V a podporovaný bootovacím postupem procesoru Nios V.
· Určuje posun vektoru resetování vzhledem k základní adrese vybraného agenta resetování. · Návrhář platformy automaticky poskytuje výchozí hodnotu pro posun resetování.
· Povolte CLIC pro podporu preventivních přerušení a konfigurovatelných podmínek spouštění přerušení. · Je-li tato možnost povolena, můžete konfigurovat počet přerušení platformy, nastavit podmínky spouštění,
a označit některá přerušení jako preventivní.

Režim přerušení

· Zadejte typy přerušení jako Přímé, Vektorové nebo CLIC.

Stínový registr Files

· Povolte stínový registr pro snížení přepínání kontextu při přerušení.
· Nabízí dva přístupy:
— Počet úrovní přerušení CLIC
— Počet úrovní přerušení CLIC – 1: Tato možnost je užitečná, pokud chcete počet registrů file kopie, aby se vešly do přesného počtu bloků M20K nebo M9K.
· Povolit procesoru Nios V používat stínový registr filekteré snižují režii přepínání kontextu při přerušení.
Pro více informací o registru stínů files, viz referenční příručka k procesoru Nios V.

Počet zdrojů přerušení platformy

· Určuje počet přerušení platformy v rozmezí 16 až 2048.
Poznámka: CLIC podporuje až 2064 vstupů přerušení a prvních 16 vstupů přerušení je také připojeno k základnímu řadiči přerušení.

Zarovnání tabulky vektorů CLIC

· Automaticky určeno na základě počtu zdrojů přerušení platformy. · Pokud použijete zarovnání, které je pod doporučenou hodnotou, CLIC zvýší logický
složitost přidáním další sčítačky pro provádění vektorových výpočtů. · Pokud použijete zarovnání, které je pod doporučenou hodnotou, má to za následek zvýšení
logická složitost v CLIC.
pokračování…

Příručka návrhu vestavěných procesorů Nios® V 20

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Trapy, výjimky a přerušení
Počet úrovní přerušení
Počet priorit přerušení na úroveň
Konfigurovatelná polarita přerušení Podpora přerušení spouštěných hranou signálu

Popisy
· Určuje počet úrovní přerušení s dodatečnou úrovní 0 pro aplikační kód. Přerušení vyšší úrovně mohou přerušit (předběhnout) běžící obslužnou rutinu pro přerušení nižší úrovně.
· Pokud jsou jako jediné možnosti pro přerušení k dispozici nenulové úrovně přerušení, je aplikační kód vždy na nejnižší úrovni 0. Poznámka: Konfigurace úrovně a priority přerušení za běhu se provádí v jednom 8bitovém registru. Pokud je počet úrovní přerušení 256, není možné konfigurovat prioritu přerušení za běhu. Jinak je maximální počet konfigurovatelných priorit 256 / (počet úrovní přerušení – 1).
· Určuje počet priorit přerušení, které CLIC používá k určení pořadí, ve kterém jsou volány obslužné rutiny přerušení bez preempce. Poznámka: Zřetězení binárních hodnot vybrané úrovně přerušení a vybrané priority přerušení musí být menší než 8 bitů.
· Umožňuje konfigurovat polaritu přerušení za běhu. · Výchozí polarita je kladná.
· Umožňuje konfigurovat podmínku spouštění přerušení za běhu, tj. spouštění vysokou úrovní nebo spouštění kladnou hranou (pokud je polarita přerušení kladná v Konfigurovatelná polarita přerušení).
· Výchozí spouštěcí podmínkou je přerušení spouštěné úrovní.

Poznámka:

Návrhář platformy nabízí možnost Absolutní, která umožňuje zadat absolutní adresu v poli Reset Offset. Tuto možnost použijte, pokud se paměť ukládající vektor resetování nachází mimo procesorový systém a subsystémy.

Související informace Referenční příručka k procesoru Nios® V

2.1.1.3.6. Záložka Konfigurace paměti

Tabulka 17. Parametry karty Konfigurace paměti

Kategorie

Karta Konfigurace paměti

Popis

Mezipaměti

Velikost datové mezipaměti

· Určuje velikost datové mezipaměti. · Platné velikosti jsou od 0 kilobajtů (KB) do 16 KB. · Vypnout datovou mezipaměť, když je velikost 0 KB.

Velikost mezipaměti instrukcí

· Určuje velikost mezipaměti instrukcí. · Platné velikosti jsou od 0 KB do 16 KB. · Vypnout mezipaměť instrukcí, když je velikost 0 KB.

Periferní oblast A a B

Velikost

· Určuje velikost periferní oblasti.
· Platné velikosti jsou od 64 KB do 2 gigabajtů (GB) nebo Žádné. Výběrem možnosti Žádné se periferní oblast vypne.

Základní adresa

· Určuje základní adresu periferní oblasti po výběru velikosti.
· Všechny adresy v periferní oblasti vytvářejí přístupy k datům, které nelze ukládat do vyrovnávací paměti.
· Základní adresa periferní oblasti musí být zarovnána s velikostí periferní oblasti.

Pevně ​​spjaté vzpomínky

Velikost

· Určuje velikost pevně propojené paměti. — Platné velikosti jsou od 0 MB do 512 MB.

Inicializace základní adresy File

· Určuje základní adresu pevně propojené paměti. · Určuje inicializaci file pro pevně propojenou paměť.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 21

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Poznámka:

V systému s procesorem Nios V a povolenou mezipamětí musíte umístit systémové periferie do periferní oblasti. Periferní oblasti můžete použít k definování transakce, kterou nelze ukládat do mezipaměti, pro periferie, jako jsou UART, PIO, DMA a další.

2.1.1.3.7. Záložka ECC

Tabulka 18. Karta ECC
ECC umožňuje detekci chyb a hlášení stavu
Povolit korekci jednoho bitu

Popis
· Povolte tuto možnost, chcete-li použít funkci ECC pro interní bloky RAM procesoru Nios V. · Funkce ECC detekují chyby až do 2 bitů a reagují na základě následujícího chování:
— Pokud se jedná o opravitelnou chybu jednoho bitu a je vypnuta možnost Povolit korekci jednoho bitu, procesor pokračuje v činnosti i po opravě chyby v procesorovém kanálu. Korekce se však neprojeví ve zdrojových pamětech.
— Pokud se jedná o opravitelnou chybu jednoho bitu a je zapnuta možnost Povolit korekci jednoho bitu, procesor pokračuje v činnosti po opravě chyby v procesorovém kanálu a zdrojových pamětech.
— Pokud se jedná o neopravitelnou chybu, procesor zastaví svou činnost.
Povolí korekci jednotlivých bitů u vestavěných paměťových bloků v jádře.

2.1.1.3.8. Záložka Vlastní instrukce

Poznámka:

Tato záložka je k dispozici pouze pro procesorové jádro Nios V/g.

Tabulka hardwarového rozhraní pro vlastní instrukce Nios V
Tabulka maker softwaru pro vlastní instrukce Nios V

Popis
· Procesor Nios V používá tuto tabulku k definování vlastních rozhraní správce instrukcí.
· Definovaná rozhraní vlastního správce instrukcí jsou jedinečně kódována operačním kódem (CUSTOM0-3) a 3 bity funkce funct7[6:4].
· Můžete definovat až 32 individuálních rozhraní pro správu instrukcí.
· Procesor Nios V používá tuto tabulku k definování kódování vlastního softwaru instrukcí pro definovaná rozhraní správce vlastních instrukcí.
· Pro každé definované kódování softwaru pro vlastní instrukce musí operační kód (CUSTOM0-3) a 3 bity kódování funct7[6:4] korelovat s definovaným kódováním rozhraní správce vlastních instrukcí v tabulce hardwarového rozhraní pro vlastní instrukce.
· Pro definování dalšího kódování dané vlastní instrukce můžete použít funct7[6:4], funct7[3:0] a funct3[2:0] nebo je zadat jako X, které se mají předat jako další argumenty instrukce.
· Procesor Nios V poskytuje definované kódování vlastního softwaru instrukcí jako generovaná C-makra v souboru system.h a řídí se formátem instrukcí RISC-V typu R.
· Mnemotechnické pomůcky lze použít k definování vlastních názvů pro: — Vygenerovaná makra jazyka C v souboru system.h.
— Vygenerované ladicí mnemotechnické zkratky GDB v souboru custom_instruction_debug.xml.

Související informace
AN 977: Vlastní instrukce procesoru Nios V. Další informace o vlastních instrukcích, které umožňují přizpůsobit procesor Nios® V potřebám konkrétní aplikace.

Příručka návrhu vestavěných procesorů Nios® V 22

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
2.1.2 Definování návrhu systémových komponent
Pomocí Návrháře platformy definujte hardwarové charakteristiky procesorového systému Nios V a přidejte požadované komponenty. Následující diagram znázorňuje základní návrh procesorového systému Nios V s následujícími komponentami: · Jádro procesoru Nios V · Paměť na čipu · JTAG UART · Intervalový časovač (volitelný)(1)
Když je do systému Platform Designer přidána nová paměť na čipu, proveďte synchronizaci systémových informací, aby se přidané paměťové komponenty odrážely v resetu. Případně můžete v Platform Designeru povolit automatickou synchronizaci, aby se automaticky odrážely nejnovější změny komponent.
Obrázek 11. Přamppropojení procesoru Nios V s dalšími periferiemi v Platform Designeru

(1) Máte možnost použít funkce interního časovače Nios V k nahrazení externího intervalového časovače v Návrháři platformy.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 23

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
Také musíte definovat provozní piny, které chcete exportovat jako potrubí, ve vašem systému Platform Designer. NapříkladampSprávný seznam pinů pro provoz systému FPGA je definován níže, ale není omezen na:
· Hodiny
· Resetovat
· Vstupně/výstupní signály
2.1.3. Určení základních adres a priorit požadavků na přerušení
Abyste specifikovali, jak komponenty přidané do návrhu interagují a tvoří systém, je třeba přiřadit základní adresy pro každou komponentu agenta a priority požadavků na přerušení (IRQ) pro J.TAG UART a intervalový časovač. Návrhář platformy poskytuje příkaz – Přiřadit základní adresy – který automaticky přiřadí správné základní adresy všem komponentám v systému. Základní adresy však můžete upravit podle svých potřeb.
Následuje několik pokynů pro přiřazování základních adres:
· Jádro procesoru Nios V má 32bitový adresní rozsah. Pro přístup ke komponentám agenta musí být jejich základní adresa v rozsahu od 0x00000000 do 0xFFFFFFFF.
· Programy Nios V používají k odkazování na adresy symbolické konstanty. Nemusíte volit adresy, které si snadno zapamatujete.
· Adresní hodnoty, které odlišují komponenty pouze o jeden bit, vytvářejí efektivnější hardware. Nemusíte zhušťovat všechny základní adresy do nejmenšího možného rozsahu adres, protože zhušťování může vést k méně efektivnímu hardwaru.
· Návrhář platformy se nepokouší zarovnat samostatné paměťové komponenty v souvislém rozsahu paměti. Napříkladamptj. pokud chcete, aby bylo více komponent paměti na čipu adresovatelných jako jeden souvislý paměťový rozsah, musíte explicitně přiřadit základní adresy.
Návrhář platformy také poskytuje automatizační příkaz – Přiřadit čísla přerušení, který propojuje signály IRQ a vytváří platné hardwarové výsledky. Efektivní přiřazení IRQ však vyžaduje pochopení celkového chování systému. Návrhář platformy nemůže činit informované odhady ohledně nejlepšího přiřazení IRQ.
Nejnižší hodnota IRQ má nejvyšší prioritu. V ideálním systému společnost Altera doporučuje, aby časovače měly IRQ s nejvyšší prioritou, tj. nejnižší hodnotu, aby se zachovala přesnost systémových hodin.
V některých případech můžete přiřadit vyšší prioritu periferiím reálného času (například grafickým řadičům), což vyžaduje vyšší frekvenci přerušení než komponenty časovače.
Související informace
Uživatelská příručka k Quartus Prime Pro Edition: Více informací o vytváření systému pomocí nástroje Platform Designer.

Příručka návrhu vestavěných procesorů Nios® V 24

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
2.2 Integrace systému pro návrh platforem do projektu Quartus Prime
Po vygenerování návrhu systému Nios V v Platform Designeru proveďte následující úkoly pro integraci modulu systému Nios V do projektu návrhu FPGA Quartus Prime. · Vytvořte instanci modulu systému Nios V v projektu Quartus Prime · Propojte signály z modulu systému Nios V s dalšími signály v logice FPGA · Přiřaďte umístění fyzických pinů · Omezte návrh FPGA
2.2.1. Vytvoření instance systémového modulu procesoru Nios V v projektu Quartus Prime
Návrhář platformy generuje entitu návrhu systémového modulu, jejíž instanci můžete vytvořit v Quartus Prime. Způsob vytvoření instance systémového modulu závisí na metodě zadávání návrhu pro celý projekt Quartus Prime. NapříkladampPokud jste pro zadávání návrhu používali Verilog HDL, vytvořte instanci systémového modulu založeného na Verilogu. Pokud pro zadávání návrhu dáváte přednost metodě blokového diagramu, vytvořte instanci symbolu systémového modulu .bdf. file.
2.2.2. Připojení signálů a přiřazení fyzických umístění pinů
Chcete-li propojit návrh FPGA od Altera s návrhem na úrovni desky, proveďte následující úkoly: · Identifikujte nejvyšší úroveň file pro váš návrh a signály pro připojení k externímu zařízení Altera
Piny zařízení FPGA. · Z uživatelské příručky k návrhu na úrovni desky zjistíte, které piny připojit.
schémata. · Přiřaďte signály v návrhu nejvyšší úrovně portům na vašem zařízení Altera FPGA pomocí pinů
nástroje pro přiřazení úkolů.
Váš systém Platform Designer může být návrhem nejvyšší úrovně. FPGA Altera však může také zahrnovat další logiku na základě vašich potřeb, a tak zavést vlastní systém nejvyšší úrovně. fileNejvyšší úroveň file propojuje signály systémového modulu procesoru Nios V s další logikou návrhu FPGA Altera.
Související informace Uživatelská příručka k Quartus Prime Pro Edition: Omezení návrhu
2.2.3. Omezení návrhu FPGA Altera
Správný návrh systému FPGA Altera zahrnuje konstrukční omezení, která zajišťují, že návrh splňuje požadavky na časování a další logická omezení. Váš návrh FPGA Altera musíte omezit tak, aby tyto požadavky explicitně splňoval, a to pomocí nástrojů poskytovaných v softwaru Quartus Prime nebo od poskytovatelů EDA třetích stran. Software Quartus Prime používá poskytnutá omezení během fáze kompilace k dosažení optimálních výsledků umístění.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 25

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
Související informace · Uživatelská příručka k Quartus Prime Pro Edition: Návrhová omezení · Partneři EDA třetích stran · Uživatelská příručka k Quartus Prime Pro Edition: Analyzátor časování
2.3. Návrh paměťového systému procesoru Nios V
Tato část popisuje osvědčené postupy pro výběr paměťových zařízení v vestavěném systému Platform Designer s procesorem Nios V a dosažení optimálního výkonu. Paměťová zařízení hrají klíčovou roli ve zlepšení celkového výkonu vestavěného systému. Paměť vestavěného systému ukládá programové instrukce a data.
2.3.1. Volatilní paměť
Hlavním rozdílem mezi typy pamětí je volatilita. Volatilní paměť uchovává svůj obsah pouze po dobu, kdy je paměťové zařízení napájeno. Jakmile napájení odpojíte, paměť svůj obsah ztratí.
ExampMezi méně volatilní paměti patří RAM, mezipaměť a registry. Jedná se o rychlé typy pamětí, které zvyšují provozní výkon. Společnost Altera doporučuje načítat a spouštět instrukce procesoru Nios V v RAM a pro optimální výkon spárovat jádro Nios V IP s integrovanou pamětí IP nebo externím paměťovým rozhraním IP.
Pro zlepšení výkonu můžete eliminovat další adaptační komponenty Platform Designeru tím, že typ nebo šířku rozhraní správce dat procesoru Nios V porovnání s bootovací pamětí RAM sladíte. Např.ampMůžete tedy nakonfigurovat paměť On-Chip Memory II s 32bitovým rozhraním AXI-4, které odpovídá rozhraní správce dat Nios V.
Související informace · Rozhraní externí paměti Centrum podpory IP · Paměť na čipu (RAM nebo ROM) Altera FPGA IP · Paměť na čipu II (RAM nebo ROM) Altera FPGA IP · Procesor Nios V Aplikace spouštěná na místě z OCRAM na straně 54
2.3.1.1. Konfigurace paměti na čipu RAM nebo ROM
IP adresy paměti Altera FPGA na čipu můžete konfigurovat jako RAM nebo ROM. · RAM umožňuje čtení a zápis a má volatilní povahu. Pokud jste
Při bootování procesoru Nios V z paměti RAM na čipu se musíte ujistit, že obsah bootovacího souboru je zachován a nepoškozen v případě resetu během běhu. · Pokud se procesor Nios V bootuje z paměti ROM, žádná softwarová chyba v procesoru Nios V nemůže chybně přepsat obsah paměti na čipu. Tím se snižuje riziko poškození bootovacího softwaru.
Související informace · Paměť na čipu (RAM nebo ROM) Altera FPGA IP · Paměť na čipu II (RAM nebo ROM) Altera FPGA IP · Procesor Nios V Aplikace spouštěná na místě z OCRAM na straně 54

Příručka návrhu vestavěných procesorů Nios® V 26

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
2.3.1.2. Mezipaměti
Paměti na čipu se běžně používají k implementaci funkce mezipaměti kvůli jejich nízké latenci. Procesor Nios V používá paměť na čipu pro své mezipaměti instrukcí a dat. Omezená kapacita paměti na čipu obvykle nepředstavuje pro mezipaměti problém, protože jsou obvykle malé.
Mezipaměti se běžně používají za následujících podmínek:
· Běžná paměť je umístěna mimo čip a má delší přístupovou dobu než paměť na čipu.
· Výkonově kritické části softwarového kódu se vejdou do mezipaměti instrukcí, což zlepšuje výkon systému.
· Nejčastěji používaná část dat, která je kritická pro výkon, se vejde do datové mezipaměti, což zlepšuje výkon systému.
Povolení mezipamětí v procesoru Nios V vytváří hierarchii paměti, která minimalizuje dobu přístupu k paměti.
2.3.1.2.1. Periferní oblast
Žádné IP adresy vestavěných periferií, jako jsou UART, I2C a SPI, nesmí být ukládány do mezipaměti. Mezipaměť se důrazně doporučuje pro externí paměti, které jsou ovlivněny dlouhou dobou přístupu, zatímco interní paměti na čipu mohou být vyloučeny kvůli jejich krátké době přístupu. Nesmíte ukládat do mezipaměti žádné IP adresy vestavěných periferií, jako jsou UART, I2C a SPI, s výjimkou pamětí. To je důležité, protože události z externích zařízení, jako jsou agentská zařízení aktualizující softwarové IP adresy, nejsou zachyceny mezipamětí procesoru, a procesor je tak ani nepřijímá. V důsledku toho mohou tyto události zůstat bez povšimnutí, dokud mezipaměť nevyprázdníte, což může vést k nežádoucímu chování ve vašem systému. Stručně řečeno, oblast mapovaná na paměť vestavěných periferních IP adres nelze ukládat do mezipaměti a musí se nacházet v periferních oblastech procesoru.
Chcete-li nastavit periferní oblast, postupujte takto:
1. Otevřete mapu adres systému v Návrháři platformy.
2. Přejděte do adresní mapy správce instrukcí a správce dat procesoru.
3. Identifikujte periferie a paměti ve vašem systému.
Obrázek 12. Přample adresní mapy

Poznámka: Modré šipky ukazují na paměti. 4. Seskupte periferie:
a. Paměť jako mezipaměťová b. Periferie jako nekašovatelná

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 27

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Tabulka 19. Oblast s možností ukládání do mezipaměti a bez možnosti ukládání do mezipaměti

Podřízený

Mapa adresy

Postavení

Periferní oblast

Velikost

Základní adresa

user_application_mem.s1

0x0 ~ 0x3ffff

Uložitelné do mezipaměti

N/A

N/A

cpu.dm_agent bootcopier_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

Neuložitelné v mezipaměti Uložitelné v mezipaměti

65536 bajtů N/A

0x40000 není k dispozici

bootcopier_ram.s1 cpu.timer_sw_agent poštovní schránka.avmm

0x52000 ~ 0x537ff 0x54000 ~ 0x5403f 0x54040 ~ 0x5407f

Uložitelné do mezipaměti Neuložitelné do mezipaměti

144 bajtů (minimální velikost je 65536 bajtů)

0x54000

sysid_qsys_0.control_slave

0x54080 ~ 0x54087

Nelze uložit do mezipaměti

uart.avalon_jtag_otrok

0x54088 ~ 0x5408f

Nelze uložit do mezipaměti

5. Zarovnejte okrajové oblasti s jejich specifickými velikostmi:
· NapřampPokud je velikost 65536 bajtů, odpovídá to 0x10000 bajtům. Povolená základní adresa proto musí být násobkem 0x10000.
· CPU.dm_agent používá základní adresu 0x40000, což je násobek 0x10000. V důsledku toho splňuje požadavky periferní oblast A s velikostí 65536 bajtů a základní adresou 0x40000.
· Základní adresa kolekce nekapacifikovatelných oblastí na adrese 0x54000 není násobkem 0x10000. Musíte je přeřadit na 0x60000 nebo jiný násobek 0x10000. Periferní oblast B, která má velikost 65536 bajtů a základní adresu 0x60000, tedy splňuje kritéria.

Tabulka 20. Oblast s možností uložení do mezipaměti a bez možnosti uložení do mezipaměti s opětovným přiřazením

Podřízený

Mapa adresy

Postavení

Periferní oblast

Velikost

Základní adresa

user_application_mem.s1

0x0 ~ 0x3ffff

Uložitelné do mezipaměti

N/A

N/A

cpu.dm_agent

0x40000 ~ 0x4ffff

Neuložitelné do mezipaměti 65536 bajtů

0x40000

bootcopier_rom.s1

0x50000 ~ 0x517ff

Uložitelné do mezipaměti

N/A

N/A

bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm sysid_qsys_0.control_slave

0x52000 ~ 0x537ff 0x60000 ~ 0x6003f 0x60040 ~ 0x6007f 0x60080 ~ 0x60087

Uložitelné do mezipaměti Neuložitelné do mezipaměti Neuložitelné do mezipaměti

144 bajtů (minimální velikost je 65536 bajtů)

0x60000

uart.avalon_jtag_otrok

0x60088 ~ 0x6008f

Nelze uložit do mezipaměti

2.3.1.3. Těsně vázaná paměť
Těsně propojené paměti (TCM) jsou implementovány s použitím paměti na čipu, protože jejich nízká latence je pro tento úkol dobře hodí. TCM jsou paměti mapované v typickém adresním prostoru, ale mají vyhrazené rozhraní k mikroprocesoru a disponují vysoce výkonnými a nízkolatenčními vlastnostmi mezipaměti. TCM také poskytuje podřízené rozhraní pro externí hostitel. Procesor a externí hostitel mají stejnou úroveň oprávnění pro práci s TCM.

Příručka návrhu vestavěných procesorů Nios® V 28

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Poznámka:

Pokud je podřízený port TCM připojen k externímu hostiteli, může se zobrazit s jinou základní adresou, než je základní adresa přiřazená v jádře procesoru. Společnost Altera doporučuje zarovnat obě adresy na stejnou hodnotu.

2.3.1.4. Rozhraní externí paměti (EMIF)
EMIF (External Memory Interface) funguje podobně jako SRAM (Static Random Access Memory), ale je dynamická a vyžaduje pravidelné obnovování pro udržení svého obsahu. Dynamické paměťové buňky v EMIF jsou mnohem menší než statické paměťové buňky v SRAM, což má za následek vyšší kapacitu a nižší náklady na paměťová zařízení.
Kromě požadavku na obnovování má EMIF specifické požadavky na rozhraní, které často vyžadují specializovaný hardware řadiče. Na rozdíl od SRAM, která má pevnou sadu adresních linek, EMIF organizuje svůj paměťový prostor do bank, řádků a sloupců. Přepínání mezi bankami a řádky představuje určitou režii, takže pro efektivní využití EMIF je nutné pečlivě uspořádat přístupy k paměti. EMIF také multiplexuje adresy řádků a sloupců přes stejné adresní linky, čímž se snižuje počet pinů potřebných pro danou velikost EMIF.
Vyšší rychlostní verze EMIF, jako například DDR, DDR2, DDR3, DDR4 a DDR5, kladou přísné požadavky na integritu signálu, které musí návrháři desek plošných spojů zvážit.
Zařízení EMIF patří mezi cenově nejvýhodnější a nejkapacitnější typy RAM, což z nich činí oblíbenou volbu. Klíčovou součástí rozhraní EMIF je IP adresa EMIF, která spravuje úlohy související s multiplexováním adres, obnovováním a přepínáním mezi řádky a bankami. Tato konstrukce umožňuje zbytku systému přístup k EMIF, aniž by bylo nutné rozumět jeho vnitřní architektuře.

Související informace Rozhraní externí paměti Centrum podpory IP

2.3.1.4.1. IP adresa rozšiřovače rozsahu adres
Rozšíření adresního prostoru Altera FPGA IP umožňuje hostitelským rozhraním s mapovanou pamětí přístup k větší nebo menší mapě adres, než dovoluje šířka jejich adresních signálů. Rozšíření adresního prostoru IP rozděluje adresovatelný prostor do několika samostatných oken, aby hostitel mohl přistupovat k příslušné části paměti prostřednictvím tohoto okna.
Nástroj Address Span Extender neomezuje šířku hostitele a agenta na 32bitovou a 64bitovou konfiguraci. Nástroj Address Span Extender můžete použít s adresními okny o délce 1–64 bitů.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 29

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Obrázek 13. Prodlužovač adresního rozsahu Altera FPGA IP
Adresa agenta

Prodlužovač rozsahu adres

A

Mapovací tabulka
Řídicí port A

Řídicí registr 0 Řídicí registr Z-1

Rozšířená adresa hostitele H

Související informace
Uživatelská příručka Quartus® Prime Pro Edition: Návrhář platformy Další informace naleznete v tématu Address Span Extender Intel® FPGA IP.

2.3.1.4.2. Použití rozšiřovače adresního rozsahu IP s procesorem Nios V
32bitový procesor Nios V dokáže adresovat až 4 GB adresního rozsahu. Pokud EMIF obsahuje více než 4 GB paměti, překračuje maximální podporovaný adresní rozsah, což způsobí, že systém Platform Designer bude chybný. K vyřešení tohoto problému je vyžadován rozšiřovač adresního rozsahu IP adres rozdělením jednoho adresního prostoru EMIF do několika menších oken.
Společnost Altera doporučuje zvážit následující parametry.

Tabulka 21. Parametry rozšiřovače rozsahu adres

Parametr

Doporučená nastavení

Šířka datové cesty
Šířka rozšířené adresy hlavního bajtu

Vyberte 32bitovou verzi, což odpovídá 32bitovému procesoru. Záleží na velikosti paměti EMIF.

Šířka adresy podřízeného slova Šířka počtu burstů

Vyberte 2 GB nebo méně. Zbývající adresní rozsah procesoru Nios V je rezervován pro další integrované soft IP adresy.
Začněte s 1 a postupně tuto hodnotu zvyšujte pro zlepšení výkonu.

Počet dílčích oken

Pokud k procesoru Nios V připojujete paměť EMIF jako instrukční a datovou paměť, nebo obojí, vyberte 1 podokno. Přepínání mezi více podokny, když procesor Nios V provádí příkazy z EMIF, je nebezpečné.

Povolit port pro řízení podřízených zařízení

Deaktivujte port pro řízení podřízených zařízení, pokud připojujete EMIF k procesoru Nios V jako instrukční a/nebo datovou paměť. Stejné záležitosti jako u počtu podoken.

Maximální počet čekajících čtení

Začněte s 1 a postupně tuto hodnotu zvyšujte pro zlepšení výkonu.

Příručka návrhu vestavěných procesorů Nios® V 30

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
Obrázek 14. Připojení správce instrukcí a dat k rozšiřovači adresního rozsahu

Obrázek 15. Mapování adres

Všimněte si, že rozšiřovač adresního rozsahu může přistupovat k celému 8GB paměťovému prostoru EMIF. Procesor Nios V však prostřednictvím rozšiřovače adresního rozsahu může přistupovat pouze k prvnímu 1GB paměťovému prostoru EMIF.

Obrázek 16. Zjednodušené blokové schéma

Platform Designer System

Zbývající 3 GB

Adresa procesoru Nios V

rozpětí je pro vložené

NNioios sVV PProrocecsesosor r
M

soft IP adresy ve stejném systému.
1GB okno

Rozsah adres

S

Extender

M

Pouze první 1 GB

Paměť EMIF je připojena k Nios V

EMIF

procesor.

8 GB
S

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 31

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
2.3.1.4.3. Definování paměťového zařízení Linker Address Span Extender 1. Definujte Address Span Extender (EMIF) jako resetovací vektor. Alternativně můžete resetovací vektor procesoru Nios V přiřadit jiným pamětím, jako jsou OCRAM nebo flash zařízení.
Obrázek 17. Více možností jako vektor resetu
Editor BSP (Board Support Package) však nemůže automaticky zaregistrovat rozšiřovač adresního rozsahu (EMIF) jako platnou paměť. V závislosti na provedené volbě se mohou vyskytnout dvě různé situace, jak je znázorněno na následujících obrázcích. Obrázek 18. Chyba BSP při definování rozšiřovače adresního rozsahu (EMIF) jako vektoru resetování.

Příručka návrhu vestavěných procesorů Nios® V 32

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
Obrázek 19. Chybějící EMIF při definování jiných pamětí jako vektoru resetování

2. Musíte ručně přidat rozšiřovač adresního rozsahu (EMIF) pomocí voleb Přidat paměťové zařízení, Přidat oblast paměti linkeru a Přidat mapování sekcí linkeru na kartě Skript linkeru BSP.
3. Následuj tyto kroky:
a. Určete rozsah adres rozšiřovače rozsahu adres pomocí mapy paměti (např.ampAdresa na následujícím obrázku používá rozsah rozšiřovače adres (od 0x0 do 0x3fff_ffff).
Obrázek 20. Mapa paměti

b. Klikněte na tlačítko Přidat paměťové zařízení a vyplňte údaje na základě informací v mapě paměti vašeho návrhu: i. Název zařízení: emif_ddr4. Poznámka: Ujistěte se, že jste zkopírovali stejný název z mapy paměti. ii. Základní adresa: 0x0 iii. Velikost: 0x40000000
c. Kliknutím na tlačítko Přidat přidáte novou paměťovou oblast linkeru:

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 33

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Tabulka 22. Přidání paměťové oblasti linkeru

Kroky

Obnovit vektor

emif_ddr4

Další vzpomínky

1

Přidejte novou oblast paměti linkeru s názvem reset. Přidejte novou oblast paměti linkeru pro

· Název regionu: reset

emif_ddr4.

· Velikost regionu: 0x20

· Název regionu: emif_ddr4

· Paměťové zařízení: emif_ddr4

· Velikost regionu: 0x40000000

· Posun paměti: 0x0

· Paměťové zařízení: emif_ddr4

· Posun paměti: 0x0

2

Přidejte novou oblast paměti linkeru pro

zbývající emif_ddr4.

· Název regionu: emif_ddr4

· Velikost regionu: 0x3fffffe0

· Paměťové zařízení: emif_ddr4

· Posun paměti: 0x20

Obrázek 21. Oblast linkeru při definování rozšiřovače adresního rozsahu (EMIF) jako resetovacího vektoru

Obrázek 22. Oblast linkeru při definování dalších pamětí jako vektoru resetování
d. Jakmile je emif_ddr4 přidán do BSP, můžete jej vybrat pro libovolnou sekci linkeru.
Obrázek 23. Úspěšně přidán rozšiřovač adresního rozsahu (EMIF)

e. Ignorujte varování, že paměťové zařízení emif_ddr4 není v návrhu SOPC viditelné.
f. Pokračujte k vygenerování BSP.
Související informace Úvod do metod spouštění procesoru Nios V na straně 51

Příručka návrhu vestavěných procesorů Nios® V 34

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
2.3.2. Energeticky nezávislá paměť
Energeticky nezávislá paměť si po vypnutí napájení uchovává svůj obsah, což z ní činí dobrou volbu pro ukládání informací, které musí systém načíst po opětovném zapnutí a vypnutí napájení. Energeticky nezávislá paměť obvykle ukládá bootovací kód procesoru, trvalá nastavení aplikací a konfigurační data Altera FPGA. Ačkoli má energeticky nezávislá paměť výhodutagPokud jde o uchování dat i po odpojení napájení, je mnohem pomalejší ve srovnání s energeticky závislou pamětí a často má složitější postupy zápisu a mazání. U energeticky nezávislé paměti je také obvykle zaručeno, že ji lze vymazat pouze určitý početkrát, po kterém může selhat.
ExampMezi energeticky nezávislé paměti patří všechny typy flash pamětí, EPROM a EEPROM. Společnost Altera doporučuje ukládat bitové toky FPGA z Altera a obrazy programů Nios V do energeticky nezávislé paměti a používat sériovou flash paměť jako bootovací zařízení pro procesory Nios V.
Související informace
· Uživatelská příručka pro generické sériové flash rozhraní Altera FPGA IP
· Uživatelská příručka klienta poštovní schránky Altera FPGA IP · Uživatelská příručka flash paměti MAX® 10: Jádro flash paměti Altera FPGA IP na čipu
2.4. Nejlepší postupy pro měření hodin a resetování
Je důležité pochopit, jak doména hodin a resetování procesoru Nios V interaguje s každým periferním zařízením, ke kterému se připojuje. Jednoduchý systém s procesorem Nios V začíná s doménou jedné hodiny a u systému s více hodinami se to může zkomplikovat, když se doména rychlé hodiny koliduje s doménou pomalé hodiny. Musíte si všímat a pochopit, jak tyto různé domény fungují po resetu, a ujistit se, že se nevyskytují žádné drobné problémy.
Pro dosažení nejlepších výsledků společnost Altera doporučuje umístit procesor Nios V a bootovací paměť do stejné taktovací domény. Neuvolňujte procesor Nios V z resetu v rychlé taktovací doméně, pokud se bootuje z paměti, která se nachází ve velmi pomalé taktovací doméně, což může způsobit chybu při načítání instrukcí. Možná budete potřebovat manuální sekvencování nad rámec toho, co Platform Designer standardně poskytuje, a naplánujte topologii resetování na základě vašeho případu použití. Pokud chcete systém resetovat po jeho spuštění a delší dobu běží, použijte stejné úvahy pro sekvencování resetu systému a požadavek na inicializaci po resetu.
2.4.1. Systém JTAG Hodiny
Specifikace omezení hodin v každém procesorovém systému Nios V je důležitým faktorem při návrhu systému a je nezbytná pro jeho správnost a deterministické chování. Analyzátor časování Quartus Prime provádí statickou analýzu časování, aby ověřil výkonnost časování veškeré logiky ve vašem návrhu s využitím standardní metodologie omezení, analýzy a reportingu.
Example 1. Základní hodinový obvod 100 MHz s pracovním cyklem 50/50 a frekvencí 16 MHz JTAG Hodiny
#******************************************************************** # Vytvoření hodin 100MHz #**************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Vytvoření taktu 16MHzTAG Hodiny #************************

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 35

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
create_clock -name {altera_reserved_tck} -period 62.500 [get_ports {altera_reserved_tck}] set_clock_groups -asynchronous -group [get_clocks {altera_reserved_tck}] Související informace Kuchařka analyzátoru časování Quartus Prime
2.4.2. Rozhraní pro požadavek na reset
Procesor Nios V obsahuje volitelnou funkci požadavku na reset. Funkce požadavku na reset se skládá ze signálů reset_req a reset_req_ack.
Povolení požadavku na reset v Návrháři platformy: 1. Spusťte Editor parametrů IP procesoru Nios V. 2. V nastavení Použít požadavek na reset zapněte možnost Přidat rozhraní požadavku na reset.
volba.
Obrázek 24. Povolení požadavku na reset procesoru Nios V
Signál reset_req se chová jako přerušení. Když aktivujete reset_req, požadujete reset jádra. Jádro čeká na dokončení jakékoli nevyřízené transakce sběrnice. Napříkladamptj. pokud existuje čekající transakce přístupu do paměti, jádro čeká na kompletní odpověď. Podobně jádro přijímá jakoukoli čekající odpověď na instrukci, ale po přijetí signálu reset_req nevydává požadavek na instrukci.
Operace resetování se skládá z následujícího postupu: 1. Dokončení všech čekajících operací 2. Propláchnutí interního kanálu 3. Nastavení programového čítače na vektor resetování 4. Resetování jádra Celá operace resetování trvá několik hodinových cyklů. Reference reset_req musí zůstat aktivována, dokud není aktivována reset_req_ack, což signalizuje úspěšné dokončení operace resetování jádra. Pokud tak neučiníte, stav jádra bude nedeterministický.

Příručka návrhu vestavěných procesorů Nios® V 36

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
2.4.2.1. Typické případy použití
· Signál reset_req můžete aktivovat při zapnutí, abyste zabránili jádru procesoru Nios V ve spuštění provádění programu z jeho resetovacího vektoru, dokud ostatní hostitelské počítače FPGA v systému neinicializují bootovací paměť procesoru Nios V. V tomto případě může celý subsystém projít čistým hardwarovým resetem. Procesor Nios V je po neurčito držen ve stavu požadavku na reset, dokud ostatní hostitelské počítače FPGA neinicializují bootovací paměť procesoru.
· V systému, kde musíte resetovat jádro procesoru Nios V bez narušení zbytku systému, můžete aktivovat signál reset_req pro čisté zastavení aktuální operace jádra a restartování procesoru z resetovacího vektoru, jakmile systém uvolní signál reset_req_ack.
· Externí hostitel může použít rozhraní pro požadavek na reset k usnadnění implementace následujících úkolů:
— Zastavit aktuální program procesorů Nios V.
— Načtěte nový program do bootovací paměti procesoru Nios V.
— Umožněte procesoru zahájit provádění nového programu.
Společnost Altera doporučuje implementovat mechanismus časového limitu pro sledování stavu signálu reset_req_ack. Pokud se jádro procesoru Nios V dostane do stavu nekonečného čekání a z neznámého důvodu se zastaví, signál reset_req_ack se nemůže donekonečna aktivovat. Mechanismus časového limitu umožňuje:
· Definujte časový limit pro obnovení a proveďte obnovení systému s resetem na systémové úrovni.
· Proveďte reset na hardwarové úrovni.
2.4.3. Obnovení IP adresy pro uvolnění
Zařízení založená na řídicích blocích Altera používají paralelní, sektorově založenou architekturu, která distribuuje logiku jádra fabric do více sektorů. Společnost Altera doporučuje použít IP protokol Reset Release Altera FPGA jako jeden z počátečních vstupů do resetovacího obvodu. Zařízení založená na řídicích blocích zahrnují zařízení Intel® SDM. Zařízení založená na řídicích blocích se tímto požadavkem netýkají.
Související informace
AN 891: Použití resetovacího uvolnění Altera FPGA IP
2.5. Přiřazení výchozího agenta
Návrhář platformy umožňuje zadat výchozího agenta, který funguje jako výchozí agent pro odezvu na chyby. Výchozí agent, kterého určíte, poskytuje službu odezvy na chyby pro hostitele, kteří se pokoušejí o nedekódovaný přístup k mapě adres.
Následující scénáře spouštějí nedekódovanou událost:
· Porušení stavu zabezpečení transakce sběrnice
· Přístup transakcí k nedefinované oblasti paměti
· Výjimková událost atd.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 37

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Pro zpracování takových událostí by měl být přiřazen výchozí agent, který by přesměroval nedefinovanou transakci na výchozího agenta a následně odpověděl procesoru Nios V chybovou odpovědí.
Související informace
· Uživatelská příručka k Quartus Prime Pro Edition: Návrhář platformy. Určení výchozího agenta
· Uživatelská příručka Quartus Prime Pro Edition: Návrhář platformy. Podřízený obvod s odezvou na chyby Altera FPGA IP
· Github – Doplňkové komponenty pro resetování pro Qsys

2.6. Přiřazení agenta UART pro tisk
Tisk je užitečný pro ladění softwarové aplikace a také pro sledování stavu systému. Společnost Altera doporučuje tisknout základní informace, jako je spouštěcí zpráva, chybová zpráva a průběh provádění softwarové aplikace.
Nepoužívejte funkci knihovny printf() za následujících okolností: · Knihovna printf() způsobí zastavení aplikace, pokud žádný hostitel nečte výstup.
To platí pro J.TAG Pouze UART. · Knihovna printf() spotřebovává velké množství programové paměti.

2.6.1. Zabránění zastavení u JTAG UART

Tabulka 23. Rozdíly mezi tradičním UART a JTAG UART

Typ UART Tradiční UART

Popis
Přenáší sériová data bez ohledu na to, zda naslouchá externí hostitel. Pokud žádný hostitel sériová data nepřečte, data se ztratí.

JTAG UART

Zapisuje přenášená data do výstupní vyrovnávací paměti a spoléhá na externí hostitel, který ji vyprázdní a načte z ní.

JTAG Ovladač UART čeká, až je výstupní vyrovnávací paměť plná. JTAG Ovladač UART čeká na to, až externí hostitel načte z výstupní vyrovnávací paměti, než zapíše další vysílaná data. Tento proces zabraňuje ztrátě vysílaných dat.
Pokud však není ladění systému vyžadováno, například během produkce, jsou vestavěné systémy nasazeny bez hostitelského počítače připojeného k J.TAG UART. Pokud systém zvolil JTAG Pokud je UART agentem, může to způsobit zablokování systému, protože není připojen žádný externí hostitel.
Aby se zabránilo zastavení JTAG UART, použijte jednu z následujících možností:

Příručka návrhu vestavěných procesorů Nios® V 38

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX

Tabulka 24. Prevence zastavení pomocí JTAG UART

Možnosti
Chybí UART rozhraní a ovladač
Použijte jiné rozhraní a ovladač UART
Zachovat J.TAG Rozhraní UART (bez ovladače)

Během vývoje hardwaru (v návrháři platformy)

Během vývoje softwaru (v editoru balíčků podpory desky)

Odebrat J.TAG UART ze systému

Nakonfigurujte hal.stdin, hal.stdout a hal.stderr jako None.

Nahradit J.TAG UART s dalším softwarovým rozhraním Konfigurace hal.stdin, hal.stdout a hal.stderr

IP adresa UART

s jinými softwarovými UART IP.

Zachovat J.TAG UART v systému

· V editoru balíčků podpory desky nakonfigurujte hal.stdin, hal.stdout a hal.stderr na hodnotu None.
· Zakázat JTAG Ovladač UART na kartě Ovladač BSP.

2.7. JTAG Signály
Ladicí modul procesoru Nios V používá JTAG rozhraní pro stahování softwaru ELF a ladění softwaru. Když ladíte svůj návrh pomocí JTAG rozhraní, JTAG Signály TCK, TMS, TDI a TDO jsou implementovány jako součást návrhu. Specifikace JTAG Omezení signálu v každém procesorovém systému Nios V jsou důležitým faktorem při návrhu systému a jsou nezbytná pro správnost a deterministické chování.
Společnost Altera doporučuje, aby frekvence systémových hodin u jakéhokoli návrhu byla alespoň čtyřnásobkem frekvence J.TAG taktovací frekvence, aby se zajistilo správné fungování jádra on-chip instrumentace (OCI).
Související informace · Kuchařka analyzátoru hlavního načasování Quartus®: JTAG Signály
Pro více informací o JTAG pokyny pro časová omezení. · KDB: Proč selhává niosv-download s nepipelined procesorem Nios® V/m na
JTAG Frekvence 24MHz nebo 16MHz?
2.8. Optimalizace výkonu systému pro návrháře platforem
Platform Designer poskytuje nástroje pro optimalizaci výkonu propojení systémů pro návrhy FPGA Altera.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 39

2. Návrh hardwarového systému procesoru Nios V s využitím softwaru a návrháře platforem Quartus Prime
726952 2025.07.16 XNUMX | XNUMX XNUMX XNUMX
Obrázek 25. Optimalizační příkladamples

BývalýampObrázek znázorňuje následující kroky:
1. Přidává Pipeline Bridge pro zmírnění kritických cest jeho umístěním: a. Mezi Instruction Manager a jeho agenty b. Mezi Data Manager a jeho agenty
2. Použijte skutečně dvouportovou RAM na čipu, přičemž každý port je vyhrazen pro správce instrukcí a správce dat.

Příručka návrhu vestavěných procesorů Nios® V 40

Odeslat zpětnou vazbu

2. Návrh hardwarového systému procesoru Nios V pomocí softwaru a návrháře platforem Quartus Prime 726952 | 2025.07.16. XNUMX. XNUMX
Viz následující související odkazy, které představují techniky pro využití dostupných nástrojů a kompromisy jednotlivých implementací.
Související informace · Uživatelská příručka Quartus® Prime Pro Edition: Návrhář platforem
Další informace naleznete v tématu Optimalizace výkonu systému Platform Designer. · Uživatelská příručka Quartus® Prime Standard Edition: Platform Designer Další informace naleznete v tématu Optimalizace výkonu systému Platform Designer.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 41

726952 | 2025.07.16 Odeslat zpětnou vazbu

3. Návrh softwarového systému pro procesor Nios V
Tato kapitola popisuje postup vývoje softwaru pro procesor Nios V a softwarové nástroje, které můžete použít při vývoji svého vestavěného návrhového systému. Obsah slouží jako úvodní informace.view před vývojem softwarového systému pro procesor Nios V.
Obrázek 26. Postup návrhu softwaru
Start

Generování BSP v Návrháři platformy pomocí editoru BSP

Generování BSP pomocí příkazového shellu Nios V
Generování sestavení aplikace CMake File Používání příkazového shellu Nios V

Poznámka:

Importujte BSP a sestavení CMake aplikace File
Vytvořte aplikaci pro procesor Nios V pomocí
RiscFree IDE pro Intel FPGA

Vytvořte aplikaci Nios V Processor s použitím libovolného
editor zdrojového kódu příkazového řádku, CMake a Make
příkazy
Konec

Společnost Altera doporučuje pro vývoj a ladění softwaru používat vývojovou sadu Altera FPGA nebo vlastní prototypovou desku. Mnoho periferií a funkcí na systémové úrovni je k dispozici pouze tehdy, když software běží na skutečné desce.

© Altera Corporation. Altera, logo Altera, logo „a“ a další ochranné známky společnosti Altera jsou ochrannými známkami společnosti Altera Corporation. Společnost Altera si vyhrazuje právo kdykoli bez předchozího upozornění provádět změny v jakýchkoli produktech a službách. Společnost Altera nepřebírá žádnou odpovědnost ani závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, s výjimkou případů, kdy s tím společnost Altera výslovně písemně souhlasí. Zákazníkům společnosti Altera se doporučuje, aby si před spoléháním se na jakékoli publikované informace a před objednáváním produktů nebo služeb zajistili nejnovější verzi specifikací zařízení. *Jiné názvy a značky mohou být nárokovány jako majetek jiných osob.

3. Návrh softwarového systému pro procesor Nios V 726952 | 2025.07.16. XNUMX. XNUMX
3.1. Postup vývoje softwaru pro procesor Nios V
3.1.1. Projekt balíčku podpory představenstva
Projekt Nios V Board Support Package (BSP) je specializovaná knihovna obsahující podpůrný kód specifický pro systém. BSP poskytuje softwarové běhové prostředí přizpůsobené pro jeden procesor v hardwarovém systému s procesory Nios V.
Software Quartus Prime poskytuje editor balíčků podpory desky Nios V a nástroje niosv-bsp pro úpravu nastavení, která řídí chování desky BSP.
BSP obsahuje následující prvky: · Vrstva abstrakce hardwaru · Ovladače zařízení · Volitelné softwarové balíčky · Volitelný operační systém reálného času
3.1.2. Aplikační projekt
Projekt aplikace Nios VC/C++ má následující vlastnosti: · Skládá se z kolekce zdrojového kódu a souboru CMakeLists.txt.
— Soubor CMakeLists.txt zkompiluje zdrojový kód a propojí ho s BSP a jednou nebo více volitelnými knihovnami, čímž vytvoří jeden soubor .elf. file
· Jeden ze zdrojů files obsahuje funkci main(). · Obsahuje kód, který volá funkce v knihovnách a BSP.
Společnost Altera poskytuje v softwarových nástrojích Quartus Prime obslužný nástroj niosv-app pro vytvoření souboru CMakeLists.txt aplikace a vývojové prostředí RiscFree pro FPGA od společnosti Altera pro úpravu zdrojového kódu v prostředí založeném na Eclipse.
3.2. Vývojové nástroje pro vestavěné FPGA od společnosti Altera
Procesor Nios V podporuje následující nástroje pro vývoj softwaru: · Grafické uživatelské rozhraní (GUI) – Grafické vývojové nástroje, které jsou k dispozici v
Operační systémy (OS) Windows* i Linux*. — Editor balíčků podpory desek Nios V (editor Nios V BSP) — Ashling RiscFree IDE pro FPGA Altera · Nástroje příkazového řádku (CLI) – Vývojové nástroje, které se spouštějí z příkazového shellu Nios V. Každý nástroj poskytuje vlastní dokumentaci ve formě nápovědy přístupné z příkazového řádku. Otevřete příkazový shell Nios V a zadejte následující příkaz: – pomoci view nabídka Nápověda. — Nástroje Nios V Utilities — File Nástroje pro převod formátů — Další utility

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 43

3. Návrh softwarového systému pro procesor Nios V 726952 | 2025.07.16. XNUMX. XNUMX

Tabulka 25. Souhrn úloh nástrojů grafického rozhraní a nástrojů příkazového řádku

Úkol

Nástroj GUI

Nástroj příkazového řádku

Vytvoření BSP

Editor BSP Nios V

· V softwaru Quartus Prime Pro Edition: niosv-bsp -c -s=<.qsys file> -t= [MOŽNOSTI] settings.bsp
· V softwaru Quartus Prime Standard Edition: niosv-bsp -c -s=<.sopcinfo file> -t= [MOŽNOSTI] settings.bsp

Generování BSP s použitím existujícího souboru .bsp file
Aktualizace BSP

Editor Nios V BSP Editor Nios V BSP

niosv-bsp -g [MOŽNOSTI] settings.bsp niosv-bsp -u [MOŽNOSTI] settings.bsp

Zkoumání BSP

Editor BSP Nios V

niosv-bsp -q -E= [MOŽNOSTI] settings.bsp

Vytvoření aplikace

niosv-app -a= -b= -s= fileadresář s> [MOŽNOSTI]

Vytvoření uživatelské knihovny

niosv-app -l= -s= fileadresář s> -p= [MOŽNOSTI]

Úprava aplikace Úprava uživatelské knihovny Vytvoření aplikace

RiscFree IDE pro FPGA od Altery
RiscFree IDE pro FPGA od Altery
RiscFree IDE pro FPGA od Altery

Jakýkoli editor zdrojového kódu z příkazového řádku
Jakýkoli editor zdrojového kódu z příkazového řádku
· vyrobit · cmake

Vytvoření uživatelské knihovny

RiscFree IDE pro FPGA od Altery

· vyrobit · cmake

Stažení aplikace ELF
Převod souboru .elf file

RiscFree IDE pro FPGA od Altery

niosv-download
· elf2flash · elf2hex

Související informace
Uživatelská příručka k integrovanému vývojovému prostředí (IDE) Ashling RiscFree pro FPGA Altera

3.2.1. Editor balíčků podpory základní desky procesoru Nios V
Editor BSP procesoru Nios V můžete použít k provádění následujících úkolů: · Vytvoření nebo úprava projektu BSP procesoru Nios V · Úprava nastavení, oblastí linkerů a mapování sekcí · Výběr softwarových balíčků a ovladačů zařízení.
Možnosti editoru BSP zahrnují možnosti utilit niosv-bsp. Jakýkoli projekt vytvořený v editoru BSP lze také vytvořit pomocí utilit příkazového řádku.

Příručka návrhu vestavěných procesorů Nios® V 44

Odeslat zpětnou vazbu

3. Návrh softwarového systému pro procesor Nios V 726952 | 2025.07.16. XNUMX. XNUMX

Poznámka:

Pro software Quartus Prime Standard Edition viz AN 980: Podpora softwaru Quartus Prime pro procesor Nios V, kde najdete kroky pro spuštění grafického uživatelského rozhraní editoru BSP.

Chcete-li spustit editor BSP, postupujte takto: 1. Otevřete Návrhář platformy a přejděte do složky File menu.
a. Otevření existujícího nastavení BSP file, klikněte na Otevřít… b. Chcete-li vytvořit nového BSP, klikněte na Nový BSP… 2. Vyberte kartu Editor BSP a zadejte příslušné údaje.

Obrázek 27. Spuštění editoru BSP

Související informace AN 980: Podpora softwaru pro procesor Nios V Quartus Prime
3.2.2. RiscFree IDE pro FPGA od Altery
RiscFree IDE pro FPGA Altera je IDE založené na platformě Eclipse pro procesor Nios V. Společnost Altera doporučuje vyvíjet software procesoru Nios V v tomto IDE z následujících důvodů: · Funkce jsou vyvinuty a ověřeny tak, aby byly kompatibilní s Nios V.
postup sestavení procesoru. · Vybaven všemi potřebnými nástroji a podpůrnými nástroji, které vám umožní
pro snadné zahájení vývoje procesoru Nios V.
Související informace Integrované vývojové prostředí (IDE) Ashling RiscFree pro uživatelskou příručku FPGA Altera
3.2.3. Nástroje Nios V Utilities
Programy Nios V můžete vytvářet, upravovat a sestavovat pomocí příkazů zadaných na příkazovém řádku nebo vložených do skriptu. Nástroje příkazového řádku Nios V popsané v této části se nacházejí v Adresář /niosv/bin.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 45

3. Návrh softwarového systému pro procesor Nios V 726952 | 2025.07.16. XNUMX. XNUMX

Tabulka 26. Nástroje Nios V Utilities

Nástroje příkazového řádku

Shrnutí

niosv-app niosv-bsp niosv-download niosv-shell niosv-stack-report

Generování a konfigurace aplikačního projektu.
Vytvoření nebo aktualizace nastavení BSP file a vytvořit BSP files. Chcete-li stáhnout ELF file k procesoru Nios® V.
Otevření příkazového shellu Nios V. Informace o zbývající paměti dostupné pro vaši aplikaci .elf pro využití zásobníku nebo haldy.

3.2.4. File Nástroje pro převod formátů

File Při přenosu dat z jednoho nástroje do druhého je někdy nutná konverze formátu. file nástroje pro převod formátů jsou v
adresář instalace softwaru>/niosv/bin.

Tabulka 27. File Nástroje pro převod formátů

Nástroje příkazového řádku elf2flash elf2hex

Shrnutí Překlad souboru .elf file do formátu .srec pro programování flash pamětí. Pro překlad souboru .elf file do formátu .hex pro inicializaci paměti.

3.2.5. Další nástroje

Při sestavování systému založeného na procesoru Nios V můžete potřebovat následující nástroje příkazového řádku. Tyto nástroje příkazového řádku poskytuje buď společnost Intel v /quartus/bin nebo získané z
nástroje s otevřeným zdrojovým kódem.

Tabulka 28. Další nástroje příkazového řádku

Nástroje příkazového řádku

Typ

Shrnutí

juart-terminal

Poskytovatel Intel

Pro monitorování stdout a stderr a pro poskytování vstupu procesoru Nios® V
podsystém přes stdin. Tento nástroj se vztahuje pouze na JTAG IP adresa UART, když je připojena k procesoru Nios® V.

openocd

Poskytováno společností Intel. Pro spuštění OpenOCD.

openocd-cfg-gen

Poskytovatel Intel · Pro generování konfigurace OpenOCD file. · Pro zobrazení JTAG index řetězového zařízení.

Příručka návrhu vestavěných procesorů Nios® V 46

Odeslat zpětnou vazbu

726952 | 2025.07.16 Odeslat zpětnou vazbu
4. Řešení pro konfiguraci a spouštění procesoru Nios V
Procesor Nios V můžete nakonfigurovat tak, aby bootoval a spouštěl software z různých paměťových umístění. Bootovací paměť je flash paměť Quad Serial Peripheral Interface (QSPI), paměť na čipu (OCRAM) nebo paměť Tightly Coupled Memory (TCM).
Související informace · Podmínky spouštění na straně 193 · Spouštěče při zapnutí
Další informace o spouštěčích napájení.
4.1. Úvod
Procesor Nios V podporuje dva typy bootovacích procesů: · Spuštění na místě (XIP) pomocí funkce alt_load() · Program zkopírovaný do RAM pomocí bootovacího kopírovacího programu. Vývoj vestavěných programů Nios V je založen na vrstvě hardwarové abstrakce (HAL). HAL poskytuje malý zavaděč (také známý jako bootovací kopírovací program), který kopíruje relevantní sekce linkeru ze bootovací paměti do jejich běhového umístění při bootování. Umístění běhové paměti programu a dat můžete určit úpravou nastavení editoru Board Support Package (BSP). Tato část popisuje: · Bootovací kopírovací program procesoru Nios V, který bootuje váš systém s procesorem Nios V podle
výběr bootovací paměti · možnosti bootování procesoru Nios V a obecný postup · programovací řešení Nios V pro vybranou bootovací paměť
4.2. Propojení aplikací
Při generování projektu procesoru Nios V editor BSP vygeneruje dva související linkery. files: · linker.x: Příkaz linkeru file že generovaná aplikace vytvořífile používá
vytvořit binární soubor .elf file. · linker.h: Obsahuje informace o rozložení paměti linkeru. Všechny úpravy nastavení linkeru, které provedete v projektu BSP, ovlivní obsah těchto dvou linkerů. files. Každá aplikace procesoru Nios V obsahuje následující sekce linkeru:
© Altera Corporation. Altera, logo Altera, logo „a“ a další ochranné známky společnosti Altera jsou ochrannými známkami společnosti Altera Corporation. Společnost Altera si vyhrazuje právo kdykoli bez předchozího upozornění provádět změny v jakýchkoli produktech a službách. Společnost Altera nepřebírá žádnou odpovědnost ani závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, s výjimkou případů, kdy s tím společnost Altera výslovně písemně souhlasí. Zákazníkům společnosti Altera se doporučuje, aby si před spoléháním se na jakékoli publikované informace a před objednáváním produktů nebo služeb zajistili nejnovější verzi specifikací zařízení. *Jiné názvy a značky mohou být nárokovány jako majetek jiných osob.

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Tabulka 29. Sekce linkeru

.text

Sekce linkeru

.rodata

.rwdata

.bss

.halda

.stoh

Popisy Spustitelný kód. Jakákoli data pouze pro čtení použitá při provádění programu. Ukládá data pro čtení i zápis použitá při provádění programu. Obsahuje neinicializovaná statická data. Obsahuje dynamicky alokovanou paměť. Ukládá parametry volání funkcí a další dočasná data.

Do souboru .elf můžete přidat další sekce linkeru. file pro uchovávání vlastního kódu a dat. Tyto sekce linkeru jsou umístěny v pojmenovaných oblastech paměti, definovaných tak, aby odpovídaly fyzickým paměťovým zařízením a adresám. Ve výchozím nastavení BSP Editor tyto sekce linkeru automaticky generuje. Sekce linkeru však můžete ovládat pro konkrétní aplikaci.

4.2.1. Chování při propojování
Tato část popisuje výchozí chování propojení v editoru BSP a jak toto chování ovládat.

4.2.1.1. Výchozí propojení BSP
Během konfigurace BSP nástroje automaticky provedou následující kroky:
1. Přiřazení názvů oblastí paměti: Přiřaďte název každému zařízení systémové paměti a každý název přidejte do linkeru. file jako paměťová oblast.
2. Nalezení největší paměti: Identifikace největší oblasti paměti pro čtení a zápis v linkeru file.
3. Přiřazení sekcí linkeru: Umístěte výchozí sekce linkeru (.text, .rodata, .rwdata, .bss, .heap a .stack) do oblasti paměti identifikované v předchozím kroku.
4. Napište files: Napište linker.x a linker.h files.
Schéma alokace sekcí linkeru obvykle funguje během procesu vývoje softwaru, protože je zaručeno, že aplikace bude fungovat, pokud je paměť dostatečně velká.
Pravidla pro výchozí chování linkování jsou obsažena ve skriptech Tcl bsp-set-defaults.tcl a bsp-linker-utils.tcl, které se nacházejí v souboru Adresář /niosv/scripts/bsp-defaults. Příkaz niosv-bsp spouští tyto skripty. Tyto skripty přímo neupravujte.

Příručka návrhu vestavěných procesorů Nios® V 48

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

4.2.1.2. Konfigurovatelné propojení BSP
Výchozí chování propojení můžete spravovat na kartě Skript linkeru v editoru BSP. Skript linkeru můžete manipulovat pomocí následujících metod: · Přidat oblast paměti: Mapuje název oblasti paměti na fyzické paměťové zařízení. · Přidat mapování sekce: Mapuje název sekce na oblast paměti. BSP
Editor vám umožňuje view mapa paměti před a po provedení změn.

4.3. Metody bootování procesoru Nios V

Existuje několik metod, jak spustit procesor Nios V v zařízeních Altera FPGA. Metody spouštění procesoru Nios V se liší v závislosti na výběru flash paměti a rodině zařízení.

Tabulka 30. Podporované flash paměti s příslušnými možnostmi spouštění

Podporované bootovací paměti

Zařízení

Paměť na čipu (pro interní konfiguraci)

Max. 10 zařízení (s On-Chip Flash IP)

Univerzální QSPI Flash (pouze pro uživatelská data)

Všechna podporovaná zařízení FPGA (s generickým sériovým rozhraním Flash FPGA IP)

Konfigurace QSPI Flash (pro konfiguraci aktivního sériového rozhraní)

Řídicí bloky
zařízení (s generickými
Sériové rozhraní flash Intel FPGA IP)(2)

Metody bootování procesoru Nios V

Umístění běhového prostředí aplikace

Boot Copier

Aplikace procesoru Nios V se spouští na místě z paměti On-Chip Flash

Paměť na čipu (XIP) + OCRAM/externí RAM (pro zapisovatelné datové sekce)

Funkce alt_load()

Aplikace procesoru Nios V zkopírována z paměti flash na čipu do paměti RAM pomocí bootovacího kopírovacího programu

OCRAM/externí RAM

Opětovné použití bootloaderu přes GSFI

Aplikace procesoru Nios V spouštěná na místě z univerzální flash paměti QSPI

Univerzální QSPI flash (XIP) + OCRAM/externí RAM (pro zapisovatelné datové sekce)

Funkce alt_load()

Aplikace procesoru Nios V zkopírována z univerzální paměti QSPI flash do RAM pomocí bootovacího kopírovacího programu

OCRAM/externí RAM

Bootloader přes GSFI

Aplikace procesoru Nios V se spouští na místě z konfigurační paměti QSPI flash

Konfigurace QSPI flash (XIP) + OCRAM/ Externí RAM (pro zapisovatelné datové sekce)

Funkce alt_load()

Aplikace procesoru Nios V zkopírována z konfigurační paměti QSPI flash do RAM pomocí bootovacího kopírovacího programu

Zavaděč OCRAM/externí RAM přes GSFI – pokračování…

(2) Seznam zařízení naleznete v dokumentu AN 980: Podpora softwaru procesoru Nios V Quartus Prime.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 49

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Podporované bootovací paměti
Paměť na čipu (OCRAM) Těsně vázaná paměť (TCM)

Zařízení
Zařízení založená na SDM (s Mailbox Client Intel FPGA IP). (2)
Všechna podporovaná zařízení Altera FPGA (2)
Všechny podporované FPGA zařízení Altera (2)

Metody bootování procesoru Nios V
Aplikace procesoru Nios V zkopírována z konfigurační paměti QSPI flash do RAM pomocí bootovacího kopírovacího programu
Aplikace procesoru Nios V se spouští na místě z OCRAM
Aplikace procesoru Nios V spouštěná na místě z TCM

Umístění běhového prostředí aplikace

Boot Copier

Bootloader OCRAM/externí RAM přes SDM

OCRAM

Funkce alt_load()

Instrukční TCM (XIP) Žádná + datová TCM (pro zapisovatelné datové sekce)

Obrázek 28. Postup spouštění procesoru Nios V

Resetovat

Procesor přeskočí na resetovací vektor (spuštění bootovacího kódu)

Kód aplikace lze zkopírovat do jiného umístění v paměti (v závislosti na možnostech spouštění)
Bootovací kód inicializuje procesor

V závislosti na možnostech spouštění může spouštěcí kód kopírovat počáteční hodnoty dat/kódu do jiného paměťového prostoru (alt_load).
Spouštěcí kód inicializuje kód aplikace a datovou paměť.
Spouštěcí kód inicializuje všechna systémová periferní zařízení pomocí ovladačů HAL (alt_main)
Vstup do hlavního
Související informace · Uživatelská příručka k obecnému sériovému flash rozhraní Altera FPGA IP
Příručka návrhu vestavěných procesorů Nios® V 50

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16
· Uživatelská příručka pro IP klienta poštovní schránky Altera FPGA · AN 980: Podpora softwaru pro procesor Nios V Quartus Prime
4.4. Úvod do metod bootování procesoru Nios V
Systémy s procesory Nios V vyžadují, aby byly softwarové obrazy nakonfigurovány v systémové paměti, než procesor může začít spouštět aplikační program. Výchozí sekce linkeru naleznete v sekci linker.
Editor BSP generuje skript linkeru, který provádí následující funkce: · Zajišťuje, aby byl software procesoru propojen v souladu s nastavením linkeru
editoru BSP a určuje, kde se software v paměti nachází. · Umístí kódovou oblast procesoru v paměťové komponentě podle
přiřazené paměťové komponenty.
Následující část stručně popisuje dostupné metody bootování procesoru Nios V.
4.4.1. Spuštění aplikace procesoru Nios V na místě z bootovací flash paměti
Společnost Altera navrhla řadiče flash paměti tak, aby adresní prostor bootovací flash paměti byl procesoru Nios V okamžitě přístupný po resetu systému, bez nutnosti inicializace řadiče paměti nebo paměťových zařízení. To umožňuje procesoru Nios V spouštět aplikační kód uložený na bootovacích zařízeních přímo bez použití bootovacího kopírovacího programu ke kopírování kódu do jiného typu paměti. Řadiče flash paměti jsou: · Flash paměť na čipu s IP adresou On-Chip Flash (pouze v zařízení MAX® 10) · Flash paměť QSPI pro všeobecné použití s ​​generickým sériovým rozhraním flash paměti IP · Flash paměť QSPI pro konfigurace s generickým sériovým rozhraním flash paměti IP (kromě MAX 10
zařízení)
Když se aplikace procesoru Nios V spouští na místě z bootovací flash paměti, editor BSP provádí následující funkce: · Nastavuje sekce linkeru .text do oblasti bootovací flash paměti. · Nastavuje sekce linkeru .bss, .rodata, .rwdata, .stack a .heap do RAM.
oblast paměti. V nastavení BSP musíte povolit funkci alt_load(), abyste po resetu systému zkopírovali datové sekce (.rodata, .rwdata, .exceptions) do paměti RAM. Sekce kódu (.text) zůstává v oblasti bootovací flash paměti.
Související informace · Uživatelská příručka k obecnému sériovému flash rozhraní Altera FPGA IP · Uživatelská příručka k flash paměti Altera MAX 10
4.4.1.1. alt_load()
Funkci alt_load() můžete v kódu HAL povolit pomocí editoru BSP.
Při použití v procesu spouštění typu „execute-in-place“ provádí funkce alt_load() následující úkoly:

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 51

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

· Funguje jako mini bootovací kopírka, která kopíruje sekce paměti do RAM na základě nastavení BSP.
· Kopíruje datové sekce (.rodata, .rwdata, .exceptions) do RAM, ale ne sekce kódu (.text). Sekce kódu (.text) je pouze pro čtení a zůstává v oblasti bootovací flash paměti. Toto rozdělení pomáhá minimalizovat využití RAM, ale může omezit výkon při provádění kódu, protože přístupy k flash paměti jsou pomalejší než přístupy k integrované RAM.

Následující tabulka uvádí nastavení a funkce editoru BSP:

Tabulka 31. Nastavení editoru BSP
Nastavení editoru 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

Funkce Povolí funkci alt_load(). alt_load() zkopíruje sekci .rodata do RAM. alt_load() zkopíruje sekci .rwdata do RAM. alt_load() zkopíruje sekci .exceptions do RAM.

4.4.2. Aplikace procesoru Nios V zkopírována z bootovací flash paměti do RAM pomocí Boot Copieru
Procesor Nios V a HAL obsahují bootovací kopírku, která poskytuje dostatečnou funkcionalitu pro většinu aplikací procesoru Nios V a je snadno implementovatelná s vývojovým postupem softwaru Nios V.
Když aplikace používá bootovací kopírku, nastaví všechny sekce linkeru (.text, .heap, .rwdata, .rodata, .bss, .stack) do interní nebo externí RAM. Použití bootovací kopírky ke kopírování aplikace procesoru Nios V ze bootovací flash paměti do interní nebo externí RAM pro spuštění pomáhá zlepšit výkon při provádění.
U této možnosti spouštění spustí procesor Nios V po resetu systému software pro kopírování spouštěcího systému. Software zkopíruje aplikaci z flash paměti do interní nebo externí paměti RAM. Po dokončení procesu procesor Nios V předá řízení programu aplikaci.

Poznámka:

Pokud je bootovací kopírka v paměti flash, pak není nutné volat funkci alt_load(), protože obě slouží stejnému účelu.

4.4.2.1. Zavaděč procesoru Nios V přes generické sériové rozhraní Flash
Bootloader přes GSFI je bootovací kopírka procesoru Nios V, která podporuje flash paměť QSPI v zařízeních založených na řídicích blocích. Bootloader přes GSFI obsahuje následující funkce:
· Vyhledá softwarovou aplikaci v energeticky nezávislé paměti.
· Rozbalí a zkopíruje obraz softwarové aplikace do paměti RAM.
· Po dokončení kopírování automaticky přepne provádění procesoru na aplikační kód v paměti RAM.

Příručka návrhu vestavěných procesorů Nios® V 52

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Bootovací obraz se nachází hned za bootovacím kopírovacím programem. Musíte zajistit, aby offset resetu procesoru Nios V směřoval na začátek bootovacího kopírovacího programu. Obrázek: Mapa paměti pro QSPI Flash s bootloaderem přes GSFI Mapa paměti pro QSPI Flash s bootloaderem přes GSFI ukazuje mapu flash paměti pro QSPI flash při použití bootovacího kopírovacího programu. Tato mapa paměti předpokládá, že flash paměť ukládá obraz FPGA a aplikační software.

Tabulka 32. Bootloader přes GSFI pro procesorové jádro Nios V

Jádro procesoru Nios V
Procesor Nios V/m

Bootloader přes GSFI File Umístění
/niosv/components/bootloader/ niosv_m_bootloader.srec

Procesor Nios V/g

/niosv/components/bootloader/ niosv_g_bootloader.srec

Obrázek 29. Mapa paměti pro QSPI Flash s bootloaderem přes GSFI

Zákaznická data (*.hex)

Kód aplikace

Poznámka:

Obnovit vektorový posun

Boot Copier

0x01E00000

Obrázek FPGA (*.sof)

0x00000000

1. Na začátku mapy paměti je obraz FPGA, následovaný vašimi daty, která se skládají ze spouštěcího kopírovacího programu a kódu aplikace.
2. V Návrháři platformy musíte nastavit posun resetu procesoru Nios V a nasměrovat ho na začátek kopírky spouštěcího programu.
3. Velikost obrazu FPGA není známa. Přesnou velikost zjistíte až po kompilaci projektu Quartus Prime. Musíte určit horní hranici velikosti obrazu FPGA Altera. NapříkladampPokud je odhadovaná velikost obrazu FPGA menší než 0x01E00000, nastavte v Návrháři platformy Reset Offset na 0x01E00000, což je zároveň začátek spouštěcího kopírovacího programu.
4. Dobrý návrhový postup spočívá v nastavení posunu vektoru resetování na hranici sektoru flash paměti, aby se zajistilo, že v případě aktualizace softwarové aplikace nedojde k částečnému smazání obrazu FPGA.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 53

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

4.4.2.2. Zavaděč procesoru Nios V prostřednictvím Správce zabezpečených zařízení
Bootloader přes Secure Device Manager (SDM) je kód aplikace HAL využívající ovladač IP HAL od klienta Mailbox Client Altera FPGA pro bootování procesoru. Společnost Altera doporučuje tento bootloader při použití konfigurační paměti QSPI flash v zařízeních založených na SDM pro bootování procesoru Nios V.
Po resetu systému procesor Nios V nejprve spustí bootloader přes SDM z malé paměti na čipu a poté jej spustí přes SDM pro komunikaci s konfigurační QSPI flash pamětí pomocí IP adresy klienta Mailbox.
Bootloader přes SDM provádí následující úkoly: · Vyhledává software Nios V v konfigurační QSPI flash paměti. · Zkopíruje software Nios V do paměti RAM na čipu nebo do externí paměti RAM. · Přepne provádění procesoru na software Nios V v paměti RAM na čipu nebo
externí RAM.
Jakmile je proces dokončen, bootloader přes SDM předá řízení programu uživatelské aplikaci. Společnost Altera doporučuje organizaci paměti, jak je popsáno v části Organizace paměti pro bootloader přes SDM.
Obrázek 30. Postup zavaděče přes SDM

Konfigurace

Blikat

2

Software Nios V

SDM

Zařízení FPGA založené na SDM

IP adresa klienta poštovní schránky

FPGA logika Nios V

4 externí RAM
Software Nios V

Na čipu 4

EMIF

BERAN

Paměť na čipu

IP

Nios V.

1

Software

Bootloader přes SDM

3

3

1. Procesor Nios V spouští bootloader přes SDM z paměti na čipu.
2. Bootloader komunikuje přes SDM s konfigurační flash pamětí a vyhledává software Nios V.
3. Bootloader přes SDM zkopíruje software Nios V z konfigurační flash paměti do RAM na čipu / externí RAM.
4. Bootloader přes SDM přepne provádění procesoru Nios V na software Nios V v paměti RAM na čipu / externí paměti RAM.

4.4.3. Spouštění aplikace procesoru Nios V na místě z paměti OCRAM
V této metodě je resetovací adresa procesoru Nios V nastavena na základní adresu paměti na čipu (OCRAM). Binární soubor aplikace (.hex) file se načte do paměti OCRAM při konfiguraci FPGA, po kompilaci hardwarového návrhu v softwaru Quartus Prime. Jakmile se procesor Nios V resetuje, aplikace se začne provádět a přejde do vstupního bodu.

Příručka návrhu vestavěných procesorů Nios® V 54

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Poznámka:

· Funkce Execute-In-Place z OCRAM nevyžaduje bootovací kopírku, protože aplikace procesoru Nios V je již nainstalována při resetu systému.
· Společnost Altera doporučuje pro tuto metodu spouštění povolit funkci alt_load(), aby se vestavěný software choval identicky i při resetu bez nutnosti překonfigurovat obraz FPGA zařízení.
· V nastavení BSP musíte povolit funkci alt_load(), aby se po resetu systému zkopírovala sekce .rwdata. V této metodě se počáteční hodnoty inicializovaných proměnných ukládají odděleně od odpovídajících proměnných, aby se zabránilo jejich přepsání při spuštění programu.

4.4.4. Spuštění aplikace procesoru Nios V na místě z TCM
Metoda spuštění na místě nastaví resetovací adresu procesoru Nios V na základní adresu pevně propojené paměti (TCM). Binární soubor aplikace (.hex) file se načte do TCM při konfiguraci FPGA po kompilaci návrhu hardwaru v softwaru Quartus Prime. Jakmile se procesor Nios V resetuje, aplikace se začne provádět a přejde do vstupního bodu.

Poznámka:

Funkce Execute-In-Place z TCM nevyžaduje bootovací kopírku, protože aplikace procesoru Nios V je již nainstalována při resetu systému.

4.5. Bootování procesoru Nios V z paměti Flash na čipu (UFM)

V zařízeních MAX 10 FPGA je k dispozici bootování a spouštění softwaru procesorem Nios V z paměti on-chip flash (UFM). Procesor Nios V podporuje následující dvě možnosti bootování s využitím paměti on-chip flash v režimu interní konfigurace:
· Aplikace procesoru Nios V se spouští přímo z paměti Flash na čipu.
· Aplikace procesoru Nios V se kopíruje z paměti On-Chip Flash do RAM pomocí bootovacího kopírovacího programu.

Tabulka 33. Podporované flash paměti s příslušnými možnostmi spouštění

Podporované bootovací paměti

Metody spouštění Nios V

Umístění běhového prostředí aplikace

Boot Copier

Pouze MAX 10 zařízení (s OnChip Flash IP)

Aplikace procesoru Nios V se spouští na místě z paměti On-Chip Flash
Aplikace procesoru Nios V zkopírována z paměti flash na čipu do paměti RAM pomocí bootovacího kopírovacího programu

Paměť na čipu (XIP) + OCRAM/externí RAM (pro zapisovatelné datové sekce)

Funkce alt_load()

OCRAM/ Externí RAM

Opětovné použití bootloaderu přes GSFI

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 55

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Obrázek 31.

Postup návrhu, konfigurace a spouštění
Návrh · Vytvořte si projekt založený na procesoru Nios V pomocí nástroje Platform Designer. · Ujistěte se, že v návrhu systému je externí RAM nebo RAM integrovaná v čipu.

Konfigurace a kompilace FPGA
· Nastavte stejný režim interní konfigurace v On-chip Flash IP v programech Platform Designer a Quartus Prime. · Nastavte agenta pro reset procesoru Nios V na On-chip Flash. · Vyberte preferovanou metodu inicializace UFM. · Vygenerujte svůj návrh v programu Platform Designer. · Zkompilujte svůj projekt v softwaru Quartus Prime.

Projekt BSP uživatelské aplikace · Vytvoření HAL BSP procesoru Nios V na základě .sopcinfo file vytvořeno nástrojem Platform Designer. · Upravte nastavení BSP procesoru Nios V a skript Linker v editoru BSP. · Vygenerujte projekt BSP.
Projekt uživatelské aplikace APP · Vývoj kódu aplikace pro procesor Nios V. · Kompilace aplikace pro procesor Nios V a generování aplikace pro procesor Nios V (.hex) file· Pokud v Intel FPGA On-Chip Flash IP zaškrtnete možnost Inicializovat obsah paměti, znovu zkompilujte projekt v softwaru Quartus Prime.

Programování FileKonverze, stažení a spuštění · Generování souboru .pof z flash paměti na čipu file pomocí programování Convert Filefunkce v softwaru Quartus Prime.
· Naprogramujte soubor .pof file do zařízení MAX 10. · Vypněte a znovu zapněte hardware.
4.5.1. Popis integrované flash paměti MAX 10 FPGA
Zařízení FPGA MAX 10 obsahují flash paměť na čipu, která je rozdělena do dvou částí: · Konfigurační flash paměť (CFM) – ukládá data hardwarové konfigurace pro
MAX 10 FPGA. · Uživatelská flash paměť (UFM) – ukládá uživatelská data nebo softwarové aplikace.
Architektura UFM zařízení MAX 10 je kombinací měkkých a pevných IP adres. K UFM je možné přistupovat pouze pomocí jádra On-Chip Flash IP v softwaru Quartus Prime.
Jádro IP paměti On-Chip Flash podporuje následující funkce: · Přístup pro čtení a zápis do sektorů UFM a CFM (pokud je povoleno v Platform Designeru)
s využitím datového a řídicího podřízeného rozhraní Avalon MM. · Podporuje mazání stránek, mazání sektorů a zápis sektorů. · Simulační model pro přístupy pro čtení/zápis UFM s využitím různých simulačních nástrojů EDA.

Příručka návrhu vestavěných procesorů Nios® V 56

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Tabulka 34. Oblasti flash paměti na čipu v zařízeních MAX 10 FPGA

Bleskové oblasti

Funkčnost

Konfigurační flash paměť (sektory CFM0-2)

Konfigurace FPGA file skladování

Uživatelská flash paměť (sektory UFM0-1)

Aplikace procesoru Nios V a uživatelská data

FPGA obvody MAX 10 podporují několik konfiguračních režimů a některé z těchto režimů umožňují použití CFM1 a CFM2 jako další oblasti UFM. Následující tabulka ukazuje umístění úložiště konfiguračních obrazů FPGA na základě konfiguračních režimů FPGA MAX 10.

Tabulka 35. Umístění úložiště obrazů konfigurace FPGA

Konfigurační režim Duálně komprimované obrazy

Komprimovaný obraz CFM2 2

CFM1

Komprimovaný obraz CFM0 1

Jeden nekomprimovaný obrázek

Virtuální UFM

Nekomprimovaný obraz

Jeden nekomprimovaný obrázek s inicializací paměti

Nekomprimovaný obraz (s předem inicializovaným obsahem paměti na čipu)

Jeden komprimovaný obraz s inicializací paměti Komprimovaný obraz (s předem inicializovaným obsahem paměti na čipu)

Jeden komprimovaný obrázek

Virtuální UFM

Komprimovaný obrázek

Pro přístup k flash paměti v FPGA MAX 10 musíte použít jádro On-chip Flash IP. Můžete vytvořit instanci a propojit On-chip Flash IP se softwarem Quartus Prime. Měkké jádro procesoru Nios V používá propojení Platform Designer pro komunikaci s On-chip Flash IP.
Obrázek 32. Propojení mezi integrovanou flash pamětí a procesorem Nios V

Poznámka:

Ujistěte se, že je port CSR pro paměť Flash na čipu připojen k procesoru Nios V, aby procesor mohl řídit operace zápisu a mazání.
Jádro On-Chip Flash IP může poskytovat přístup k pěti sektorům flash paměti – UFM0, UFM1, CFM0, CFM1 a CFM2.
Důležité informace o sektorech UFM a CFM: · Sektory CFM jsou určeny pro ukládání konfiguračních (bitstreamových) dat (*.pof).
· Uživatelská data mohou být uložena v sektorech UFM a mohou být skryta, pokud jsou v nástroji Platform Designer vybrána správná nastavení.
· Některá zařízení nemají sektor UFM1. Dostupné sektory v každém jednotlivém zařízení MAX 10 FPGA naleznete v tabulce: Velikost sektorů UFM a CFM.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 57

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

· CFM2 můžete nakonfigurovat jako virtuální UFM výběrem režimu konfigurace jednoho nekomprimovaného obrazu.
· CFM2 a CFM1 můžete nakonfigurovat jako virtuální UFM výběrem režimu konfigurace Jeden nekomprimovaný obraz.
· Velikost každého sektoru se liší v závislosti na vybraných zařízeních FPGA MAX 10.

Tabulka 36.

Velikost sektoru UFM a CFM
Tato tabulka uvádí rozměry polí UFM a CFM.

Zařízení

Stránky na sektor

UFM1 UFM0 CFM2 CFM1 CFM0

Velikost stránky (kbit/s)

Maximální uživatel
Velikost flash paměti (kbit) (3)

Celková velikost konfigurační paměti (kbit/s)

10M02 3

3

0

0

34

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

Velikost OCRAM (kbit)
108 189 378 549 675 1260 1638

Související informace · Uživatelská příručka pro konfiguraci FPGA MAX 10 · Uživatelská příručka pro flash paměť Altera MAX 10

4.5.2. Spuštění aplikace procesoru Nios V na místě z UFM

Řešení Execute-In-Place z UFM je vhodné pro aplikace s procesorem Nios V, které vyžadují omezené využití paměti na čipu. Funkce alt_load() funguje jako mini bootovací kopírka, která kopíruje datové sekce (.rodata, .rwdata nebo .exceptions) ze bootovací paměti do RAM na základě nastavení BSP. Sekce kódu (.text),
což je sekce pouze pro čtení, zůstává v oblasti integrované flash paměti MAX 10. Toto nastavení minimalizuje využití RAM, ale může omezit výkon při provádění kódu, protože přístup k flash paměti je pomalejší než k integrované RAM.

Aplikace procesoru Nios V je naprogramována do sektoru UFM. Vektor resetování procesoru Nios V ukazuje na základní adresu UFM pro spuštění kódu z UFM po resetu systému.

Pokud k ladění aplikace používáte debugger na úrovni zdrojového kódu, musíte použít hardwarový breakpoint. Je to proto, že UFM nepodporuje náhodný přístup k paměti, který je nezbytný pro ladění soft breakpointů.

Poznámka:

Během provádění příkazů na místě v MAX 10 nelze mazat ani zapisovat UFM. Pokud potřebujete UFM vymazat nebo zapsat, přepněte na přístup bootovací kopírky.

(3) Maximální možná hodnota, která závisí na zvoleném režimu konfigurace.

Příručka návrhu vestavěných procesorů Nios® V 58

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Obrázek 33. Aplikace XIP procesoru Nios V od UFM

Max. 10 zařízení

.POF
Hardware Nios V .SOF
Software Nios V .HEX

Programátor Quartus

Flash na čipu

CFM

Hardware Nios V

UFM

Software Nios V

Vnitřní konfigurace

IP paměť na čipu

Logika FPGA
Procesor Nios V

Paměť RAM na čipu

Externí

BERAN

EMIF

IP

4.5.2.1. Postup návrhu hardwaru
Následující část popisuje podrobný postup pro vytvoření bootovacího systému pro aplikaci procesoru Nios V z paměti On-Chip Flash.ampNíže uvedený obrázek je sestaven s použitím zařízení MAX 10.
Nastavení IP komponent
1. Vytvořte si projekt procesoru Nios V pomocí Quartus Prime a Platform Designeru. 2. Ujistěte se, že je do vaší platformy přidána externí RAM nebo paměť OCRAM (On-Chip Memory).
Designový systém.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 59

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16
Obrázek 34. PřampIP připojení v Platform Designeru pro bootování Nios V z OnChip Flash (UFM)

3. V editoru parametrů IP paměti On-Chip Flash nastavte Konfigurační režim na jednu z následujících možností podle vašich preferencí návrhu: · Jeden nekomprimovaný obraz · Jeden komprimovaný obraz · Jeden nekomprimovaný obraz s inicializací paměti · Jeden komprimovaný obraz s inicializací paměti
Další informace o duálně komprimovaných obrazech naleznete v uživatelské příručce pro konfiguraci MAX 10 FPGA – Vzdálený upgrade systému.

Poznámka:

Musíte přiřadit skrytý přístup ke všem oblastem CFM v IP adrese flash na čipu.

Obrázek 35. Výběr režimu konfigurace v editoru parametrů flash paměti na čipu

Nastavení IP adresy flash paměti na čipu – inicializace UFM Můžete si vybrat jednu z následujících metod dle vašich preferencí:

Příručka návrhu vestavěných procesorů Nios® V 60

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Poznámka:

Kroky v následujících podkapitolách (Postup návrhu softwaru a programování) závisí na výběru, který zde provedete.

· Metoda 1: Inicializace dat UFM v SOF během kompilace
Quartus Prime zahrnuje inicializační data UFM do SOF během kompilace. Rekompilace SOF je nutná, pokud dojde ke změnám v datech UFM.
1. Zaškrtněte políčka Inicializovat obsah Flash a Povolit nestandardní inicializaci. file.

Obrázek 36. Inicializace obsahu flash paměti a povolení nestandardní inicializace File

2. Zadejte cestu k vygenerovanému souboru .hex file (z příkazu elf2hex) v hexadecimálním souboru nebo souboru MIF vytvořeném uživatelem file.
Obrázek 37. Přidání hexadecimálního souboru File Cesta

· Metoda 2: Kombinace dat UFM s kompilovaným SOF během generování POF
Data UFM jsou při převodu programování kombinována s kompilovaným SOF. files. Není nutné znovu kompilovat SOF, a to ani v případě, že se data UFM změní. Během vývoje není nutné znovu kompilovat SOF. files pro změny v aplikaci. Altera doporučuje tuto metodu pro vývojáře aplikací.
1. Zrušte zaškrtnutí políčka Inicializovat obsah Flash.
Obrázek 38. Inicializace obsahu Flash s nestandardní inicializací File

Obnovení nastavení agenta pro metodu spuštění na místě procesoru Nios V
1. V editoru parametrů procesoru Nios V nastavte agenta pro resetování na možnost Paměť na čipu.
Obrázek 39. Nastavení editoru parametrů procesoru Nios V s resetovacím agentem nastaveným na hodnotu On-Chip Flash

2. Po zobrazení dialogového okna Generování klikněte na tlačítko Generovat HDL. 3. Zadejte výstup. file možnosti generování a klikněte na tlačítko Generovat.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 61

4. Řešení pro konfiguraci a bootování procesoru 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. Kliknutím na tlačítko OK zavřete okno Možnosti zařízení a pinů.
3. Kliknutím na tlačítko OK zavřete okno Zařízení.
4. Click Processing Start Compilation to compile your project and generate the .sof file.

Poznámka:

Pokud se nastavení konfiguračního režimu v softwaru Quartus Prime a editoru parametrů Platform Designer liší, projekt Quartus Prime selže s následující chybovou zprávou.

Obrázek 41.

Chybová zpráva pro nastavení jiného režimu konfigurace (14740): Konfigurační režim na atomu „q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block“ neodpovídá nastavení projektu. Aktualizujte a regenerujte systém Qsys tak, aby odpovídal nastavení projektu.

Související informace Uživatelská příručka pro konfiguraci FPGA MAX 10

4.5.2.2. Postup návrhu softwaru
Tato část popisuje postup návrhu pro generování a sestavení softwarového projektu pro procesor Nios V. Pro zajištění efektivnějšího postupu sestavení se doporučuje vytvořit podobný adresářový strom ve vašem návrhovém projektu. Následující postup návrhu softwaru je založen na tomto adresářovém stromu.
Chcete-li vytvořit strom adresářů softwarového projektu, postupujte takto: 1. Ve složce návrhového projektu vytvořte složku s názvem software. 2. Ve složce software vytvořte dvě složky s názvem hal_app a hal_bsp.
Obrázek 42. Strom adresářů softwarových projektů

Příručka návrhu vestavěných procesorů Nios® V 62

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16
Vytvoření projektu BSP aplikace
Chcete-li spustit editor BSP, postupujte takto: 1. Vstupte do příkazového shellu Nios V. 2. Spusťte editor BSP příkazem niosv-bsp-editor. 3. V editoru BSP klikněte na File Nový BSP pro zahájení vašeho BSP projektu. 4. Nakonfigurujte následující nastavení:
· Informace o SOPC File název: Zadejte SOPCINFO file (.sopcinfo). · Název CPU: Vyberte procesor Nios V. · Operační systém: Vyberte operační systém procesoru Nios V. · Verze: Ponechte výchozí nastavení. · Cílový adresář BSP: Vyberte cestu k adresáři projektu BSP. Můžete
přednastavte si to na /software/hal_bsp povolením volby Použít výchozí umístění. · Nastavení BSP File název: Zadejte název nastavení BSP File. · Další skripty Tcl: Zaškrtnutím políčka Povolit další skript Tcl zajistěte skript BSP Tcl. 5. Klikněte na OK.
Figure 43. Configure New 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:

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 63

4. Řešení pro konfiguraci a bootování procesoru 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.

Příručka návrhu vestavěných procesorů Nios® V 64

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru 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.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 65

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16
4.5.2.3. Programming 1. In Quartus Prime, click File Převést programování 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 Nastavení
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

Příručka návrhu vestavěných procesorů Nios® V 66

Odeslat zpětnou vazbu

4. Řešení pro konfiguraci a bootování procesoru 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 konverze.
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.

Poznámka:

The applied boot copier is the same as the Bootloader via GSFI.

Odeslat zpětnou vazbu

Příručka návrhu vestavěných procesorů Nios® V 67

4. Řešení pro konfiguraci a bootování procesoru Nios V 726952 | 2025.07.16

Figure 52. Nios V Application Copied from UFM to RAM using Boot Copier

Max. 10 zařízení

.POF
Hardware Nios V .SOF
Software Nios V .HEX
Bootloader .SREC

Programátor Quartus

Externí RAM
Software Nios V

Flash na čipu

CFM

Nios V Hardwa

Dokumenty / zdroje

altera Nios V Embedded Processor [pdfUživatelská příručka
Nios V, Nios V-m, Nios V-g, Nios V-c, Nios V Embedded Processor, Nios V, Embedded Processor, Processor

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *