Mikrosemi -LOGO

Microsemi DG0618 feildeteksjon og retting på SmartFusion2-enheter som bruker DDR-minne

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-PRODUCT-IMAGE

Microsemi Corporate Headquarters
One Enterprise, Aliso Viejo,
CA 92656 USA
Innenfor USA: +1 800-713-4113
Utenfor USA: +1 949-380-6100
Faks: +1 949-215-4996
E-post: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Alle rettigheter forbeholdt. Microsemi og Microsemi-logoen er 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 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 Corporation (Nasdaq: MSCC) 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. Microsemi har hovedkontor i Aliso Viejo, California, og har omtrent 4,800 ansatte globalt. Lær mer på www.microsemi.com.

Revisjonshistorie

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

  • Revisjon 4.0
    Oppdaterte dokumentet for Libero v11.8 programvareversjon.
  • Revisjon 3.0
    Oppdaterte dokumentet for Libero v11.7 programvareversjon.
  • Revisjon 2.0
    Oppdaterte dokumentet for Libero v11.6 programvareversjon.
  • Revisjon 1.0
    Opprinnelig utgivelse for Libero SoC v11.5 programvareutgivelse.

Feilgjenkjenning og retting på SmartFusion2-enheter som bruker DDR-minne

Introduksjon
I et enkelt hendelsesforstyrrelse (SEU) mottakelig miljø, er RAM (Random Access Memory) utsatt for forbigående feil forårsaket av tunge ioner.
Dette dokumentet beskriver EDAC-funksjonene til SoC FPGA, som brukes i applikasjoner med minner koblet gjennom mikrokontroller-undersystemet (MSS) DDR (MDDR).
EDAC-kontrollerne implementert i SmartFusion2-enhetene støtter enkeltfeilkorreksjon og dobbelfeildeteksjon (SECDED). Alle minner – forbedret statisk tilfeldig tilgangsminne (eSRAM), DDR, laveffekts DDR (LPDDR) – i SmartFusion2 MSS-enhetene er beskyttet av SECDED. DDR Synchronous Dynamic Random Access Memory (SDRAM) kan være DDR2, DDR3 eller LPDDR1, avhengig av MDDR-konfigurasjonen og maskinvare-ECC-funksjonene.
SmartFusion2 MDDR-undersystemet støtter minnetettheter på opptil 4 GB. I denne demoen kan du velge hvilken som helst minneplassering på 1 GB i DDR-adresseområdet (0xA0000000 til 0xDFFFFFFF).
Når SECDED er aktivert:

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

Følgende illustrasjon beskriver blokkskjemaet til SmartFusion2 EDAC på DDR SDRAM.

Figur 1 • Blokkdiagram på toppnivå

EDAC-funksjonen til DDR støtter følgende:

  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-biters 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-registre
  6. gir feilbusssignaler til FPGA-stoffet

For mer informasjon om EDAC, se UG0443: SmartFusion2 og IGLOO2 FPGA Security and Reliability User Guide og UG0446: SmartFusion2 og IGLOO2 FPGA High-Speed ​​DDR Interfaces User Guide.

Designkrav
Tabellen nedenfor viser designkravene.

Tabell 1 • Designkrav

  • Designkrav Beskrivelse
  • Maskinvarekrav
  • SmartFusion2 Advanced Development Kit-kort Rev B eller nyere
  • FlashPro5-programmerer eller nyere
  • USB A til mini-B USB-kabel
  • Strømadapter 12 V.
  • DDR3 datterbrett
  • Operativsystem Alle 64-biters eller 32-biters Windows XP SP2
  • Alle 64-biters eller 32-biters Windows 7
  • Programvarekrav
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • FlashPro programmeringsprogramvare v11.8
  • Host PC-drivere USB til UART-drivere
  • Rammeverk for å kjøre demonstrasjon av Microsoft .NET Framework 4-klient

Demodesign
Demodesignet files er tilgjengelig for nedlasting fra følgende bane i Microsemi webnettsted: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demodesignet files inkluderer:

  • DDR-konfigurasjon File
  • DDR_EDAC
  • Programmering files
  • GUI kjørbar
  • Les meg file

Følgende illustrasjon beskriver toppnivåstrukturen til designet files. For ytterligere detaljer, se readme.txt file.

Figur 2 • Demodesign struktur på toppnivå

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-2

Implementering av demodesign
MDDR-undersystemet har 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 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.
Dette skjer i sanntid. For å demonstrere denne SECDED-funksjonen blir en feil introdusert manuelt og observert deteksjon og korrigering.
Denne demodesignen innebærer implementering av følgende trinn:

  1. Aktiver EDAC
  2. Skriv data til DDR
  3. Les data fra DDR
  4. Deaktiver EDAC
  5. Korrupte 1 eller 2 biter
  6. Skriv data til DDR
  7. Aktiver EDAC
  8. Les dataene
  9. 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.
  10. 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-biters og 2-biters feil.

Sløyfetest
Sløyfetest utføres når SmartFusion2-enhetene mottar en sløyfetestkommando 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 DDR-minneplasseringen
  3. Deaktiver EDAC-kontrolleren
  4. Skriv 1-bits eller 2-biters feilinduserte data til samme DDR-minneplassering
  5. Aktiver EDAC-kontrolleren
  6. Les dataene fra samme DDR-minneplassering
  7. Send 1-bits eller 2-biters feildeteksjon og 1-bits feilrettingsdata i tilfelle 1-bits feil til GUI

Manuell test
Denne metoden tillater manuell testing av 1-bits feildeteksjon og korrigering og 2-bits feildeteksjon for DDR-minneadresse (0xA0000000 til 0xDFFFFFFF) med initialisering. En 1-bit/2-bit feil introduseres manuelt til en valgt DDR-minneadresse. De gitte dataene skrives til det valgte DDR-minnestedet med EDAC aktivert. De ødelagte 1-biters eller 2-biters feildataene skrives deretter til samme minneplassering med EDAC deaktivert. Informasjonen om den oppdagede 1-bits eller 2-biters feilen logges når dataene leses fra samme minneplassering med EDAC aktivert. Den høyytelses DMA-kontrolleren
(HPDMA) brukes til å lese dataene fra DDR-minnet. Dual-bit feildeteksjonsavbruddsbehandleren er implementert for å iverksette passende handling når en 2-bits feil oppdages.
Følgende illustrasjon beskriver EDAC-demooperasjonene.

Figur 3 • Design Flow

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-3

Note: For en 2-bits feil, når Cortex-M3-prosessoren leser dataene, går kodekjøringen inn til den harde feilbehandleren, ettersom avbruddet som mottas er sent for prosessoren til å svare. Innen den svarer på avbruddet, kan den allerede ha sendt dataene og ved et uhell startet en kommando. Som et resultat slutter HRESP å behandle feil data. 2-bits feildeteksjon bruker HPDMA til å lese dataene fra DDR-adresseplasseringen, som instruerer prosessoren om at lesedata har en 2-bits feil, og at systemet bør iverksette passende tiltak for å gjenopprette (ECC avbruddshåndterer).

Sette opp demodesignet
Denne delen beskriver SmartFusion2 Advanced Development Kit-kortoppsettet, GUI-alternativene og hvordan du utfører demodesignet.
Følgende trinn beskriver hvordan du setter opp demoen:

  1. Koble den ene enden av USB mini-B-kabelen til J33-kontakten som følger med i SmartFusion2 Advanced Development Kit-kortet. Koble den andre enden av USB-kabelen til verts-PC-en. Lysdiode (LED) DS27 må lyse, noe som indikerer at UART-koblingen er etablert. Sørg for at USB til UART-brodriverne oppdages automatisk (kan verifiseres i Enhetsbehandling), som vist i følgende figur.
    Figur 4 • USB til UART Bridge-drivere
    Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-4
    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.
  2. Koble til jumperne på SmartFusion2 Advanced Development Kit-kortet, som vist i tabell 4, side 11. Strømforsyningsbryteren SW7 må være slått AV mens jumpertilkoblingene foretas.

Figur 5 • SmartFusion2 Advanced Development Kit Board Setup

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-5

 Grafisk brukergrensesnitt
Denne delen beskriver DDR – EDAC Demo GUI.

Figur 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-6

GUI støtter følgende funksjoner:

  1. Valg av COM-port og Baud Rate
  2. Valg av 1-bits feilrettingsfane eller 2-bits feildeteksjon
  3. Adressefelt for å skrive eller lese data til eller fra spesifisert DDR-adresse
  4. Datafelt for å skrive eller lese data til eller fra spesifisert DDR-adresse
  5. Serial Console-delen for å skrive ut statusinformasjonen mottatt fra applikasjonen
  6. Aktiver EDAC/Deaktiver EDAC: Aktiverer eller deaktiverer EDAC
  7. Skriv: Gjør det mulig å skrive data til den angitte adressen
  8.  Les: Tillater lesing av data fra den angitte adressen
  9. Sløyfetest PÅ/AV: Gjør det mulig å teste EDAC-mekanismen i en sløyfemetode
  10.  Initialiser: Gjør det mulig å initialisere den forhåndsdefinerte minneplasseringen (i denne demoen A0000000-A000CFFF)

Kjører Demo Design
Følgende trinn beskriver hvordan du kjører designet: De følgende trinnene beskriver hvordan du kjører designet:

  1. Slå PÅ forsyningsbryteren, SW7.
  2. Programmer SmarFusion2-enheten med programmeringen file gitt i designet files.(\ProgrammeringFile\EDAC_DDR3.stp) ved hjelp av FlashPro-designprogramvare, som vist i følgende figur.
    Figur 7 • FlashPro programmeringsvindu
    Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-7
  3. Trykk på SW6-bryteren for å tilbakestille brettet etter vellykket programmering.
  4. Start EDAC_DDR Demo GUI kjørbar file tilgjengelig i designet files (\GUI Executable\ EDAC_DDR.exe). GUI-vinduet vises, som vist i figur 8, side 9.
  5. Klikk på Koble til, den velger COM-porten og oppretter forbindelsen. Koble til alternativet endres til Koble fra.
  6. Velg kategorien 1-bits feilretting eller 2-bits feildeteksjon.
  7. Manuelle og sløyfetester kan utføres.
  8. Klikk Initialiser for å initialisere DDR-minnet for å utføre manuelle og sløyfetestene, en melding om initialiseringsfullføring vises på seriekonsollen, som vist i figur 8, side 9.

Figur 8 • Vinduet Initialisering fullført

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-8

Utfører sløyfetest
Klikk Sløyfetest PÅ. Den kjører i loop-modus hvor kontinuerlig korrigering og oppdagelse av feil gjøres. Alle handlinger som utføres i SmartFusion2-enheten logges i seriekonsoll-delen av GUI.

Tabell 2 • DDR3-minneadresser brukt i sløyfetest

  • Minne DDR3
  • 1-bits feilretting 0xA0008000
  • 2-bits feildeteksjon 0xA000C000

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.

Tabell 3 • DDR3-minneadresser brukt i manuell test

Inndatafelter for adresse og data (bruk 32-biters heksadesimale verdier).

  • Minne DDR3
  • 1-bits feilretting 0xA0000000-0xA0004000
  • 2-bits feildeteksjon 0xA0004000-0xA0008000
  1. Klikk på Aktiver EDAC.
  2. Klikk på Skriv.
  3. Klikk Deaktiver EDAC.
  4. Endre én bit (i tilfelle 1-bits feilretting) eller to bits (i tilfelle 2-bits feildeteksjon) i Data-feltet (introduserer feil).
  5. Klikk på Skriv.
  6. Klikk på Aktiver EDAC.
  7. Klikk Les.
  8. Observer feiltellingsvisning og datafelt i GUI. Feiltellingsverdien øker med 1.

1-bits feilsløyfekorreksjonsvinduet er vist i følgende figur.

Figur 9 • Vindu for 1-bits feilsløyfedeteksjon

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-9

Det manuelle vinduet for 2-bits feildeteksjon vises i følgende figur.

Figur 10 • 2-biters feilsøkingsmanualvindu

Microsemi -DG0618-Feildeteksjon-og-korrigering-på-SmartFusion2-enheter-bruker-DDR-minne-10

Konklusjon
Denne demoen viser SmartFusion2 SECDED-funksjoner for MDDR-undersystemet.

Vedlegg: Jumperinnstillinger

Følgende tabell viser alle nødvendige jumpere for å sette på SmartFusion2 Advanced Development Kit.

Tabell 4 • SmartFusion2 Advanced Development Kit Jumper-innstillinger

Jumper : Pin (Fra) : Pin (Til) : Kommentarer

  • J116, J353, J354, J54 1 2 Dette er standard jumperinnstillingene for Advanced
  • J123 2 3 Development Kit-kort. Sørg for at disse hopperne er stilt inn tilsvarende.
  • J124, J121, J32 1 2 JTAG programmering via FTDI

DG0618 Demo Guide Revisjon 4.0

Dokumenter / Ressurser

Microsemi DG0618 feildeteksjon og retting på SmartFusion2-enheter som bruker DDR-minne [pdfBrukerhåndbok
DG0618 Feilgjenkjenning og korrigering på SmartFusion2-enheter som bruker DDR-minne, DG0618, feildeteksjon og korrigering på SmartFusion2-enheter som bruker DDR-minne, SmartFusion2-enheter som bruker DDR-minne, DDR-minne

Referanser

Legg igjen en kommentar

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