Microsemi - logoDG0388 SmartFusion2 SoC FPGA-feil
Deteksjon og korrigering av seramminne

Brukerveiledning

©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 gir ingen garantier, representasjoner eller garantier angående informasjonen heri eller egnetheten til produktene og tjenestene for et 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 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øpers ansvar å

uavhengig bestemme 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; bedriftslagrings- 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.

Revisjonshistorie

Revisjonshistorikken beskriver endringene som ble implementert i dokumentet. Endringene er oppført etter revisjon, fra og med gjeldende publikasjon.
1.1 Revisjon 11.0
Følgende er en oppsummering av endringene som er gjort i denne revisjonen.

  • Oppdaterte dokumentet for Libero SoC v12.6.
  • Fjernet referansene til Libero versjonsnumre.

1.2 Revisjon 10.0
Oppdaterte dokumentet for Libero SoC v11.8 SP1 programvareversjon.
1.3 Revisjon 9.0
Oppdaterte dokumentet for Libero SoC v11.8 programvareversjon.
1.4 Revisjon 8.0
Oppdaterte dokumentet for Libero SoC v11.7 programvareversjon (SAR 77402).
1.5 Revisjon 7.0
Oppdaterte dokumentet for Libero SoC v11.6 programvareversjon (SAR 72777).
1.6 Revisjon 6.0
Oppdaterte dokumentet for Libero SoC v11.5 programvareversjon (SAR 64979).
1.7 Revisjon 5.0
Oppdaterte dokumentet for Libero SoC v11.4 programvareversjon (SAR 60476).
1.8 Revisjon 4.0
Oppdaterte dokumentet for Libero SoC v11.3 programvareversjon (SAR 56852).
1.9 Revisjon 3.0
Oppdaterte dokumentet for Libero SoC v11.2 programvareversjon (SAR 52960).
1.10 Revisjon 2.0
Oppdaterte dokumentet for Libero SoC v11.0 programvareversjon (SAR 47858).
1.11 Revisjon 1.0
Den første utgivelsen av dette dokumentet.
SmartFusion2 SoC FPGA – Feildeteksjon og korrigering av Seram-minne

Introduksjon

Dette dokumentet beskriver EDAC-funksjonene (Error Detection and Correction) til SmartFusion® 2-enhetene på det innebygde statiske tilfeldige tilgangsminnet (Seram). EDAC-kontrollerne implementert i SmartFusion2-enhetene støtter Single-Error Correction og Double-Error Detection (SECDED). Alle minner i Microcontroller Subsystem (MSS) til SmartFusion2 er beskyttet av SECDED. Seram-minnet kan være eSRAM_0 eller eSRAM_1. Adresseområdet til eSRAM_0 er 0x20000000 til 0x20007FFF og adresseområdet til eSRAM_1 er 0x20008000 til 0x2000FFFF.
Når SECDED er aktivert:

  • En skriveoperasjon beregner og legger til 8 biter med SECDED-kode til hver 32. bit med data.
  • En leseoperasjon leser og kontrollerer dataene mot den lagrede SECDED-koden for å støtte 1-bits feilretting og 2-bits feildeteksjon.

I denne demoen kan EDAC identifiseres ved den blinkende lysdioden (LED) på brettet og av det grafiske brukergrensesnittet (GUI).Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - nivåblokkdiagramEDAC av eSRAM støtter følgende funksjoner:

  1. SECDED-mekanisme
  2. Gir avbrudd til ARM Cortex-M3-prosessoren og FPGA-stoffet ved oppdagelse av en 1-bits feil eller 2-bits feil.
  3. Lagrer antall 1-bits og 2-biters feil i feiltellerregistrene.
  4. Lagrer adressen til den siste 1-bits eller 2-biters feil berørte minneplasseringen.
  5. Lagrer 1-bits eller 2-biters feildata i SECDED-registrene.
  6. Gir feilbusssignaler til FPGA-stoffet.

Se EDAC-kapittelet i UG0443: SmartFusion2 og IGLOO2 FPGA Security and Reliability User Guide og Seram-kapittelet i UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
2.2 Demokrav
Tabellen nedenfor viser maskinvare- og programvarekravene for å kjøre demodesignet.
Tabell 1 • Designkrav

Behov Versjon
Operativsystem 64-biters Windows 7 og 10
Maskinvare
SmartFusion2 Security Evaluation Kit:
• FlashPro4-programmerer
• USB A til Mini – B USB-kabel
• 12 V adapter
Rev D eller senere
Programvare
FlashPro Express Se readme.txt file gitt i designet files
for programvareversjonene som brukes med dette referansedesignet.
Libero
 System-on-Chip (SoC) programvare
SoftConsole
Host PC-drivere USB til UART-drivere
For å lansere demo GUI Microsoft.NET Framework 4-klient

Note: Libero Smart Design og konfigurasjonsskjermbilder vist i denne veiledningen er kun ment som illustrasjon.
Åpne Libero-designet for å se de siste oppdateringene.
2.3 Forutsetninger
Før du begynner:
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
2.3.1 Design Files
Demodesignet files er tilgjengelig for nedlasting fra følgende bane i Microsemi webnettsted: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Design files inkluderer:

  • GUI kjørbar
  • Libero-prosjektet
  • Programmeringsjobb
  • Les meg file

Følgende figur viser toppnivåstrukturen til designet files. For ytterligere detaljer, se readme.txt file.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - Demodesign2.4 Beskrivelse av demodesign
Hvert seram i MSS er beskyttet av en dedikert EDAC-kontroller. EDAC oppdager en 1-bits feil eller 2-bits feil når data leses fra minnet. Hvis EDAC oppdager 1-bits feilen, retter EDAC-kontrolleren den samme feilbiten. Hvis EDAC er aktivert for alle 1-bits og 2-bits feilene, økes tilsvarende feiltellere i systemregistrene og tilsvarende avbrudd og feilbusssignaler til FPGA-strukturen genereres.
I et enkelt hendelsesforstyrrelse (SEU) mottakelig miljø, er Random Access Memory (RAM) utsatt for forbigående feil forårsaket av tunge ioner. Dette skjer i sanntid. For å demonstrere dette, introduseres en feil manuelt og deteksjon og korrigering observeres.
Denne demodesignen innebærer implementering av følgende oppgaver:

  • Aktiver EDAC
  • Skriv data til Seram
  • Les data fra Seram
  • Deaktiver EDAC
  • Korrupte en eller to biter
  • Skriv data til Seram
  • Aktiver EDAC
  • Les dataene
  • I tilfelle av en 1-bits feil, retter EDAC-kontrolleren feilen, oppdaterer de tilsvarende statusregistrene og gir dataene skrevet i trinn 2 ved leseoperasjonen utført i trinn 8.
  • Ved en 2-bits feil genereres et tilsvarende avbrudd, og applikasjonen må korrigere dataene eller iverksette passende tiltak i avbruddsbehandleren. Disse to metodene er demonstrert i denne demoen.
    To tester er implementert i denne demoen: sløyfetest og manuell test, og de gjelder både 1-bits og 2-biters feil.

2.4.1 Sløyfetest
Loop Test utføres når SmartFusion2 mottar en loop test kommando fra GUI. Til å begynne med blir alle feiltellere og EDAC-relaterte registre plassert i RESET-tilstand.
Følgende trinn utføres for hver iterasjon:

  1. Aktiver EDAC-kontrolleren.
  2. Skriv dataene til den spesifikke Seram-minneposisjonen.
  3. Deaktiver EDAC-kontrolleren.
  4. Skriv 1-bits eller 2-biters feilinduserte data til samme Seram-minneplassering.
  5. Aktiver EDAC-kontrolleren.
  6. Les dataene fra samme Seram-minneplassering.
  7. Send 1-bits eller 2-biters feildeteksjon og 1-bits feilrettingsdata i tilfelle 1-bits feil til GUI.

2.4.2 Manuell test
Denne metoden tillater manuell testing for å aktivere eller deaktivere EDAC og skrive- eller leseoperasjon. Ved å bruke denne metoden kan 1-bits eller 2-biters feil introduseres til et hvilket som helst sted i sømmen. Aktiver EDAC og skriv data til den angitte adressen ved å bruke GUI-feltene. Deaktiver EDAC og skriv 1-bits eller 2-biters ødelagte data til samme adresseplassering. Aktiver EDAC og les dataene fra samme adresseplassering, så skifter LED-en på kortet for å varsle om oppdagelse og korrigering av feil. Den tilsvarende feiltelleren vises på GUI. GUI Serial Console logger alle handlingene som utføres i SmartFusion2.
Følgende figur viser Seram EDAC-demooperasjonene.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - Designflyt2.5 Kjøre demoen
Denne delen beskriver SmartFusion2 Security Evaluation Kit-kortoppsettet, GUI-alternativene og hvordan du utfører demodesignet.
2.5.1 Demooppsett
Følgende trinn beskriver hvordan du setter opp demoen:

  1. Koble FlashPro4-programmereren til J5-kontakten på SmartFusion2 Security Evaluation Kit-kortet.
  2. Koble den ene enden av USB mini-B-kabelen til J18-kontakten som følger med i SmartFusion2 Security Evaluation Kit-kortet. Koble den andre enden av USB-kabelen til verts-PC-en. Sørg for at USB til UART Bridge-driverne oppdages automatisk (kan verifiseres i Enhetsbehandling), som vist i figur 4, side 7.
    Note: Kopier COM-portnummeret for seriell portkonfigurasjon. Sørg for at COM-portens plassering er spesifisert som på USB Seriell Converter D, som vist i følgende figur.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - USB til UART Bridge-drivere
  3. Hvis USB til UART-brodrivere ikke er installert, last ned og installer driverne fra www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
  4. Koble til jumperne på SmartFusion2 Security Evaluation Kit-kortet, som vist i følgende figur. Strømforsyningsbryteren SW7 må være slått AV mens du foretar jumpertilkoblingene.
    Tabell 2 • SmartFusion2 Security Evaluation Kit Jumper-innstillinger
    Jumper Pin (fra) Fest (til)  Kommentarer
    J22, J23, J24, J8, J3 1 (standard) 2 Dette er standard jumperinnstillingene til SmartFusion2 Security Evaluation Kit-kortet. Sørg for at disse hopperne er stilt inn tilsvarende.
  5.  Koble strømforsyningen til J18-kontakten.

Følgende figur viser brettoppsettet for å kjøre demoen på SmartFusion2 SecuEvaluation Kit.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - Sett Board Setup2.5.2 Grafisk brukergrensesnitt
Den følgende delen beskriver Seram – EDAC demo GUI.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - Demo GUI

GUI støtter følgende funksjoner:

  1. Valg av COM-port og Baud Rate.
  2.  Valg av 1-bits feilrettingsfane eller 2-bits feildeteksjonsfane.
  3. Valg av eSRAM0 eller eSRAM1.
  4. Adressefelt for å skrive eller lese data til eller fra spesifisert Seram-adresse.
  5. Datafelt for å skrive eller lese data til eller fra spesifisert Seram-adresse.
  6.  Serial Console-delen for å skrive ut statusinformasjonen mottatt fra applikasjonen.
  7. EDAC PÅ/AV: Aktiverer eller deaktiverer EDAC.
  8. Skriv: Gjør det mulig å skrive data til den angitte adressen.
  9. Les: Tillater lesing av data fra den angitte adressen.
  10. LOOP-test PÅ/AV: Gjør det mulig å teste EDAC-mekanismen i en sløyfemetode.

2.5.3 Kjøre designet
Følgende trinn beskriver hvordan du kjører designet:

  1. Slå PÅ forsyningsbryteren, SW7.
  2. Programmer SmartFusion2 Security Evaluation Kit-tavlen med jobben file gitt som en del av designet files (\Programmeringsjobb\eSRAM_0\eSRAM0.job eller \Programmeringsjobb\eSRAM_1\eSRAM1.job) ved bruk av FlashPro Express-programvare, se Vedlegg: Programmere enheten ved hjelp av FlashPro Express, side 12.
  3. Trykk på SW6-bryteren for å tilbakestille brettet etter vellykket programmering.
  4. Start EDAC_eSRAM Demo GUI kjørbar file tilgjengelig i designet files (\GUI Executable\ EDAC_eSRAM.exe). GUI-vinduet vises, som vist i figur 6, side 9.
  5. Velg riktig COM-port (som USB til UART Bridge-drivere peker på) fra rullegardinlisten COM-port.
  6. Velg Baud Rate som 57600 og klikk på Koble til. Etter at tilkoblingen er opprettet, endres Connect til Koble fra.
  7. Velg Seram 0 eller Seram 1 avhengig av programmeringen file valgt i trinn 2.
  8. Velg kategorien 1-bits feilretting eller 2-bits feilregistrering, som vist i figur 7, side 10. og figur 8, side 11.
  9. To typer tester kan utføres: Manuell og Loop.

2.5.3.1 Utføre sløyfetest
Klikk Sløyfetest PÅ. Den kjører i loop-modus hvor kontinuerlig korrigering og oppdagelse av feil gjøres. Sløyfen går i 200 iterasjoner. Alle handlinger som utføres i SmartFusion2 logges i Serial Console-delen av GUI. 2-biters feildeteksjonssløyfetesten skriver ut den feilpåvirkede Seram-adresseforskyvningen i seriekonsollen. Klikk Loop Test OFF etter at 200 iterasjoner er fullført.
Tabell 3 • Seramminneadresser brukt i sløyfetest

Minne 1 1-bits feilretting  2-biters feildeteksjon
eSRAM0 0x20000000 0x20002000
eSRAM1 0x20008000 0x2000A000

2.5.3.2 Utføre manuell test
I denne metoden introduseres feil manuelt ved hjelp av GUI. Bruk følgende trinn for å utføre 1-bits feilretting eller 2-bits feildeteksjon:

  1. Inndatafelter for adresse og data (bruk 32-biters heksadesimale verdier).
  2. Klikk EDAC PÅ.
  3. Klikk på Skriv.
  4. Klikk EDAC AV.
  5. Bare endre 1-bit (i tilfelle 1-bit feilretting) eller 2 bit (i tilfelle 2-bit feildeteksjon) i Data-feltet (introduserer feil).
  6. Klikk på Skriv.
  7. Klikk EDAC PÅ.
  8. Klikk Les.
  9. Se feiltellingsvisning og datafelt i GUI. Feiltellingsverdien øker med 1.

Alle handlingene som utføres i SmartFusion2 logges i Serial Console-delen av GUI.
Note: For å bytte fra 1-bit feilrettingsfanen til 2-bits feildeteksjonsfanen eller omvendt i EDAC_eSRAM Demo GUI, tilbakestill maskinvarekortet.Microsemi DG0388 SmartFusion2 SoC FPGA-feiloppdagelse og korrigering av eSRAM-minne - Tab FeilrettingMicrosemi DG0388 SmartFusion2 SoC FPGA-feiloppdagelse og korrigering av eSRAM-minne - kategorien Bitfeildeteksjon

2.6 Konklusjon
Denne demoen viser SmartFusion2 SECDED-funksjonene til Seram.

Vedlegg: Programmere enheten ved hjelp av FlashPro Express

Denne delen beskriver hvordan du programmerer SmartFusion2-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 2, side 7.
    Note: Strømforsyningsbryteren må være slått av mens du foretar jumpertilkoblingene.
  2. Koble strømforsyningskabelen til J6-kontakten på kortet.
  3. Slå PÅ strømforsyningsbryteren SW7.
  4. Start FlashPro Express-programvaren på verts-PCen.
  5. Klikk Ny eller velg Ny jobbprosjekt fra FlashPro Express Job fra Prosjekt-menyen for å opprette et nytt jobbprosjekt, som vist i følgende figur.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - jobbprosjekt
  6. 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: \m2s_dg0388_df\Programmeringsjobb
    • Navn på FlashPro Express-jobbprosjekt: Klikk Bla gjennom og naviger til stedet der du vil lagre prosjektet.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - New Job Project
  7. Klikk OK. Nødvendig programmering file er valgt og klar til å programmeres i enheten.
  8. FlashPro Express-vinduet vises som vist i følgende figur. Bekreft at et programmerernummer vises i programmeringsfeltet. Hvis den ikke gjør det, bekrefter du korttilkoblingene og klikker på Refresh/Rescan Programmers.Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne - programmering
  9. Klikk KJØR. Når enheten er programmert vellykket, vises en KJØRET PASSERT status som vist i følgende figur.Microsemi DG0388 SmartFusion2 SoC FPGA-feiloppdagelse og korrigering av eSRAM-minne - KJØRET PASSERT
  10. Lukk FlashPro Express eller klikk på Avslutt i Prosjekt-fanen.

Microsemi - logoMikrosemi 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: sales.support@microsemi.com
www.microsemi.com
Microsemi Proprietary DG0388 Revisjon 11.0

Dokumenter / Ressurser

Microsemi DG0388 SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne [pdfBrukerhåndbok
DG0388, SmartFusion2 SoC FPGA feildeteksjon og korrigering av eSRAM-minne, DG0388 SmartFusion2 SoC FPGA-feildeteksjon og korrigering av eSRAM-minne

Referanser

Legg igjen en kommentar

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