Microsemi -LOGO

Microsemi DG0618 Detekcia a oprava chýb na zariadeniach SmartFusion2 využívajúcich pamäť DDR

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-pouzivajucich-DDR pamat-PRODUCT-IMAGE

Sídlo spoločnosti Microsemi
Jeden podnik, Aliso Viejo,
CA 92656 USA
V rámci USA: +1 800-713-4113
Mimo USA: +1 949-380-6100
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Všetky práva vyhradené. Microsemi a logo Microsemi sú ochranné známky spoločnosti Microsemi Corporation. Všetky ostatné ochranné známky a servisné známky sú majetkom ich príslušných vlastníkov

Microsemi neposkytuje žiadnu záruku, zastúpenie ani záruku týkajúcu sa informácií uvedených v tomto dokumente alebo vhodnosti svojich produktov a služieb na akýkoľvek konkrétny účel, ani nepreberá žiadnu zodpovednosť vyplývajúcu z aplikácie alebo používania akéhokoľvek produktu alebo okruhu. Produkty predávané nižšie a akékoľvek iné produkty predávané spoločnosťou Microsemi boli predmetom obmedzeného testovania a nemali by sa používať v spojení s kritickými zariadeniami alebo aplikáciami. Akékoľvek výkonnostné špecifikácie sa považujú za spoľahlivé, ale nie sú overené a Kupujúci musí vykonať a dokončiť všetky výkonnostné a iné testovanie produktov, a to samostatne a spolu s akýmikoľvek koncovými produktmi alebo v nich nainštalovaných. Kupujúci sa nebude spoliehať na žiadne údaje a výkonové špecifikácie alebo parametre poskytnuté Microsemi. Je zodpovednosťou kupujúceho, aby nezávisle určil vhodnosť akýchkoľvek produktov a otestoval ich a overil. Informácie poskytované spoločnosťou Microsemi nižšie sú poskytované „tak ako sú, kde sú“ a so všetkými chybami a celé riziko spojené s týmito informáciami znáša výlučne Kupujúci. Microsemi neudeľuje, explicitne ani implicitne, žiadnej strane žiadne patentové práva, licencie ani iné práva duševného vlastníctva, či už ide o takéto informácie samotné alebo čokoľvek opísané v takýchto informáciách. Informácie uvedené v tomto dokumente sú majetkom spoločnosti Microsemi a spoločnosť Microsemi si vyhradzuje právo kedykoľvek bez upozornenia vykonať akékoľvek zmeny informácií v tomto dokumente alebo akýchkoľvek produktov a služieb.

O Microsemi
Microsemi Corporation (Nasdaq: MSCC) ponúka komplexné portfólio polovodičových a systémových riešení pre letectvo a obranu, komunikáciu, dátové centrá a priemyselné trhy. Produkty zahŕňajú vysokovýkonné a radiačne tvrdené analógové integrované obvody so zmiešaným signálom, FPGA, SoC a ASIC; produkty na správu napájania; časovacie a synchronizačné zariadenia a presné časové riešenia, ktoré stanovujú svetový štandard pre čas; Zariadenia na spracovanie hlasu; RF riešenia; diskrétne komponenty; podnikové úložné a komunikačné riešenia, bezpečnostné technológie a škálovateľný anti-tamper produkty; Ethernetové riešenia; Integrované obvody Power-over-Ethernet a stredné rozpätia; ako aj možnosti a služby vlastného dizajnu. Microsemi má sídlo v Aliso Viejo v Kalifornii a celosvetovo má približne 4,800 XNUMX zamestnancov. Viac sa dozviete na www.microsemi.com.

História revízií

História revízií popisuje zmeny, ktoré boli implementované v dokumente. Zmeny sú uvedené podľa revízií, počnúc najaktuálnejšou publikáciou.

  • Revízia 4.0
    Aktualizovaný dokument pre vydanie softvéru Libero v11.8.
  • Revízia 3.0
    Aktualizovaný dokument pre vydanie softvéru Libero v11.7.
  • Revízia 2.0
    Aktualizovaný dokument pre vydanie softvéru Libero v11.6.
  • Revízia 1.0
    Prvé vydanie pre vydanie softvéru Libero SoC v11.5.

Detekcia a oprava chýb na zariadeniach SmartFusion2 pomocou pamäte DDR

Úvod
V prostredí citlivom na jednu udalosť (SEU) je pamäť s náhodným prístupom (RAM) náchylná na prechodné chyby spôsobené ťažkými iónmi.
Tento dokument popisuje EDAC schopnosti SoC FPGA, ktoré sa používajú v aplikáciách s pamäťami pripojenými cez mikrokontrolérový subsystém (MSS) DDR (MDDR).
Ovládače EDAC implementované v zariadeniach SmartFusion2 podporujú korekciu jednej chyby a detekciu dvojitej chyby (SECDED). Všetky pamäte – vylepšená statická pamäť s náhodným prístupom (eSRAM), DDR, nízkoenergetická DDR (LPDDR) – v zariadeniach SmartFusion2 MSS sú chránené systémom SECDED. Synchrónna dynamická pamäť s náhodným prístupom (SDRAM) DDR môže byť DDR2, DDR3 alebo LPDDR1 v závislosti od konfigurácie MDDR a možností hardvérového ECC.
Subsystém SmartFusion2 MDDR podporuje hustotu pamäte až 4 GB. V tejto ukážke si môžete vybrať ľubovoľné pamäťové miesto s veľkosťou 1 GB v adresnom priestore DDR (0xA0000000 až 0xDFFFFFFF).
Keď je zapnutá funkcia SECDED:

  • Operácia zápisu vypočíta a pridá 8 bitov kódu SECDED (na každých 64 bitov údajov)
  • Operácia čítania načítava a skontroluje údaje oproti uloženému kódu SECDED na podporu 1-bitovej korekcie chýb a 2-bitovej detekcie chýb

Nasledujúca ilustrácia popisuje blokovú schému SmartFusion2 EDAC na DDR SDRAM.

Obrázok 1 • Blokový diagram najvyššej úrovne

Funkcia EDAC DDR podporuje nasledovné:

  1.  mechanizmus SECDED
  2. Poskytuje prerušenia procesoru ARM Cortex-M3 a FPGA pri detekcii 1-bitovej chyby alebo 2-bitovej chyby
  3. Ukladá počet 1-bitových a 2-bitových chýb v registroch počítadla chýb
  4. Ukladá adresu posledného 1-bitového alebo 2-bitového miesta v pamäti ovplyvneného chybou
  5. Ukladá 1-bitové alebo 2-bitové chybové dáta v registroch SECDED
  6. poskytuje signály chybovej zbernice do štruktúry FPGA

Ďalšie informácie o EDAC nájdete v UG0443: Používateľská príručka pre bezpečnosť a spoľahlivosť FPGA SmartFusion2 a IGLOO2 a UG0446: Používateľská príručka k vysokorýchlostným rozhraniam DDR SmartFusion2 a IGLOO2 FPGA.

Požiadavky na dizajn
V nasledujúcej tabuľke sú uvedené požiadavky na dizajn.

Tabuľka 1 • Požiadavky na dizajn

  • Popis požiadaviek na dizajn
  • Hardvérové ​​požiadavky
  • Doska SmartFusion2 Advanced Development Kit Rev B alebo novšia
  • Programátor FlashPro5 alebo novší
  • USB kábel USB A na mini-B
  • Napájací adaptér 12 V
  • Dcérska doska DDR3
  • Operačný systém Akýkoľvek 64-bitový alebo 32-bitový Windows XP SP2
  • Akýkoľvek 64-bitový alebo 32-bitový systém Windows 7
  • Softvérové ​​požiadavky
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • Programovací softvér FlashPro v11.8
  • Ovládače hostiteľského počítača Ovládače USB na UART
  • Framework na spustenie demonštračného klienta Microsoft .NET Framework 4

Demo dizajn
Demo dizajn files sú k dispozícii na stiahnutie z nasledujúcej cesty v Microsemi webmiesto: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demo dizajn files zahŕňajú:

  • Konfigurácia DDR File
  • DDR_EDAC
  • Programovanie files
  • Spustiteľný GUI
  • Readme file

Nasledujúci obrázok popisuje štruktúru najvyššej úrovne návrhu files. Ďalšie podrobnosti nájdete v súbore readme.txt file.

Obrázok 2 • Štruktúra ukážkového dizajnu najvyššej úrovne

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-2

Implementácia demo dizajnu
Subsystém MDDR má vyhradený ovládač EDAC. EDAC detekuje 1-bitovú alebo 2-bitovú chybu pri čítaní údajov z pamäte. Ak EDAC zistí 1-bitovú chybu, ovládač EDAC opraví chybový bit. Ak je EDAC povolený pre všetky 1-bitové a 2-bitové chyby, zodpovedajúce počítadlá chýb v systémových registroch sa inkrementujú a generujú sa zodpovedajúce prerušenia a signály chybovej zbernice do štruktúry FPGA.
Toto sa deje v reálnom čase. Na demonštráciu tejto funkcie SECDED sa chyba zavedie manuálne a pozoruje sa detekcia a oprava.
Tento demo dizajn zahŕňa implementáciu nasledujúcich krokov:

  1. Povoliť EDAC
  2. Zápis údajov do DDR
  3. Čítanie údajov z DDR
  4. Zakázať EDAC
  5. Poškodený 1 alebo 2 bity
  6. Zápis údajov do DDR
  7. Povoliť EDAC
  8. Prečítajte si údaje
  9. V prípade 1-bitovej chyby ovládač EDAC chybu opraví, aktualizuje príslušné stavové registre a pri čítaní vykonanom v kroku 2 poskytne údaje zapísané v kroku 8.
  10. V prípade 2-bitovej chyby sa vygeneruje zodpovedajúce prerušenie a aplikácia musí opraviť dáta alebo vykonať príslušnú akciu v obsluhe prerušenia. Tieto dve metódy sú demonštrované v tejto ukážke.

V tejto ukážke sú implementované dva testy: test slučky a manuálny test a sú použiteľné pre 1-bitové aj 2-bitové chyby.

Slučkový test
Test slučky sa vykoná, keď zariadenia SmartFusion2 dostanú príkaz na test slučky z GUI. Na začiatku sú všetky počítadlá chýb a registre súvisiace s EDAC uvedené do stavu RESET.
Nasledujúce kroky sa vykonajú pre každú iteráciu.

  1. Zapnite ovládač EDAC
  2. Zapíšte údaje na konkrétne miesto v pamäti DDR
  3. Vypnite ovládač EDAC
  4. Zapíšte 1-bitové alebo 2-bitové údaje spôsobené chybou na rovnaké miesto v pamäti DDR
  5. Zapnite ovládač EDAC
  6. Čítajte údaje z rovnakého miesta v pamäti DDR
  7. Pošlite 1-bitovú alebo 2-bitovú detekciu chyby a 1-bitovú opravu chýb v prípade 1-bitovej chyby do GUI

Manuálny test
Táto metóda umožňuje manuálne testovanie 1-bitovej detekcie a opravy chýb a 2-bitovej detekcie chýb pre adresu pamäte DDR (0xA0000000 až 0xDFFFFFFF) s inicializáciou. 1-bitová/2-bitová chyba sa zavedie manuálne do vybranej adresy pamäte DDR. Dané dáta sa zapisujú do zvoleného pamäťového miesta DDR so zapnutým EDAC. Poškodené 1-bitové alebo 2-bitové chybové dáta sa potom zapíšu do rovnakého pamäťového miesta s vypnutým EDAC. Informácie o zistenej 1-bitovej alebo 2-bitovej chybe sa zaprotokolujú pri čítaní údajov z rovnakého pamäťového miesta so zapnutým EDAC. Vysoko výkonný ovládač DMA
(HPDMA) sa používa na čítanie údajov z pamäte DDR. Dvojbitová obsluha prerušenia na detekciu chýb je implementovaná na vykonanie príslušnej akcie, keď sa zistí 2-bitová chyba.
Nasledujúci obrázok popisuje demo operácie EDAC.

Obrázok 3 • Návrhový tok

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-3

Poznámka: V prípade 2-bitovej chyby, keď procesor Cortex-M3 načíta údaje, spustenie kódu prejde do obslužného programu tvrdej poruchy, pretože prijaté prerušenie je oneskorené a procesor reaguje. V čase, keď zareaguje na prerušenie, môže už prejsť dátami a omylom spustiť príkaz. V dôsledku toho HRESP prestane spracovávať nesprávne údaje. 2-bitová detekcia chýb využíva HPDMA na čítanie údajov z umiestnenia adresy DDR, čo dáva procesoru pokyn, že pri čítaní údajov došlo k 2-bitovej chybe a systém by mal podniknúť príslušné kroky na obnovenie (obslužný nástroj prerušenia ECC).

Nastavenie ukážkového dizajnu
Táto časť popisuje nastavenie dosky SmartFusion2 Advanced Development Kit, možnosti grafického rozhrania a spôsob vykonania návrhu ukážky.
Nasledujúce kroky popisujú, ako nastaviť demo:

  1. Pripojte jeden koniec USB mini-B kábla ku konektoru J33 na doske SmartFusion2 Advanced Development Kit. Pripojte druhý koniec kábla USB k hostiteľskému počítaču. Svetelná dióda (LED) DS27 sa musí rozsvietiť, čo znamená, že spojenie UART bolo vytvorené. Uistite sa, že ovládače mostíka USB na UART sú automaticky detekované (možno overiť v Správcovi zariadení), ako je znázornené na nasledujúcom obrázku.
    Obrázok 4 • Ovládače USB to UART Bridge
    Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-4
    Ak nie sú nainštalované ovládače USB to UART bridge, stiahnite a nainštalujte ovládače z: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Pripojte prepojky na doske súpravy SmartFusion2 Advanced Development Kit, ako je uvedené v Tabuľke 4, strana 11. Počas pripájania prepojok musí byť vypínač napájania SW7 vypnutý.

Obrázok 5 • Nastavenie dosky súpravy SmartFusion2 Advanced Development Kit

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-5

 Grafické používateľské rozhranie
Táto časť popisuje DDR – EDAC Demo GUI.

Obrázok 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-6

GUI podporuje nasledujúce funkcie:

  1. Výber COM portu a prenosovej rýchlosti
  2. Výber karty 1-bitovej korekcie chýb alebo 2-bitovej detekcie chýb
  3. Pole adresy na zapisovanie alebo čítanie údajov na alebo z určenej adresy DDR
  4. Dátové pole na zapisovanie alebo čítanie údajov na alebo z určenej adresy DDR
  5. Sekcia Sériová konzola na vytlačenie informácií o stave prijatých z aplikácie
  6. Enable EDAC/Disable EDAC: Povolí alebo zakáže EDAC
  7. Zápis: Umožňuje zapisovanie údajov na zadanú adresu
  8.  Čítať: Umožňuje čítanie údajov zo zadanej adresy
  9. Test slučky ON/OFF: Umožňuje testovanie mechanizmu EDAC metódou slučky
  10.  Inicializovať: Umožňuje inicializovať preddefinované pamäťové miesto (v tejto ukážke A0000000-A000CFFF)

Spustenie ukážkového dizajnu
Nasledujúce kroky popisujú, ako spustiť návrh: Nasledujúce kroky popisujú, ako spustiť návrh:

  1. Zapnite vypínač napájania SW7.
  2. Naprogramujte zariadenie SmarFusion2 pomocou programovania file uvedené v dizajne files.(\ProgramovanieFile\EDAC_DDR3.stp) pomocou návrhového softvéru FlashPro, ako je znázornené na nasledujúcom obrázku.
    Obrázok 7 • Okno programovania FlashPro
    Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-7
  3. Po úspešnom naprogramovaní stlačte spínač SW6, aby ste dosku resetovali.
  4. Spustite spustiteľný súbor EDAC_DDR Demo GUI file dostupné v dizajne files (\GUI Executable\ EDAC_DDR.exe). Zobrazí sa okno GUI, ako je znázornené na obrázku 8, strana 9.
  5. Kliknite na Pripojiť, vyberie sa COM port a vytvorí sa spojenie. Možnosť Pripojiť sa zmení na Odpojiť.
  6. Vyberte kartu 1-bit Error Correction alebo 2-bit Error Detection.
  7. Je možné vykonať manuálne a slučkové testy.
  8. Kliknite na Initialize (Inicializovať), aby ste inicializovali pamäť DDR, aby ste mohli vykonať testy Manual a Loop, na sériovej konzole sa zobrazí správa o dokončení inicializácie, ako je znázornené na obrázku 8, strana 9.

Obrázok 8 • Okno Inicializácia dokončená

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-8

Vykonávanie testu slučky
Kliknite na tlačidlo Test slučky ZAPNUTÉ. Beží v režime slučky, kde sa vykonáva nepretržitá oprava a detekcia chýb. Všetky akcie vykonané v zariadení SmartFusion2 sú zaznamenané v sekcii Sériová konzola v GUI.

Tabuľka 2 • Adresy pamäte DDR3 používané v teste slučky

  • Pamäť DDR3
  • 1-bitová oprava chýb 0xA0008000
  • 2-bitová detekcia chýb 0xA000C000

Vykonávanie manuálneho testu
Pri tejto metóde sa chyby zavádzajú manuálne pomocou GUI. Na vykonanie 1-bitovej opravy chýb alebo 2-bitovej detekcie chýb použite nasledujúce kroky.

Tabuľka 3 • Adresy pamäte DDR3 použité v manuálnom teste

Zadajte polia Adresa a Údaje (použite 32-bitové hexadecimálne hodnoty).

  • Pamäť DDR3
  • 1-bitová oprava chýb 0xA0000000-0xA0004000
  • 2-bitová detekcia chýb 0xA0004000-0xA0008000
  1. Kliknite na položku Povoliť EDAC.
  2. Kliknite na položku Napísať.
  3. Kliknite na položku Vypnúť EDAC.
  4. Zmeňte jeden bit (v prípade 1-bitovej korekcie chyby) alebo dva bity (v prípade 2-bitovej detekcie chyby) v dátovom poli (zavedenie chyby).
  5. Kliknite na položku Napísať.
  6. Kliknite na položku Povoliť EDAC.
  7. Kliknite na položku Čítať.
  8. Sledujte zobrazenie počtu chýb a údajové pole v GUI. Hodnota počtu chýb sa zvýši o 1.

Okno korekcie 1-bitovej slučky chýb je znázornené na nasledujúcom obrázku.

Obrázok 9 • Okno detekcie 1-bitovej slučky chýb

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-9

2-bitové okno manuálnej detekcie chýb je zobrazené na nasledujúcom obrázku.

Obrázok 10 • 2-bitové okno Manuálna detekcia chýb

Microsemi -DG0618-Detekcia-a-oprava-chyby-na-SmartFusion2-zariadeniach-používajúcich-pamäť DDR-10

Záver
Toto demo ukazuje schopnosti SmartFusion2 SECDED pre subsystém MDDR.

Príloha: Nastavenia prepojky

Nasledujúca tabuľka zobrazuje všetky potrebné prepojky, ktoré je potrebné nastaviť na súprave SmartFusion2 Advanced Development Kit.

Tabuľka 4 • Nastavenia prepojky SmartFusion2 Advanced Development Kit

Jumper : Pin (Od) : Pin (To) : Komentáre

  • J116, J353, J354, J54 1 2 Toto sú predvolené nastavenia prepojok rozšírených
  • J123 2 3 Doska vývojovej súpravy. Uistite sa, že tieto prepojky sú správne nastavené.
  • J124, J121, J32 1 2 JTAG programovanie cez FTDI

DG0618 Demo Guide Revízia 4.0

Dokumenty / zdroje

Microsemi DG0618 Detekcia a oprava chýb na zariadeniach SmartFusion2 využívajúcich pamäť DDR [pdf] Používateľská príručka
DG0618 Detekcia a oprava chýb na zariadeniach SmartFusion2 využívajúcich pamäť DDR, DG0618, Detekcia a oprava chýb na zariadeniach SmartFusion2 využívajúcich pamäť DDR, zariadenia SmartFusion2 využívajúce pamäť DDR, pamäť DDR

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *