Microsemi DG0618 -virheiden havaitseminen ja korjaaminen SmartFusion2-laitteissa DDR-muistilla
Microsemin pääkonttori
One Enterprise, Aliso Viejo,
CA 92656 USA
USA:ssa: +1 800-713-4113
Yhdysvaltojen ulkopuolella: +1 949-380-6100
Faksi: +1 XNUMX XNUMX XNUMX 949-215-4996
Sähköposti: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Kaikki oikeudet pidätetään. Microsemi ja Microsemi-logo ovat Microsemi Corporationin tavaramerkkejä. Kaikki muut tavaramerkit ja palvelumerkit ovat omistajiensa omaisuutta
Microsemi ei anna takuita, esityksiä tai takuita koskien tämän julkaisun sisältämiä tietoja tai tuotteidensa ja palveluidensa soveltuvuutta mihinkään tiettyyn tarkoitukseen, eikä Microsemi ota minkäänlaista vastuuta minkään tuotteen tai piirin sovelluksesta tai käytöstä. Tässä myydyt tuotteet ja kaikki muut Microsemin myymät tuotteet on testattu rajoitetusti, eikä niitä tule käyttää yhdessä kriittisten laitteiden tai sovellusten kanssa. Kaikkien suorituskykyeritelmien uskotaan olevan luotettavia, mutta niitä ei ole varmistettu, ja Ostajan on suoritettava ja suoritettava kaikki tuotteiden suorituskyky- ja muut testaukset yksin ja yhdessä minkä tahansa lopputuotteen kanssa tai asennettuna niihin. Ostaja ei saa luottaa Microsemin toimittamiin tietoihin ja suorituskykyspesifikaatioihin tai parametreihin. Ostajan vastuulla on itsenäisesti määrittää tuotteiden sopivuus sekä testata ja todentaa se. Microsemin tässä antamat tiedot toimitetaan "sellaisenaan, missä on" ja kaikkiin puutteineen, ja koko tällaisiin tietoihin liittyvä riski on täysin ostajalla. Microsemi ei myönnä nimenomaisesti tai implisiittisesti millekään osapuolelle patenttioikeuksia, lisenssejä tai muita immateriaalioikeuksia, koskien kyseistä tietoa itseään tai mitään sellaisissa tiedoissa kuvailtuja tietoja. Tässä asiakirjassa annetut tiedot ovat Microsemin omaisuutta, ja Microsemi pidättää oikeuden tehdä muutoksia tämän asiakirjan tietoihin tai mihin tahansa tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta.
Tietoja Microsemista
Microsemi Corporation (Nasdaq: MSCC) tarjoaa kattavan valikoiman puolijohde- ja järjestelmäratkaisuja ilmailu-, puolustus-, viestintä-, datakeskus- ja teollisuusmarkkinoille. Tuotteisiin kuuluvat korkean suorituskyvyn ja säteilyä kestävät analogiset sekasignaaliintegroidut piirit, FPGA:t, SoC:t ja ASIC:t; virranhallinnan tuotteet; ajoitus- ja synkronointilaitteet ja tarkat aikaratkaisut, jotka asettavat ajan mittaan maailman standardin; äänen käsittelylaitteet; RF-ratkaisut; erilliset komponentit; yritysten tallennus- ja viestintäratkaisut, tietoturvateknologiat ja skaalautuva anti-tamper tuotteet; Ethernet-ratkaisut; Power-over-Ethernet-IC:t ja keskivälit; sekä mukautettuja suunnitteluominaisuuksia ja palveluita. Microsemin pääkonttori sijaitsee Aliso Viejossa, Kaliforniassa, ja sillä on noin 4,800 XNUMX työntekijää maailmanlaajuisesti. Lisätietoja osoitteessa www.microsemi.com.
Versiohistoria
Versiohistoria kuvaa asiakirjaan tehdyt muutokset. Muutokset on listattu versioittain alkaen uusimmasta julkaisusta.
- Versio 4.0
Päivitetty Libero v11.8 -ohjelmistojulkaisun asiakirja. - Versio 3.0
Päivitetty Libero v11.7 -ohjelmistojulkaisun asiakirja. - Versio 2.0
Päivitetty Libero v11.6 -ohjelmistojulkaisun asiakirja. - Versio 1.0
Libero SoC v11.5 -ohjelmistojulkaisun ensimmäinen julkaisu.
DDR-muistia käyttävien SmartFusion2-laitteiden virheiden havaitseminen ja korjaaminen
Johdanto
Yhden tapahtuman häiriintymiselle (SEU) alttiissa ympäristössä hajasaantimuisti (RAM) on altis raskaiden ionien aiheuttamille ohimeneville virheille.
Tässä asiakirjassa kuvataan SoC FPGA:n EDAC-ominaisuudet, joita käytetään sovelluksissa, joissa on muistit, jotka on kytketty mikrokontrollerialijärjestelmän (MSS) DDR:n (MDDR) kautta.
SmartFusion2-laitteissa toteutetut EDAC-ohjaimet tukevat yhden virheen korjausta ja kaksoisvirheiden havaitsemista (SECDED). Kaikki SmartFusion2:n MSS-laitteiden muistit – parannettu staattinen käyttömuisti (eSRAM), DDR, pienitehoinen DDR (LPDDR) – on suojattu SECDED:llä. DDR-synkroninen dynaaminen hajasaantimuisti (SDRAM) voi olla DDR2, DDR3 tai LPDDR1 riippuen MDDR-kokoonpanosta ja laitteiston ECC-ominaisuuksista.
SmartFusion2 MDDR -alijärjestelmä tukee jopa 4 Gt:n muistitiheyttä. Tässä esittelyssä voit valita minkä tahansa 1 Gt:n muistipaikan DDR-osoiteavaruudessa (0xA0000000 - 0xDFFFFFFF).
Kun SECDED on käytössä:
- Kirjoitustoiminto laskee ja lisää 8 bittiä SECDED-koodia (jokaiseen 64 databittiin)
- Lukutoiminto lukee ja vertaa dataa tallennettuun SECDED-koodiin tukeakseen 1-bittistä virheenkorjausta ja 2-bittistä virheentunnistusta
Seuraava kuva kuvaa SmartFusion2 EDAC:n lohkokaavion DDR SDRAM -muistissa.
Kuva 1 • Ylimmän tason lohkokaavio
DDR:n EDAC-ominaisuus tukee seuraavia:
- SECDED mekanismi
- Tarjoaa keskeytyksiä ARM Cortex-M3 -prosessorille ja FPGA-kankaalle havaitessaan 1-bittisen tai 2-bittisen virheen
- Tallentaa 1- ja 2-bittisten virheiden määrän virhelaskurirekistereihin
- Tallentaa viimeisen 1-bittisen tai 2-bittisen virheen aiheuttaman muistipaikan osoitteen
- Tallentaa 1- tai 2-bittiset virhetiedot SECDED-rekistereihin
- tarjoaa virheväyläsignaaleja FPGA-kankaalle
Lisätietoja EDAC:sta on UG0443: SmartFusion2 ja IGLOO2 FPGA Security and Reliability -käyttöopas ja UG0446: SmartFusion2 ja IGLOO2 FPGA High Speed DDR Interfaces User Guide.
Suunnitteluvaatimukset
Seuraavassa taulukossa luetellaan suunnitteluvaatimukset.
Taulukko 1 • Suunnitteluvaatimukset
- Suunnitteluvaatimusten kuvaus
- Laitteistovaatimukset
- SmartFusion2 Advanced Development Kit -kortti Rev B tai uudempi
- FlashPro5-ohjelmoija tai uudempi
- USB A - mini-B USB-kaapeli
- Virtasovitin 12 V
- DDR3 tytärkortti
- Käyttöjärjestelmä Mikä tahansa 64-bittinen tai 32-bittinen Windows XP SP2
- Mikä tahansa 64-bittinen tai 32-bittinen Windows 7
- Ohjelmistovaatimukset
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- FlashPro ohjelmointiohjelmisto v11.8
- Isäntätietokoneen ajurit USB-UART-ohjaimet
- Framework Microsoft .NET Framework 4 -esittelysovelluksen suorittamiseen
Demo suunnittelu
Demon suunnittelu files ovat ladattavissa seuraavasta Microsemin polusta websivusto: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demon suunnittelu files sisältää:
- DDR-kokoonpano File
- DDR_EDAC
- Ohjelmointi files
- GUI suoritettava
- Readme file
Seuraava kuva kuvaa suunnittelun ylimmän tason rakennetta files. Lisätietoja on tiedostossa readme.txt file.
Kuva 2 • Demosuunnittelun huipputason rakenne
Demosuunnittelun toteutus
MDDR-alijärjestelmässä on oma EDAC-ohjain. EDAC havaitsee 1-bittisen tai 2-bittisen virheen, kun tietoja luetaan muistista. Jos EDAC havaitsee 1-bittisen virheen, EDAC-ohjain korjaa virhebitin. Jos EDAC on käytössä kaikille 1- ja 2-bittisille virheille, vastaavat virhelaskurit järjestelmän rekistereissä kasvatetaan ja vastaavat keskeytykset ja virheväyläsignaalit generoidaan FPGA-kankaalle.
Tämä tapahtuu reaaliajassa. Tämän SECDED-ominaisuuden osoittamiseksi tuodaan virhe manuaalisesti ja havaitaan havaitseminen ja korjaaminen.
Tämä esittelysuunnittelu sisältää seuraavat vaiheet:
- Ota EDAC käyttöön
- Kirjoita tiedot DDR:ään
- Lue tiedot DDR:stä
- Poista EDAC käytöstä
- Vioittunut 1 tai 2 bittiä
- Kirjoita tiedot DDR:ään
- Ota EDAC käyttöön
- Lue tiedot
- 1-bittisen virheen sattuessa EDAC-ohjain korjaa virheen, päivittää vastaavat tilarekisterit ja antaa vaiheessa 2 kirjoitetut tiedot vaiheessa 8 tehdyssä lukutoiminnossa.
- 2-bittisen virheen sattuessa syntyy vastaava keskeytys ja sovelluksen on korjattava tiedot tai ryhdyttävä tarvittaviin toimenpiteisiin keskeytyskäsittelijässä. Nämä kaksi menetelmää esitellään tässä esittelyssä.
Tässä demossa on toteutettu kaksi testiä: silmukkatesti ja manuaalinen testi, ja niitä voidaan soveltaa sekä 1- että 2-bittisiin virheisiin.
Silmukkatesti
Silmukkatesti suoritetaan, kun SmartFusion2-laitteet vastaanottavat silmukkatestikomennon graafisesta käyttöliittymästä. Aluksi kaikki virhelaskurit ja EDAC:hen liittyvät rekisterit asetetaan RESET-tilaan.
Seuraavat vaiheet suoritetaan jokaiselle iteraatiolle.
- Ota EDAC-ohjain käyttöön
- Kirjoita tiedot tiettyyn DDR-muistipaikkaan
- Poista EDAC-ohjain käytöstä
- Kirjoita 1-bittinen tai 2-bittinen virheen aiheuttama data samaan DDR-muistipaikkaan
- Ota EDAC-ohjain käyttöön
- Lue tiedot samasta DDR-muistipaikasta
- Lähetä 1-bittiset tai 2-bittiset virheentunnistus- ja 1-bittiset virheenkorjaustiedot graafiselle käyttöliittymälle, jos 1-bittinen virhe
Manuaalinen testi
Tämä menetelmä mahdollistaa DDR-muistiosoitteen (1xA2 - 0xDFFFFFFF) 0000000-bittisen virheen havaitsemisen ja korjaamisen sekä 0-bittisen virheentunnistuksen manuaalisen testauksen alustuksen kanssa. 1-bittinen/2-bittinen virhe tuodaan manuaalisesti valittuun DDR-muistiosoitteeseen. Annetut tiedot kirjoitetaan valittuun DDR-muistipaikkaan EDAC:n ollessa käytössä. Vioittuneet 1- tai 2-bittiset virhetiedot kirjoitetaan sitten samaan muistipaikkaan EDAC:n ollessa pois käytöstä. Tiedot havaitusta 1- tai 2-bittisestä virheestä kirjataan lokiin, kun tiedot luetaan samasta muistipaikasta EDAC:n ollessa käytössä. Tehokas DMA-ohjain
(HPDMA) käytetään tietojen lukemiseen DDR-muistista. Kaksibittinen virheentunnistuksen keskeytyskäsittelijä on toteutettu suorittamaan asianmukaiset toimet, kun havaitaan 2-bittinen virhe.
Seuraava kuva kuvaa EDAC:n esittelytoimintoja.
Kuva 3 • Suunnitteluvirtaus
Huomautus: 2-bittisessä virheessä, kun Cortex-M3-prosessori lukee tietoja, koodin suoritus siirtyy kovalle viankäsittelijälle, koska vastaanotettu keskeytys on myöhässä, jotta prosessori vastaa. Kun se vastaa keskeytykseen, se on saattanut jo siirtää tiedot ja vahingossa käynnistänyt komennon. Tämän seurauksena HRESP lopettaa virheellisten tietojen käsittelyn. 2-bittinen virheentunnistus käyttää HPDMA:ta tietojen lukemiseen DDR-osoitteen sijainnista, mikä käskee prosessoria, että lukutiedoissa on 2-bittinen virhe ja järjestelmän tulee ryhtyä asianmukaisiin toimiin palautuakseen (ECC-keskeytyskäsittelijä).
Demosuunnittelun määrittäminen
Tässä osiossa kuvataan SmartFusion2 Advanced Development Kit -levyn asetukset, GUI-asetukset ja esittelysuunnittelun suorittaminen.
Seuraavat vaiheet kuvaavat demon määrittämistä:
- Liitä USB mini-B -kaapelin toinen pää SmartFusion33 Advanced Development Kit -kortissa olevaan J2-liittimeen. Liitä USB-kaapelin toinen pää isäntätietokoneeseen. Light emitting diode (LED) DS27:n täytyy syttyä, mikä osoittaa, että UART-linkki on muodostettu. Varmista, että USB-UART-siltaohjaimet tunnistetaan automaattisesti (voidaan tarkistaa Laitehallinnasta), kuten seuraavassa kuvassa näkyy.
Kuva 4 • USB to UART Bridge -ajurit
Jos USB–UART-siltaohjaimia ei ole asennettu, lataa ja asenna ohjaimet osoitteesta: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - Kytke SmartFusion2 Advanced Development Kit -kortin hyppyjohtimet taulukon 4 sivulla 11 osoittamalla tavalla. Virtalähteen kytkimen SW7 on oltava OFF-asennossa, kun siltausliitännät tehdään.
Kuva 5 • SmartFusion2 Advanced Development Kit -levyn asetukset
Graafinen käyttöliittymä
Tässä osiossa kuvataan DDR – EDAC Demo GUI.
Kuva 6 • DDR – EDAC Demo GUI
GUI tukee seuraavia ominaisuuksia:
- COM-portin ja tiedonsiirtonopeuden valinta
- 1-bittisen virheenkorjausvälilehden tai 2-bittisen virheentunnistuksen valinta
- Osoitekenttä, jolla voit kirjoittaa tai lukea tietoja tiettyyn DDR-osoitteeseen tai siitä
- Tietokenttä tietojen kirjoittamiseen tai lukemiseen määritettyyn DDR-osoitteeseen tai siitä
- Serial Console -osiossa voit tulostaa sovelluksesta saadut tilatiedot
- Ota EDAC käyttöön/Poista EDAC käytöstä: Ottaa EDAC:n käyttöön tai poistaa sen käytöstä
- Write: Mahdollistaa tietojen kirjoittamisen määritettyyn osoitteeseen
- Read: Mahdollistaa tietojen lukemisen määritetystä osoitteesta
- Silmukkatesti ON/OFF: Mahdollistaa EDAC-mekanismin testaamisen silmukkamenetelmällä
- Alusta: Mahdollistaa ennalta määritetyn muistipaikan alustamisen (tässä esittelyssä A0000000-A000CFFF)
Demosuunnittelun suorittaminen
Seuraavat vaiheet kuvaavat suunnitelman suorittamista:Seuraavat vaiheet kuvaavat suunnitelman suorittamisen:
- Kytke virtakytkin PÄÄLLE, SW7.
- Ohjelmoi SmarFusion2-laite ohjelmoinnin avulla file suunniteltu suunnittelussa files.(\OhjelmointiFile\EDAC_DDR3.stp) käyttämällä FlashPro-suunnitteluohjelmistoa seuraavan kuvan mukaisesti.
Kuva 7 • FlashPro-ohjelmointiikkuna
- Nollaa kortti onnistuneen ohjelmoinnin jälkeen painamalla SW6-kytkintä.
- Käynnistä EDAC_DDR Demo GUI -suoritettava tiedosto file saatavana suunnittelussa files (\GUI Executable\ EDAC_DDR.exe). GUI-ikkuna tulee näkyviin, kuten kuvassa 8, sivu 9 näkyy.
- Napsauta Connect, se valitsee COM-portin ja muodostaa yhteyden. Yhdistämisvaihtoehto muuttuu Katkaise yhteys.
- Valitse 1-bittinen virheenkorjaus-välilehti tai 2-bittinen virheentunnistus.
- Manuaaliset ja silmukkatestit voidaan suorittaa.
- Napsauta Initialize alustaaksesi DDR-muistin manuaalisten ja silmukkatestien suorittamista varten. Serial Consolessa näkyy alustuksen valmistumisviesti, kuten kuvassa Kuva 8, sivu 9.
Kuva 8 • Alustus valmis -ikkuna
Suoritetaan silmukkatestiä
Napsauta Loop Test ON. Se toimii silmukkatilassa, jossa suoritetaan jatkuvaa korjausta ja virheiden havaitsemista. Kaikki SmartFusion2-laitteessa suoritetut toiminnot kirjataan graafisen käyttöliittymän Serial Console -osioon.
Taulukko 2 • Silmukkatestissä käytetyt DDR3-muistiosoitteet
- Muisti DDR3
- 1-bittinen virheenkorjaus 0xA0008000
- 2-bittinen virheentunnistus 0xA000C000
Suoritetaan manuaalinen testi
Tässä menetelmässä virheet tuodaan manuaalisesti GUI:n avulla. Suorita 1-bittinen virheenkorjaus tai 2-bittinen virheentunnistus seuraavien vaiheiden avulla.
Taulukko 3 • Manuaalisessa testissä käytetyt DDR3-muistiosoitteet
Syöteosoite- ja tietokentät (käytä 32-bittisiä heksadesimaaliarvoja).
- Muisti DDR3
- 1-bittinen virheenkorjaus 0xA0000000-0xA0004000
- 2-bittinen virheentunnistus 0xA0004000-0xA0008000
- Napsauta Ota EDAC käyttöön.
- Napsauta Kirjoita.
- Napsauta Poista EDAC käytöstä.
- Muuta yksi bitti (jos kyseessä on 1-bittinen virheenkorjaus) tai kaksi bittiä (jos havaitaan 2-bittinen virhe) Data-kentässä (syötetään virhe).
- Napsauta Kirjoita.
- Napsauta Ota EDAC käyttöön.
- Napsauta Lue.
- Tarkkaile graafisen käyttöliittymän Error Count Display ja Data -kenttää. Virhemäärän arvo kasvaa 1:llä.
1-bittinen virhesilmukan korjausikkuna on esitetty seuraavassa kuvassa.
Kuva 9 • 1-bittinen virhesilmukan tunnistusikkuna
2-bittinen virheentunnistuksen manuaalinen ikkuna näkyy seuraavassa kuvassa.
Kuva 10 • 2-bittinen Error Detection Manual -ikkuna
Johtopäätös
Tämä esittely näyttää SmartFusion2 SECDED -ominaisuudet MDDR-alijärjestelmälle.
Liite: Puskurin asetukset
Seuraavassa taulukossa näkyvät kaikki SmartFusion2 Advanced Development Kit -kehityssarjaan asennettavat jumpperit.
Taulukko 4 • SmartFusion2 Advanced Development Kit -jumpperiasetukset
Puskuri : Pin (Lähde) : Pin (To): Kommentit
- J116, J353, J354, J54 1 2 Nämä ovat Lisäasetukset-valikon oletushyppyasetukset
- J123 2 3 Development Kit -kortti. Varmista, että nämä jumpperit on asetettu vastaavasti.
- J124, J121, J32 1 2 JTAG ohjelmointi FTDI:n kautta
DG0618 Demo-oppaan versio 4.0
Asiakirjat / Resurssit
![]() |
Microsemi DG0618 -virheiden havaitseminen ja korjaaminen SmartFusion2-laitteissa DDR-muistilla [pdfKäyttöopas DG0618 Virheiden havaitseminen ja korjaaminen DDR-muistia käyttävissä SmartFusion2-laitteissa, DG0618, DDR-muistia käyttävien SmartFusion2-laitteiden virheiden havaitseminen ja korjaaminen, DDR-muistia käyttävissä SmartFusion2-laitteissa, DDR-muistia |