Mikrosemi -LOGO

Microsemi DG0618 fejlfinding og korrektion på SmartFusion2-enheder, der bruger DDR-hukommelse

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-PRODUCT-IMAGE

Microsemi Corporate hovedkvarter
One Enterprise, Aliso Viejo,
CA 92656 USA
Inden for USA: +1 800-713-4113
Uden for USA: +1 949-380-6100
Fax: +1 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Alle rettigheder forbeholdes. Microsemi og Microsemi-logoet er varemærker tilhørende Microsemi Corporation. Alle andre varemærker og servicemærker tilhører deres respektive ejere

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 Corporation (Nasdaq: MSCC) 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 brugerdefinerede designmuligheder og tjenester. Microsemi har hovedkontor i Aliso Viejo, Californien, og har cirka 4,800 ansatte globalt. Lær mere på www.microsemi.com.

Revisionshistorie

Revisionshistorikken beskriver de ændringer, der blev implementeret i dokumentet. Ændringerne er listet efter revision, startende med den seneste publikation.

  • Revision 4.0
    Opdaterede dokumentet til Libero v11.8 softwareudgivelse.
  • Revision 3.0
    Opdaterede dokumentet til Libero v11.7 softwareudgivelse.
  • Revision 2.0
    Opdaterede dokumentet til Libero v11.6 softwareudgivelse.
  • Revision 1.0
    Oprindelig udgivelse til Libero SoC v11.5 softwareudgivelse.

Fejlfinding og -korrektion på SmartFusion2-enheder, der bruger DDR-hukommelse

Indledning
I et enkelt hændelsesforstyrrelse (SEU) følsomt miljø er RAM (Random Access Memory) tilbøjelig til forbigående fejl forårsaget af tunge ioner.
Dette dokument beskriver EDAC-funktionerne i SoC FPGA, som bruges i applikationer med hukommelser forbundet via mikrocontroller-undersystemet (MSS) DDR (MDDR).
EDAC-controllerne implementeret i SmartFusion2-enhederne understøtter enkelt fejlkorrektion og dobbeltfejldetektion (SECDED). Alle hukommelser – forbedret statisk tilfældig adgangshukommelse (eSRAM), DDR, laveffekt DDR (LPDDR) – i SmartFusion2 MSS-enhederne er beskyttet af SECDED. DDR Synchronous Dynamic Random Access Memory (SDRAM) kan være DDR2, DDR3 eller LPDDR1, afhængigt af MDDR-konfigurationen og hardware-ECC-kapaciteten.
SmartFusion2 MDDR-undersystemet understøtter hukommelsestætheder op til 4 GB. I denne demo kan du vælge en hvilken som helst hukommelsesplacering på 1 GB i DDR-adresserummet (0xA0000000 til 0xDFFFFFFF).
Når SECDED er aktiveret:

  • En skriveoperation beregner og tilføjer 8 bit SECDED-kode (til hver 64 bit data)
  • En læseoperation læser og kontrollerer dataene mod den lagrede SECDED-kode for at understøtte 1-bit fejlkorrektion og 2-bit fejldetektion

Den følgende illustration beskriver blokdiagrammet for SmartFusion2 EDAC på DDR SDRAM.

Figur 1 • Top-niveau blokdiagram

EDAC-funktionen i DDR understøtter følgende:

  1.  SECDED mekanisme
  2. Giver afbrydelser til ARM Cortex-M3-processoren og FPGA-strukturen ved detektering af en 1-bit fejl eller 2-bit fejl
  3. Gemmer antallet af 1-bit og 2-bit fejl i fejltællerregistre
  4. Gemmer adressen på den sidste 1-bit eller 2-bit fejlramte hukommelsesplacering
  5. Gemmer 1-bit eller 2-bit fejldata i SECDED-registre
  6. giver fejlbussignaler til FPGA-strukturen

For mere information 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
Følgende tabel viser designkravene.

Tabel 1 • Designkrav

  • Designkrav Beskrivelse
  • Hardwarekrav
  • SmartFusion2 Advanced Development Kit board Rev B eller nyere
  • FlashPro5 programmør eller nyere
  • USB A til mini-B USB-kabel
  • Strømadapter 12 V
  • DDR3 dattertavle
  • Operativsystem Enhver 64-bit eller 32-bit Windows XP SP2
  • Enhver 64-bit eller 32-bit Windows 7
  • Softwarekrav
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • FlashPro programmeringssoftware v11.8
  • Vært PC-drivere USB til UART-drivere
  • Framework til at køre demonstration Microsoft .NET Framework 4-klient

Demo design
Demodesignet files er tilgængelige til download fra følgende sti i Microsemi webwebsted: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demodesignet files omfatter:

  • DDR-konfiguration File
  • DDR_EDAC
  • Programmering files
  • Eksekverbar GUI
  • Læs mig file

Følgende illustration beskriver den øverste struktur af designet files. For yderligere detaljer, se readme.txt file.

Figur 2 • Demo Design Struktur på øverste niveau

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-2

Implementering af demodesign
MDDR-undersystemet har en dedikeret EDAC-controller. EDAC registrerer en 1-bit fejl eller 2-bit fejl, når data læses fra hukommelsen. Hvis EDAC registrerer 1-bit-fejlen, retter EDAC-controlleren fejlbitten. Hvis EDAC er aktiveret for alle 1-bit og 2-bit fejl, øges tilsvarende fejltællere i systemregistrene, og tilsvarende interrupts og fejlbussignaler til FPGA-strukturen genereres.
Dette sker i realtid. For at demonstrere denne SECDED-funktion introduceres en fejl manuelt og observeres påvisning og korrektion.
Dette demodesign involverer implementering af følgende trin:

  1. Aktiver EDAC
  2. Skriv data til DDR
  3. Læs data fra DDR
  4. Deaktiver EDAC
  5. Korrupte 1 eller 2 bits
  6. Skriv data til DDR
  7. Aktiver EDAC
  8. Læs dataene
  9. I tilfælde af en 1-bit fejl retter EDAC-controlleren fejlen, opdaterer de tilsvarende statusregistre og giver dataene skrevet i trin 2 ved læseoperationen udført i trin 8.
  10. I tilfælde af en 2-bit fejl genereres et tilsvarende interrupt, og applikationen skal rette dataene eller foretage den passende handling i interrupt-handleren. Disse to metoder er demonstreret i denne demo.

To tests er implementeret i denne demo: sløjfetest og manuel test, og de kan anvendes til både 1-bit og 2-bit fejl.

Løkketest
Sløjfetest udføres, når SmartFusion2-enhederne modtager en sløjfetestkommando fra GUI'en. Til at begynde med placeres alle fejltællere og EDAC-relaterede registre i RESET-tilstanden.
De følgende trin udføres for hver iteration.

  1. Aktiver EDAC-controlleren
  2. Skriv dataene til den specifikke DDR-hukommelsesplacering
  3. Deaktiver EDAC-controlleren
  4. Skriv de 1-bit eller 2-bit fejlinducerede data til den samme DDR-hukommelsesplacering
  5. Aktiver EDAC-controlleren
  6. Læs dataene fra den samme DDR-hukommelsesplacering
  7. Send 1-bit eller 2-bit fejldetektion og 1-bit fejlkorrektionsdata i tilfælde af 1-bit fejl til GUI

Manual test
Denne metode tillader manuel test af 1-bit fejldetektion og korrektion og 2-bit fejldetektion for DDR-hukommelsesadresse (0xA0000000 til 0xDFFFFFFF) med initialisering. En 1-bit/2-bit fejl introduceres manuelt til en valgt DDR-hukommelsesadresse. De givne data skrives til den valgte DDR-hukommelsesplacering med EDAC aktiveret. De beskadigede 1-bit eller 2-bit fejldata skrives derefter til den samme hukommelsesplacering med EDAC deaktiveret. Oplysningerne om den detekterede 1-bit eller 2-bit fejl logges, når dataene læses fra den samme hukommelsesplacering med EDAC aktiveret. Den højtydende DMA-controller
(HPDMA) bruges til at læse data fra DDR-hukommelsen. Dual-bit fejldetektionsafbrydelsesbehandleren er implementeret til at tage den passende handling, når en 2-bit fejl detekteres.
Følgende illustration beskriver EDAC-demohandlingerne.

Figur 3 • Design Flow

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-3

Note: For en 2-bit fejl, når Cortex-M3-processoren læser dataene, går kodeudførelsen ind i den hårde fejlbehandler, da det modtagne interrupt er sent for processoren til at reagere. På det tidspunkt, den reagerer på afbrydelsen, kan den allerede have sendt dataene og ved et uheld lanceret en kommando. Som et resultat holder HRESP op med at behandle de forkerte data. 2-bit fejldetektion bruger HPDMA til at læse dataene fra DDR-adresseplaceringen, hvilket instruerer processoren om, at læste data har en 2-bit fejl, og at systemet skal tage passende skridt for at gendanne (ECC interrupt Handler).

Opsætning af demodesignet
Dette afsnit beskriver SmartFusion2 Advanced Development Kit-kortopsætningen, GUI-indstillingerne og hvordan man udfører demodesignet.
Følgende trin beskriver, hvordan du opsætter demoen:

  1. Tilslut den ene ende af USB mini-B-kablet til J33-stikket, der findes i SmartFusion2 Advanced Development Kit-kortet. Tilslut den anden ende af USB-kablet til værts-pc'en. Lysdiode (LED) DS27 skal lyse, hvilket indikerer, at UART-forbindelsen er etableret. Sørg for, at USB til UART-bro-driverne detekteres automatisk (kan verificeres i Enhedshåndtering), som vist i følgende figur.
    Figur 4 • USB til UART Bridge-drivere
    Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-4
    Hvis USB til UART-brodrivere ikke er installeret, skal du downloade og installere driverne fra: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Tilslut jumperne på SmartFusion2 Advanced Development Kit-kortet, som vist i tabel 4, side 11. Strømforsyningskontakten SW7 skal være slukket, mens jumperforbindelserne foretages.

Figur 5 • SmartFusion2 Advanced Development Kit Board Setup

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-5

 Grafisk brugergrænseflade
Dette afsnit beskriver DDR – EDAC Demo GUI.

Figur 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-6

GUI'en understøtter følgende funktioner:

  1. Valg af COM-port og Baud Rate
  2. Valg af 1-bit fejlkorrektionsfane eller 2-bit fejldetektion
  3. Adressefelt til at skrive eller læse data til eller fra specificeret DDR-adresse
  4. Datafelt til at skrive eller læse data til eller fra specificeret DDR-adresse
  5. Seriel konsolsektion for at udskrive statusoplysningerne modtaget fra applikationen
  6. Aktiver EDAC/Deaktiver EDAC: Aktiverer eller deaktiverer EDAC
  7. Skriv: Giver mulighed for at skrive data til den angivne adresse
  8.  Læs: Tillader læsning af data fra den angivne adresse
  9. Sløjfetest TIL/FRA: Giver mulighed for at teste EDAC-mekanismen i en sløjfemetode
  10.  Initialiser: Giver mulighed for at initialisere den foruddefinerede hukommelsesplacering (i denne demo A0000000-A000CFFF)

Kørsel af Demo Design
De følgende trin beskriver, hvordan du kører designet: De følgende trin beskriver, hvordan du kører designet:

  1. Tænd forsyningskontakten, SW7.
  2. Programmer SmarFusion2-enheden med programmeringen file forudsat i designet files.(\ProgrammeringFile\EDAC_DDR3.stp) ved hjælp af FlashPro-designsoftware, som vist i følgende figur.
    Figur 7 • FlashPro programmeringsvindue
    Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-7
  3. Tryk på SW6-kontakten for at nulstille kortet efter vellykket programmering.
  4. Start den eksekverbare EDAC_DDR Demo GUI file tilgængelig i designet files (\GUI Executable\ EDAC_DDR.exe). GUI-vinduet vises som vist i figur 8, side 9.
  5. Klik på Connect, det vælger COM-porten og etablerer forbindelsen. Tilslutningsindstillingen ændres til Afbryd.
  6. Vælg fanen 1-bit fejlkorrektion eller 2-bit fejlfinding.
  7. Manuelle test og sløjfetest kan udføres.
  8. Klik på Initialiser for at initialisere DDR-hukommelsen for at udføre de manuelle test og sløjfetest, en meddelelse om initialiseringsfuldførelse vises på seriekonsollen, som vist i figur 8, side 9.

Figur 8 • Vinduet Initialisering fuldført

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-8

Udførelse af sløjfetest
Klik på Loop Test ON. Den kører i loop mode, hvor der foretages kontinuerlig korrektion og detektering af fejl. Alle handlinger, der udføres i SmartFusion2-enheden, logges i afsnittet Serial Console i GUI'en.

Tabel 2 • DDR3-hukommelsesadresser brugt i sløjfetest

  • Hukommelse DDR3
  • 1-bit fejlkorrektion 0xA0008000
  • 2-bit fejlfinding 0xA000C000

Udførelse af manuel test
I denne metode introduceres fejl manuelt ved hjælp af GUI. Brug følgende trin til at udføre 1-bit fejlkorrektion eller 2-bit fejldetektion.

Tabel 3 • DDR3-hukommelsesadresser brugt i manuel test

Indtastningsadresse og datafelter (brug 32-bit hexadecimale værdier).

  • Hukommelse DDR3
  • 1-bit fejlkorrektion 0xA0000000-0xA0004000
  • 2-bit fejlfinding 0xA0004000-0xA0008000
  1. Klik på Aktiver EDAC.
  2. Klik på Skriv.
  3. Klik på Deaktiver EDAC.
  4. Skift en bit (i tilfælde af 1-bit fejlkorrektion) eller to bit (i tilfælde af 2-bit fejlregistrering) i feltet Data (introduktion af fejl).
  5. Klik på Skriv.
  6. Klik på Aktiver EDAC.
  7. Klik på Læs.
  8. Observer feltet Fejltælling Display og Data i GUI'en. Fejltællingsværdien stiger med 1.

1-bit fejlløkkekorrektionsvinduet er vist i følgende figur.

Figur 9 • Vinduet til registrering af 1-bit fejlsløjfe

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-9

Det manuelle vindue til 2-bit fejldetektering er vist i følgende figur.

Figur 10 • 2-bit fejlfindingsmanualvindue

Microsemi -DG0618-Fejldetektion-og-korrektion-på-SmartFusion2-enheder-bruger-DDR-hukommelse-10

Konklusion
Denne demo viser SmartFusion2 SECDED-funktioner for MDDR-undersystemet.

Appendiks: Jumperindstillinger

Følgende tabel viser alle de nødvendige jumpere, der skal indstilles på SmartFusion2 Advanced Development Kit.

Tabel 4 • SmartFusion2 Advanced Development Kit Jumperindstillinger

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

  • J116, J353, J354, J54 1 2 Dette er standard jumperindstillingerne for Advanced
  • J123 2 3 Development Kit board. Sørg for, at disse jumpere er indstillet i overensstemmelse hermed.
  • J124, J121, J32 1 2 JTAG programmering via FTDI

DG0618 Demo Guide Revision 4.0

Dokumenter/ressourcer

Microsemi DG0618 fejlfinding og korrektion på SmartFusion2-enheder, der bruger DDR-hukommelse [pdfBrugervejledning
DG0618 Fejldetektering og -korrektion på SmartFusion2-enheder, der bruger DDR-hukommelse, DG0618, fejlfinding og -korrektion på SmartFusion2-enheder, der bruger DDR-hukommelse, SmartFusion2-enheder, der bruger DDR-hukommelse, DDR-hukommelse

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *