Microsemi -LOGO

Otkrivanje i ispravljanje pogrešaka Microsemi DG0618 na SmartFusion2 uređajima koji koriste DDR memoriju

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-IMAGE-PROIZVOD

Sjedište tvrtke Microsemi
One Enterprise, Aliso Viejo,
CA 92656 SAD
Unutar SAD-a: +1 800-713-4113
Izvan SAD-a: +1 949-380-6100
Faks: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Sva prava pridržana. Microsemi i Microsemi logo su zaštitni znaci Microsemi Corporation. Svi ostali zaštitni znakovi i znakovi usluga vlasništvo su svojih vlasnika

Microsemi ne daje nikakva jamstva, zastupanja ili jamstva u vezi s ovdje sadržanim informacijama ili prikladnošću svojih proizvoda i usluga za bilo koju određenu svrhu, niti Microsemi preuzima bilo kakvu odgovornost koja proizlazi iz primjene ili upotrebe bilo kojeg proizvoda ili sklopa. Proizvodi koji se ovdje prodaju i svi drugi proizvodi koje prodaje Microsemi podvrgnuti su ograničenom testiranju i ne bi se trebali koristiti zajedno s opremom ili aplikacijama kritičnim za misiju. Vjeruje se da su sve izvedbene specifikacije pouzdane, ali nisu provjerene, a Kupac mora provesti i dovršiti sva ispitivanja performansi i druga testiranja proizvoda, samih i zajedno sa, ili ugrađenih u bilo koji krajnji proizvod. Kupac se neće oslanjati ni na kakve podatke i specifikacije izvedbe ili parametre koje pruža Microsemi. Odgovornost Kupca je da samostalno utvrdi prikladnost bilo kojeg proizvoda te istu testira i provjeri. Informacije koje Microsemi daje u nastavku dane su “kao što jesu, gdje je” i sa svim greškama, a cijeli rizik povezan s takvim informacijama u potpunosti je na Kupcu. Microsemi ne daje, eksplicitno ili implicitno, nijednoj strani nikakva patentna prava, licence ili bilo koja druga prava intelektualne svojine, bilo u pogledu samih takvih informacija ili bilo čega što je opisano takvim informacijama. Informacije navedene u ovom dokumentu vlasništvo su tvrtke Microsemi, a Microsemi zadržava pravo izmjene podataka u ovom dokumentu ili bilo kojeg proizvoda i usluga u bilo koje vrijeme bez prethodne obavijesti.

O Microsemi
Microsemi Corporation (Nasdaq: MSCC) nudi sveobuhvatan portfelj poluvodičkih i sistemskih rješenja za svemirska i obrambena tržišta, komunikacije, podatkovne centre i industrijska tržišta. Proizvodi uključuju visokoučinkovite analogne integrirane sklopove s mješovitim signalom otporne na zračenje, FPGA, SoC i ASIC; proizvodi za upravljanje napajanjem; uređaji za mjerenje vremena i sinkronizaciju i rješenja za precizno vrijeme, postavljanje svjetskih standarda za vrijeme; uređaji za obradu glasa; RF rješenja; diskretne komponente; poduzeća za pohranu i komunikacijska rješenja, sigurnosne tehnologije i skalabilni anti-tamper proizvodi; Ethernet rješenja; Power-over-Ethernet IC-ovi i srednji rasponi; kao i prilagođene mogućnosti dizajna i usluge. Microsemi ima sjedište u Aliso Viejo, Kalifornija, i ima približno 4,800 zaposlenika diljem svijeta. Saznajte više na www.microsemi.com.

Povijest revizija

Povijest revizija opisuje promjene koje su implementirane u dokumentu. Promjene su navedene po reviziji, počevši od najnovije objave.

  • Revizija 4.0
    Ažuriran dokument za izdanje softvera Libero v11.8.
  • Revizija 3.0
    Ažuriran dokument za izdanje softvera Libero v11.7.
  • Revizija 2.0
    Ažuriran dokument za izdanje softvera Libero v11.6.
  • Revizija 1.0
    Prvo izdanje za izdanje softvera Libero SoC v11.5.

Otkrivanje i ispravljanje pogrešaka na SmartFusion2 uređajima koji koriste DDR memoriju

Uvod
U okruženju podložnom poremećaju jednog događaja (SEU), memorija s izravnim pristupom (RAM) sklona je prolaznim pogreškama uzrokovanim teškim ionima.
Ovaj dokument opisuje EDAC mogućnosti SoC FPGA, koje se koriste u aplikacijama s memorijama povezanim preko podsustava mikrokontrolera (MSS) DDR (MDDR).
EDAC kontroleri implementirani u SmartFusion2 uređaje podržavaju jednostruko ispravljanje pogrešaka i dvostruko otkrivanje pogrešaka (SECDED). Sve memorije—poboljšana statička memorija s izravnim pristupom (eSRAM), DDR, DDR niske potrošnje (LPDDR)—unutar SmartFusion2 MSS uređaja zaštićene su SECDED-om. DDR sinkrona dinamička memorija s izravnim pristupom (SDRAM) može biti DDR2, DDR3 ili LPDDR1, ovisno o konfiguraciji MDDR-a i hardverskim ECC mogućnostima.
Podsustav SmartFusion2 MDDR podržava gustoće memorije do 4 GB. U ovoj demonstraciji možete odabrati bilo koju memorijsku lokaciju od 1 GB u DDR adresnom prostoru (0xA0000000 do 0xDFFFFFFF).
Kada je SECDED omogućen:

  • Operacija pisanja izračunava i dodaje 8 bita SECDED koda (na svaka 64 bita podataka)
  • Operacija čitanja čita i provjerava podatke u odnosu na pohranjeni SECDED kod kako bi podržala 1-bitnu korekciju pogreške i 2-bitnu detekciju pogreške

Sljedeća ilustracija opisuje blok dijagram SmartFusion2 EDAC na DDR SDRAM.

Slika 1 • Blok dijagram najviše razine

EDAC značajka DDR-a podržava sljedeće:

  1.  SECDED mehanizam
  2. Omogućuje prekide ARM Cortex-M3 procesoru i FPGA strukturi nakon otkrivanja 1-bitne pogreške ili 2-bitne pogreške
  3. Pohranjuje broj 1-bitnih i 2-bitnih pogrešaka u registrima brojača pogrešaka
  4. Pohranjuje adresu posljednje 1-bitne ili 2-bitne memorijske lokacije zahvaćene pogreškom
  5. Pohranjuje 1-bitne ili 2-bitne podatke o pogrešci u SECDED registre
  6. daje signale sabirnice grešaka FPGA strukturi

Za više informacija o EDAC-u pogledajte UG0443: SmartFusion2 i IGLOO2 FPGA korisnički priručnik za sigurnost i pouzdanost i UG0446: SmartFusion2 i IGLOO2 FPGA brza DDR sučelja korisnički priručnik.

Zahtjevi za dizajn
Sljedeća tablica navodi zahtjeve dizajna.

Tablica 1 • Zahtjevi za dizajn

  • Opis zahtjeva za dizajn
  • Hardverski zahtjevi
  • SmartFusion2 Advanced Development Kit ploča Rev B ili novija
  • FlashPro5 programer ili noviji
  • USB A na mini-B USB kabel
  • Napajanje 12 V
  • DDR3 ploča kćer
  • Operativni sustav Bilo koji 64-bitni ili 32-bitni Windows XP SP2
  • Bilo koji 64-bitni ili 32-bitni Windows 7
  • Softverski zahtjevi
  • Libero® sustav na čipu (SoC) v11.8
  • SoftConsole v4.0
  • FlashPro softver za programiranje v11.8
  • Upravljački programi za glavno računalo USB u UART upravljački programi
  • Framework za pokretanje demonstracije Microsoft .NET Framework 4 klijenta

Demo dizajn
Demo dizajn filedostupni su za preuzimanje sa sljedeće staze u Microsemi webstranica: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demo dizajn files uključuju:

  • DDR konfiguracija File
  • DDR_EDAC
  • Programiranje files
  • GUI izvršna
  • Readme file

Sljedeća ilustracija opisuje strukturu najviše razine dizajna files. Za dodatne pojedinosti pogledajte readme.txt file.

Slika 2 • Demo dizajn strukture najviše razine

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-2

Implementacija demo dizajna
MDDR podsustav ima namjenski EDAC kontroler. EDAC otkriva 1-bitnu ili 2-bitnu pogrešku kada se podaci čitaju iz memorije. Ako EDAC otkrije 1-bitnu pogrešku, EDAC kontroler ispravlja bit pogreške. Ako je EDAC omogućen za sve 1-bitne i 2-bitne pogreške, odgovarajući brojači pogrešaka u sistemskim registrima se povećavaju i generiraju se odgovarajući prekidi i signali sabirnice grešaka za FPGA strukturu.
To se događa u stvarnom vremenu. Da bi se demonstrirala ova značajka SECDED, pogreška se uvodi ručno i promatra se otkrivanje i ispravljanje.
Ovaj demo dizajn uključuje implementaciju sljedećih koraka:

  1. Omogući EDAC
  2. Pisanje podataka u DDR
  3. Čitaj podatke iz DDR-a
  4. Onemogući EDAC
  5. Oštećen 1 ili 2 bita
  6. Pisanje podataka u DDR
  7. Omogući EDAC
  8. Pročitajte podatke
  9. U slučaju 1-bitne pogreške, EDAC kontroler ispravlja pogrešku, ažurira odgovarajuće statusne registre i daje podatke zapisane u koraku 2 u operaciji čitanja izvršenoj u koraku 8.
  10. U slučaju 2-bitne pogreške, generira se odgovarajući prekid i aplikacija mora ispraviti podatke ili poduzeti odgovarajuću akciju u rukovatelju prekidima. Ove dvije metode prikazane su u ovoj demonstraciji.

U ovoj demonstraciji implementirana su dva testa: test petlje i ručni test i primjenjivi su i na 1-bitne i na 2-bitne pogreške.

Test petlje
Test petlje se izvršava kada uređaji SmartFusion2 prime naredbu za testiranje petlje iz GUI-ja. U početku, svi brojači grešaka i EDAC povezani registri se stavljaju u stanje RESET.
Sljedeći koraci se izvode za svaku iteraciju.

  1. Omogućite EDAC kontroler
  2. Zapišite podatke na određenu DDR memorijsku lokaciju
  3. Onemogućite EDAC kontroler
  4. Zapišite 1-bitne ili 2-bitne podatke izazvane pogreškom na istu DDR memorijsku lokaciju
  5. Omogućite EDAC kontroler
  6. Pročitajte podatke s iste DDR memorijske lokacije
  7. Pošalji 1-bitnu ili 2-bitnu detekciju pogreške i podatke o 1-bitnoj ispravci pogreške u slučaju 1-bitne pogreške u GUI

Manualni test
Ova metoda omogućuje ručno testiranje 1-bitnog otkrivanja pogreške i ispravljanja te 2-bitnog otkrivanja pogreške za DDR memorijsku adresu (0xA0000000 do 0xDFFFFFFF) s inicijalizacijom. 1-bitna/2-bitna pogreška uvodi se ručno na odabranu DDR memorijsku adresu. Dani podaci zapisuju se na odabranu DDR memorijsku lokaciju s uključenim EDAC-om. Oštećeni 1-bitni ili 2-bitni podaci o pogrešci zatim se zapisuju na istu memorijsku lokaciju s onemogućenim EDAC-om. Informacije o otkrivenoj 1-bitnoj ili 2-bitnoj pogrešci bilježe se kada se podaci čitaju s iste memorijske lokacije s omogućenim EDAC-om. DMA kontroler visokih performansi
(HPDMA) služi za čitanje podataka iz DDR memorije. Rukovatelj prekida za otkrivanje dvobitne pogreške implementiran je da poduzme odgovarajuće radnje kada se otkrije 2-bitna pogreška.
Sljedeća ilustracija opisuje EDAC demo operacije.

Slika 3 • Tijek dizajna

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-3

Bilješka: Za 2-bitnu pogrešku, kada Cortex-M3 procesor čita podatke, izvršenje koda ide u hard fault handler, budući da primljeni prekid kasni da procesor odgovori. Do trenutka kada odgovori na prekid, možda je već proslijedio podatke i slučajno pokrenuo naredbu. Zbog toga HRESP prestaje obrađivati ​​netočne podatke. 2-bitno otkrivanje pogreške koristi HPDMA za čitanje podataka s lokacije DDR adrese, što upućuje procesor da očitani podaci imaju 2-bitnu pogrešku i sustav treba poduzeti odgovarajuće radnje za oporavak (ECC rukovatelj prekidom).

Postavljanje demo dizajna
Ovaj odjeljak opisuje postavku ploče SmartFusion2 Advanced Development Kit, mogućnosti GUI-ja i kako izvršiti demo dizajn.
Sljedeći koraci opisuju kako postaviti demo:

  1. Spojite jedan kraj USB mini-B kabela na J33 konektor koji se nalazi na SmartFusion2 Advanced Development Kit ploči. Spojite drugi kraj USB kabela na glavno računalo. Svjetleća dioda (LED) DS27 mora svijetliti, pokazujući da je UART veza uspostavljena. Osigurajte da se upravljački programi mosta USB na UART automatski detektiraju (može se provjeriti u Upravitelju uređaja), kao što je prikazano na sljedećoj slici.
    Slika 4 • Upravljački programi mosta USB na UART
    Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-4
    Ako upravljački programi za USB na UART most nisu instalirani, preuzmite i instalirajte upravljačke programe s: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Spojite kratkospojnike na SmartFusion2 Advanced Development Kit ploči, kao što je prikazano u tablici 4, stranica 11. Prekidač napajanja SW7 mora biti isključen dok spajate kratkospojnike.

Slika 5 • SmartFusion2 Advanced Development Kit Postavljanje ploče

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-5

 Grafičko korisničko sučelje
Ovaj odjeljak opisuje DDR – EDAC Demo GUI.

Slika 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-6

GUI podržava sljedeće značajke:

  1. Odabir COM porta i brzine prijenosa podataka
  2. Odabir 1-bitne kartice za ispravljanje pogrešaka ili 2-bitne detekcije pogrešaka
  3. Polje adrese za pisanje ili čitanje podataka na ili s navedene DDR adrese
  4. Podatkovno polje za pisanje ili čitanje podataka na ili s navedene DDR adrese
  5. Sekcija serijske konzole za ispis informacija o statusu primljenih od aplikacije
  6. Enable EDAC/Disable EDAC: Omogućuje ili onemogućuje EDAC
  7. Pisanje: Omogućuje pisanje podataka na navedenu adresu
  8.  Čitaj: Omogućuje čitanje podataka s navedene adrese
  9. Loop test ON/OFF: Omogućuje testiranje EDAC mehanizma metodom petlje
  10.  Inicijaliziraj: Omogućuje inicijaliziranje unaprijed definirane memorijske lokacije (u ovoj demonstraciji A0000000-A000CFFF)

Pokretanje demo dizajna
Sljedeći koraci opisuju kako pokrenuti dizajn:Sljedeći koraci opisuju kako pokrenuti dizajn:

  1. Uključite prekidač napajanja, SW7.
  2. Programirajte uređaj SmarFusion2 pomoću programiranja file predviđen u dizajnu files. (\ProgramiranjeFile\EDAC_DDR3.stp) pomoću softvera za dizajn FlashPro, kao što je prikazano na sljedećoj slici.
    Slika 7 • FlashPro prozor za programiranje
    Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-7
  3. Pritisnite prekidač SW6 za resetiranje ploče nakon uspješnog programiranja.
  4. Pokrenite izvršnu datoteku EDAC_DDR Demo GUI file dostupan u dizajnu files (\GUI Executable\ EDAC_DDR.exe). Prikazuje se GUI prozor, kao što je prikazano na slici 8, stranica 9.
  5. Pritisnite Connect, odabire COM port i uspostavlja vezu. Opcija Connect mijenja se u Disconnect.
  6. Odaberite karticu 1-bit Error Correction ili 2-bit Error Detection.
  7. Mogu se provesti ručni testovi i testovi petlje.
  8. Kliknite Initialize za inicijaliziranje DDR memorije za izvođenje ručnih testova i testova petlje, poruka o završetku inicijalizacije prikazuje se na serijskoj konzoli, kao što je prikazano na slici 8, stranica 9.

Slika 8 • Prozor završene inicijalizacije

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-8

Izvođenje testa petlje
Pritisnite Test petlje UKLJUČENO. Pokreće se u načinu rada petlje gdje se vrši kontinuirano ispravljanje i otkrivanje pogrešaka. Sve radnje koje se izvode na uređaju SmartFusion2 bilježe se u odjeljku serijske konzole GUI-ja.

Tablica 2 • DDR3 memorijske adrese korištene u testu petlje

  • Memorija DDR3
  • 1-bitno ispravljanje pogreške 0xA0008000
  • 2-bitno otkrivanje pogreške 0xA000C000

Izvođenje ručnog testa
U ovoj metodi, pogreške se unose ručno pomoću GUI-ja. Upotrijebite sljedeće korake za izvođenje 1-bitnog ispravljanja pogreške ili 2-bitnog otkrivanja pogreške.

Tablica 3 • DDR3 memorijske adrese korištene u ručnom testiranju

Polja za unos adrese i podataka (koristite 32-bitne heksadecimalne vrijednosti).

  • Memorija DDR3
  • 1-bitno ispravljanje pogreške 0xA0000000-0xA0004000
  • 2-bitno otkrivanje pogreške 0xA0004000-0xA0008000
  1. Kliknite Omogući EDAC.
  2. Pritisnite Napiši.
  3. Pritisnite Onemogući EDAC.
  4. Promijenite jedan bit (u slučaju 1-bitne ispravke pogreške) ili dva bita (u slučaju 2-bitne detekcije pogreške) u polju podataka (uvođenje pogreške).
  5. Pritisnite Napiši.
  6. Kliknite Omogući EDAC.
  7. Pritisnite Čitaj.
  8. Promatrajte polje za prikaz broja pogrešaka i podatke u GUI-ju. Vrijednost broja grešaka povećava se za 1.

Prozor ispravljanja 1-bitne petlje pogreške prikazan je na sljedećoj slici.

Slika 9 • 1-bitni prozor za otkrivanje petlje pogreške

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-9

2-bitni prozor za ručno otkrivanje pogrešaka prikazan je na sljedećoj slici.

Slika 10 • 2-bitni prozor za ručno otkrivanje pogrešaka

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-10

Zaključak
Ovaj demo pokazuje mogućnosti SmartFusion2 SECDED za MDDR podsustav.

Dodatak: Postavke kratkospojnika

Sljedeća tablica prikazuje sve potrebne kratkospojnike za postavljanje na SmartFusion2 Advanced Development Kit.

Tablica 4 • SmartFusion2 Advanced Development Kit postavke premosnika

Skakač : Pribadača (Od) : Pribadača (Do) : Komentari

  • J116, J353, J354, J54 1 2 Ovo su zadane postavke kratkospojnika naprednog
  • J123 2 3 razvojna ploča. Provjerite jesu li ovi kratkospojnici postavljeni na odgovarajući način.
  • J124, J121, J32 1 2 JTAG programiranje preko FTDI

DG0618 Demo Guide Revizija 4.0

Dokumenti / Resursi

Otkrivanje i ispravljanje pogrešaka Microsemi DG0618 na SmartFusion2 uređajima koji koriste DDR memoriju [pdf] Korisnički priručnik
DG0618 Otkrivanje i ispravljanje pogrešaka na SmartFusion2 uređajima koji koriste DDR memoriju, DG0618, Otkrivanje i ispravljanje pogrešaka na SmartFusion2 uređajima koji koriste DDR memoriju, SmartFusion2 uređajima koji koriste DDR memoriju, DDR memoriju

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *