Microsemi DG0618 vigade tuvastamine ja parandamine SmartFusion2 seadmetes DDR-mälu abil
Microsemi ettevõtte peakorter
One Enterprise, Aliso Viejo,
CA 92656 USA
USA piires: +1 800-713-4113
Väljaspool USA-d: +1 949-380-6100
Faks: +1 949-215-4996
E-post: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Kõik õigused kaitstud. Microsemi ja Microsemi logo on Microsemi Corporationi kaubamärgid. Kõik muud kaubamärgid ja teenindusmärgid on nende vastavate omanike omand
Microsemi ei anna garantiid, esindusi ega garantiisid seoses siin sisalduva teabega ega oma toodete ja teenuste sobivusega mingil konkreetsel eesmärgil, samuti ei võta Microsemi endale mingit vastutust, mis tuleneb mis tahes toote või vooluringi rakendusest või kasutamisest. Siin müüdavaid tooteid ja kõiki teisi Microsemi müüdavaid tooteid on testitud piiratud määral ja neid ei tohiks kasutada koos missioonikriitiliste seadmete või rakendustega. Kõiki toimivusspetsifikatsioone peetakse usaldusväärseteks, kuid neid ei kontrollita, ning ostja peab läbi viima ja lõpetama kõik toodete toimivus- ja muud testid üksi ja koos lõpptoodetega või nendesse installitud. Ostja ei tohi tugineda Microsemi esitatud andmetele ja jõudlusspetsifikatsioonidele või parameetritele. Ostja kohustus on iseseisvalt kindlaks teha mis tahes toodete sobivus ning seda testida ja kontrollida. Alljärgnevalt Microsemi esitatud teave esitatakse "nagu on, kus on" ja kõigi vigadega ning kogu sellise teabega seotud risk on täielikult ostja kanda. Microsemi ei anna otseselt ega kaudselt ühelegi osapoolele patendiõigusi, litsentse ega muid intellektuaalomandi õigusi, olenemata sellest, kas see puudutab sellist teavet ega midagi, mida selles teabes kirjeldatakse. Selles dokumendis esitatud teave kuulub ettevõttele Microsemi ja Microsemi jätab endale õiguse teha mis tahes muudatusi selles dokumendis sisalduvas teabes või mis tahes toodetes ja teenustes igal ajal ilma ette teatamata.
Microsemi kohta
Microsemi Corporation (Nasdaq: MSCC) pakub laiaulatuslikku pooljuht- ja süsteemilahenduste portfelli kosmose- ja kaitse-, side-, andmekeskuste- ja tööstusturgude jaoks. Toodete hulka kuuluvad suure jõudlusega ja kiirguskindlad analoog-segasignaaliga integraallülitused, FPGA-d, SoC-d ja ASIC-id; toitehaldustooted; ajastus- ja sünkroniseerimisseadmed ning täpsed ajalahendused, mis seavad maailma ajastandardi; hääletöötlusseadmed; RF-lahendused; diskreetsed komponendid; ettevõtete salvestus- ja sidelahendused, turvatehnoloogiad ja skaleeritav anti-tamper tooted; Etherneti lahendused; Power-over-Ethernet IC-d ja keskmised vahemikud; samuti kohandatud disainivõimalused ja -teenused. Microsemi peakontor asub Californias Aliso Viejos ja ettevõttel on üle maailma umbes 4,800 töötajat. Lisateavet leiate aadressilt www.microsemi.com.
Läbivaatamise ajalugu
Redaktsiooniajalugu kirjeldab dokumendis rakendatud muudatusi. Muudatused on loetletud redaktsioonide kaupa, alustades kõige värskemast väljaandest.
- Läbivaatamine 4.0
Värskendati Libero v11.8 tarkvaraversiooni dokumenti. - Läbivaatamine 3.0
Värskendati Libero v11.7 tarkvaraversiooni dokumenti. - Läbivaatamine 2.0
Värskendati Libero v11.6 tarkvaraversiooni dokumenti. - Läbivaatamine 1.0
Libero SoC v11.5 tarkvaraversiooni esialgne väljalase.
DDR-mälu kasutavate SmartFusion2 seadmete vigade tuvastamine ja parandamine
Sissejuhatus
Ühe sündmuse häirimise (SEU) suhtes vastuvõtlikus keskkonnas on muutmälu (RAM) altid raskete ioonide põhjustatud mööduvatele vigadele.
See dokument kirjeldab SoC FPGA EDAC-võimalusi, mida kasutatakse mikrokontrolleri alamsüsteemi (MSS) DDR-i (MDDR) kaudu ühendatud mäludega rakendustes.
SmartFusion2 seadmetes rakendatud EDAC-kontrollerid toetavad ühe veaparandust ja kahekordset veatuvastust (SECDED). Kõik mälud – täiustatud staatiline muutmälu (eSRAM), DDR, vähese energiatarbega DDR (LPDDR) – on SmartFusion2 MSS-seadmetes kaitstud SECDED-iga. DDR-i sünkroonne dünaamiline muutmälu (SDRAM) võib olenevalt MDDR-i konfiguratsioonist ja riistvara ECC võimalustest olla DDR2, DDR3 või LPDDR1.
SmartFusion2 MDDR alamsüsteem toetab kuni 4 GB mälutihedust. Selles demos saate DDR-aadressiruumis valida mis tahes 1 GB mälukoha (0xA0000000 kuni 0xDFFFFFFF).
Kui SECDED on lubatud:
- Kirjutamisoperatsioon arvutab ja lisab 8 bitti SECDED-koodi (igale 64 andmebitile)
- Lugemisoperatsioon loeb ja kontrollib andmeid salvestatud SECDED-koodiga, et toetada 1-bitist veaparandust ja 2-bitist veatuvastust
Järgmisel joonisel kirjeldatakse SmartFusion2 EDAC-i plokkskeemi DDR SDRAM-is.
Joonis 1 • Tipptaseme plokkskeem
DDR-i EDAC-funktsioon toetab järgmist.
- SECDED mehhanism
- Pakub katkestusi ARM Cortex-M3 protsessorile ja FPGA kangale 1-bitise või 2-bitise vea tuvastamisel
- Salvestab 1-bitiste ja 2-bitiste vigade arvu vealoendurite registrites
- Salvestab viimase 1-bitise või 2-bitise vea mõjutatud mälukoha aadressi
- Salvestab 1-bitised või 2-bitised veaandmed SECDED-registritesse
- annab veasiini signaale FPGA kangale
EDAC-i kohta lisateabe saamiseks vaadake UG0443: SmartFusion2 ja IGLOO2 FPGA turvalisuse ja töökindluse kasutusjuhend ning UG0446: SmartFusion2 ja IGLOO2 FPGA kiirete DDR-liideste kasutusjuhend.
Disaininõuded
Järgmises tabelis on loetletud projekteerimisnõuded.
Tabel 1 • Projekteerimisnõuded
- Projekteerimisnõuete kirjeldus
- Riistvaranõuded
- SmartFusion2 Advanced Development Kit plaat Rev B või uuem
- FlashPro5 programmeerija või uuem
- USB A kuni mini-B USB-kaabel
- Toiteadapter 12 V
- DDR3 tütarplaat
- Operatsioonisüsteem Mis tahes 64-bitine või 32-bitine Windows XP hoolduspakett SP2
- Iga 64-bitine või 32-bitine Windows 7
- Nõuded tarkvarale
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- Programmeerimistarkvara FlashPro v11.8
- Hostiarvuti draiverid USB-UART-draiverid
- Raamistik Microsoft .NET Framework 4 kliendi demonstratsiooni käivitamiseks
Demo disain
Demo disain files on allalaadimiseks saadaval Microsemi järgmiselt teelt websait: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demo disain files sisaldab:
- DDR-i konfiguratsioon File
- DDR_EDAC
- Programmeerimine files
- GUI käivitatav fail
- Loe mind file
Järgmine illustratsioon kirjeldab disaini tipptasemel struktuuri files. Lisateabe saamiseks vaadake faili readme.txt file.
Joonis 2 • Demodisaini tipptaseme struktuur
Demodisaini juurutamine
MDDR-i alamsüsteemil on spetsiaalne EDAC-kontroller. EDAC tuvastab andmete mälust lugemisel 1-bitise või 2-bitise vea. Kui EDAC tuvastab 1-bitise vea, parandab EDAC-kontroller veabiti. Kui EDAC on lubatud kõigi 1-bitiste ja 2-bitiste vigade jaoks, suurendatakse vastavaid vealoendureid süsteemiregistrites ning genereeritakse vastavad katkestused ja veasiini signaalid FPGA-kanalisse.
See toimub reaalajas. Selle SECDED-funktsiooni demonstreerimiseks sisestatakse viga käsitsi ning jälgitakse tuvastamist ja parandamist.
See demodisain hõlmab järgmiste sammude rakendamist:
- Luba EDAC
- Kirjutage andmed DDR-i
- Lugege andmeid DDR-ist
- Keela EDAC
- 1 või 2 bitti rikutud
- Kirjutage andmed DDR-i
- Luba EDAC
- Lugege andmeid
- 1-bitise vea korral parandab EDAC-kontroller vea, värskendab vastavaid olekuregistreid ja annab sammus 2 tehtud lugemistoimingul 8. sammus kirjutatud andmed.
- 2-bitise vea korral genereeritakse vastav katkestus ja rakendus peab andmed parandama või katkestuste töötlejas vastava toimingu tegema. Neid kahte meetodit demonstreeritakse selles demos.
Selles demos on rakendatud kaks testi: silmustest ja käsitsi test ning need on rakendatavad nii 1-bitiste kui ka 2-bitiste vigade korral.
Loop Test
Silmustest käivitatakse, kui SmartFusion2 seadmed saavad GUI-lt tsüklitesti käsu. Esialgu asetatakse kõik vealoendurid ja EDAC-ga seotud registrid olekusse RESET.
Iga iteratsiooni jaoks viiakse läbi järgmised sammud.
- Lubage EDAC-kontroller
- Kirjutage andmed konkreetsesse DDR-mälu asukohta
- Keela EDAC-kontroller
- Kirjutage 1-bitised või 2-bitised veast tingitud andmed samasse DDR-mälu asukohta
- Lubage EDAC-kontroller
- Lugege andmeid samast DDR-mälukohast
- Saada 1-bitise või 2-bitise vea tuvastamise ja 1-bitise vea parandamise andmed GUI-le
Käsitsi testimine
See meetod võimaldab käsitsi testida 1-bitist veatuvastust ja -parandust ning 2-bitist veatuvastust DDR-mäluaadressil (0xA0000000 kuni 0xDFFFFFFF) koos initsialiseerimisega. Valitud DDR-mäluaadressile sisestatakse käsitsi 1-bitine/2-bitine viga. Antud andmed kirjutatakse valitud DDR-mälu asukohta, kui EDAC on lubatud. Rikutud 1-bitised või 2-bitised veaandmed kirjutatakse seejärel samasse mälukohta, kui EDAC on keelatud. Teave tuvastatud 1-bitise või 2-bitise vea kohta logitakse, kui andmeid loetakse samast mälukohast, kui EDAC on lubatud. Suure jõudlusega DMA-kontroller
(HPDMA) kasutatakse andmete lugemiseks DDR-mälust. Kahebitise veatuvastuse katkestuse töötleja rakendatakse 2-bitise vea tuvastamisel vajalike toimingute tegemiseks.
Järgmine illustratsioon kirjeldab EDAC-i demo toiminguid.
Joonis 3 • Disainvoog
Märkus. 2-bitise vea korral läheb Cortex-M3 protsessori andmete lugemisel koodi täitmine kõva veakäsitlejasse, kuna vastuvõetud katkestus hilineb protsessori reageerimisel. Katkestusele reageerimise ajaks võib see olla juba andmed edastanud ja kogemata käsu käivitanud. Selle tulemusena lõpetab HRESP valede andmete töötlemise. 2-bitine veatuvastus kasutab HPDMA-d andmete lugemiseks DDR-i aadressi asukohast, mis annab protsessorile käsu, et andmete lugemisel on 2-bitine viga ja süsteem peaks taastamiseks võtma asjakohaseid meetmeid (ECC katkestuse töötleja).
Demokujunduse seadistamine
Selles jaotises kirjeldatakse SmartFusion2 Advanced Development Kit plaadi seadistust, GUI valikuid ja demodisaini käivitamist.
Järgmised sammud kirjeldavad demo seadistamist.
- Ühendage USB mini-B kaabli üks ots SmartFusion33 Advanced Development Kit plaadi J2 pistikuga. Ühendage USB-kaabli teine ots hostarvutiga. Valgusdiood (LED) DS27 peab süttima, mis näitab, et UART-ühendus on loodud. Veenduge, et USB-UART-silla draiverid tuvastatakse automaatselt (saab kontrollida seadmehalduris), nagu on näidatud järgmisel joonisel.
Joonis 4 • USB to UART Bridge draiverid
Kui USB-UART-silla draiverid pole installitud, laadige draiverid alla ja installige saidilt: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - Ühendage SmartFusion2 Advanced Development Kit plaadi džemprid, nagu on näidatud tabelis 4, lk 11. Toiteallika lüliti SW7 peab olema hüppajaühenduste tegemise ajal VÄLJA lülitatud.
Joonis 5 • SmartFusion2 Advanced Development Kit juhatuse häälestus
Graafiline kasutajaliides
See jaotis kirjeldab DDR – EDAC demo GUI-d.
Joonis 6 • DDR – EDAC demo GUI
GUI toetab järgmisi funktsioone:
- COM-pordi ja edastuskiiruse valik
- 1-bitise veaparanduse vahekaardi või 2-bitise veatuvastuse valik
- Aadressiväli andmete kirjutamiseks või lugemiseks määratud DDR-aadressile
- Andmeväli andmete kirjutamiseks või lugemiseks määratud DDR-aadressile või sellelt
- Jadakonsooli jaotis, et printida rakendusest saadud olekuteave
- Luba EDAC/Keela EDAC: lubab või keelab EDAC
- Kirjutamine: võimaldab kirjutada andmeid määratud aadressile
- Loe: võimaldab lugeda andmeid määratud aadressilt
- Loop test ON/OFF: võimaldab testida EDAC mehhanismi silmusmeetodil
- Initsialiseerimine: võimaldab lähtestada eelmääratletud mälukohta (selles demos A0000000-A000CFFF)
Demodisaini käivitamine
Järgmised sammud kirjeldavad kujunduse käitamist.Järgmised sammud kirjeldavad kujunduse käitamist.
- Lülitage toitelüliti SW7 SISSE.
- Programmeerige SmarFusion2 seade programmeerimisega file kujunduses ette nähtud files.(\ProgrammeerimineFile\EDAC_DDR3.stp), kasutades FlashPro disainitarkvara, nagu on näidatud järgmisel joonisel.
Joonis 7 • FlashPro programmeerimisaken
- Pärast edukat programmeerimist plaadi lähtestamiseks vajutage lülitit SW6.
- Käivitage EDAC_DDR demo GUI käivitatav fail file kujunduses saadaval files (\GUI käivitatav\ EDAC_DDR.exe). Kuvatakse GUI aken, nagu on näidatud joonisel 8, lk 9.
- Klõpsake nuppu Ühenda, see valib COM-pordi ja loob ühenduse. Ühenduse suvand muutub valikuks Katkesta ühendus.
- Valige vahekaart 1-bitine veaparandus või 2-bitine veatuvastus.
- Saate teha käsitsi ja silmusteste.
- Klõpsake käsku Initialize, et lähtestada DDR-mälu, et sooritada käsitsi- ja silmusteste. Serial Console'is kuvatakse lähtestamise lõpetamise teade, nagu on näidatud joonisel 8, lk 9.
Joonis 8 • Initsialiseerimise lõpetatud aken
Loop Testi sooritamine
Klõpsake valikul Loop Test ON. See töötab silmusrežiimis, kus tehakse pidevat vigade parandamist ja tuvastamist. Kõik SmartFusion2 seadmes tehtud toimingud logitakse GUI jaotisesse Serial Console.
Tabel 2 • Loop Testis kasutatud DDR3 mäluaadressid
- Mälu DDR3
- 1-bitine veaparandus 0xA0008000
- 2-bitine veatuvastus 0xA000C000
Käsitsi testimine
Selle meetodi puhul sisestatakse vead käsitsi GUI abil. Kasutage 1-bitise veaparanduse või 2-bitise veatuvastuse käivitamiseks järgmisi samme.
Tabel 3 • Käsitsi testis kasutatud DDR3 mäluaadressid
Sisend-aadressi ja andmeväljad (kasutage 32-bitiseid kuueteistkümnendväärtusi).
- Mälu DDR3
- 1-bitine veaparandus 0xA0000000-0xA0004000
- 2-bitine veatuvastus 0xA0004000-0xA0008000
- Klõpsake nuppu Luba EDAC.
- Klõpsake nuppu Kirjuta.
- Klõpsake nuppu Keela EDAC.
- Muutke andmeväljal üks bitti (1-bitise veaparanduse korral) või kaks bitti (2-bitise vea tuvastamise korral) (viga sisestamine).
- Klõpsake nuppu Kirjuta.
- Klõpsake nuppu Luba EDAC.
- Klõpsake nuppu Loe.
- Jälgige GUI-s vigade arvu kuva ja andmevälja. Vigade arvu väärtus suureneb 1 võrra.
1-bitise veatsükli parandamise aken on näidatud järgmisel joonisel.
Joonis 9 • 1-bitine veasilmuse tuvastamise aken
2-bitine veatuvastuse käsitsi aken on näidatud järgmisel joonisel.
Joonis 10 • 2-bitine veatuvastuse käsitsi aken
Järeldus
See demo näitab SmartFusion2 SECDED-i võimalusi MDDR-i alamsüsteemi jaoks.
Lisa: Jumper Settings
Järgmises tabelis on näidatud kõik SmartFusion2 täiustatud arenduskomplekti jaoks vajalikud džemprid.
Tabel 4 • SmartFusion2 täiustatud arenduskomplekti hüppaja sätted
Jumper : Pin (Alates) : Pin (To) : Kommentaarid
- J116, J353, J354, J54 1 2 Need on lisafunktsioonide hüppaja vaikesätted
- J123 2 3 arenduskomplekti tahvel. Veenduge, et need džemprid on vastavalt seadistatud.
- J124, J121, J32 1 2 JTAG programmeerimine FTDI kaudu
DG0618 Demojuhendi versioon 4.0
Dokumendid / Ressursid
![]() |
Microsemi DG0618 vigade tuvastamine ja parandamine SmartFusion2 seadmetes DDR-mälu abil [pdfKasutusjuhend DG0618 Vigade tuvastamine ja parandamine DDR-mälu kasutavates SmartFusion2-seadmetes, DG0618, DDR-mälu kasutavates SmartFusion2-seadmetes vigade tuvastamine ja parandamine, DDR-mälu kasutavates SmartFusion2-seadmetes, DDR-mälu |