Microsemi -LOGO

Microsemi DG0618 Flaterdeteksje en korreksje op SmartFusion2-apparaten mei DDR-ûnthâld

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-brûkende-DDR-ûnthâld-PRODUCT-IMAGE

Microsemi Corporate Headquarters
One Enterprise, Aliso Viejo,
CA 92656 Feriene Steaten
Binnen de FS: +1 800-713-4113
Bûten de Feriene Steaten: +1 949-380-6100
Fax: +1 949-215-4996
E-post: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Alle rjochten foarbehâlden. Microsemi en it Microsemi-logo binne hannelsmerken fan Microsemi Corporation. Alle oare hannelsmerken en tsjinstmerken binne it eigendom fan har respektive eigners

Microsemi makket gjin garânsje, fertsjinwurdiging of garânsje oangeande de ynformaasje befette hjiryn of de geskiktheid fan har produkten en tsjinsten foar in bepaald doel, noch nimt Microsemi gjin oanspraaklikens oan dy't fuortkomme út 'e applikaasje of gebrûk fan in produkt of circuit. De produkten ferkocht hjirûnder en alle oare produkten ferkocht troch Microsemi binne ûnderwurpen oan beheinde testen en moatte net brûkt wurde yn kombinaasje mei missy-krityske apparatuer of applikaasjes. Alle prestaasjesspesifikaasjes wurde leaud betrouber te wêzen, mar wurde net ferifiearre, en Keaper moat alle prestaasjes en oare testen fan 'e produkten útfiere en foltôgje, allinich en tegearre mei, of ynstalleare yn, alle einprodukten. Keaper sil net fertrouwe op gegevens en prestaasjesspesifikaasjes of parameters levere troch Microsemi. It is de ferantwurdlikens fan 'e keaper om selsstannich de geskiktheid fan alle produkten te bepalen en itselde te testen en te ferifiearjen. De ynformaasje levere troch Microsemi hjirûnder wurdt levere "as is, wêr is" en mei alle fouten, en it folsleine risiko ferbûn mei sokke ynformaasje is folslein by de keaper. Microsemi jout net, eksplisyt of ymplisyt, oan ien partij gjin oktroairjochten, lisinsjes, of hokker oare IP-rjochten, itsij oangeande sokke ynformaasje sels as alles beskreaun troch sokke ynformaasje. Ynformaasje levere yn dit dokumint is eigendom fan Microsemi, en Microsemi behâldt it rjocht foar om op elts momint feroarings oan te bringen oan 'e ynformaasje yn dit dokumint of oan produkten en tsjinsten op elk momint sûnder notice.

Oer Microsemi
Microsemi Corporation (Nasdaq: MSCC) biedt in wiidweidige portefúlje fan semiconductor- en systeemoplossingen foar loft- en definsje, kommunikaasje, datasintrum en yndustriële merken. Produkten befetsje hege-optreden en strieling-ferhurde analoge mingd-sinjaal yntegrearre circuits, FPGAs, SoCs en ASICs; produkten foar enerzjybehear; timing- en syngronisaasjeapparaten en krekte tiidoplossingen, it ynstellen fan 'e wrâldstandert foar tiid; apparaten foar stimferwurking; RF oplossings; diskrete komponinten; enterprise opslach- en kommunikaasje oplossings, feiligens technologyen en scalable anty-tamper produkten; Ethernet oplossings; Power-over-Ethernet IC's en midspans; lykas oanpaste ûntwerpmooglikheden en tsjinsten. Microsemi hat it haadkantoar yn Aliso Viejo, Kalifornje, en hat wrâldwiid sawat 4,800 meiwurkers. Learje mear op www.microsemi.com.

Revision Skiednis

De revyzjeskiednis beskriuwt de wizigingen dy't yn it dokumint binne ymplementearre. De wizigingen wurde fermeld per revyzje, te begjinnen mei de meast aktuele publikaasje.

  • Ferzje 4.0
    Updated it dokumint foar Libero v11.8 software release.
  • Ferzje 3.0
    Updated it dokumint foar Libero v11.7 software release.
  • Ferzje 2.0
    Updated it dokumint foar Libero v11.6 software release.
  • Ferzje 1.0
    Inisjele release foar Libero SoC v11.5 software release.

Flaterdeteksje en korreksje op SmartFusion2-apparaten mei DDR-ûnthâld

Ynlieding
Yn in inkele evenemint upset (SEU) gefoelich omjouwing, is willekeurich tagong ûnthâld (RAM) gefoelich foar transient flaters feroarsake troch swiere ioanen.
Dit dokumint beskriuwt de EDAC-mooglikheden fan 'e SoC FPGA, dy't wurde brûkt yn applikaasjes mei oantinkens ferbûn fia it mikrocontroller-subsysteem (MSS) DDR (MDDR).
De EDAC-controllers ymplementearre yn 'e SmartFusion2-apparaten stypje inkele flaterkorreksje en dûbele flaterdeteksje (SECDED). Alle oantinkens-ferbettere statyske willekeurich tagong ûnthâld (eSRAM), DDR, low-power DDR (LPDDR) - binnen de SmartFusion2 MSS apparaten wurde beskerme troch SECDED. De DDR syngroane dynamyske willekeurich tagong ûnthâld (SDRAM) kin wêze DDR2, DDR3, of LPDDR1, ôfhinklik fan de MDDR konfiguraasje en hardware ECC mooglikheden.
It subsysteem SmartFusion2 MDDR stipet ûnthâlddichtheden oant 4 GB. Yn dizze demo kinne jo elke ûnthâldlokaasje fan 1 GB selektearje yn 'e DDR-adresromte (0xA0000000 oant 0xDFFFFFFF).
As SECDED ynskeakele is:

  • In skriuwoperaasje berekkent en foeget 8 bits SECDED-koade ta (oan elke 64 bits fan gegevens)
  • In lêsoperaasje lêst en kontrolearret de gegevens tsjin de opsleine SECDED-koade om 1-bit flaterkorreksje en 2-bit flaterdeteksje te stypjen

De folgjende yllustraasje beskriuwt it blokdiagram fan SmartFusion2 EDAC op DDR SDRAM.

figuer 1 • Top-Level Block Diagram

De EDAC-funksje fan DDR stipet it folgjende:

  1.  SECDED meganisme
  2. Biedt ûnderbrekkings oan 'e ARM Cortex-M3-prosessor en FPGA-stof by it opspoaren fan in 1-bit flater of 2-bit flater
  3. Bewarret it oantal 1-bit en 2-bit flaters yn flaters teller registers
  4. Bewarret it adres fan de lêste 1-bit of 2-bit flater beynfloede ûnthâld lokaasje
  5. Bewarret de 1-bit of 2-bit flater gegevens yn SECDED registers
  6. jout flater bus sinjalen oan de FPGA stof

Foar mear ynformaasje oer EDAC, sjoch UG0443: SmartFusion2 en IGLOO2 FPGA Feiligens en Reliability User Guide en UG0446: SmartFusion2 en IGLOO2 FPGA High-Speed ​​DDR Interfaces User Guide.

Design Requirements
De folgjende tabel lit de ûntwerpeasken sjen.

tabel 1 • Design Requirements

  • Design Requirements Beskriuwing
  • Hardware easken
  • SmartFusion2 Advanced Development Kit board Rev B of letter
  • FlashPro5 programmeur of letter
  • USB A nei mini-B USB kabel
  • Stromadapter 12 V
  • DDR3 Dochter board
  • Bestjoeringssysteem Elke 64-bit of 32-bit Windows XP SP2
  • Elke 64-bit of 32-bit Windows 7
  • Software easken
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • FlashPro-programmearring software v11.8
  • Host PC-bestjoerders USB nei UART-bestjoerders
  • Framework om demonstraasje Microsoft .NET Framework 4-kliïnt út te fieren

Demo ûntwerp
De demo-ûntwerp files binne beskikber foar ynladen fan de folgjende paad yn de Microsemi website: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
De demo-ûntwerp files befetsje:

  • DDR konfiguraasje File
  • DDR_EDAC
  • Programming files
  • GUI útfierber
  • Lês my file

De folgjende yllustraasje beskriuwt de struktuer fan it boppeste nivo fan it ûntwerp files. Foar fierdere details, sjoch de readme.txt file.

figuer 2 • Demo Design Top-Level Struktuer

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-2

Demo Design Implementation
It MDDR-subsysteem hat in tawijd EDAC-controller. EDAC detektearret in 1-bit flater of 2-bit flater as gegevens wurde lêzen út it ûnthâld. As EDAC de 1-bit flater detektearret, korrigearret de EDAC-controller de flaterbit. As EDAC is ynskeakele foar alle 1-bit en 2-bit flaters, wurde korrespondearjende flater tellers yn it systeem registers incremented en oerienkommende interrupts en flater bus sinjalen oan de FPGA stof generearre.
Dit bart yn real-time. Om dizze SECDED-funksje te demonstrearjen, wurdt in flater manuell ynfierd en waarnommen deteksje en korreksje.
Dit demo-ûntwerp omfettet ymplemintaasje fan de folgjende stappen:

  1. EDAC ynskeakelje
  2. Skriuw gegevens nei DDR
  3. Lês gegevens út DDR
  4. EDAC útskeakelje
  5. Korrupte 1 of 2 bits
  6. Skriuw gegevens nei DDR
  7. EDAC ynskeakelje
  8. Lês de gegevens
  9. Yn it gefal fan in 1-bit flater korrizjeart de EDAC-controller de flater, fernijt de oerienkommende statusregisters, en jout de gegevens skreaun yn stap 2 by de lêsoperaasje dien by stap 8.
  10. Yn it gefal fan in 2-bit flater wurdt in oerienkommende ûnderbrekking oanmakke en de applikaasje moat de gegevens korrigearje of de passende aksje nimme yn 'e ûnderbrekkingshanneler. Dizze twa metoaden wurde oantoand yn dizze demo.

Twa tests wurde ymplementearre yn dizze demo: loop test en hânmjittich test en se binne fan tapassing op sawol 1-bit en 2-bit flaters.

Loop Test
Looptest wurdt útfierd as de SmartFusion2-apparaten in looptestkommando krije fan 'e GUI. Yn earste ynstânsje wurde alle flatertellers en EDAC-relatearre registers yn 'e RESET-tastân pleatst.
De folgjende stappen wurde útfierd foar elke iteraasje.

  1. Aktivearje de EDAC-controller
  2. Skriuw de gegevens nei de spesifike DDR ûnthâld lokaasje
  3. Skeakelje de EDAC-controller út
  4. Skriuw de 1-bit of 2-bit flater feroarsake gegevens nei deselde DDR ûnthâld lokaasje
  5. Aktivearje de EDAC-controller
  6. Lês de gegevens út deselde DDR ûnthâld lokaasje
  7. Stjoer de 1-bit of 2-bit flaterdeteksje en 1-bit flaterkorreksjegegevens yn gefal fan 1-bit flater nei de GUI

Hânlieding test
Dizze metoade lit manuele testen fan 1-bit flaterdeteksje en korreksje en 2-bit flaterdeteksje foar DDR-ûnthâldadres (0xA0000000 oant 0xDFFFFFFF) mei inisjalisaasje. In 1-bit / 2-bit flater wurdt yntrodusearre mei de hân oan in selektearre DDR ûnthâld adres. De opjûne gegevens wurde skreaun nei de selektearre DDR-ûnthâldlokaasje mei EDAC ynskeakele. De skansearre 1-bit of 2-bit flatergegevens wurde dan skreaun nei deselde ûnthâldlokaasje mei EDAC útskeakele. De ynformaasje oer de ûntdutsen 1-bit of 2-bit flater wurdt oanmeld as de gegevens wurde lêzen út deselde ûnthâld lokaasje mei EDAC ynskeakele. De hege-optreden DMA controller
(HPDMA) wurdt brûkt om te lêzen de gegevens út de DDR ûnthâld. De dual-bit error detection interrupt handler wurdt ymplementearre om de passende aksje te nimmen as in 2-bit flater wurdt ûntdutsen.
De folgjende yllustraasje beskriuwt de EDAC-demo-operaasjes.

figuer 3 • Design Flow

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-3

Noat: Foar in 2-bit flater, as de Cortex-M3-prosessor de gegevens lêst, giet de koade-útfiering yn 'e hurde flaterhanneler, om't de ûntfongen ûnderbrekking let is foar de prosessor om te reagearjen. Tsjin 'e tiid dat it reagearret op 'e ûnderbrekking, kin it de gegevens al trochjûn hawwe en per ongelok in kommando lansearre. As gefolch stopet de HRESP it ferwurkjen fan de ferkearde gegevens. 2-bit flater detection brûkt HPDMA te lêzen de gegevens út de DDR adres lokaasje, dy't ynstruearret de prosessor dat lêzen gegevens hat in 2-bit flater en it systeem moat nimme passende aksje om te herstellen (ECC interrupt Handler).

Demo-ûntwerp ynstelle
Dizze seksje beskriuwt de SmartFusion2 Advanced Development Kit board opset, de GUI-opsjes, en hoe't jo it demo-ûntwerp útfiere.
De folgjende stappen beskriuwe hoe't jo de demo ynstelle:

  1. Ferbine it iene ein fan 'e USB mini-B-kabel oan' e J33-ferbining dy't yn 'e SmartFusion2 Advanced Development Kit-board is. Ferbine it oare ein fan 'e USB kabel nei de host PC. Light emitting diode (LED) DS27 moat opljochtsje, wat oanjout dat de UART-keppeling is oprjochte. Soargje derfoar dat de USB nei UART-brêgebestjoerders automatysk wurde ûntdutsen (kinne wurde ferifiearre yn 'e Device Manager), lykas werjûn yn' e folgjende figuer.
    figuer 4 • USB nei UART Bridge Drivers
    Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-4
    As USB nei UART-brêgebestjoerders net binne ynstalleare, download en ynstallearje de bestjoerders fan: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Ferbine de jumpers op de SmartFusion2 Advanced Development Kit board, lykas werjûn yn tabel 4, side 11. De macht oanbod switch SW7 moat wurde oerskeakele OFF, wylst it meitsjen fan de jumper ferbinings.

figuer 5 • SmartFusion2 Advanced Development Kit Board Setup

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-5

 Grafyske brûkersynterface
Dizze seksje beskriuwt de DDR - EDAC Demo GUI.

figuer 6 • DDR - EDAC Demo GUI

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-6

De GUI stipet de folgjende funksjes:

  1. Seleksje fan COM haven en Baud Rate
  2. Seleksje fan ljepper foar 1-bit flaterkorreksje of 2-bit flaterdeteksje
  3. Adresfjild om gegevens te skriuwen of te lêzen nei of fan spesifisearre DDR-adres
  4. Gegevensfjild om gegevens te skriuwen of te lêzen nei of fan spesifisearre DDR-adres
  5. Serial Console seksje om de statusynformaasje te printsjen ûntfongen fan 'e applikaasje
  6. EDAC ynskeakelje / EDAC útskeakelje: Skeakelt de EDAC yn of út
  7. Skriuw: makket it mooglik om gegevens te skriuwen nei it opjûne adres
  8.  Lêze: makket it mooglik om gegevens te lêzen fan it opjûne adres
  9. Looptest ON/OFF: Stelt it testen fan it EDAC-meganisme yn in loopmetoade ta
  10.  Inisjalisearje: lit de foarôf definieare ûnthâldlokaasje inisjalisearje (yn dizze demo A0000000-A000CFFF)

It útfieren fan it Demo-ûntwerp
De folgjende stappen beskriuwe hoe't jo it ûntwerp útfiere: De folgjende stappen beskriuwe hoe't jo it ûntwerp útfiere:

  1. Skeakelje ON de oanbod switch, SW7.
  2. Programmearje it SmarFusion2-apparaat mei de programmearring file foarsjoen yn it ûntwerp files.(\ProgrammingFile\ EDAC_DDR3.stp) mei help fan FlashPro design software, lykas werjûn yn de folgjende figuer.
    figuer 7 • FlashPro Programming Finster
    Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-7
  3. Druk op SW6 switch foar in reset it bestjoer nei suksesfol programmearring.
  4. Launch de útfierbere EDAC_DDR Demo GUI file beskikber yn it ûntwerp files (\GUI Executable\ EDAC_DDR.exe). It GUI-finster wurdt werjûn, lykas werjûn yn figuer 8, side 9.
  5. Klik Ferbine, it selekteart de COM-poarte en stelt de ferbining yn. Ferbine opsje feroarings oan Disconnect.
  6. Selektearje de ljepper 1-bit flaterkorreksje of 2-bit flaterdeteksje.
  7. Hânlieding en looptests kinne wurde útfierd.
  8. Klikje op Inisjalisearje om it DDR-ûnthâld te inisjalisearjen om de Hânlieding en Loop-tests út te fieren, in berjocht foar foltôging fan inisjalisaasje wurdt werjûn op Serial Console, lykas werjûn yn figuer 8, side 9.

figuer 8 • Inisjalisaasje Completed Finster

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-8

Loop Test útfiere
Klik Loop Test ON. It rint yn loopmodus wêr't trochgeande korreksje en deteksje fan flaters wurdt dien. Alle aksjes útfierd yn it SmartFusion2-apparaat wurde oanmeld yn 'e seksje Serial Console fan' e GUI.

tabel 2 • DDR3 Unthâld adressen brûkt yn Loop Test

  • Unthâld DDR3
  • 1-bit flaterkorreksje 0xA0008000
  • 2-bit flaterdeteksje 0xA000C000

Hânlieding test útfiere
Yn dizze metoade wurde flaters manuell ynfierd mei GUI. Brûk de folgjende stappen om 1-bit flaterkorreksje of 2-bit flaterdeteksje út te fieren.

tabel 3 • DDR3 Unthâld adressen brûkt yn Manual Test

Ynfieradres en gegevensfjilden (brûk 32-bit heksadesimale wearden).

  • Unthâld DDR3
  • 1-bit flaterkorreksje 0xA0000000-0xA0004000
  • 2-bit flaterdeteksje 0xA0004000-0xA0008000
  1. Klik EDAC ynskeakelje.
  2. Klik op Write.
  3. Klikje EDAC útskeakelje.
  4. Feroarje ien bit (yn gefal fan 1-bit flaterkorreksje) of twa bits (yn gefal fan 2-bit flaterdeteksje) yn Data fjild (yntrodusearje flater).
  5. Klik op Write.
  6. Klik EDAC ynskeakelje.
  7. Klik op Lês.
  8. Observearje Flater Count Display en Data fjild yn de GUI. De wearde fan it oantal flaters nimt ta mei 1.

De 1-bit flater loop korreksje finster wurdt werjûn yn de folgjende figuer.

figuer 9 • 1-bit Flater Loop Detection Finster

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-9

It 2-bit flaterdeteksje-hânliedingfinster wurdt werjûn yn 'e folgjende figuer.

figuer 10 • 2-bit Error Detection Manual Finster

Microsemi -DG0618-Flater-deteksje-en-korreksje-op-SmartFusion2-apparaten-mei-DDR-ûnthâld-10

Konklúzje
Dizze demo toant SmartFusion2 SECDED-mooglikheden foar it MDDR-subsysteem.

Taheakke: Jumper ynstellings

De folgjende tabel toant alle fereaske jumpers om te setten op de SmartFusion2 Advanced Development Kit.

Tabel 4 • SmartFusion2 Advanced Development Kit Jumper ynstellings

Jumper : Pin (fan) : Pin (oan) : Opmerkings

  • J116, J353, J354, J54 1 2 Dit binne de standert jumperynstellingen fan de Advanced
  • J123 2 3 Development Kit board. Soargje derfoar dat dizze jumpers binne ynsteld neffens.
  • J124, J121, J32 1 2 JTAG programmearring fia FTDI

DG0618 Demo Guide Revision 4.0

Dokuminten / Resources

Microsemi DG0618 Flaterdeteksje en korreksje op SmartFusion2-apparaten mei DDR-ûnthâld [pdf] Brûkersgids
DG0618 Flaterdeteksje en -korreksje op SmartFusion2-apparaten mei DDR-ûnthâld, DG0618, flaterdeteksje en -korreksje op SmartFusion2-apparaten mei DDR-ûnthâld, SmartFusion2-apparaten mei DDR-ûnthâld, DDR-ûnthâld

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *