Microsemi DG0618 Foutopsporing en -regstelling op SmartFusion2-toestelle wat DDR-geheue gebruik
Mikrosemi Korporatiewe Hoofkwartier
One Enterprise, Aliso Viejo,
CA 92656 VSA
Binne die VSA: +1 800-713-4113
Buite die VSA: +1 949-380-6100
Faks: +1 949-215-4996
E-pos: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Alle regte voorbehou. Microsemi en die Microsemi-logo is handelsmerke van Microsemi Corporation. Alle ander handelsmerke en diensmerke is die eiendom van hul onderskeie eienaars
Microsemi gee geen waarborg, voorstelling of waarborg aangaande die inligting hierin vervat of die geskiktheid van sy produkte en dienste vir enige spesifieke doel nie, en Microsemi aanvaar ook geen aanspreeklikheid hoegenaamd wat voortspruit uit die toepassing of gebruik van enige produk of stroombaan nie. Die produkte wat hieronder verkoop word en enige ander produkte wat deur Microsemi verkoop word, is onderhewig aan beperkte toetsing en moet nie saam met missiekritieke toerusting of toepassings gebruik word nie. Enige prestasiespesifikasies word geglo betroubaar te wees, maar word nie geverifieer nie, en Koper moet alle prestasie- en ander toetse van die produkte uitvoer en voltooi, alleen en saam met, of geïnstalleer in, enige eindprodukte. Koper sal nie staatmaak op enige data en prestasiespesifikasies of parameters wat deur Microsemi verskaf word nie. Dit is die Koper se verantwoordelikheid om onafhanklik die geskiktheid van enige produkte te bepaal en om dieselfde te toets en te verifieer. Die inligting wat hieronder deur Microsemi verskaf word, word verskaf "soos dit is, waar is" en met alle foute, en die hele risiko verbonde aan sodanige inligting is geheel en al by die Koper. Microsemi verleen nie, uitdruklik of implisiet, aan enige party enige patentregte, lisensies of enige ander IP-regte nie, hetsy met betrekking tot sodanige inligting self of enigiets wat deur sodanige inligting beskryf word. Inligting wat in hierdie dokument verskaf word, is die eiendom van Microsemi, en Microsemi behou die reg voor om enige veranderinge aan die inligting in hierdie dokument of aan enige produkte en dienste te eniger tyd sonder kennisgewing aan te bring.
Oor Microsemi
Microsemi Corporation (Nasdaq: MSCC) bied 'n omvattende portefeulje van halfgeleier- en stelseloplossings vir lugvaart en verdediging, kommunikasie, datasentrum en industriële markte. Produkte sluit in hoëwerkverrigting en straling-geharde analoog gemengde-sein geïntegreerde stroombane, FPGA's, SoC's en ASIC's; kragbestuurprodukte; tydsberekening en sinchronisasie toestelle en presiese tyd oplossings, stel die wêreld se standaard vir tyd; stemverwerkingstoestelle; RF oplossings; diskrete komponente; onderneming berging en kommunikasie oplossings, sekuriteit tegnologie en skaalbare anti-tamper produkte; Ethernet-oplossings; Power-over-Ethernet IC's en midspans; sowel as persoonlike ontwerp vermoëns en dienste. Microsemi het sy hoofkwartier in Aliso Viejo, Kalifornië, en het ongeveer 4,800 XNUMX werknemers wêreldwyd. Kom meer te wete by www.microsemi.com.
Hersieningsgeskiedenis
Die hersieningsgeskiedenis beskryf die veranderinge wat in die dokument geïmplementeer is. Die veranderinge word volgens hersiening gelys, wat begin met die nuutste publikasie.
- Hersiening 4.0
Opgedateer die dokument vir Libero v11.8 sagteware vrystelling. - Hersiening 3.0
Opgedateer die dokument vir Libero v11.7 sagteware vrystelling. - Hersiening 2.0
Opgedateer die dokument vir Libero v11.6 sagteware vrystelling. - Hersiening 1.0
Aanvanklike vrystelling vir Libero SoC v11.5 sagteware vrystelling.
Foutopsporing en -regstelling op SmartFusion2-toestelle wat DDR-geheue gebruik
Inleiding
In 'n enkele gebeurtenis ontsteld (SEU) vatbare omgewing, is ewekansige toegang geheue (RAM) geneig tot verbygaande foute wat veroorsaak word deur swaar ione.
Hierdie dokument beskryf die EDAC-vermoëns van die SoC FPGA, wat gebruik word in toepassings met herinneringe wat deur die mikrobeheerder-substelsel (MSS) DDR (MDDR) gekoppel is.
Die EDAC-beheerders wat in die SmartFusion2-toestelle geïmplementeer is, ondersteun enkelfoutkorreksie en dubbelfoutopsporing (SECDED). Alle geheues—verbeterde statiese ewekansige toegangsgeheue (eSRAM), DDR, laekrag DDR (LPDDR)—binne die SmartFusion2 MSS-toestelle word deur SECDED beskerm. Die DDR sinchrone dinamiese ewekansige toegang geheue (SDRAM) kan DDR2, DDR3, of LPDDR1 wees, afhangende van die MDDR konfigurasie en hardeware ECC vermoëns.
Die SmartFusion2 MDDR-substelsel ondersteun geheuedigthede tot 4 GB. In hierdie demonstrasie kan jy enige geheueplek van 1 GB in die DDR-adresspasie kies (0xA0000000 tot 0xDFFFFFFF).
Wanneer SECDED geaktiveer is:
- 'n Skryfbewerking bereken en voeg 8 bisse SECDED-kode by (by elke 64 bisse data)
- 'n Leesbewerking lees en kontroleer die data teen die gestoorde SECDED-kode om 1-bis foutkorreksie en 2-bis foutopsporing te ondersteun
Die volgende illustrasie beskryf die blokdiagram van SmartFusion2 EDAC op DDR SDRAM.
Figuur 1 • Topvlakblokdiagram
Die EDAC-kenmerk van DDR ondersteun die volgende:
- SECDED meganisme
- Voorsien onderbrekings aan die ARM Cortex-M3-verwerker en FPGA-stof by die opsporing van 'n 1-bis-fout of 2-bis-fout
- Stoor die aantal 1-bis en 2-bis foute in fouttellerregisters
- Stoor die adres van die laaste 1-bis- of 2-bis-fout-geaffekteerde geheue-ligging
- Stoor die 1-bis of 2-bis foutdata in SECDED-registers
- verskaf foutbusseine aan die FPGA-stof
Vir meer inligting oor EDAC, sien UG0443: SmartFusion2 en IGLOO2 FPGA Sekuriteit en Betroubaarheid Gebruikersgids en UG0446: SmartFusion2 en IGLOO2 FPGA Hoëspoed DDR Interfaces Gebruikersgids.
Ontwerpvereistes
Die volgende tabel lys die ontwerpvereistes.
Tabel 1 • Ontwerpvereistes
- Ontwerpvereistes Beskrywing
- Hardewarevereistes
- SmartFusion2 Advanced Development Kit bord Rev B of later
- FlashPro5 programmeerder of later
- USB A na mini-B USB-kabel
- Kragadapter 12 V
- DDR3 Dogterbord
- Bedryfstelsel Enige 64-bis of 32-bis Windows XP SP2
- Enige 64-bis of 32-bis Windows 7
- Sagtewarevereistes
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- FlashPro-programmeringsagteware v11.8
- Gasheer PC-bestuurders USB na UART-bestuurders
- Raamwerk om demonstrasie Microsoft .NET Framework 4-kliënt uit te voer
Demo Ontwerp
Die demo-ontwerp files is beskikbaar vir aflaai vanaf die volgende pad in die Microsemi webwebwerf: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Die demo-ontwerp files sluit in:
- DDR-konfigurasie File
- DDR_EDAC
- Programmering files
- GUI uitvoerbaar
- Lees my file
Die volgende illustrasie beskryf die topvlakstruktuur van die ontwerp files. Vir verdere besonderhede, sien die readme.txt file.
Figuur 2 • Demo Ontwerp Top-vlak Struktuur
Demo Ontwerp Implementering
Die MDDR-substelsel het 'n toegewyde EDAC-beheerder. EDAC bespeur 'n 1-bis-fout of 2-bis-fout wanneer data uit die geheue gelees word. As EDAC die 1-bis-fout opspoor, korrigeer die EDAC-beheerder die foutbis. As EDAC vir al die 1-bis en 2-bis foute geaktiveer is, word ooreenstemmende fouttellers in die stelselregisters verhoog en ooreenstemmende onderbrekings en foutbusseine na die FPGA-stof gegenereer.
Dit gebeur intyds. Om hierdie SECDED-kenmerk te demonstreer, word 'n fout met die hand ingestel en waargeneemde opsporing en regstelling.
Hierdie demo-ontwerp behels die implementering van die volgende stappe:
- Aktiveer EDAC
- Skryf data na DDR
- Lees data van DDR
- Deaktiveer EDAC
- Korrupte 1 of 2 stukkies
- Skryf data na DDR
- Aktiveer EDAC
- Lees die data
- In die geval van 'n 1-bis-fout, korrigeer die EDAC-beheerder die fout, dateer die ooreenstemmende statusregisters op en gee die data wat in Stap 2 geskryf is by die leesbewerking wat by Stap 8 gedoen is.
- In die geval van 'n 2-bis fout, word 'n ooreenstemmende onderbreking gegenereer en die toepassing moet die data regstel of die toepaslike aksie in die onderbreking hanteerder neem. Hierdie twee metodes word in hierdie demo gedemonstreer.
Twee toetse word in hierdie demonstrasie geïmplementeer: lustoets en handtoets en hulle is van toepassing op beide 1-bis en 2-bis foute.
Lus toets
Lustoets word uitgevoer wanneer die SmartFusion2-toestelle 'n lustoetsopdrag van die GUI ontvang. Aanvanklik word al die fouttellers en EDAC-verwante registers in die RESET-toestand geplaas.
Die volgende stappe word vir elke iterasie uitgevoer.
- Aktiveer die EDAC-beheerder
- Skryf die data na die spesifieke DDR-geheueplek
- Deaktiveer die EDAC-beheerder
- Skryf die 1-bis of 2-bis fout-geïnduseerde data na dieselfde DDR geheue plek
- Aktiveer die EDAC-beheerder
- Lees die data vanaf dieselfde DDR geheue plek
- Stuur die 1-bis of 2-bis foutopsporing en 1-bis foutkorreksiedata in die geval van 1-bis fout na die GUI
Handmatige toets
Hierdie metode laat handmatige toetsing toe van 1-bis foutopsporing en regstelling en 2-bis foutopsporing vir DDR-geheueadres (0xA0000000 tot 0xDFFFFFFF) met inisialisering. 'n 1-bis/2-bis-fout word handmatig aan 'n geselekteerde DDR-geheueadres bekendgestel. Die gegewe data word na die geselekteerde DDR-geheue-ligging geskryf met EDAC geaktiveer. Die korrupte 1-bis of 2-bis foutdata word dan na dieselfde geheue plek geskryf met EDAC gedeaktiveer. Die inligting oor die bespeurde 1-bis- of 2-bis-fout word aangeteken wanneer die data vanaf dieselfde geheue-ligging gelees word met EDAC geaktiveer. Die hoëprestasie DMA-beheerder
(HPDMA) word gebruik om die data uit die DDR-geheue te lees. Die dual-bis fout opsporing onderbreking hanteerder word geïmplementeer om die toepaslike aksie te neem wanneer 'n 2-bis fout opgespoor word.
Die volgende illustrasie beskryf die EDAC-demo-operasies.
Figuur 3 • Ontwerpvloei
Let wel: Vir 'n 2-bis-fout, wanneer die Cortex-M3-verwerker die data lees, gaan die kode-uitvoering na die hardefouthanteerder, aangesien die onderbreking wat ontvang is, laat is vir die verwerker om te reageer. Teen die tyd dat dit op die onderbreking reageer, het dit dalk reeds die data geslaag en per ongeluk 'n opdrag geloods. As gevolg hiervan hou die HRESP op om die verkeerde data te verwerk. 2-bis-foutopsporing gebruik HPDMA om die data vanaf die DDR-adresligging te lees, wat die verwerker opdrag gee dat leesdata 'n 2-bis-fout het en die stelsel toepaslike stappe moet neem om te herstel (ECC-onderbrekingshanteerder).
Die opstel van die demo-ontwerp
Hierdie afdeling beskryf die SmartFusion2 Advanced Development Kit-bordopstelling, die GUI-opsies en hoe om die demo-ontwerp uit te voer.
Die volgende stappe beskryf hoe om die demo op te stel:
- Koppel die een kant van die USB mini-B-kabel aan die J33-aansluiting wat in die SmartFusion2 Advanced Development Kit-bord voorsien word. Koppel die ander kant van die USB-kabel aan die gasheerrekenaar. Ligemitterende diode (LED) DS27 moet brand, wat aandui dat die UART-skakel tot stand gebring is. Maak seker dat die USB na UART-brugbestuurders outomaties opgespoor word (kan in die Toestelbestuurder geverifieer word), soos in die volgende figuur getoon.
Figuur 4 • USB na UART Bridge Drivers
As USB na UART-brugbestuurders nie geïnstalleer is nie, laai en installeer die drywers vanaf: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - Koppel die springers op die SmartFusion2 Advanced Development Kit-bord, soos in Tabel 4, bladsy 11 getoon. Die kragtoevoerskakelaar SW7 moet AF geskakel word terwyl die jumperverbindings gemaak word.
Figuur 5 • SmartFusion2 Advanced Development Kit Board Opstelling
Grafiese gebruikerskoppelvlak
Hierdie afdeling beskryf die DDR – EDAC Demo GUI.
Figuur 6 • DDR – EDAC Demo GUI
Die GUI ondersteun die volgende kenmerke:
- Keuse van COM-poort en Baud Rate
- Seleksie van 1-bis foutkorreksie-oortjie of 2-bis foutopsporing
- Adresveld om data na of van gespesifiseerde DDR-adres te skryf of te lees
- Dataveld om data na of vanaf gespesifiseerde DDR-adres te skryf of te lees
- Serial Console-afdeling om die statusinligting wat van die toepassing ontvang is, te druk
- Aktiveer EDAC/Deaktiveer EDAC: Aktiveer of deaktiveer die EDAC
- Skryf: Laat toe om data na die gespesifiseerde adres te skryf
- Lees: Laat lees van data vanaf die gespesifiseerde adres
- Lustoets AAN/UIT: Laat toetsing van die EDAC-meganisme in 'n lusmetode toe
- Inisialiseer: laat toe om die voorafbepaalde geheue ligging te inisialiseer (in hierdie demonstrasie A0000000-A000CFFF)
Die uitvoering van die demo-ontwerp
Die volgende stappe beskryf hoe om die ontwerp uit te voer: Die volgende stappe beskryf hoe om die ontwerp uit te voer:
- Skakel die toevoerskakelaar, SW7 AAN.
- Programmeer die SmarFusion2-toestel met die programmering file verskaf in die ontwerp files.(\ProgrammeringFile\EDAC_DDR3.stp) met behulp van FlashPro-ontwerpsagteware, soos in die volgende figuur getoon.
Figuur 7 • FlashPro-programmeringsvenster
- Druk SW6 skakelaar om die bord terug te stel na suksesvolle programmering.
- Begin die EDAC_DDR Demo GUI uitvoerbare file beskikbaar in die ontwerp files (\GUI Executable\ EDAC_DDR.exe). Die GUI-venster word vertoon, soos getoon in Figuur 8, bladsy 9.
- Klik Connect, dit kies die COM-poort en vestig die verbinding. Koppel opsie verander na Ontkoppel.
- Kies die 1-bis Foutkorreksie-oortjie of 2-bis Foutopsporing.
- Hand- en lustoetse kan uitgevoer word.
- Klik Inisialiseer om die DDR-geheue te inisialiseer om die Handleiding- en Lustoetse uit te voer, 'n inisialiseringsvoltooiingsboodskap word op Serial Console vertoon, soos in Figuur 8, bladsy 9 getoon.
Figuur 8 • Inisialisering voltooide venster
Voer lustoets uit
Klik Loop Test AAN. Dit loop in lusmodus waar voortdurende regstelling en opsporing van foute gedoen word. Alle aksies wat in die SmartFusion2-toestel uitgevoer word, word in die Serial Console-afdeling van die GUI aangeteken.
Tabel 2 • DDR3-geheue-adresse wat in lustoets gebruik word
- Geheue DDR3
- 1-bis fout regstelling 0xA0008000
- 2-bis foutopsporing 0xA000C000
Handmatige toets uit te voer
In hierdie metode word foute met die hand bekendgestel met behulp van GUI. Gebruik die volgende stappe om 1-bis foutkorreksie of 2-bis foutopsporing uit te voer.
Tabel 3 • DDR3-geheue-adresse wat in Handmatige toets gebruik word
Invoeradres- en datavelde (gebruik 32-bis heksadesimale waardes).
- Geheue DDR3
- 1-bis fout regstelling 0xA0000000-0xA0004000
- 2-bis foutopsporing 0xA0004000-0xA0008000
- Klik Aktiveer EDAC.
- Klik Skryf.
- Klik Deaktiveer EDAC.
- Verander een bis (in die geval van 1-bis foutkorreksie) of twee bisse (in die geval van 2-bis foutopsporing) in Data-veld (bekendstelling van fout).
- Klik Skryf.
- Klik Aktiveer EDAC.
- Klik Lees.
- Let op Fouttelling-vertoon en data-veld in die GUI. Die fouttellingwaarde verhoog met 1.
Die 1-bis foutlus regstelling venster word in die volgende figuur getoon.
Figuur 9 • 1-bis-foutlusdetectie-venster
Die 2-bis foutopsporing handleiding venster word in die volgende figuur getoon.
Figuur 10 • 2-bis Foutbespeuring Handleiding Venster
Gevolgtrekking
Hierdie demonstrasie wys SmartFusion2 SECDED-vermoëns vir die MDDR-substelsel.
Bylaag: Jumper-instellings
Die volgende tabel toon al die vereiste springers om op die SmartFusion2 Advanced Development Kit te stel.
Tabel 4 • SmartFusion2 Advanced Development Kit Jumper-instellings
Jumper : Pen (Van) : Pen (To) : Kommentaar
- J116, J353, J354, J54 1 2 Dit is die verstek jumper instellings van die Advanced
- J123 2 3 Development Kit bord. Maak seker dat hierdie springers dienooreenkomstig ingestel is.
- J124, J121, J32 1 2 JTAG programmering via FTDI
DG0618 Demo Gids Hersiening 4.0
Dokumente / Hulpbronne
![]() |
Microsemi DG0618 Foutopsporing en -regstelling op SmartFusion2-toestelle wat DDR-geheue gebruik [pdf] Gebruikersgids DG0618 Foutopsporing en -korreksie op SmartFusion2-toestelle wat DDR-geheue gebruik, DG0618, foutopsporing en -korreksie op SmartFusion2-toestelle wat DDR-geheue gebruik, SmartFusion2-toestelle wat DDR-geheue gebruik, DDR-geheue |