logò di microchip

MICROCHIP Error Detection and Correction on RTG4 LSRAM Memory

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory

Storia di rivisione

A storia di rivisione descrive i cambiamenti chì sò stati implementati in u documentu. I cambiamenti sò listati per rivisione, cuminciendu cù a publicazione più attuale.

Revisione 4.0
Eccu un riassuntu di i cambiamenti fatti in sta rivisione.

  • Mise à jour du document pour Libero SoC v2021.2.
  • Appendice 1 aghjuntu: Programmazione di u Dispositivu Utilizendu FlashPro Express, pagina 14.
  • Appendice 2 aghjuntu: Esecuzione di u Script TCL, pagina 16.
  • Eliminate e referenze à i numeri di versione di Libero.

Revisione 3.0
Aghjurnatu u documentu per a liberazione di u software Libero v11.9 SP1.

Revisione 2.0
Aghjurnatu u documentu per a liberazione di u software Libero v11.8 SP2.

Revisione 1.0
A prima publicazione di stu documentu.

Rilevazione di errore è correzione nantu à a memoria RTG4 LSRAM

Stu disignu di riferimentu descrive e capacità di rilevazione è correzione di errore (EDAC) di i LSRAM RTG4 ™ FPGA. In un ambiente suscettibile à un unicu event upset (SEU), a RAM hè propensa à errori transitori causati da ioni pesanti. Questi errori ponu esse rilevati è corretti cù codici di correzione di errore (ECC). I blocchi RTG4 FPGA RAM anu cuntrolli EDAC integrati per generà i codici di correzione d'errore per correggerà un errore 1-bit o detectà un errore 2-bit.

Se un errore di 1 bit hè rilevatu, u controller EDAC corregge u bit d'errore è stabilisce a bandiera di correzione d'errore (SB_CORRECT) à attivu altu. Se un errore di 2-bit hè rilevatu, u controller EDAC stabilisce a bandiera di rilevazione di errore (DB_DETECT) à attivu altu.
Per più infurmazione nantu à a funziunalità RTG4 LSRAM EDAC, riferite à UG0574: RTG4 FPGA Fabric

Guida d'usu.
In questu disignu di riferimentu, l'errore di 1-bit o l'errore di 2-bit hè intruduciutu per SmartDebug GUI. EDAC hè osservatu utilizendu una interfaccia grafica d'utilizatore (GUI), utilizendu l'interfaccia UART per accede à a LSRAM per letture / scrittura di dati, Libero® System-on-Chip (SoC) SmartDebug (J).TAG) hè utilizatu per inject l'errori in a memoria LSRAM.

Requisiti di Design
A Tabella 1 elenca i requisiti di cuncepimentu di riferimentu per eseguisce a demo RTG4 LSRAM EDAC.

Table 1 • Requisiti di Design

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-1

Software

  • Libero SoC
  • FlashPro Express
  • SmartDebug
  • Drivers di PC host Drivers USB à UART

Nota: Libero SmartDesign è screenshots di cunfigurazione mostrati in sta guida sò solu per scopi illustrativi.
Apertura u disignu Libero per vede l'ultime aghjurnamenti.

Prerequisites
Prima di principià:
Scaricate è installate Libero SoC (cum'è indicatu in u websitu per stu disignu) nantu à u PC host da u locu seguente: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc

Disegnu Demo
Scaricate u disignu demo files da u Microsemi websitu à: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df

U disignu demo files include:

  • Prughjettu Libero SoC
  • Installatore GUI
  • Prugrammazione files
  • Leghjimi.txt file
  • TCL_Scripts

L'applicazione GUI nantu à u PC host emette cumandamenti à u dispusitivu RTG4 attraversu l'interfaccia USB-UART. Questa interfaccia UART hè cuncepita cù CoreUART, chì hè una IP logica da u catalogu IP Libero SoC. L'IP CoreUART in u tissu RTG4 riceve cumandamenti è li trasmette à a logica di decodificatore di cumanda. A logica di decodificatore di cumanda decodifica l'ordine di lettura o scrittura, chì hè eseguitu cù a logica di l'interfaccia di memoria.

U bloccu di l'interfaccia di memoria hè utilizatu per leghje / scrive è monitorà i bandieri d'errore LSRAM. L'EDAC integratu corregge l'errore di 1 bit durante a lettura da LSRAM è furnisce dati curretti à l'interfaccia d'utilizatore ma ùn scrive micca e dati curretti torna à LSRAM. U LSRAM EDAC integratu ùn implementa micca una funzione di scrubbing. U disignu demo implementa a logica di scrub, chì monitoreghja a bandiera di correzione di 1-bit è aghjurnà a LSRAM cù i dati curretti se un errore unicu bit si trova.
SmartDebug GUI hè utilizatu per injectà un errore 1-bit o 2-bit in i dati LSRAM.
A Figura 1 mostra u schema di bloccu di livellu superiore di u disignu demo RTG4 LSRAM EDAC.

Figura 1 • Diagramma di u Block Top-Level

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-2

Eccu i cunfigurazioni di u disignu demo:

  1. U LSRAM hè cunfiguratu per u modalità × 18 è EDAC hè attivatu cunnessendu u signale ECC_EN di LSRAM à altu.
    Nota: U LSRAM EDAC hè supportatu solu per i modi × 18 è × 36.
  2. L'IP CoreUART hè cunfiguratu per cumunicà cù l'applicazione PC host à una velocità di baud 115200.
  3. L'RTG4FCCCECALIB_C0 hè cunfiguratu per fà un clock u CoreUART è altre logica di tissu à 80 MHz.

Features
Eccu e caratteristiche di u disignu demo:

  • Leghjite è scrivite à LSRAM
  • Inject 1-bit è 2-bit errore cù SmartDebug
  • Mostra i valori di u conte d'errore di 1-bit è 2-bit
  • Pruvisione per sguassà i valori di u conte d'errore
  • Attivà o disattivà a logica di scrubbing di memoria

Descrizzione
Stu disignu demo implica l'implementazione di e seguenti attività:

  • Initializing and accessing LSRAM
    A logica di l'interfaccia di memoria implementata in a logica di tela riceve u cumandamentu di inizializazione da GUI è inizializza i primi 256 locu di memoria di LSRAM cù i dati incrementali. Esegue ancu l'operazioni di lettura è scrittura à i lochi di memoria 256 di LSRAM ricevendu l'indirizzu è e dati da a GUI. Per una operazione di lettura, u disignu piglia i dati da LSRAM è li furnisce à GUI per a visualizazione. L'aspettativa hè chì u disignu ùn induce micca errori prima di utilizà SmartDebug.

Nota: I posti di memoria micca inizializzati ponu avè valori aleatorii, è SmartDebug pò mostrà errori unicu o doppiu in quelli locu.

  • Injecting errori 1-bit o 2-bit
    SmartDebug GUI hè utilizatu per injectà l'errore di 1 o 2-bit in u locu di memoria specificata di LSRAM. L'operazioni seguenti sò realizate cù SmartDebug per injectà errori 1-bit è 2-bit à LSRAM:
    • Aprite SmartDebug GUI, cliccate Debug FPGA Array.
    • Andà à a tabulazione Blocchi di memoria, selezziunate l'istanza di memoria è cliccate right-click Add.
    • Per leghje u bloccu di memoria, cliccate nantu à Read Block.
    • Inject single-bit or double-bit error in ogni locu di a LSRAM di una certa prufundità.
    • Per scrive à u locu mudificatu, cliccate Scrivite Block.
      Durante l'operazione di lettura è scrittura LSRAM attraversu SmartDebug (JTAG), le contrôleur EDAC est ignoré et ne calcule pas les bits ECC pour l'opération d'écriture à l'étape e.
  • Conte di errore
    I contatori di 8-bit sò usati per furnisce un cuntu d'errore è sò designati in a logica di a tela per cuntà l'errori di 1-bit o 2-bit. A logica di decodificatore di cumanda furnisce i valori di cunti à a GUI quandu riceve cumandamenti da a GUI.

Strutture di clock
In questu disignu demo, ci hè un duminiu di clock. L'oscillatore internu di 50 MHz guida l'RTG4FCCC, chì guida ancu RTG4FCCCECALIB_C0. U RTG4FCCCECALIB_C0 genera un clock 80 MHz chì furnisce una fonte di clock à i moduli COREUART, cmd_decoder, TPSRAM_ECC è RAM_RW.
A figura seguente mostra a struttura di clock di u disignu demo.

Figura 2 • Structure di u Clocking

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-3

Resetta a struttura
In questu disignu demo, u signale di resettore à i moduli COREUART, cmd_decoder è RAM_RW sò furniti attraversu u portu LOCK di RTG4FCCCECALIB_C0. A figura seguente mostra a struttura di resettore di u disignu demo.

Figura 3 • Reset Structure

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-4

Configurazione di u Disegnu Demo
I seguenti sezzioni descrizanu cumu cunfigurà u Kit di Sviluppu RTG4 è GUI per eseguisce u disignu demo.

Settings Jumper

  1. Cunnette i jumpers nantu à u Kit di Sviluppu RTG4, cum'è mostra in a Tabella 2.
    Table 2 • Settings Jumper
    Jumper Pin (da) Pin (à) Cumenti
    J11, J17, J19, J21, J23, J26, J27, J28 1 2 Default
    J16 2 3 Default
    J32 1 2 Default
    J33 1 3 Default
    2 4

    Nota: Spegne l'interruttore di l'alimentazione, SW6, mentre cunnette i jumpers.

  2. Cunnette u cable USB (mini USB à u cable USB Type-A) à J47 di u Kit di Sviluppu RTG4 è l'altru finale di u cable à u portu USB di u PC host.
  3. Assicuratevi chì i cunduttori di u ponte USB à UART sò rilevati automaticamente. Questu pò esse verificatu in u gestore di u dispositivu di u PC host.
    A Figura 4 mostra e proprietà di u portu seriale USB 2.0 è u COM31 cunnessu è u cunvertitore seriale USB C.

Figura 4 • USB à UART Bridge Drivers

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-6

Nota: Se i driver di u ponte USB à UART ùn sò micca stallati, scaricate è installate i driver da www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip

A Figura 5 mostra a configurazione di a scheda per eseguisce a demo EDAC nantu à u Kit di Sviluppu RTG4.

MICROCHIP Error Detection and Correction on RTG4 LSRAM Memory

Prugrammazione di u Disegnu Demo

  1. Lanciate u software Libero SOC.
  2. Per programà u Kit di Sviluppu RTG4 cù u travagliu file furnitu cum'è parte di u disignu files cù u software FlashPro Express, riferite à l'Appendice 1: Programmazione di u Dispositivu cù FlashPro Express, pagina 14.
    Nota: Una volta a prugrammazione hè fatta cù u travagliu file attraversu u software FlashPro Express, andate à EDAC Demo GUI, pagina 9. Altrimenti, andate à u passu prossimu.
  3. In u flussu di cuncepimentu di Libero, cliccate nantu à l'azzione Run Program.
  4. Una volta a prugrammazione hè cumpleta, una spunta verde appare davanti à "Esegui l'azzione di u prugramma" chì indica una prugrammazione successu di u disignu demo.

MICROCHIP Error Detection and Correction on RTG4 LSRAM Memory-1

EDAC Demo GUI
A demo EDAC hè furnita cù una GUI user-friendly, cum'è mostra in a Figura 7, chì funziona nantu à u PC host, chì cumunica cù u Kit di Sviluppu RTG4. U UART hè aduprata cum'è u protocolu di cumunicazione sottostante trà u PC host è u Kit di Sviluppu RTG4.

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-9

A GUI cuntene e seguenti sezioni:

  1. Selezzione di u portu COM per stabilisce a cunnessione UART à RTG4 FPGA cù u baud rate 115200.
  2. Scrittura di memoria LSRAM: Per scrive i dati di 8-bit à l'indirizzu di memoria LSRAM specificatu.
  3. Scrubbing di Memoria: Per attivà o disattivà a logica di scrubbing.
  4. Lettura di Memoria LSRAM: Per leghje i dati 8-bit da l'indirizzu di memoria LSRAM specificatu.
  5. Conte d'errore: Mostra u conte d'errore è furnisce una opzione per sguassà u valore di u contatore à zero.
  6. 1-bit Error Count: Mostra u count error 1-bit è furnisce una opzione per sguassà u valore di u contatore à zero.
  7. 2-bit Error Count: Mostra u count error 2-bit è furnisce una opzione per sguassà u valore di u contatore à zero.
  8. Dati di log: Fornisce l'infurmazioni di statutu per ogni operazione realizata cù a GUI.

Curriri a Demo
I seguenti passi descrizanu cumu eseguisce a demo:

  1. Andà à \v1.2.2\v1.2.2\Exe è fate doppiu clicu EDAC_GUI.exe cum'è mostra in Figura 8.
  2. Selezziunate u portu COM31 da a lista è cliccate Connect.

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-10

Iniezione è correzione di errore unicu bit

  1. In u disignu Libero furnitu, fate un doppiu clicu nantu à u Design SmartDebug in u flussu di disignu.
  2. In a GUI SmartDebug, cliccate Debug FPGA Array.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-11
  3. In a finestra Debug FPGA Array, andate à a tabulazione Memory Blocks. Mostrarà u bloccu LSRAM in u disignu cù una logica è fisica view. I blocchi lògichi sò mostrati cù un icona L, è i blocchi fisichi sò mostrati cù un icona P.
  4. Selezziunate l'istanza di bloccu fisicu è cliccate right-click Add.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-12
  5. Per leghje u bloccu di memoria, cliccate nantu à Read Block.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-13
  6. Inject 1 errore di bit in i dati di 8 bit in ogni locu di LSRAM finu à a prufundità 256, cum'è mostra in a figura seguente induve l'errore di 1 bit hè injectatu à u locu 0 di a LSRAM.
  7. Cliccate Write Block per scrive i dati mudificati in u locu previstu.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-14
  8. Andate à a GUI EDAC è entre in u campu di Indirizzu in a sezione di Lettura di Memoria LSRAM è cliccate Read, cum'è mostra in a figura seguente.
  9. Osserva i campi di 1 Bit Error Count è Read Data in a GUI. U valore di u numeru di errore aumenta di 1.
    U campu Read Data mostra i dati curretti cum'è l'EDAC corregge u bit d'errore.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-15

Nota: Se u scrubbing di memoria ùn hè micca attivatu, allora u cuntu di l'errore hè aumentatu per ogni lettura da u stessu indirizzu LSRAM chì provoca l'errore di 1 bit.

Iniezione d'errore di doppia bit è rilevazione

  1. Eseguite u passu 1 à u passu 5 cum'è indicatu in Iniezione è correzione d'errore à un bit, pagina 10.
  2. Inject 2-bit error in the 8-bit data in ogni locu di LSRAM finu à a prufundità 256, cum'è mostra in a figura seguente induve l'errore 2-bit hè injectatu in u locu "A" di u LSRAM.
  3. Cliccate Write Block per scrive i dati mudificati à u locu previstu.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-16
  4. Andate à a GUI EDAC è entre in u campu di Indirizzu in a sezione di Lettura di Memoria LSRAM è cliccate Read, cum'è mostra in a figura seguente.
  5. Osservate i campi di 2-bit Error Count è Read Data in a GUI. U valore di u numeru di errore aumenta di 1.
    U campu Read Data mostra i dati currutti.

MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-17

Tutte l'azzioni realizati in RTG4 sò registrati in a sezione Serial Console di GUI.

Cunclusioni
Questa demo mette in risaltu e capacità EDAC di i ricordi RTG4 LSRAM. L'errore di 1-bit o l'errore di 2-bit sò intrudutti per SmartDebug GUI. A correzione d'errore di 1 bit è a rilevazione d'errore di 2 bit hè osservata cù una GUI EDAC.

Programmazione di u Dispositivu Utilizendu FlashPro Express

Sta rùbbrica descrive cumu si prugrammà u dispusitivu RTG4 cù u travagliu di prugrammazione file utilizendu FlashPro Express.

Per programà u dispusitivu, fate i seguenti passi:

  1. Assicuratevi chì i paràmetri di u jumper nantu à a scheda sò listessi in a Tabella 3 di UG0617:
    Guida per l'usu di u kit di sviluppu RTG4.
  2. Opzionalmente, u jumper J32 pò esse stallatu per cunnette i pin 2-3 quandu si usa un programatore FlashPro4, FlashPro5, o FlashPro6 esterno invece di l'impostazione di jumper predefinita per utilizà FlashPro5 incrustatu.
    Nota: L'interruttore di l'alimentazione, SW6 deve esse disattivatu mentre facenu e cunnessione di jumper.
  3. Cunnette u cable d'alimentazione à u connettore J9 nantu à a scheda.
  4. Accendere l'interruttore di alimentazione SW6.
  5. Sè aduprate u FlashPro5 integratu, cunnette u cable USB à u connettore J47 è u PC host.
    In alternativa, se utilizate un programatore esternu, cunnette u cable nastro à u JTAG header J22 è cunnette u programatore à u PC host.
  6. In u PC host, lanciate u software FlashPro Express.
  7. Cliccate New o selezziunate New Job Project da FlashPro Express Job da u menù Project per creà un novu prughjettu di travagliu, cum'è mostra in a figura seguente.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-18
  8. Inserite i seguenti in a finestra di dialogu New Job Project da FlashPro Express Job:
    • U travagliu di prugrammazione file: Cliccate Sfoglia, è navigate à u locu induve u .job file si trova è selezziunate u file. U locu predeterminatu hè: \rtg4_dg0703_df\Programming_Job
    • Locu di u prughjettu di u travagliu FlashPro Express: Cliccate Sfoglia è navigate à u locu di u prughjettu FlashPro Express desideratu.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-19
  9. Cliccate OK. A prugrammazione necessaria file hè sceltu è prontu à esse prugrammatu in u dispusitivu.
  10. A finestra di FlashPro Express apparirà, cunfirmà chì un numeru di programatore appare in u campu di u prugramma. S'ellu ùn hè micca, cunfirmate e cunnessione di u bordu è cliccate Refresh / Rescan Programmers.
  11. Cliccate RUN. Quandu u dispusitivu hè programatu successu, un statutu RUN PASSED hè visualizatu cum'è mostra in a figura seguente.MICROCHIP-Detection-Error-Correction-on-RTG4-LSRAM-Memory-20
  12. Chiudi FlashPro Express o cliccate Esci in a tabulazione Prughjettu.

Esecuzione di u Script TCL

I script TCL sò furniti in u disignu files sottu u cartulare TCL_Scripts. Se necessariu, u disignu
U flussu pò esse riproduciutu da l'implementazione di u disignu finu à a generazione di u travagliu file.

Per eseguisce u TCL, seguitate i passi sottu:

  1. Lanciate u software Libero
  2. Selezziunate Prughjettu> Eseguite Script...
  3. Cliccate Sfoglia è selezziunate script.tcl da u cartulare TCL_Scripts scaricatu.
  4. Cliccate Run.

Dopu l'esekzione successu di u script TCL, u prughjettu Libero hè creatu in u cartulare TCL_Scripts.
Per più infurmazione nantu à i script TCL, riferite à rtg4_dg0703_df/TCL_Scripts/readme.txt.
Riferite à Libero® SoC TCL Command Reference Guide per più dettagli nantu à i cumandamenti TCL. Cuntattate l'Assistenza Tecnica per qualsiasi dumande scontri quandu eseguite u script TCL.

Microsemi ùn dà alcuna garanzia, rapprisentazione, o guaranzia in quantu à l'infurmazioni cuntenuti quì o l'adattabilità di i so prudutti è servizii per un scopu particulare, nè Microsemi assume alcuna responsabilità chì deriva da l'applicazione o l'usu di qualsiasi pruduttu o circuitu. I prudutti venduti quì sottu è qualsiasi altri prudutti venduti da Microsemi sò stati sottumessi à una prova limitata è ùn deve micca esse aduprati in cunjunzione cù l'equipaggiu o l'applicazioni critichi per a missione. Ogni specificazione di prestazione hè ritenuta affidabile, ma ùn hè micca verificata, è u Cumpratore deve fà è compie tutte e prestazioni è altre teste di i prudutti, solu è inseme cù, o installati in qualsiasi prudutti finali. L'Acquirente ùn s'appoghjanu micca nantu à e specifiche di dati è di prestazione o parametri furniti da Microsemi. Hè a rispunsabilità di u Cumparatore di determinà indipindentamente l'adattabilità di qualsiasi pruduttu è di pruvà è verificà u listessu. L'infurmazioni furnite da Microsemi quì sottu sò furnite "cum'è, induve hè" è cù tutti i difetti, è tuttu u risicu assuciatu cù tali informazioni hè interamente cù u Cumpratore. Microsemi ùn cuncede, esplicitamente o implicitamente, à alcuna parte alcunu diritti di patenti, licenze, o qualsiasi altri diritti IP, sia in quantu à tali infurmazione stessa o qualcosa descritta da tali informazioni. L'infurmazione furnita in stu documentu hè di proprietà di Microsemi, è Microsemi si riserva u dirittu di fà qualsiasi cambiamenti à l'infurmazioni in stu documentu o à qualsiasi prudutti è servizii in ogni mumentu senza avvisu.

Circa Microsemi Microsemi, una filiale di Microchip Technology Inc. (Nasdaq: MCHP), offre una cartera cumpleta di soluzioni di semiconductor è sistemi per l'aerospaziale è a difesa, a cumunicazione, i centri di dati è i mercati industriali. I prudutti includenu circuiti integrati di signali mixti analogici d'alta prestazione è radiazioni, FPGA, SoC è ASIC; prudutti di gestione di energia; i dispusitivi di timing è di sincronizazione è suluzione di u tempu precisu, chì stabiliscenu u standard di u mondu per u tempu; dispusitivi di trasfurmazioni di voce; suluzione RF; cumpunenti discreti; suluzioni di almacenamento è cumunicazione impresa, tecnulugia di sicurità è anti-t scalabileampi prudutti; suluzioni Ethernet; Power-over-Ethernet IC è midspans; cume capacità di cuncepimentu persunalizatu è servizii. Sapete più à www.microsemi.com.

Sede Microsemi
One Enterprise, Aliso Viejo,
CA 92656 USA
In i Stati Uniti: +1 800-713-4113
Fora di i Stati Uniti: +1 949-380-6100
Vendite: +1 949-380-6136
Fax: +1 949-215-4996
E-mail: vendite.support@microsemi.com
www.microsemi.com

© 2021 Microsemi, una subsidiaria interamente di Microchip Technology Inc. Tutti i diritti riservati. Microsemi è u logo Microsemi sò marchi registrati di Microsemi Corporation. Tutti l'altri marchi è marchi di serviziu sò a pruprietà di i so rispettivi pruprietarii.

Microsemi Proprietary DG0703 Revisione 4.0

Documenti / Risorse

MICROCHIP Error Detection and Correction on RTG4 LSRAM Memory [pdfGuida di l'utente
DG0703 Demo, Rilevazione di Errore è Correzione nantu à Memoria RTG4 LSRAM, Rilevazione è Correzione nantu à Memoria RTG4 LSRAM, Memoria RTG4 LSRAM, Memoria LSRAM

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *