Microsemi AC490 RTG4 FPGA: Sestavení procesorového subsystému Mi-V
Historie revizí
Historie revizí popisuje změny, které byly v dokumentu implementovány. Změny jsou uvedeny podle revizí, počínaje nejnovější publikací.
Revize 3.0
Níže je uveden souhrn změn provedených v této revizi.
- Aktualizován dokument pro Libero SoC v2021.2.
- Aktualizováno Obrázek 1, strana 3 až Obrázek 3, strana 5.
- Nahrazen Obrázek 4, strana 5, Obrázek 5, strana 7 a Obrázek 18, strana 17.
- Aktualizována tabulka 2, strana 6 a tabulka 3, strana 7.
- Přidán Dodatek 1: Programování zařízení pomocí FlashPro Express, strana 14.
- Přidán Dodatek 3: Spuštění skriptu TCL, strana 20.
- Odstraněny odkazy na čísla verzí Libera.
Revize 2.0
Následuje souhrn změn provedených v této revizi.
- Přidány informace o výběru COM portu v Nastavení hardwaru, strana 9.
- Aktualizováno, jak vybrat vhodný COM port v Spuštění ukázky, strana 11.
Revize 1.0
První zveřejnění dokumentu.
Budování procesorového subsystému Mi-V
Microchip nabízí procesor Mi-V IP, 32bitový procesor RISC-V a softwarový nástroj pro vývoj návrhů založených na procesorech RISC-V. RISC-V, standardní otevřená architektura instrukční sady (ISA) pod správou RISC-V Foundation, nabízí četné výhody, mezi které patří umožnění open source komunitě testovat a vylepšovat jádra rychlejším tempem než uzavřené ISA.
FPGA RTG4® podporují měkký procesor Mi-V pro spouštění uživatelských aplikací. Tato aplikační poznámka popisuje, jak sestavit procesorový subsystém Mi-V pro spouštění uživatelské aplikace z určených RAM nebo DDR paměti.
Požadavky na design
V následující tabulce jsou uvedeny hardwarové a softwarové požadavky pro spuštění ukázky.
Tabulka 1 • Požadavky na design
Software
- Libero® System-on-Chip (SoC)
- FlashPro Express
- SoftConsole
Poznámka: Viz soubor readme.txt file uvedeno v návrhu files pro verze softwaru použité s tímto referenčním návrhem.
Poznámka: Libero SmartDesign a snímky obrazovek konfigurace zobrazené v této příručce jsou pouze ilustrativní.
Otevřete design Libero a podívejte se na nejnovější aktualizace.
Předpoklady
Než začnete:
- Stáhněte a nainstalujte Libero SoC (jak je uvedeno v webweb pro tento návrh) na hostitelském počítači z následujícího umístění: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
- Pro demo design fileodkaz ke stažení: http://soc.microsemi.com/download/rsc/?f=rtg4_ac490_df
Popis designu
Velikost RTG4 μPROM je 57 KB. Uživatelské aplikace, které nepřesahují velikost μPROM, mohou být uloženy v μPROM a spouštěny z interních pamětí Large SRAM (LSRAM). Uživatelské aplikace, které přesahují velikost μPROM, musí být uloženy v externí energeticky nezávislé paměti. V tomto případě je vyžadován bootloader spouštějící se z μPROM pro inicializaci interních nebo externích pamětí SRAM s cílovou aplikací z energeticky nezávislé paměti.
Referenční návrh demonstruje schopnost bootloaderu zkopírovat cílovou aplikaci (o velikosti 7 KB) z SPI flash do paměti DDR a spustit z paměti DDR. Bootloader se spouští z vnitřní paměti. Kódová část je umístěna v μPROM a datová část je umístěna ve vnitřní velké paměti SRAM (LSRAM).
Poznámka: Další informace o tom, jak vytvořit projekt Mi-V bootloader Libero a jak vytvořit projekt SoftConsole, najdete v TU0775: PolarFire FPGA: Výukový program pro vytváření procesorového subsystému Mi-V
Obrázek 1 ukazuje blokové schéma nejvyšší úrovně návrhu.
Obrázek 1 • Blokový diagram nejvyšší úrovně
Jak je znázorněno na obrázku 1, následující body popisují tok dat návrhu:
- Procesor Mi-V spouští bootloader z μPROM a určených LSRAM. Bootloader se propojuje s GUI přes blok CoreUARTapb a čeká na příkazy.
- Když je příkaz SPI flash programu přijat z GUI, bootloader naprogramuje SPI flash s cílovou aplikací přijatou z GUI.
- Když je z GUI přijat bootovací příkaz, bootloader zkopíruje aplikační kód z SPI flash do DDR a poté jej provede z DDR.
Struktura hodin
V návrhu jsou dvě taktovací domény (40 MHz a 20 MHz). Palubní 50 MHz krystalový oscilátor je připojen k bloku PF_CCC, který generuje 40 MHz a 20 MHz hodiny. Systémový takt 40 MHz pohání celý subsystém procesoru Mi-V kromě μPROM. Takt 20 MHz pohání rozhraní RTG4 μPROM a RTG4 μPROM APB. RTG4 μPROM podporuje taktovací frekvenci až 30 MHz. DDR_FIC je nakonfigurován pro rozhraní sběrnice AHB, které pracuje na 40 MHz. Paměť DDR pracuje na frekvenci 320 MHz.
Obrázek 2 ukazuje strukturu taktování.
Obrázek 2 • Struktura hodin
Obnovit strukturu
Signály POWER_ON_RESET_N a LOCK jsou spojeny AND a výstupní signál (INIT_RESET_N) se používá k resetování bloku RTG4FDDRC_INIT. Po uvolnění resetu FDDR se inicializuje ovladač FDDR a poté se aktivuje signál INIT_DONE. Signál INIT_DONE se používá k resetování procesoru Mi-V, periferií a dalších bloků v návrhu.
Obrázek 3 • Resetovat strukturu
Implementace hardwaru
Obrázek 4 ukazuje návrh Libero referenčního návrhu Mi-V.
Obrázek 4 • Modul SmartDesign
Poznámka: Snímek obrazovky Libero SmartDesign zobrazený v této poznámce k aplikaci je pouze ilustrativní. Otevřete projekt Libero a uvidíte nejnovější aktualizace a verze IP.
IP bloky
Obrázek 2 uvádí seznam IP bloků použitých v referenčním návrhu subsystému procesoru Mi-V a jejich funkce.
Tabulka 2 • IP bloky1
Všechny IP uživatelské příručky a příručky jsou dostupné v Libero SoC -> Catalog.
RTG4 μPROM ukládá až 10,400 36 374,400bitových slov (32 0 bitů dat). Podporuje pouze operace čtení během normálního provozu zařízení po naprogramování zařízení. Jádro procesoru MIV_RV32_C0 obsahuje jednotku pro načítání instrukcí, prováděcí potrubí a systém datové paměti. Paměťový systém procesoru MIV_RV32_C0 obsahuje mezipaměť instrukcí a mezipaměť dat. Jádro MIV_RVXNUMX_CXNUMX obsahuje dvě externí rozhraní AHB – hlavní rozhraní sběrnice AHB (MEM) a hlavní rozhraní sběrnice AHB Memory Mapped I/O (MMIO). Řadič mezipaměti používá rozhraní AHB MEM k doplnění instrukcí a mezipaměti dat. Rozhraní AHB MMIO se používá pro přístup k I/O periferiím bez mezipaměti.
Paměťové mapy rozhraní AHB MMIO a rozhraní MEM jsou 0x60000000 až 0X6FFFFFFF a 0x80000000 až 0x8FFFFFFFF. Resetovací vektorová adresa procesoru je konfigurovatelná. Resetování MIV_RV32_C0 je signál aktivního nízkého signálu, který musí být deaktivován v synchronizaci se systémovými hodinami pomocí resetovacího synchronizátoru.
Procesor MIV_RV32_C0 přistupuje do paměti pro provádění aplikací pomocí rozhraní AHB MEM. Instance sběrnice CoreAHBLite_C0_0 je nakonfigurována tak, aby poskytovala 16 podřízených slotů, každý o velikosti 1 MB. K této sběrnici je připojena paměť RTG μPROM a bloky RTG4FDDRC. μPROM se používá pro uložení aplikace bootloader.
Procesor MIV_RV32_C0 směruje datové transakce mezi adresami 0x60000000 a 0x6FFFFFFF do rozhraní MMIO. Rozhraní MMIO je připojeno ke sběrnici CoreAHBLite_C1_0, aby komunikovalo s periferiemi připojenými k jeho slave slotům. Instance sběrnice CoreAHBLite_C1_0 je nakonfigurována tak, aby poskytovala 16 podřízených slotů, každý o velikosti 256 MB. Periferie UART, CoreSPI a CoreGPIO jsou připojeny ke sběrnici CoreAHBLite_C1_0 přes most CoreAHBTOAPB3 a sběrnici CoreAPB3.
Mapa paměti
Tabulka 3 uvádí paměťovou mapu pamětí a periferií.
Tabulka 3 • Mapa paměti
Implementace softwaru
Referenční design files zahrnují pracovní prostor SoftConsole, který obsahuje následující softwarové projekty:
- Bootloader
- Cílová aplikace
Bootloader
Aplikace bootloader je naprogramována na μPROM během programování zařízení. Bootloader implementuje následující funkce:
- Programování SPI Flash s cílovou aplikací.
- Kopírování cílové aplikace z SPI Flash do paměti DDR3.
- Přepnutí spouštění programu na cílovou aplikaci dostupnou v paměti DDR3.
Aplikace bootloaderu musí být spuštěna z μPROM s LSRAM jako zásobníkem. Adresy ROM a RAM ve skriptu linkeru jsou tedy nastaveny na počáteční adresu μPROM a určené LSRAM. Sekce kódu se spouští z ROM a datová sekce se spouští z RAM, jak je znázorněno na obrázku 5.
Obrázek 5 • Skript Bootloader Linker
Skript linkeru (microsemi-riscv-ram_rom.ld) je k dispozici na adrese
Složka SoftConsole_Project\mivrv32im-bootloader návrhu files.
Cílová aplikace
Cílová aplikace zabliká integrovanými LED diodami 1, 2, 3 a 4 a vytiskne zprávy UART. Cílová aplikace musí být spuštěna z paměti DDR3. Proto jsou sekce kódu a zásobníku ve skriptu linkeru nastaveny na počáteční adresu paměti DDR3, jak je znázorněno na obrázku 6.
Obrázek 6 • Skript linkeru cílové aplikace
Skript linkeru (microsemi-riscv-ram.ld) je k dispozici ve složce SoftConsole_Project\miv-rv32imddr- application návrhu files.
Nastavení hardwaru
Následující kroky popisují, jak nastavit hardware:
- Ujistěte se, že je deska vypnutá pomocí přepínače SW6.
- Připojte propojky na vývojovém kitu RTG4, jak je znázorněno v následující tabulce:
Tabulka 4 • PropojkySkokan Připnout od Pin To Komentáře J11, J17, J19, J23, J26, J21, J32 a J27 1 2 Výchozí J16 2 3 Výchozí J33 1 2 Výchozí 3 4 - Připojte hostitelský počítač ke konektoru J47 pomocí kabelu USB.
- Ujistěte se, že jsou automaticky detekovány ovladače můstku USB na UART. To lze ověřit ve správci zařízení hostitelského počítače.
- Jak je znázorněno na obrázku 7, vlastnosti portu COM13 ukazují, že je připojen k USB Serial Converter C. Proto je v tomto příkladu vybrán COM13.ample. Číslo portu COM závisí na systému.
Obrázek 7 • Správce zařízení
Poznámka: Pokud nejsou nainstalovány ovladače USB to UART bridge, stáhněte a nainstalujte ovladače z www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip. - Připojte napájecí zdroj ke konektoru J9 a zapněte vypínač napájení SW6.
Obrázek 8 • Vývojová sada RTG4
Spuštění ukázky
Tato kapitola popisuje kroky k programování zařízení RTG4 s referenčním návrhem, programování SPI Flash s cílovou aplikací a spouštění cílové aplikace z paměti DDR pomocí grafického uživatelského rozhraní Mi-V Bootloader.
Spuštění ukázky zahrnuje následující kroky:
- Programování zařízení RTG4, strana 11
- Spuštění zavaděče Mi-V, strana 11
Programování zařízení RTG4
Zařízení RTG4 lze naprogramovat pomocí FlashPro Express nebo Libero SOC.
- Chcete-li naprogramovat vývojovou sadu RTG4 s touto úlohou file poskytnuta jako součást návrhu files pomocí softwaru FlashPro Express, viz Příloha 1: Programování zařízení pomocí FlashPro Express, strana 14.
- Chcete-li naprogramovat zařízení pomocí Libero SoC, viz Příloha 2: Programování zařízení pomocí Libero SoC, strana 17.
Spuštění Mi-V Bootloaderu
Po úspěšném dokončení programování postupujte takto:
- Spusťte soubor setup.exe file k dispozici v následujícím provedení files umístění.
<$Download_Directory>\rtg4_ac490_df\GUI_Installer\Mi-V Bootloader_Installer_V1.4 - Postupujte podle instalačního průvodce a nainstalujte aplikaci GUI Bootloader.
Obrázek 9 ukazuje grafické uživatelské rozhraní bootloaderu RTG4 Mi-V.
Obrázek 9 • GUI zavaděče Mi-V - Vyberte port COM připojený k USB Serial Converter C, jak je znázorněno na obrázku 7.
- Klikněte na tlačítko připojit. Po úspěšném připojení se červený indikátor změní na zelenou, jak je znázorněno na obrázku 10.
Obrázek 10 • Připojte COM port - Klikněte na tlačítko Importovat a vyberte cílovou aplikaci file (.zásobník). Po importu se cesta k file se zobrazí v GUI, jak je znázorněno na obrázku 11.
<$Download_Directory>\rtg4_ac490_df\Source_files
Obrázek 11 • Importujte cílovou aplikaci File - Jak je znázorněno na obrázku 11, klikněte na možnost Program SPI Flash a naprogramujte cílovou aplikaci na SPI Flash. Po naprogramování SPI Flash se zobrazí vyskakovací okno, jak je znázorněno na obrázku 12. Klepněte na OK.
Obrázek 12 • SPI Flash Programmed - Vyberte možnost Start Boot, chcete-li zkopírovat aplikaci z SPI Flash do paměti DDR3 a spustit aplikaci z paměti DDR3. Po úspěšném nabootování cílové aplikace z paměti DDR3 aplikace vytiskne zprávy UART a zabliká LED 1, 2, 3 a 4 integrovaného uživatele, jak je znázorněno na obrázku 13.
Obrázek 13 • Spustit aplikaci z DDR - Aplikace běží z paměti DDR3 a tím demo končí. Zavřete grafické uživatelské rozhraní Mi-V Bootloader.
Programování zařízení pomocí FlashPro Express
Tato část popisuje, jak programovat obvod RTG4 pomocí programovací úlohy file pomocí FlashPro Express.
Chcete-li naprogramovat zařízení, proveďte následující kroky:
- Zajistěte, aby nastavení propojek na desce bylo stejné jako v tabulce 3 v UG0617:
RTG4 Development Kit Uživatelská příručka. - Volitelně lze propojku J32 nastavit pro připojení kolíků 2-3 při použití externího programátoru FlashPro4, FlashPro5 nebo FlashPro6 namísto výchozího nastavení propojky pro použití vestavěného FlashPro5.
Poznámka: Při zapojování propojek musí být vypínač napájení SW6 vypnutý. - Připojte napájecí kabel ke konektoru J9 na desce.
- Zapněte vypínač SW6.
- Pokud používáte vestavěný FlashPro5, připojte kabel USB ke konektoru J47 a hostitelskému počítači.
Případně, pokud používáte externí programátor, připojte plochý kabel do konektoru JTAG hlavičku J22 a připojte programátor k hostitelskému PC. - Na hostitelském počítači spusťte software FlashPro Express.
- Klikněte na Nový nebo vyberte Nový projekt úlohy z FlashPro Express Job z nabídky Projekt a vytvořte nový projekt zakázky, jak je znázorněno na následujícím obrázku.
Obrázek 14 • Projekt úlohy FlashPro Express - V dialogovém okně New Job Project from FlashPro Express Job zadejte následující:
- Programátorská práce file: Klikněte na Procházet a přejděte do umístění, kde se nachází .úloha file se nachází a vyberte file. Výchozí umístění je: \rtg4_ac490_df\Programming_Job
- Umístění projektu úlohy FlashPro Express: Klepněte na Procházet a přejděte do požadovaného umístění projektu FlashPro Express.
Obrázek 15 • Nový projekt úlohy z FlashPro Express Job
- Klepněte na tlačítko OK. Požadované programování file je vybrán a připraven k naprogramování v zařízení.
- Zobrazí se okno FlashPro Express, jak je znázorněno na následujícím obrázku. Potvrďte, že se v poli Programátor zobrazuje číslo programátoru. Pokud ne, potvrďte připojení desky a klikněte na Refresh/Rescan Programmers.
Obrázek 16 • Programování zařízení - Klepněte na RUN. Když je zařízení úspěšně naprogramováno, zobrazí se stav RUN PASSED, jak je znázorněno na následujícím obrázku.
Obrázek 17 • FlashPro Express – RUN PASSED - Zavřete FlashPro Express nebo klikněte na Konec na kartě Projekt.
Programování zařízení pomocí Libero SoC
Referenční design files zahrnují projekt procesorového subsystému Mi-V vytvořený pomocí Libero SoC. Zařízení RTG4 lze naprogramovat pomocí Libero SoC. Projekt Libero SoC je kompletně sestaven a provozován od Synthesis, Place and Route, Timing Verification, FPGA Array Data Generation, Update μPROM Memory Content, Bitstream Generation, FPGA Programming.
Návrhový tok Libera je znázorněn na následujícím obrázku.
Obrázek 18 • Libero Design Flow
Chcete-li naprogramovat zařízení RTG4, musíte otevřít projekt subsystému procesoru Mi-V v Libero SoC a znovu spustit následující kroky:
- Aktualizace obsahu paměti uPROM: V tomto kroku se μPROM naprogramuje pomocí aplikace bootloader.
- Generování bitového proudu: V tomto kroku se úloha file je generován pro zařízení RTG4.
- Programování FPGA: V tomto kroku se obvod RTG4 naprogramuje pomocí úlohy file.
Postupujte takto:
- Z Libero Design Flow vyberte Aktualizovat obsah paměti uPROM.
- Vytvořte klienta pomocí možnosti Přidat.
- Vyberte klienta a poté zvolte možnost Upravit.
- Vyberte Obsah z file a poté vyberte možnost Procházet, jak je znázorněno na obrázku 19.
Obrázek 19 • Edit Data Storage Client - Přejděte na následující návrh files umístění a vyberte miv-rv32im-bootloader.hex file jak je znázorněno na obrázku 20. <$Download_Directory>\rtg4_ac490_df
- Nastavte File Zadejte jako Intel-Hex (*.hex).
- Vyberte Použít relativní cestu z adresáře projektu.
- Klepněte na tlačítko OK.
Obrázek 20 • Import paměti File
- Klepněte na tlačítko OK.
Obsah μPROM je aktualizován. - Poklepejte na Generate Bitstream, jak je znázorněno na obrázku 21.
Obrázek 21 • Generování bitového toku - Poklepáním na Run PROGRAM Action naprogramujte zařízení podle obrázku 21.
Zařízení RTG4 je naprogramováno. Viz Spuštění ukázky, strana 11.
Spuštění skriptu TCL
V návrhu jsou uvedeny skripty TCL files složku v adresáři TCL_Scripts. V případě potřeby lze tok návrhu reprodukovat od implementace návrhu až po vytvoření zakázky file.
Chcete-li spustit TCL, postupujte takto:
- Spusťte software Libero.
- Vyberte Projekt > Spustit skript….
- Klikněte na Procházet a vyberte script.tcl ze staženého adresáře TCL_Scripts.
- Klikněte na Spustit.
Po úspěšném provedení TCL skriptu se v adresáři TCL_Scripts vytvoří projekt Libero.
Další informace o skriptech TCL naleznete v rtg4_ac490_df/TCL_Scripts/readme.txt.
Další podrobnosti o příkazech TCL naleznete v Referenční příručce příkazů Libero® SoC TCL. Kontakt
Technická podpora pro jakékoli dotazy zjištěné při spouštění skriptu TCL.
Microsemi neposkytuje žádnou záruku, prohlášení ani záruku týkající se informací zde obsažených nebo vhodnosti svých produktů a služeb pro jakýkoli konkrétní účel, ani nepřebírá žádnou odpovědnost vyplývající z aplikace nebo použití jakéhokoli produktu nebo okruhu. Zde prodávané produkty a jakékoli další produkty prodávané společností Microsemi byly podrobeny omezenému testování a neměly by být používány ve spojení s kritickým vybavením nebo aplikacemi. Jakékoli výkonnostní specifikace jsou považovány za spolehlivé, ale nejsou ověřeny, a Kupující musí provést a dokončit veškeré výkonnostní a další testování produktů, a to samostatně a společně s jakýmikoli koncovými produkty nebo v nich instalované. Kupující se nebude spoléhat na žádná data a výkonové specifikace nebo parametry poskytnuté společností Microsemi. Je odpovědností kupujícího nezávisle určit vhodnost jakýchkoli produktů a testovat a ověřit je. Informace poskytované společností Microsemi níže jsou poskytovány „tak, jak jsou, kde jsou“ a se všemi chybami a veškerá rizika spojená s těmito informacemi nese výhradně Kupující. Microsemi neuděluje, explicitně ani implicitně, žádné straně žádná patentová práva, licence nebo jakákoli jiná práva duševního vlastnictví, ať už se jedná o takové informace samotné nebo cokoli popsaného v těchto informacích. Informace uvedené v tomto dokumentu jsou majetkem společnosti Microsemi a společnost Microsemi si vyhrazuje právo kdykoli bez upozornění provést jakékoli změny informací v tomto dokumentu nebo jakýchkoli produktů a služeb.
O Microsemi
Microsemi, XNUMX% dceřiná společnost Microchip Technology Inc. (Nasdaq: MCHP), nabízí komplexní portfolio polovodičových a systémových řešení pro letectví a obranu, komunikace, datová centra a průmyslové trhy. Produkty zahrnují vysoce výkonné a radiací zesílené analogové integrované obvody se smíšeným signálem, FPGA, SoC a ASIC; produkty pro řízení spotřeby; časovací a synchronizační zařízení a přesná časová řešení, stanovující světový standard pro čas; Zařízení pro zpracování hlasu; RF řešení; diskrétní součásti; podniková úložiště a komunikační řešení, bezpečnostní technologie a škálovatelný anti-tamper produkty; Ethernetová řešení; Integrované obvody Power-over-Ethernet a střední rozpětí; stejně jako možnosti a služby vlastního návrhu. Více se dozvíte na www.microsemi.com.
Centrála Microsemi
Jedna Enterprise, Aliso Viejo,
CA 92656 USA
V rámci USA: +1 800-713-4113
Mimo USA: +1 949-380-6100
Prodej: +1 949-380-6136
Fax: +1 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
©2021 Microsemi, XNUMX% dceřiná společnost Microchip Technology Inc. Všechna práva vyhrazena. Microsemi a logo Microsemi jsou registrované ochranné známky společnosti Microsemi Corporation. Všechny ostatní ochranné známky a servisní známky jsou majetkem příslušných vlastníků
Dokumenty / zdroje
![]() |
Microsemi AC490 RTG4 FPGA: Sestavení procesorového subsystému Mi-V [pdfUživatelská příručka AC490 RTG4 FPGA Vytvoření subsystému procesoru Mi-V, AC490 RTG4, FPGA Vytvoření subsystému procesoru Mi-V, Subsystém procesoru Mi-V |