mikrochiplogo

MICROCHIP feildeteksjon og korrigering på RTG4 LSRAM-minne

MICROCHIP-Feil-deteksjon-og-korrigering-på-RTG4-LSRAM-minne

Revisjonshistorie

Revisjonshistorikken beskriver endringene som ble implementert i dokumentet. Endringene er oppført etter revisjon, og starter med den nyeste publikasjonen.

Revisjon 4.0
Følgende er en oppsummering av endringene som er gjort i denne revisjonen.

  • Oppdaterte dokumentet for Libero SoC v2021.2.
  • Lagt til vedlegg 1: Programmere enheten ved hjelp av FlashPro Express, side 14.
  • Lagt til vedlegg 2: Kjøre TCL-skriptet, side 16.
  • Fjernet referansene til Libero versjonsnumre.

Revisjon 3.0
Oppdaterte dokumentet for Libero v11.9 SP1 programvareversjon.

Revisjon 2.0
Oppdaterte dokumentet for Libero v11.8 SP2 programvareversjon.

Revisjon 1.0
Den første utgivelsen av dette dokumentet.

Feildeteksjon og retting på RTG4 LSRAM-minne

Denne referansedesignen beskriver funksjonene for feildeteksjon og korrigering (EDAC) til RTG4™ FPGA LSRAM-ene. I et enkelt hendelsesopprør (SEU) mottakelig miljø, er RAM utsatt for forbigående feil forårsaket av tunge ioner. Disse feilene kan oppdages og korrigeres ved å bruke feilrettingskoder (ECC). RTG4 FPGA RAM-blokkene har innebygde EDAC-kontrollere for å generere feilrettingskodene for å korrigere en 1-bits feil eller oppdage en 2-bits feil.

Hvis det oppdages en 1-bits feil, retter EDAC-kontrolleren feilbiten og setter feilkorreksjonsflagget (SB_CORRECT) til aktiv høy. Hvis en 2-bits feil oppdages, setter EDAC-kontrolleren feildeteksjonsflagget (DB_DETECT) til aktiv høy.
For mer informasjon om RTG4 LSRAM EDAC-funksjonalitet, se UG0574: RTG4 FPGA Fabric

Brukerveiledning.
I denne referansedesignen introduseres 1-bits feilen eller 2-biters feilen gjennom SmartDebug GUI. EDAC observeres ved å bruke et grafisk brukergrensesnitt (GUI), som bruker UART-grensesnittet for å få tilgang til LSRAM for datalesing/skriving, Libero® System-on-Chip (SoC) SmartDebug (JTAG) brukes til å injisere feilene i LSRAM-minnet.

Designkrav
Tabell 1 viser referansedesignkravene for å kjøre RTG4 LSRAM EDAC-demoen.

Tabell 1 • Designkrav

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-1

Programvare

  • Libero SoC
  • FlashPro Express
  • SmartDebug
  • Host PC-drivere USB til UART-drivere

Note: Libero SmartDesign og konfigurasjonsskjermbilder vist i denne veiledningen er kun ment som illustrasjon.
Åpne Libero-designet for å se de siste oppdateringene.

Forutsetninger
Før du starter:
Last ned og installer Libero SoC (som angitt i webnettsted for dette designet) på verts-PCen fra følgende plassering: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc

Demodesign
Last ned demodesign files fra Microsemi webnettsted på: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df

Demodesignet files inkluderer:

  • Libero SoC-prosjekt
  • GUI installer
  • Programmering files
  • Readme.txt file
  • TCL_Scripts

GUI-applikasjonen på verts-PCen utsteder kommandoer til RTG4-enheten gjennom USB-UART-grensesnittet. Dette UART-grensesnittet er designet med CoreUART, som er en logisk IP fra Libero SoC IP-katalogen. CoreUART IP i RTG4-stoffet mottar kommandoer og sender dem til kommandodekoderlogikken. Kommandodekoderlogikken dekoder lese- eller skrivekommandoen, som utføres ved hjelp av minnegrensesnittlogikken.

Minnegrensesnittblokken brukes til å lese/skrive og overvåke LSRAM-feilflaggene. Den innebygde EDAC korrigerer 1-bits feilen under lesing fra LSRAM og gir korrigerte data til brukergrensesnittet, men skriver ikke korrigerte data tilbake til LSRAM. Den innebygde LSRAM EDAC implementerer ikke en skrubbefunksjon. Demodesignet implementerer skrubbelogikk, som overvåker 1-bits korreksjonsflagget og oppdaterer LSRAM med de korrigerte dataene hvis det oppstår en enkeltbitfeil.
SmartDebug GUI brukes til å injisere 1-bits eller 2-biters feil i LSRAM-dataene.
Figur 1 viser blokkskjemaet på toppnivå av RTG4 LSRAM EDAC-demodesign.

Figur 1 • Blokkdiagram på toppnivå

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-2

Følgende er demodesignkonfigurasjonene:

  1. LSRAM er konfigurert for ×18-modus og EDAC er aktivert ved å koble LSRAMs ECC_EN-signal til høy.
    Note: LSRAM EDAC støttes kun for modusene ×18 og ×36.
  2. CoreUART IP er konfigurert til å kommunisere med verts-PC-applikasjonen med en baudhastighet på 115200.
  3. RTG4FCCCECALIB_C0 er konfigurert til å klokke CoreUART og annen stofflogikk på 80 MHz.

Funksjoner
Følgende er demodesignfunksjonene:

  • Les og skriv til LSRAM
  • Injiser 1-bits og 2-biters feil ved hjelp av SmartDebug
  • Vis 1-biters og 2-biters feiltellingsverdier
  • Avsetning for å fjerne feiltellingsverdiene
  • Aktiver eller deaktiver minneskrubblogikken

Beskrivelse
Denne demodesignen innebærer implementering av følgende oppgaver:

  • Initialisere og få tilgang til LSRAM
    Minnegrensesnittlogikken implementert i strukturlogikken mottar initialiseringskommandoen fra GUI og initialiserer de første 256 minneplasseringene til LSRAM med inkrementelle data. Den utfører også lese- og skriveoperasjoner til de 256 minnestedene til LSRAM ved å motta adressen og dataene fra GUI. For en leseoperasjon henter designet dataene fra LSRAM og gir dem til GUI for visning. Forventningen er at designet ikke vil indusere feil før du bruker SmartDebug.

Note: Uinitialiserte minneplasseringer kan ha tilfeldige verdier, og SmartDebug kan vise enkeltbits- eller dobbelbitsfeil på disse plasseringene.

  • Injiserer 1-bits eller 2-biters feil
    SmartDebug GUI brukes til å injisere 1-bits eller 2-biters feil i den spesifiserte minneplasseringen til LSRAM. Følgende operasjoner utføres ved hjelp av SmartDebug for å injisere 1-bits og 2-biters feil i LSRAM:
    • Åpne SmartDebug GUI, klikk på Debug FPGA Array.
    • Gå til fanen Minneblokker, velg minneforekomsten og høyreklikk Legg til.
    • For å lese minneblokken, klikk på Les blokk.
    • Injiser enkeltbits- eller dobbelbitsfeil i en hvilken som helst plassering av LSRAM med en viss dybde.
    • For å skrive til den endrede plasseringen, klikk på Skriv blokk.
      Under LSRAM lese- og skriveoperasjonen gjennom SmartDebug (JTAG)-grensesnittet omgås EDAC-kontrolleren og beregner ikke ECC-bitene for skriveoperasjonen i trinn e.
  • Feil ved telling
    8-bit tellere brukes for å gi en feiltelling og er designet inn i stofflogikken for å telle 1-bit eller 2-bit feil. Kommandodekoderlogikken gir telleverdiene til GUI når den mottar kommandoer fra GUI.

Klokkestruktur
I denne demodesignen er det ett klokkedomene. Den interne 50 MHz-oscillatoren driver RTG4FCCC, som videre driver RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 genererer en 80 MHz-klokke som gir en klokkekilde til COREUART-, cmd_dekoder-, TPSRAM_ECC- og RAM_RW-modulene.
Følgende figur viser klokkestrukturen til demodesignet.

Figur 2 • Klokkestruktur

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-3

Tilbakestill struktur
I denne demodesignen leveres tilbakestillingssignalet til COREUART-, cmd_dekoder- og RAM_RW-modulene gjennom LOCK-porten til RTG4FCCCECALIB_C0. Følgende figur viser tilbakestillingsstrukturen til demodesignet.

Figur 3 • Tilbakestill struktur

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-4

Sette opp demodesignet
De følgende avsnittene beskriver hvordan du setter opp RTG4 Development Kit og GUI for å kjøre demodesignet.

Jumperinnstillinger

  1. Koble til jumperne på RTG4 Development Kit, som vist i tabell 2.
    Tabell 2 • Jumperinnstillinger
    Jumper Pin (fra) Fest (til) Kommentarer
    J11, J17, J19, J21, J23, J26, J27, J28 1 2 Misligholde
    J16 2 3 Misligholde
    J32 1 2 Misligholde
    J33 1 3 Misligholde
    2 4

    Note: Slå av strømforsyningsbryteren, SW6, mens du kobler til jumperne.

  2. Koble USB-kabelen (mini USB til Type-A USB-kabel) til J47 på RTG4 Development Kit og den andre enden av kabelen til USB-porten på verts-PCen.
  3. Sørg for at USB til UART-brodriverne oppdages automatisk. Dette kan verifiseres i enhetsbehandlingen til verts-PC-en.
    Figur 4 viser egenskapene til USB 2.0-serieporten og den tilkoblede COM31- og USB-serieomformeren C.

Figur 4 • USB til UART Bridge-drivere

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-6

Note: Hvis USB til UART-brodriverne ikke er installert, last ned og installer driverne fra www.microsemi.com//documents/cdm_2.08.24_whql_certified.zip

Figur 5 viser brettoppsettet for å kjøre EDAC-demoen på RTG4 Development Kit.

MICROCHIP feildeteksjon og korrigering på RTG4 LSRAM-minne

Programmering av demodesignet

  1. Start Libero SOC-programvaren.
  2. For å programmere RTG4 Development Kit med jobben file gitt som en del av designet files bruker FlashPro Express-programvare, se vedlegg 1: Programmere enheten ved hjelp av FlashPro Express,side 14.
    Note: Når programmeringen er ferdig med jobben file gjennom FlashPro Express-programvaren, fortsett til EDAC Demo GUI, side 9. Ellers fortsett til neste trinn.
  3. I Libero-designflyten klikker du på Kjør programhandling.
  4. Når programmeringen er fullført, vises en grønn hake foran 'Kjør programhandling' som indikerer vellykket programmering av demodesignet.

MICROCHIP feildeteksjon og korrigering på RTG4 LSRAM-minne-1

EDAC Demo GUI
EDAC-demoen er utstyrt med et brukervennlig GUI, som vist i figur 7, som kjører på verts-PCen, som kommuniserer med RTG4 Development Kit. UART brukes som den underliggende kommunikasjonsprotokollen mellom verts-PCen og RTG4 Development Kit.

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-9

GUI inneholder følgende seksjoner:

  1. COM-portvalg for å etablere UART-tilkoblingen til RTG4 FPGA med 115200 baudhastighet.
  2. LSRAM-minneskriving: For å skrive 8-bits data til den spesifiserte LSRAM-minneadressen.
  3. Minneskrubbing: For å aktivere eller deaktivere skrubbelogikken.
  4. Lese LSRAM-minne: For å lese 8-bits data fra den spesifiserte LSRAM-minneadressen.
  5. Feiltelling: Viser feiltellingen og gir en mulighet til å nullstille tellerverdien.
  6. 1-bits feiltelling: Viser 1-bits feiltelling og gir et alternativ for å nullstille tellerverdien.
  7. 2-biters feiltelling: Viser 2-biters feiltelling og gir en mulighet til å nullstille tellerverdien.
  8. Loggdata: Gir statusinformasjon for hver operasjon som utføres ved hjelp av GUI.

Kjører demo
Følgende trinn beskriver hvordan du kjører demoen:

  1. Gå til \v1.2.2\v1.2.2\Exe og dobbeltklikk på EDAC_GUI.exe som vist i figur 8.
  2. Velg COM31-porten fra listen og klikk på Koble til.

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-10

Enkeltbit feilinjeksjon og korreksjon

  1. I det medfølgende Libero-designet dobbeltklikker du på SmartDebug Design i designflyten.
  2. I SmartDebug GUI, klikk Debug FPGA Array.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-11
  3. I vinduet Debug FPGA Array går du til Memory Blocks-fanen. Den vil vise LSRAM-blokken i designet med en logisk og fysisk view. Logiske blokker vises med et L-ikon, og fysiske blokker vises med et P-ikon.
  4. Velg den fysiske blokkforekomsten og høyreklikk Legg til.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-12
  5. For å lese minneblokken, klikk på Les blokk.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-13
  6. Injiser 1 bit feil i 8 bit data på et hvilket som helst sted i LSRAM opp til dybde 256, som vist i følgende figur der 1 bit feil injiseres på 0. plassering av LSRAM.
  7. Klikk Skriv blokk for å skrive de endrede dataene til den tiltenkte plasseringen.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-14
  8. Gå til EDAC GUI og skriv inn adressefeltet i LSRAM Memory Read-delen og klikk Les, som vist i følgende figur.
  9. Observer 1 Bit Error Count og Read Data-feltene i GUI. Feiltellingsverdien øker med 1.
    Les data-feltet viser de riktige dataene ettersom EDAC korrigerer feilbiten.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-15

Note: Hvis minneskrubbing ikke er aktivert, økes feiltellingen for hver lesing fra den samme LSRAM-adressen da den forårsaker 1-bits feilen.

Dobbel bit feilinjeksjon og deteksjon

  1. Utfør trinn 1 til trinn 5 som gitt i Enkeltbits feilinjeksjon og korreksjon, side 10.
  2. Injiser 2-bits feil i 8-bits data på en hvilken som helst plassering av LSRAM opp til dybde 256, som vist i den følgende figuren der 2-bits feilen injiseres på plassering 'A' av LSRAM.
  3. Klikk Skriv blokk for å skrive de endrede dataene til den tiltenkte plasseringen.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-16
  4. Gå til EDAC GUI og skriv inn adressefeltet i LSRAM Memory Read-delen og klikk Les, som vist i følgende figur.
  5. Observer 2-biters feiltelling og lesedata-felt i GUI. Feiltellingsverdien øker med 1.
    Les data-feltet viser de ødelagte dataene.

Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-17

Alle handlingene som utføres i RTG4 blir logget i Serial Console-delen av GUI.

Konklusjon
Denne demoen fremhever EDAC-funksjonene til RTG4 LSRAM-minnene. 1-bits feilen eller 2-bits feilen introduseres gjennom SmartDebug GUI. 1-bits feilretting og 2-bits feildeteksjon observeres ved å bruke en EDAC GUI.

Programmere enheten ved hjelp av FlashPro Express

Denne delen beskriver hvordan du programmerer RTG4-enheten med programmeringsjobben file ved hjelp av FlashPro Express.

For å programmere enheten, utfør følgende trinn:

  1. Sørg for at jumperinnstillingene på brettet er de samme som er oppført i tabell 3 i UG0617:
    Brukerveiledning for RTG4 Development Kit.
  2. Eventuelt kan jumper J32 settes til å koble til pinner 2-3 når du bruker en ekstern FlashPro4, FlashPro5 eller FlashPro6 programmerer i stedet for standard jumperinnstillingen for å bruke den innebygde FlashPro5.
    Note: Strømforsyningsbryteren, SW6 må være slått AV mens du foretar jumpertilkoblingene.
  3. Koble strømforsyningskabelen til J9-kontakten på kortet.
  4. Slå PÅ strømforsyningsbryteren SW6.
  5. Hvis du bruker den innebygde FlashPro5, koble USB-kabelen til kontakt J47 og verts-PCen.
    Alternativt, hvis du bruker en ekstern programmerer, kobler du båndkabelen til JTAG header J22 og koble programmereren til verts-PCen.
  6. Start FlashPro Express-programvaren på verts-PCen.
  7. Klikk Ny eller velg Ny jobbprosjekt fra FlashPro Express Job fra Prosjekt-menyen for å opprette et nytt jobbprosjekt, som vist i følgende figur.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-18
  8. Skriv inn følgende i dialogboksen Nytt jobbprosjekt fra FlashPro Express Job:
    • Programmeringsjobb file: Klikk på Bla gjennom, og naviger til plasseringen der .jobben file er plassert og velg file. Standardplasseringen er: \rtg4_dg0703_df\Programmering_Job
    • FlashPro Express-jobbprosjektplassering: Klikk Bla gjennom og naviger til ønsket FlashPro Express-prosjektplassering.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-19
  9. Klikk OK. Nødvendig programmering file er valgt og klar til å programmeres i enheten.
  10. FlashPro Express-vinduet vises, bekreft at et programmerernummer vises i Programmer-feltet. Hvis den ikke gjør det, bekrefter du korttilkoblingene og klikker på Refresh/Rescan Programmers.
  11. Klikk KJØR. Når enheten er programmert vellykket, vises en KJØRET PASSERT status som vist i følgende figur.Microchip-feil-deteksjon-og-korreksjon-på-RTG4-lsram-memory-20
  12. Lukk FlashPro Express eller klikk Avslutt i Prosjekt-fanen.

Kjøre TCL-skriptet

TCL-skript er gitt i designet files-mappen under katalogen TCL_Scripts. Om nødvendig, design
flyt kan reproduseres fra designimplementering til generering av jobb file.

For å kjøre TCL, følg trinnene nedenfor:

  1. Start Libero-programvaren
  2. Velg Prosjekt > Utfør skript….
  3. Klikk på Bla gjennom og velg script.tcl fra den nedlastede TCL_Scripts-katalogen.
  4. Klikk Kjør.

Etter vellykket utførelse av TCL-skript, opprettes Libero-prosjektet i TCL_Scripts-katalogen.
For mer informasjon om TCL-skript, se rtg4_dg0703_df/TCL_Scripts/readme.txt.
Se Libero® SoC TCL Command Reference Guide for flere detaljer om TCL-kommandoer. Ta kontakt med teknisk støtte for alle spørsmål du møter når du kjører TCL-skriptet.

Microsemi gir ingen garantier, representasjoner eller garantier angående informasjonen heri eller egnetheten til produktene og tjenestene for noe bestemt formål, og Microsemi påtar seg heller ikke noe ansvar som oppstår som følge av bruken eller bruken av et produkt eller en krets. Produktene som selges nedenfor og alle andre produkter som selges av Microsemi har vært gjenstand for begrenset testing og skal ikke brukes sammen med virksomhetskritisk utstyr eller applikasjoner. Eventuelle ytelsesspesifikasjoner antas å være pålitelige, men er ikke verifisert, og kjøperen må gjennomføre og fullføre all ytelse og annen testing av produktene, alene og sammen med, eller installert i, eventuelle sluttprodukter. Kjøper skal ikke stole på data og ytelsesspesifikasjoner eller parametere levert av Microsemi. Det er kjøperens ansvar å uavhengig avgjøre egnetheten til ethvert produkt og å teste og verifisere det samme. Informasjonen gitt av Microsemi nedenfor er gitt "som den er, hvor den er" og med alle feil, og hele risikoen forbundet med slik informasjon er utelukkende hos kjøperen. Microsemi gir ikke, eksplisitt eller implisitt, til noen part noen patentrettigheter, lisenser eller andre IP-rettigheter, enten det gjelder slik informasjon i seg selv eller noe som er beskrevet av slik informasjon. Informasjonen gitt i dette dokumentet tilhører Microsemi, og Microsemi forbeholder seg retten til å gjøre endringer i informasjonen i dette dokumentet eller til produkter og tjenester når som helst uten varsel.

Om Microsemi Microsemi, et heleid datterselskap av Microchip Technology Inc. (Nasdaq: MCHP), tilbyr en omfattende portefølje av halvleder- og systemløsninger for luftfart og forsvar, kommunikasjon, datasenter og industrielle markeder. Produktene inkluderer høyytelses og strålingsherdede analoge integrerte kretser med blandede signaler, FPGA-er, SoC-er og ASIC-er; strømstyring produkter; timing- og synkroniseringsenheter og presise tidsløsninger, setter verdens standard for tid; stemmebehandling enheter; RF-løsninger; diskrete komponenter; bedriftslagring og kommunikasjonsløsninger, sikkerhetsteknologier og skalerbar anti-tamper produkter; Ethernet-løsninger; Power-over-Ethernet ICer og midspans; samt tilpassede designfunksjoner og tjenester. Lær mer på www.microsemi.com.

Mikrosemi hovedkvarter
One Enterprise, Aliso Viejo,
CA 92656 USA
Innenfor USA: +1 800-713-4113
Utenfor USA: +1 949-380-6100
Salg: +1 949-380-6136
Faks: +1 949-215-4996
E-post: salg.support@microsemi.com
www.microsemi.com

©2021 Microsemi, et heleid datterselskap av Microchip Technology Inc. Alle rettigheter forbeholdt. Microsemi og Microsemi-logoen er registrerte varemerker for Microsemi Corporation. Alle andre varemerker og tjenestemerker tilhører sine respektive eiere.

Microsemi Proprietary DG0703 Revisjon 4.0

Dokumenter / Ressurser

MICROCHIP feildeteksjon og korrigering på RTG4 LSRAM-minne [pdfBrukerhåndbok
DG0703 Demo, feildeteksjon og korrigering på RTG4 LSRAM-minne, deteksjon og korrigering på RTG4 LSRAM-minne, RTG4 LSRAM-minne, LSRAM-minne

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *