MICROCHIP-fejldetektering og -korrektion på RTG4 LSRAM-hukommelse
Revisionshistorie
Revisionshistorikken beskriver de ændringer, der blev implementeret i dokumentet. Ændringerne er listet efter revision, startende med den seneste publikation.
Revision 4.0
Det følgende er en oversigt over ændringerne i denne revision.
- Opdaterede dokumentet til Libero SoC v2021.2.
- Tilføjet appendiks 1: Programmering af enheden ved hjælp af FlashPro Express, side 14.
- Tilføjet tillæg 2: Kørsel af TCL-scriptet, side 16.
- Fjernede henvisningerne til Libero versionsnumre.
Revision 3.0
Opdaterede dokumentet til Libero v11.9 SP1 softwareudgivelse.
Revision 2.0
Opdaterede dokumentet til Libero v11.8 SP2 softwareudgivelse.
Revision 1.0
Den første udgivelse af dette dokument.
Fejldetektering og -korrektion på RTG4 LSRAM-hukommelse
Dette referencedesign beskriver fejldetektions- og EDAC-funktionerne for RTG4™ FPGA LSRAM'erne. I et enkelt hændelsesforstyrrelse (SEU) følsomt miljø er RAM tilbøjelig til forbigående fejl forårsaget af tunge ioner. Disse fejl kan detekteres og rettes ved at anvende fejlkorrektionskoder (ECC'er). RTG4 FPGA RAM-blokkene har indbyggede EDAC-controllere til at generere fejlkorrektionskoderne til at korrigere en 1-bit fejl eller detektere en 2-bit fejl.
Hvis der detekteres en 1-bit fejl, retter EDAC-controlleren fejlbitten og sætter fejlkorrektionsflaget (SB_CORRECT) til aktivt højt. Hvis der detekteres en 2-bit fejl, sætter EDAC-controlleren fejldetektionsflaget (DB_DETECT) til aktivt højt.
For mere information om RTG4 LSRAM EDAC funktionalitet, se UG0574: RTG4 FPGA Fabric
Brugervejledning.
I dette referencedesign introduceres 1-bit fejl eller 2-bit fejl gennem SmartDebug GUI. EDAC observeres ved hjælp af en grafisk brugergrænseflade (GUI), der bruger UART-grænsefladen til at få adgang til LSRAM til datalæsning/skrivning, Libero® System-on-Chip (SoC) SmartDebug (JTAG) bruges til at injicere fejlene i LSRAM-hukommelsen.
Designkrav
Tabel 1 viser referencedesignkravene til at køre RTG4 LSRAM EDAC-demoen.
Tabel 1 • Designkrav
Software
- Libero SoC
- FlashPro Express
- SmartDebug
- Host pc-drivere USB til UART-drivere
Note: Libero SmartDesign og konfigurationsskærmbilleder vist i denne vejledning er kun til illustrationsformål.
Åbn Libero-designet for at se de seneste opdateringer.
Forudsætninger
Før du starter:
Download og installer Libero SoC (som angivet i webwebsted for dette design) på værts-pc'en fra følgende placering: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Demo design
Download demodesignet files fra Microsemi webwebsted på: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
Demodesignet files omfatter:
- Libero SoC-projekt
- GUI-installationsprogram
- Programmering files
- Readme.txt file
- TCL_Scripts
GUI-applikationen på værts-pc'en udsteder kommandoer til RTG4-enheden via USB-UART-grænsefladen. Denne UART-grænseflade er designet med CoreUART, som er en logisk IP fra Libero SoC IP-kataloget. CoreUART IP i RTG4-strukturen modtager kommandoer og sender dem til kommandodekoderlogikken. Kommandodekoderlogikken afkoder læse- eller skrivekommandoen, som udføres ved hjælp af hukommelsesgrænsefladelogikken.
Hukommelsesgrænsefladeblokken bruges til at læse/skrive og overvåge LSRAM-fejlflagene. Den indbyggede EDAC retter 1-bit fejlen under læsning fra LSRAM og giver korrigerede data til brugergrænsefladen, men skriver ikke korrigerede data tilbage til LSRAM. Den indbyggede LSRAM EDAC implementerer ikke en skrubbefunktion. Demodesignet implementerer scrub-logik, som overvåger 1-bit korrektionsflaget og opdaterer LSRAM med de korrigerede data, hvis der opstår en enkelt bitfejl.
SmartDebug GUI bruges til at injicere 1-bit eller 2-bit fejl i LSRAM-dataene.
Figur 1 viser blokdiagrammet på øverste niveau af RTG4 LSRAM EDAC-demodesign.
Figur 1 • Top-niveau blokdiagram
Følgende er demodesignkonfigurationerne:
- LSRAM er konfigureret til ×18-tilstand, og EDAC aktiveres ved at forbinde LSRAMs ECC_EN-signal til høj.
Note: LSRAM EDAC understøttes kun til tilstandene ×18 og ×36. - CoreUART IP er konfigureret til at kommunikere med værts-pc-applikationen med en 115200 baudhastighed.
- RTG4FCCCECALIB_C0 er konfigureret til at clocke CoreUART og anden stoflogik ved 80 MHz.
Funktioner
Følgende er demodesignfunktionerne:
- Læs og skriv til LSRAM
- Injicer 1-bit og 2-bit fejl ved hjælp af SmartDebug
- Vis 1-bit og 2-bit fejlantal værdier
- Foranstaltning til at rydde fejltælleværdierne
- Aktiver eller deaktiver hukommelsesskrubbelogikken
Beskrivelse
Dette demodesign involverer implementering af følgende opgaver:
- Initialisering og adgang til LSRAM
Hukommelsesgrænsefladelogikken implementeret i strukturlogikken modtager initialiseringskommandoen fra GUI og initialiserer de første 256 hukommelsesplaceringer af LSRAM med de inkrementelle data. Den udfører også læse- og skriveoperationerne til de 256 hukommelsesplaceringer i LSRAM ved at modtage adressen og data fra GUI'en. Til en læseoperation henter designet dataene fra LSRAM og leverer dem til GUI til visning. Forventningen er, at designet ikke vil inducere fejl, før du bruger SmartDebug.
Note: Ikke-initialiserede hukommelsesplaceringer kan have tilfældige værdier, og SmartDebug kan vise enkelt-bit eller dobbelt-bit fejl på disse placeringer.
- Injicerer 1-bit eller 2-bit fejl
SmartDebug GUI bruges til at injicere 1 bit eller 2-bit fejl i den angivne hukommelsesplacering af LSRAM. Følgende handlinger udføres ved hjælp af SmartDebug til at injicere 1-bit og 2-bit fejl til LSRAM:- Åbn SmartDebug GUI, klik på Debug FPGA Array.
- Gå til fanen Hukommelsesblokke, vælg hukommelsesforekomsten, og højreklik på Tilføj.
- Klik på Læs blok for at læse hukommelsesblokken.
- Injicer enkeltbit- eller dobbeltbitfejl i en hvilken som helst placering af LSRAM'et med en vis dybde.
- Klik på Skriv blok for at skrive til den ændrede placering.
Under LSRAM læse- og skriveoperation gennem SmartDebug (JTAG) interface, omgås EDAC-controlleren og beregner ikke ECC-bittene til skriveoperationen i trin e.
- Fejloptælling
8-bit tællere bruges til at give en fejltælling og er designet til at tælle 1-bit eller 2-bit fejl. Kommandodekoderlogikken giver tælleværdierne til GUI'en, når den modtager kommandoer fra GUI'en.
Urstruktur
I dette demodesign er der ét urdomæne. Den interne 50 MHz oscillator driver RTG4FCCC, som yderligere driver RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 genererer et 80 MHz-ur, der giver en klokkilde til COREUART-, cmd_dekoder-, TPSRAM_ECC- og RAM_RW-modulerne.
Følgende figur viser clocking-strukturen af demodesignet.
Figur 2 • Urstruktur
Nulstil struktur
I dette demodesign leveres nulstillingssignalet til COREUART-, cmd_dekoder- og RAM_RW-modulerne gennem LOCK-porten på RTG4FCCCECALIB_C0. Følgende figur viser nulstillingsstrukturen af demodesignet.
Figur 3 • Nulstil struktur
Opsætning af demodesignet
De følgende afsnit beskriver, hvordan du konfigurerer RTG4 Development Kit og GUI til at køre demodesignet.
Jumperindstillinger
- Tilslut jumperne på RTG4 Development Kit, som vist i tabel 2.
Tabel 2 • JumperindstillingerJumper Pin (fra) Fastgør (til) Kommentarer J11, J17, J19, J21, J23, J26, J27, J28 1 2 Misligholdelse J16 2 3 Misligholdelse J32 1 2 Misligholdelse J33 1 3 Misligholdelse 2 4 Note: Sluk for strømforsyningskontakten, SW6, mens du tilslutter jumperne.
- Tilslut USB-kablet (mini USB til Type-A USB-kabel) til J47 på RTG4 Development Kit og den anden ende af kablet til USB-porten på værts-pc'en.
- Sørg for, at USB til UART-bro-driverne registreres automatisk. Dette kan verificeres i enhedshåndteringen på værts-pc'en.
Figur 4 viser egenskaberne for USB 2.0 seriel port og den tilsluttede COM31 og USB seriel konverter C.
Figur 4 • USB til UART Bridge-drivere
Note: Hvis USB til UART-brodriverne ikke er installeret, skal du downloade og installere driverne fra www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
Figur 5 viser kortopsætningen til at køre EDAC-demoen på RTG4 Development Kit.
Programmering af demodesignet
- Start Libero SOC-softwaren.
- At programmere RTG4 Development Kit med jobbet file leveres som en del af designet files brug af FlashPro Express-software, se Bilag 1: Programmering af enheden ved hjælp af FlashPro Express, side 14.
Note: Når programmeringen er færdig med jobbet file gennem FlashPro Express-softwaren, fortsæt til EDAC Demo GUI, side 9. Ellers fortsæt til næste trin. - Klik på Kør programhandling i Libero-designforløbet.
- Når programmeringen er færdig, vises et grønt flueben foran 'Kør programhandling', hvilket indikerer vellykket programmering af demodesignet.
EDAC Demo GUI
EDAC-demoen er forsynet med en brugervenlig GUI, som vist i figur 7, der kører på værts-pc'en, som kommunikerer med RTG4 Development Kit. UART bruges som den underliggende kommunikationsprotokol mellem værts-pc'en og RTG4 Development Kit.
GUI'en indeholder følgende sektioner:
- COM-portvalg for at etablere UART-forbindelsen til RTG4 FPGA med 115200 baudhastigheden.
- LSRAM Memory Write: At skrive 8-bit data til den specificerede LSRAM hukommelsesadresse.
- Memory Scrubbing: For at aktivere eller deaktivere skrubbelogikken.
- LSRAM-hukommelseslæsning: For at læse 8-bit data fra den angivne LSRAM-hukommelsesadresse.
- Fejltælling: Viser fejltællingen og giver mulighed for at nulstille tællerværdien.
- 1-bit fejlantal: Viser 1-bit fejlantal og giver mulighed for at nulstille tællerværdien.
- 2-bit fejlantal: Viser 2-bit fejlantal og giver mulighed for at nulstille tællerværdien.
- Log Data: Giver statusoplysninger for hver operation, der udføres ved hjælp af GUI.
Kører demo
Følgende trin beskriver, hvordan du kører demoen:
- Gå til \v1.2.2\v1.2.2\Exe og dobbeltklik på EDAC_GUI.exe som vist i figur 8.
- Vælg COM31-porten fra listen, og klik på Connect.
Enkelt bit fejlindsprøjtning og korrektion
- I det medfølgende Libero-design skal du dobbeltklikke på SmartDebug Design i designflowet.
- Klik på Debug FPGA Array i SmartDebug GUI.
- I vinduet Debug FPGA Array skal du gå til fanen Memory Blocks. Det vil vise LSRAM-blokken i designet med en logisk og fysisk view. Logiske blokke vises med et L-ikon, og fysiske blokke vises med et P-ikon.
- Vælg den fysiske blokforekomst, og højreklik på Tilføj.
- Klik på Læs blok for at læse hukommelsesblokken.
- Injicer 1 bit fejl i 8 bit dataene på en hvilken som helst placering af LSRAM op til dybde 256, som vist i den følgende figur, hvor 1 bit fejl er injiceret på 0. placering af LSRAM.
- Klik på Skriv blok for at skrive de ændrede data til den tilsigtede placering.
- Gå til EDAC GUI og indtast adressefeltet i LSRAM Memory Read sektionen, og klik på Read, som vist i den følgende figur.
- Observer 1 bit fejlantal og læs data felter i GUI. Fejltællingsværdien stiger med 1.
Feltet Læs data viser de korrekte data, da EDAC'en retter fejlbitten.
Note: Hvis hukommelsesscrubbing ikke er aktiveret, øges fejlantallet for hver læsning fra den samme LSRAM-adresse, da det forårsager 1-bit fejlen.
Dobbelt bit fejlindsprøjtning og detektion
- Udfør trin 1 til trin 5 som angivet i Enkeltbitfejlindsprøjtning og korrektion, side 10.
- Injicer 2-bit-fejl i 8-bit-dataene ved enhver placering af LSRAM op til dybde 256, som vist i den følgende figur, hvor 2-bit-fejlen injiceres ved placering 'A' af LSRAM.
- Klik på Skriv blok for at skrive de ændrede data til den tilsigtede placering.
- Gå til EDAC GUI og indtast adressefeltet i LSRAM Memory Read sektionen, og klik på Read, som vist i den følgende figur.
- Observer 2-bit fejltælling og læs data felter i GUI. Fejltællingsværdien stiger med 1.
Feltet Læs data viser de beskadigede data.
Alle handlinger, der udføres i RTG4, logges i afsnittet Serial Console i GUI.
Konklusion
Denne demo fremhæver EDAC-egenskaberne i RTG4 LSRAM-hukommelserne. 1-bit-fejlen eller 2-bit-fejlen introduceres gennem SmartDebug GUI. 1-bit fejlkorrektion og 2-bit fejldetektion observeres ved hjælp af en EDAC GUI.
Programmering af enheden ved hjælp af FlashPro Express
Dette afsnit beskriver, hvordan man programmerer RTG4-enheden med programmeringsjobbet file ved hjælp af FlashPro Express.
For at programmere enheden skal du udføre følgende trin:
- Sørg for, at jumperindstillingerne på kortet er de samme som dem, der er angivet i tabel 3 i UG0617:
Brugervejledning til RTG4 Development Kit. - Eventuelt kan jumper J32 indstilles til at forbinde ben 2-3 ved brug af en ekstern FlashPro4, FlashPro5 eller FlashPro6 programmør i stedet for standard jumperindstillingen for at bruge den indlejrede FlashPro5.
Note: Strømforsyningskontakten, SW6 skal være slukket, mens der foretages jumperforbindelser. - Tilslut strømforsyningskablet til J9-stikket på kortet.
- Tænd for strømforsyningskontakten SW6.
- Hvis du bruger den indlejrede FlashPro5, skal du tilslutte USB-kablet til stik J47 og værts-pc'en.
Alternativt, hvis du bruger en ekstern programmeringsenhed, skal du tilslutte båndkablet til JTAG header J22 og tilslut programmøren til værts-pc'en. - Start FlashPro Express-softwaren på værts-pc'en.
- Klik på Ny eller vælg Nyt jobprojekt fra FlashPro Express-job i menuen Projekt for at oprette et nyt jobprojekt, som vist i følgende figur.
- Indtast følgende i dialogboksen Nyt jobprojekt fra FlashPro Express Job:
- Programmering job file: Klik på Gennemse, og naviger til det sted, hvor .job file er placeret og vælg file. Standardplaceringen er: \rtg4_dg0703_df\Programmering_job
- FlashPro Express-jobprojektplacering: Klik på Gennemse, og naviger til den ønskede FlashPro Express-projektplacering.
- Klik på OK. Den nødvendige programmering file er valgt og klar til at blive programmeret i enheden.
- FlashPro Express-vinduet vises, bekræft, at der vises et programmeringsnummer i programmeringsfeltet. Hvis det ikke gør det, skal du bekræfte kortforbindelserne og klikke på Opdater/genscan programmerere.
- Klik på KØR. Når enheden er programmeret med succes, vises en RUN PASSED status som vist i den følgende figur.
- Luk FlashPro Express, eller klik på Afslut på fanen Projekt.
Kørsel af TCL-scriptet
TCL-scripts er inkluderet i designet files mappe under mappen TCL_Scripts. Hvis det kræves, designet
flow kan reproduceres fra designimplementering til generering af job file.
Følg nedenstående trin for at køre TCL:
- Start Libero-softwaren
- Vælg Projekt > Udfør script...
- Klik på Gennemse, og vælg script.tcl fra den downloadede TCL_Scripts-mappe.
- Klik på Kør.
Efter vellykket udførelse af TCL-script, oprettes Libero-projektet i TCL_Scripts-biblioteket.
For mere information om TCL-scripts, se rtg4_dg0703_df/TCL_Scripts/readme.txt.
Se Libero® SoC TCL Command Reference Guide for flere detaljer om TCL-kommandoer. Kontakt teknisk support for alle forespørgsler, du støder på, når du kører TCL-scriptet.
Microsemi giver ingen garanti, repræsentation eller garanti vedrørende informationen indeholdt heri eller egnetheden af dets produkter og tjenester til et bestemt formål, og Microsemi påtager sig heller ikke noget som helst ansvar, der opstår som følge af anvendelsen eller brugen af et produkt eller et kredsløb. Produkterne, der sælges nedenfor, og alle andre produkter, der sælges af Microsemi, har været genstand for begrænset testning og bør ikke bruges sammen med missionskritisk udstyr eller applikationer. Eventuelle ydeevnespecifikationer menes at være pålidelige, men er ikke verificerede, og Køber skal udføre og gennemføre al ydeevne og anden test af produkterne, alene og sammen med eller installeret i eventuelle slutprodukter. Køber må ikke stole på nogen data og ydeevnespecifikationer eller parametre leveret af Microsemi. Det er Købers ansvar selvstændigt at bestemme egnetheden af ethvert produkt og at teste og verificere det samme. Oplysningerne leveret af Microsemi nedenfor leveres "som de er, hvor de er" og med alle fejl, og hele risikoen forbundet med sådanne oplysninger er udelukkende hos køberen. Microsemi giver ikke, eksplicit eller implicit, til nogen part nogen patentrettigheder, licenser eller andre IP-rettigheder, hvad enten det er med hensyn til sådan information selv eller noget, der er beskrevet af sådanne oplysninger. Oplysningerne i dette dokument tilhører Microsemi, og Microsemi forbeholder sig retten til at foretage enhver ændring af oplysningerne i dette dokument eller til produkter og tjenester til enhver tid uden varsel.
Om Microsemi Microsemi, et helejet datterselskab af Microchip Technology Inc. (Nasdaq: MCHP), tilbyder en omfattende portefølje af halvleder- og systemløsninger til rumfart og forsvar, kommunikation, datacentre og industrielle markeder. Produkterne omfatter højtydende og strålingshærdede analoge blandede signal-integrerede kredsløb, FPGA'er, SoC'er og ASIC'er; strømstyring produkter; timing- og synkroniseringsenheder og præcise tidsløsninger, der sætter verdens standard for tid; stemmebehandlingsudstyr; RF-løsninger; diskrete komponenter; enterprise storage og kommunikationsløsninger, sikkerhedsteknologier og skalerbar anti-tamper produkter; Ethernet-løsninger; Power-over-Ethernet IC'er og midspans; samt tilpassede designmuligheder og tjenester. Lær mere på www.microsemi.com.
Microsemi hovedkvarter
One Enterprise, Aliso Viejo,
CA 92656 USA
Inden for USA: +1 800-713-4113
Uden for USA: +1 949-380-6100
Salg: +1 949-380-6136
Fax: +1 949-215-4996
E-mail: salg.support@microsemi.com
www.microsemi.com
©2021 Microsemi, et helejet datterselskab af Microchip Technology Inc. Alle rettigheder forbeholdes. Microsemi og Microsemi-logoet er registrerede varemærker tilhørende Microsemi Corporation. Alle andre varemærker og servicemærker tilhører deres respektive ejere.
Microsemi Proprietær DG0703 Revision 4.0
Dokumenter/ressourcer
![]() |
MICROCHIP-fejldetektering og -korrektion på RTG4 LSRAM-hukommelse [pdfBrugervejledning DG0703 Demo, fejlregistrering og korrektion på RTG4 LSRAM-hukommelse, registrering og korrektion på RTG4 LSRAM-hukommelse, RTG4 LSRAM-hukommelse, LSRAM-hukommelse |