Microsemi AC490 RTG4 FPGA: creazione di un sottosistema di processori Mi-V
Cronologia delle revisioni
La cronologia delle revisioni descrive le modifiche implementate nel documento. Le modifiche sono elencate per revisione, a partire dalla pubblicazione più recente.
Revisione 3.0
Di seguito è riportato un riepilogo delle modifiche apportate in questa revisione.
- Aggiornato il documento per Libero SoC v2021.2.
- Aggiornata la Figura 1, pagina 3 alla Figura 3, pagina 5.
- Sostituite Figura 4, pagina 5, Figura 5, pagina 7 e Figura 18, pagina 17.
- Tabella 2 aggiornata, pagina 6 e Tabella 3, pagina 7.
- Aggiunta Appendice 1: Programmazione del dispositivo tramite FlashPro Express, pagina 14.
- Aggiunta Appendice 3: Esecuzione dello script TCL, pagina 20.
- Rimossi i riferimenti ai numeri di versione di Libero.
Revisione 2.0
Di seguito è riportato un riepilogo delle modifiche apportate in questa revisione.
- Aggiunte informazioni sulla selezione della porta COM in Configurazione dell'hardware, pagina 9.
- Aggiornato come selezionare la porta COM appropriata in Esecuzione della demo, pagina 11.
Revisione 1.0
La prima pubblicazione del documento.
Creazione di un sottosistema processore Mi-V
Microchip offre l'IP del processore Mi-V, un processore RISC-V a 32 bit e una toolchain software per sviluppare progetti basati su processore RISC-V. RISC-V, un'architettura ISA (Instruction Set Architecture) aperta standard sotto la governance della RISC-V Foundation, offre numerosi vantaggi, tra cui la possibilità per la comunità open source di testare e migliorare i core a un ritmo più rapido rispetto agli ISA chiusi.
Gli FPGA RTG4® supportano il processore soft Mi-V per eseguire le applicazioni utente. Questa nota applicativa descrive come creare un sottosistema del processore Mi-V per eseguire un'applicazione utente dalle RAM fabric designate o dalla memoria DDR.
Requisiti di progettazione
La tabella seguente elenca i requisiti hardware e software per l'esecuzione della demo.
Tabella 1 • Requisiti di progettazione
Software
- Libero® System-on-Chip (SoC)
- Flash Pro Express
- Soft Console
Nota: Fare riferimento al file readme.txt file previsto nel disegno files per le versioni software utilizzate con questo progetto di riferimento.
Nota: Le schermate di Libero SmartDesign e di configurazione mostrate in questa guida sono solo a scopo illustrativo.
Apri il design Libero per vedere gli ultimi aggiornamenti.
Prerequisiti
Prima di iniziare:
- Scaricare e installare Libero SoC (come indicato nel file website per questo progetto) sul PC host dalla seguente posizione: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
- Per la progettazione dimostrativa filelink per il download: http://soc.microsemi.com/download/rsc/?f=rtg4_ac490_df
Descrizione del design
La dimensione di RTG4 μPROM è di 57 KB. Le applicazioni utente che non superano la dimensione μPROM possono essere memorizzate in μPROM ed eseguite dalle memorie Large SRAM interne (LSRAM). Le applicazioni utente che superano le dimensioni della μPROM devono essere archiviate in una memoria esterna non volatile. In questo caso, è necessario un bootloader in esecuzione da μPROM per inizializzare le memorie SRAM interne o esterne con l'applicazione di destinazione dalla memoria non volatile.
Il progetto di riferimento dimostra la capacità del bootloader di copiare l'applicazione di destinazione (di dimensioni 7 KB) dalla memoria flash SPI alla memoria DDR ed eseguirla dalla memoria DDR. Il bootloader viene eseguito dalle memorie interne. La sezione del codice si trova nella μPROM e la sezione dei dati si trova nella Large SRAM interna (LSRAM).
Nota: Per ulteriori informazioni su come costruire il progetto Libero del bootloader Mi-V e su come costruire il progetto SoftConsole, fare riferimento a TU0775: PolarFire FPGA: Creazione di un tutorial per il sottosistema del processore Mi-V
La Figura 1 mostra il diagramma a blocchi di primo livello del progetto.
Figura 1 • Diagramma a blocchi di primo livello
Come mostrato nella Figura 1, i seguenti punti descrivono il flusso di dati del progetto:
- Il processore Mi-V esegue il bootloader dalla μPROM e dalle LSRAM designate. Il bootloader si interfaccia con la GUI tramite il blocco CoreUARTapb e attende i comandi.
- Quando il comando del programma flash SPI viene ricevuto dalla GUI, il bootloader programma il flash SPI con l'applicazione di destinazione ricevuta dalla GUI.
- Quando il comando di avvio viene ricevuto dalla GUI, il bootloader copia il codice dell'applicazione dal flash SPI a DDR e quindi lo esegue da DDR.
Struttura dell'orologio
Ci sono due domini di clock (40 MHz e 20 MHz) nel design. L'oscillatore a cristallo da 50 MHz integrato è collegato al blocco PF_CCC che genera clock da 40 MHz e 20 MHz. Il clock di sistema a 40 MHz guida l'intero sottosistema del processore Mi-V eccetto μPROM. Il clock a 20 MHz guida l'RTG4 μPROM e l'interfaccia RTG4 μPROM APB. RTG4 μPROM supporta una frequenza di clock fino a 30 MHz. DDR_FIC è configurato per l'interfaccia bus AHB, che opera a 40 MHz. La memoria DDR opera a 320 MHz.
La Figura 2 mostra la struttura del clock.
Figura 2 • Struttura del clock
Ripristina struttura
I segnali POWER_ON_RESET_N e LOCK sono collegati in AND e il segnale di uscita (INIT_RESET_N) viene utilizzato per ripristinare il blocco RTG4FDDRC_INIT. Dopo aver rilasciato il ripristino FDDR, il controller FDDR viene inizializzato e quindi viene asserito il segnale INIT_DONE. Il segnale INIT_DONE viene utilizzato per reimpostare il processore Mi-V, le periferiche e altri blocchi nel progetto.
Figura 3 • Ripristina struttura
Implementazione hardware
La Figura 4 mostra il progetto Libero del progetto di riferimento Mi-V.
Figura 4 • Modulo SmartDesign
Nota: Lo screenshot di Libero SmartDesign mostrato in questa nota applicativa è solo a scopo illustrativo. Apri il progetto Libero per vedere gli ultimi aggiornamenti e le versioni IP.
Blocchi IP
La Figura 2 elenca i blocchi IP utilizzati nel progetto di riferimento del sottosistema del processore Mi-V e la loro funzione.
Tabella 2 • Blocchi IP1
Tutte le guide utente e manuali IP sono disponibili da Libero SoC -> Catalogo.
RTG4 μPROM memorizza fino a 10,400 parole a 36 bit (374,400 bit di dati). Supporta solo le operazioni di lettura durante il normale funzionamento del dispositivo dopo che il dispositivo è stato programmato. Il core del processore MIV_RV32_C0 comprende un'unità di recupero delle istruzioni, una pipeline di esecuzione e un sistema di memoria dei dati. Il sistema di memoria del processore MIV_RV32_C0 include la cache delle istruzioni e la cache dei dati. Il core MIV_RV32_C0 include due interfacce AHB esterne: l'interfaccia master del bus di memoria AHB (MEM) e l'interfaccia master del bus AHB Memory Mapped I/O (MMIO). Il controller della cache utilizza l'interfaccia AHB MEM per ricaricare le istruzioni e le cache dei dati. L'interfaccia AHB MMIO viene utilizzata per un accesso senza cache alle periferiche I/O.
Le mappe di memoria dell'interfaccia AHB MMIO e dell'interfaccia MEM vanno rispettivamente da 0x60000000 a 0X6FFFFFFF e da 0x80000000 a 0x8FFFFFFFF. L'indirizzo del vettore di ripristino del processore è configurabile. Il reset di MIV_RV32_C0 è un segnale active-low, che deve essere deasserito in sincronia con l'orologio di sistema tramite un sincronizzatore di reset.
Il processore MIV_RV32_C0 accede alla memoria di esecuzione dell'applicazione utilizzando l'interfaccia AHB MEM. L'istanza del bus CoreAHBLite_C0_0 è configurata per fornire 16 slot slave, ciascuno della dimensione di 1 MB. La memoria RTG μPROM ei blocchi RTG4FDDRC sono collegati a questo bus. La μPROM viene utilizzata per memorizzare l'applicazione bootloader.
Il processore MIV_RV32_C0 indirizza le transazioni di dati tra gli indirizzi 0x60000000 e 0x6FFFFFFF all'interfaccia MMIO. L'interfaccia MMIO è collegata al bus CoreAHBLite_C1_0 per comunicare con le periferiche collegate ai suoi slot slave. L'istanza del bus CoreAHBLite_C1_0 è configurata per fornire 16 slot slave, ciascuno della dimensione di 256 MB. Le periferiche UART, CoreSPI e CoreGPIO sono collegate al bus CoreAHBLite_C1_0 tramite il bridge CoreAHBTOAPB3 e il bus CoreAPB3.
Mappa della memoria
La tabella 3 elenca la mappa di memoria delle memorie e delle periferiche.
Tabella 3 • Mappa della memoria
Implementazione del software
Il progetto di riferimento files includono l'area di lavoro SoftConsole che contiene i seguenti progetti software:
- Caricatore di avvio
- Applicazione di destinazione
Caricatore di avvio
L'applicazione bootloader viene programmata sulla μPROM durante la programmazione del dispositivo. Il bootloader implementa le seguenti funzioni:
- Programmazione della SPI Flash con l'applicazione di destinazione.
- Copia dell'applicazione di destinazione da SPI Flash a memoria DDR3.
- Commutazione dell'esecuzione del programma sull'applicazione di destinazione disponibile nella memoria DDR3.
L'applicazione bootloader deve essere eseguita da μPROM con LSRAM come stack. Pertanto, gli indirizzi di ROM e RAM nello script del linker sono impostati rispettivamente sull'indirizzo iniziale di μPROM e sulle LSRAM designate. La sezione del codice viene eseguita dalla ROM e la sezione dei dati viene eseguita dalla RAM come mostrato nella Figura 5.
Figura 5 • Script Linker Bootloader
Lo script del linker (microsemi-riscv-ram_rom.ld) è disponibile all'indirizzo
SoftConsole_Project\mivrv32im-bootloader cartella del progetto files.
Applicazione di destinazione
L'applicazione di destinazione fa lampeggiare i LED integrati 1, 2, 3 e 4 e stampa i messaggi UART. L'applicazione di destinazione deve essere eseguita dalla memoria DDR3. Pertanto, le sezioni di codice e stack nello script del linker sono impostate sull'indirizzo iniziale della memoria DDR3, come mostrato nella Figura 6.
Figura 6 • Script del linker dell'applicazione di destinazione
Lo script del linker (microsemi-riscv-ram.ld) è disponibile nella cartella SoftConsole_Project\miv-rv32imddr- application del progetto files.
Configurazione dell'hardware
I passaggi seguenti descrivono come configurare l'hardware:
- Assicurarsi che la scheda sia spenta utilizzando l'interruttore SW6.
- Collegare i jumper sul kit di sviluppo RTG4, come mostrato nella tabella seguente:
Tabella 4 • PonticelliMaglione Perno da Fissa a Commenti J11, J17, J19, J23, J26, J21, J32 e J27 1 2 Predefinito J16 2 3 Predefinito J33 1 2 Predefinito 3 4 - Collegare il PC host al connettore J47 utilizzando il cavo USB.
- Assicurarsi che i driver del bridge da USB a UART vengano rilevati automaticamente. Questo può essere verificato nel gestore dispositivi del PC host.
- Come mostrato nella Figura 7, le proprietà della porta di COM13 mostrano che è collegato a USB Serial Converter C. Quindi, COM13 è selezionato in questo example. Il numero della porta COM è specifico del sistema.
Figura 7 • Gestione periferiche
Nota: Se i driver del bridge da USB a UART non sono installati, scaricare e installare i driver da www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip. - Collegare l'alimentatore al connettore J9 e accendere l'interruttore di alimentazione, SW6.
Figura 8 • Kit di sviluppo RTG4
Esecuzione della demo
Questo capitolo descrive i passaggi per programmare il dispositivo RTG4 con il progetto di riferimento, programmare la SPI Flash con l'applicazione di destinazione e avviare l'applicazione di destinazione dalla memoria DDR utilizzando la GUI di Mi-V Bootloader.
L'esecuzione della demo prevede i seguenti passaggi:
- Programmazione del dispositivo RTG4, pagina 11
- Esecuzione del bootloader Mi-V, pagina 11
Programmazione del dispositivo RTG4
Il dispositivo RTG4 può essere programmato utilizzando FlashPro Express o Libero SOC.
- Per programmare il kit di sviluppo RTG4 con il lavoro file forniti come parte del progetto fileSe si utilizza il software FlashPro Express, fare riferimento all'Appendice 1: Programmazione del dispositivo mediante FlashPro Express, pagina 14.
- Per programmare il dispositivo utilizzando Libero SoC, fare riferimento all'Appendice 2: Programmazione del dispositivo utilizzando Libero SoC, pagina 17.
Esecuzione del bootloader Mi-V
Al termine della programmazione, attenersi alla seguente procedura:
- Esegui setup.exe file disponibile al seguente design fileposizione.
<$Download_Directory>\rtg4_ac490_df\GUI_Installer\Mi-V Bootloader_Installer_V1.4 - Seguire la procedura guidata di installazione per installare l'applicazione GUI Bootloader.
La Figura 9 mostra la GUI del bootloader Mi-V RTG4.
Figura 9 • GUI del bootloader Mi-V - Selezionare la porta COM collegata a USB Serial Converter C come mostrato in Figura 7.
- Fare clic sul pulsante di connessione. Dopo la connessione riuscita, l'indicatore rosso diventa verde come mostrato nella Figura 10.
Figura 10 • Collegare la porta COM - Fare clic sul pulsante Importa e selezionare l'applicazione di destinazione file (.bidone). Dopo l'importazione, il percorso del file file viene visualizzato sulla GUI come mostrato nella Figura 11.
<$Download_Directory>\rtg4_ac490_df\Source_files
Figura 11 • Importare l'applicazione di destinazione File - Come mostrato nella Figura 11, fare clic sull'opzione Program SPI Flash per programmare l'applicazione di destinazione su SPI Flash. Viene visualizzato un pop-up dopo che il flash SPI è stato programmato come mostrato nella Figura 12. Fare clic su OK.
Figura 12 • SPI Flash programmato - Selezionare l'opzione Avvia avvio per copiare l'applicazione dalla memoria SPI Flash alla memoria DDR3 e avviare l'esecuzione dell'applicazione dalla memoria DDR3. Dopo l'avvio riuscito dell'applicazione di destinazione dalla memoria DDR3, l'applicazione stampa i messaggi UART e fa lampeggiare i LED 1, 2, 3 e 4 dell'utente su scheda, come mostrato nella Figura 13.
Figura 13 • Eseguire l'applicazione da DDR - L'applicazione è in esecuzione dalla memoria DDR3 e questo conclude la demo. Chiudi la GUI di Mi-V Bootloader.
Programmazione del dispositivo tramite FlashPro Express
Questa sezione descrive come programmare il dispositivo RTG4 con il lavoro di programmazione file utilizzando FlashPro Express.
Per programmare il dispositivo, eseguire i seguenti passaggi:
- Assicurarsi che le impostazioni dei ponticelli sulla scheda siano le stesse di quelle elencate nella Tabella 3 di UG0617:
Guida per l'utente del kit di sviluppo RTG4. - Facoltativamente, il ponticello J32 può essere impostato per collegare i pin 2-3 quando si utilizza un programmatore esterno FlashPro4, FlashPro5 o FlashPro6 invece dell'impostazione predefinita del ponticello per utilizzare il FlashPro5 integrato.
Nota: L'interruttore di alimentazione, SW6 deve essere spento mentre si effettuano i collegamenti dei ponticelli. - Collegare il cavo di alimentazione al connettore J9 sulla scheda.
- Accendere l'interruttore di alimentazione SW6.
- Se si utilizza FlashPro5 incorporato, collegare il cavo USB al connettore J47 e al PC host.
In alternativa, se si utilizza un programmatore esterno, collegare il cavo a nastro alla presa JTAG header J22 e collegare il programmatore al PC host. - Sul PC host, avvia il software FlashPro Express.
- Fare clic su Nuovo o selezionare Nuovo progetto di lavoro da Lavoro FlashPro Express dal menu Progetto per creare un nuovo progetto di lavoro, come mostrato nella figura seguente.
Figura 14 • Progetto di lavoro FlashPro Express - Immettere quanto segue nella finestra di dialogo Nuovo progetto di lavoro da FlashPro Express Job:
- Lavoro di programmazione file: fai clic su Sfoglia e vai alla posizione in cui il .job file si trova e selezionare il file. La posizione predefinita è: \rtg4_ac490_df\Programmazione_lavoro
- Posizione del progetto di lavoro FlashPro Express: fare clic su Sfoglia e navigare fino alla posizione del progetto FlashPro Express desiderata.
Figura 15 • Nuovo progetto di lavoro da FlashPro Express Job
- Fare clic su OK. La programmazione richiesta file è selezionato e pronto per essere programmato nel dispositivo.
- Viene visualizzata la finestra di FlashPro Express come mostrato nella figura seguente. Verificare che nel campo Programmatore venga visualizzato un numero di programmatore. In caso contrario, confermare i collegamenti della scheda e fare clic su Refresh/Rescan Programmers.
Figura 16 • Programmazione del dispositivo - Fare clic su ESEGUI. Quando il dispositivo è programmato correttamente, viene visualizzato lo stato RUN PASSED come mostrato nella figura seguente.
Figura 17 • FlashPro Express: ESECUZIONE SUPERATA - Chiudete FlashPro Express o fate clic su Esci nella scheda Progetto.
Programmazione del dispositivo utilizzando Libero SoC
Il progetto di riferimento fileQuesti includono il progetto del sottosistema del processore Mi-V creato utilizzando Libero SoC. Il dispositivo RTG4 può essere programmato utilizzando Libero SoC. Il progetto Libero SoC è completamente costruito ed eseguito da sintesi, luogo e percorso, verifica del tempo, generazione di dati dell'array FPGA, aggiornamento del contenuto di memoria μPROM, generazione di bitstream, programmazione FPGA.
Il flusso di progettazione di Libero è mostrato nella figura seguente.
Figura 18 • Flusso di progettazione Libero
Per programmare il dispositivo RTG4, è necessario aprire il progetto del sottosistema del processore Mi-V in Libero SoC e ripetere i seguenti passaggi:
- Aggiorna il contenuto della memoria uPROM: in questo passaggio, μPROM viene programmato con l'applicazione bootloader.
- Generazione bitstream: in questa fase, Job file viene generato per il dispositivo RTG4.
- Programmazione FPGA: in questa fase, il dispositivo RTG4 viene programmato utilizzando il Job file.
Segui questi passaggi:
- Da Libero Design Flow, seleziona Aggiorna contenuto memoria uPROM.
- Crea un cliente utilizzando l'opzione Aggiungi.
- Selezionare il cliente e quindi scegliere l'opzione Modifica.
- Seleziona Contenuto da file e quindi selezionare l'opzione Sfoglia come mostrato nella Figura 19.
Figura 19 • Modifica client di archiviazione dati - Passare al seguente disegno files e seleziona miv-rv32im-bootloader.hex file come mostrato in Figura 20. <$Download_Directory>\rtg4_ac490_df
- Imposta il File Digitare come Intel-Hex (*.hex).
- Selezionare Usa percorso relativo dalla directory del progetto.
- Fare clic su OK.
Figura 20 • Importa memoria File
- Fare clic su OK.
Il contenuto della μPROM viene aggiornato. - Fare doppio clic su Generate Bitstream come mostrato nella Figura 21.
Figura 21 • Genera bitstream - Fare doppio clic su Run PROGRAM Action per programmare il dispositivo come mostrato nella Figura 21.
Il dispositivo RTG4 è programmato. Vedere Esecuzione della demo, pagina 11.
Esecuzione dello script TCL
Gli script TCL sono forniti nel design files nella directory TCL_Scripts. Se richiesto, il flusso di progettazione può essere riprodotto dall'implementazione del progetto fino alla generazione del lavoro file.
Per eseguire TCL, attenersi alla seguente procedura:
- Avvia il software Libero.
- Selezionare Progetto > Esegui script....
- Fare clic su Sfoglia e selezionare script.tcl dalla directory TCL_Scripts scaricata.
- Fare clic su Esegui.
Dopo l'esecuzione riuscita dello script TCL, il progetto Libero viene creato all'interno della directory TCL_Scripts.
Per ulteriori informazioni sugli script TCL, fare riferimento a rtg4_ac490_df/TCL_Scripts/readme.txt.
Fare riferimento alla Guida di riferimento ai comandi TCL del SoC Libero® per maggiori dettagli sui comandi TCL. Contatto
Supporto tecnico per qualsiasi domanda riscontrata durante l'esecuzione dello script TCL.
Microsemi non fornisce alcuna garanzia, dichiarazione o garanzia in merito alle informazioni qui contenute o all'idoneità dei suoi prodotti e servizi per uno scopo particolare, né Microsemi si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi prodotto o circuito. I prodotti venduti ai sensi del presente documento e qualsiasi altro prodotto venduto da Microsemi sono stati soggetti a test limitati e non devono essere utilizzati insieme ad apparecchiature o applicazioni mission-critical. Eventuali specifiche di prestazione sono ritenute affidabili ma non sono verificate e l'Acquirente deve condurre e completare tutte le prestazioni e altri test dei prodotti, da solo e insieme, o installati in qualsiasi prodotto finale. L'Acquirente non farà affidamento su dati e specifiche o parametri di prestazione forniti da Microsemi. È responsabilità dell'Acquirente determinare autonomamente l'idoneità di eventuali prodotti e testare e verificare gli stessi. Le informazioni fornite da Microsemi di seguito sono fornite "così come sono, dov'è" e con tutti i difetti, e l'intero rischio associato a tali informazioni è interamente a carico dell'Acquirente. Microsemi non concede, in modo esplicito o implicito, a nessuna parte alcun diritto di brevetto, licenza o qualsiasi altro diritto di proprietà intellettuale, sia in relazione a tali informazioni stesse oa qualsiasi cosa descritta da tali informazioni. Le informazioni fornite in questo documento sono di proprietà di Microsemi e Microsemi si riserva il diritto di apportare modifiche alle informazioni contenute in questo documento oa qualsiasi prodotto e servizio in qualsiasi momento senza preavviso.
A proposito di Microsemi
Microsemi, una consociata interamente controllata di Microchip Technology Inc. (Nasdaq: MCHP), offre un portafoglio completo di semiconduttori e soluzioni di sistema per i mercati aerospaziale e della difesa, delle comunicazioni, dei data center e dell'industria. I prodotti includono circuiti integrati analogici a segnale misto ad alte prestazioni e resistenti alle radiazioni, FPGA, SoC e ASIC; prodotti per la gestione dell'energia; dispositivi di cronometraggio e sincronizzazione e soluzioni temporali precise, definendo lo standard mondiale per il tempo; dispositivi di elaborazione vocale; soluzioni RF; componenti discreti; soluzioni di storage e comunicazione aziendale, tecnologie di sicurezza e scalabile anti-tampaltri prodotti; soluzioni Ethernet; CI Power-over-Ethernet e midspan; oltre a funzionalità e servizi di progettazione personalizzati. Ulteriori informazioni su www.microsemi.com.
Sede Microsemi
Un'impresa, Aliso Viejo,
CA 92656 Stati Uniti
Negli USA: +1 Numero di telefono: 800-713-4113
Fuori dagli USA: +1 Numero di telefono: 949-380-6100
Vendite: +1 Numero di telefono: 949-380-6136
Fax: +1 Numero di telefono: 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
©2021 Microsemi, una consociata interamente controllata da Microchip Technology Inc. Tutti i diritti riservati. Microsemi e il logo Microsemi sono marchi registrati di Microsemi Corporation. Tutti gli altri marchi e marchi di servizio sono di proprietà dei rispettivi proprietari
Documenti / Risorse
![]() |
Microsemi AC490 RTG4 FPGA: creazione di un sottosistema di processori Mi-V [pdf] Guida utente AC490 RTG4 FPGA Costruzione di un sottosistema di processore Mi-V, AC490 RTG4, FPGA Costruzione di un sottosistema di processore Mi-V, Sottosistema di processore Mi-V |