Microsemi -LOGO

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

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-uređaji-koji koriste-DDR memoriju-PROIZVOD-IMAGE

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

Microsemi ne daje nikakvu garanciju, zastupanje ili garanciju u vezi sa informacijama sadržanim u ovom dokumentu ili prikladnosti svojih proizvoda i usluga za bilo koju određenu svrhu, niti Microsemi preuzima bilo kakvu odgovornost koja proizilazi iz primene ili upotrebe bilo kog proizvoda ili kola. Proizvodi koji se prodaju u nastavku i svi drugi proizvodi koje prodaje Microsemi bili su podvrgnuti ograničenom testiranju i ne bi se trebali koristiti zajedno sa opremom ili aplikacijama kritičnim za misiju. Vjeruje se da su sve specifikacije performansi pouzdane, ali nisu provjerene, a Kupac mora provesti i završiti sva ispitivanja performansi i druga testiranja proizvoda, sami i zajedno sa, ili ugrađeni u bilo koji krajnji proizvod. Kupac se neće oslanjati ni na kakve podatke i specifikacije performansi ili parametre koje pruža Microsemi. Odgovornost Kupca je da samostalno utvrdi prikladnost bilo kojeg proizvoda te da istu testira i provjeri. Informacije koje Microsemi pruža u nastavku su date „kao što jesu, gdje je“ i sa svim greškama, a cijeli rizik povezan s takvim informacijama je u potpunosti na Kupcu. Microsemi ne dodeljuje, eksplicitno ili implicitno, nijednoj strani bilo kakva patentna prava, licence ili bilo koja druga prava intelektualne svojine, bilo u pogledu samih takvih informacija ili bilo čega što je opisano u takvim informacijama. Informacije navedene u ovom dokumentu su vlasništvo Microsemi-ja, a Microsemi zadržava pravo da izvrši bilo kakve izmjene informacija u ovom dokumentu ili bilo kojeg proizvoda i usluga u bilo koje vrijeme bez prethodne najave.

O Microsemi
Microsemi Corporation (Nasdaq: MSCC) nudi sveobuhvatan portfelj poluvodičkih i sistemskih rješenja za aeronauku i odbranu, komunikacije, centre podataka i industrijska tržišta. Proizvodi uključuju visoke performanse i radijacijom ojačana analogna integrirana kola mješovitog signala, FPGA, SoC i ASIC; proizvodi za upravljanje napajanjem; uređaji za merenje vremena i sinhronizacije i precizna vremenska rešenja, postavljajući svetske standarde za vreme; Uređaji za obradu glasa; RF rješenja; diskretne komponente; korporativna rješenja za pohranu i komunikaciju, sigurnosne tehnologije i skalabilni anti-tamper products; Ethernet rješenja; Power-over-Ethernet IC-ovi i srednji rasponi; kao i mogućnosti i usluge prilagođenog dizajna. Microsemi ima sjedište u Aliso Viejo, Kalifornija, i ima oko 4,800 zaposlenih širom svijeta. Saznajte više na www.microsemi.com.

Istorija revizija

Historija revizija opisuje promjene koje su implementirane u dokument. Promjene su navedene po reviziji, počevši od najnovije publikacije.

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

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

Uvod
U okruženju podložnom jednom događaju (SEU), memorija sa slučajnim pristupom (RAM) je sklona prolaznim greškama uzrokovanim teškim jonima.
Ovaj dokument opisuje EDAC mogućnosti SoC FPGA, koje se koriste u aplikacijama sa memorijama povezanim preko podsistema mikrokontrolera (MSS) DDR (MDDR).
EDAC kontroleri implementirani u SmartFusion2 uređaje podržavaju jednostruku korekciju greške i detekciju dvostruke greške (SECDED). Sve memorije—poboljšana statička memorija sa slučajnim pristupom (eSRAM), DDR, DDR niske potrošnje (LPDDR)—unutar SmartFusion2 MSS uređaja zaštićene su SECDED-om. DDR sinhrona dinamička memorija slučajnog pristupa (SDRAM) može biti DDR2, DDR3 ili LPDDR1, ovisno o MDDR konfiguraciji i hardverskim ECC mogućnostima.
SmartFusion2 MDDR podsistem podržava gustine 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 bitova 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 greške i 2-bitnu detekciju greške

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

Slika 1 • Blok dijagram najvišeg nivoa

Funkcija EDAC DDR-a podržava sljedeće:

  1.  SECDED mehanizam
  2. Pruža prekide ARM Cortex-M3 procesoru i FPGA tkanini nakon otkrivanja 1-bitne ili 2-bitne greške
  3. Pohranjuje broj 1-bitnih i 2-bitnih grešaka u registrima brojača grešaka
  4. Pohranjuje adresu posljednje memorijske lokacije na koju je utjecala greška od 1 ili 2 bita
  5. Pohranjuje 1-bitne ili 2-bitne podatke o grešci u SECDED registrima
  6. daje signale sabirnice greške FPGA tkanini

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 DDR interfejs za velike brzine.

Zahtjevi za dizajn
Sljedeća tabela navodi zahtjeve dizajna.

Tabela 1 • Zahtjevi za dizajn

  • Opis zahtjeva za dizajn
  • Hardverski zahtjevi
  • SmartFusion2 Advanced Development Kit ploča Rev B ili novija
  • FlashPro5 programator ili noviji
  • USB A na mini-B USB kabl
  • Adapter za napajanje 12 V
  • DDR3 kćerka ploča
  • Operativni sistem Bilo koji 64-bitni ili 32-bitni Windows XP SP2
  • Bilo koji 64-bitni ili 32-bitni Windows 7
  • Softverski zahtjevi
  • Libero® sistem-na-čipu (SoC) v11.8
  • SoftConsole v4.0
  • FlashPro softver za programiranje v11.8
  • Drajveri za host računara USB na UART drajveri
  • Framework za pokretanje demonstracionog Microsoft .NET Framework 4 klijenta

Demo dizajn
Demo dizajn files su dostupni 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šni
  • Readme file

Sljedeća ilustracija opisuje strukturu najvišeg nivoa dizajna files. Za više detalja pogledajte readme.txt file.

Slika 2 • Demo dizajn struktura najvišeg nivoa

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-2

Implementacija demo dizajna
MDDR podsistem ima namjenski EDAC kontroler. EDAC detektuje 1-bitnu ili 2-bitnu grešku kada se podaci čitaju iz memorije. Ako EDAC otkrije 1-bitnu grešku, EDAC kontroler ispravlja bit greške. Ako je EDAC omogućen za sve 1-bitne i 2-bitne greške, odgovarajući brojači grešaka u sistemskim registrima se povećavaju i generišu se odgovarajući prekidi i signali sabirnice greške u FPGA tvorevini.
Ovo se dešava u realnom vremenu. Da bi se demonstrirala ova SECDED karakteristika, greška se unosi ručno i posmatra otkrivanje i ispravljanje.
Ovaj demo dizajn uključuje implementaciju sljedećih koraka:

  1. Omogući EDAC
  2. Upišite podatke u DDR
  3. Čitanje podataka iz DDR-a
  4. Onemogućite EDAC
  5. Oštećen 1 ili 2 bita
  6. Upišite podatke u DDR
  7. Omogući EDAC
  8. Pročitajte podatke
  9. U slučaju 1-bitne greške, EDAC kontroler ispravlja grešku, ažurira odgovarajuće statusne registre i daje podatke upisane u koraku 2 u operaciji čitanja urađenoj u koraku 8.
  10. U slučaju 2-bitne greške, generira se odgovarajući prekid i aplikacija mora ispraviti podatke ili poduzeti odgovarajuću akciju u rukovatelju prekida. Ove dvije metode su demonstrirane u ovom demo-u.

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

Loop Test
Test petlje se izvršava kada SmartFusion2 uređaji dobiju naredbu za testiranje petlje od GUI. U početku, svi brojači grešaka i registri koji se odnose na EDAC stavljaju se u RESET stanje.
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 greškom na istu DDR memorijsku lokaciju
  5. Omogućite EDAC kontroler
  6. Pročitajte podatke sa iste DDR memorijske lokacije
  7. Pošaljite 1-bitnu ili 2-bitnu detekciju greške i 1-bitnu ispravku grešaka u slučaju 1-bitne greške u GUI

Ručni test
Ova metoda omogućava ručno testiranje 1-bitne detekcije i ispravljanja greške i 2-bitne detekcije greške za DDR memorijsku adresu (0xA0000000 do 0xDFFFFFFF) sa inicijalizacijom. 1-bit/2-bitna greška se unosi ručno na odabranu DDR memorijsku adresu. Dati podaci se upisuju na odabranu DDR memorijsku lokaciju uz uključen EDAC. Oštećeni 1-bitni ili 2-bitni podaci o grešci se zatim upisuju na istu memorijsku lokaciju sa onemogućenim EDAC-om. Informacije o otkrivenoj 1-bitnoj ili 2-bitnoj grešci bilježe se kada se podaci čitaju s iste memorijske lokacije s uključenim EDAC-om. DMA kontroler visokih performansi
(HPDMA) se koristi za čitanje podataka iz DDR memorije. Rukovalac prekida za otkrivanje dvobitne greške implementiran je da preduzme odgovarajuću akciju kada se otkrije 2-bitna greška.
Sljedeća ilustracija opisuje EDAC demo operacije.

Slika 3 • Tok dizajna

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-3

Napomena: Za 2-bitnu grešku, kada Cortex-M3 procesor čita podatke, izvršenje koda ide u rukovalac tvrdim greškama, pošto primljeni prekid kasni da procesor odgovori. U trenutku kada odgovori na prekid, možda je već proslijedio podatke i slučajno pokrenuo komandu. Kao rezultat toga, HRESP prestaje da obrađuje netačne podatke. Otkrivanje 2-bitne greške koristi HPDMA za čitanje podataka sa lokacije DDR adrese, što daje instrukcije procesoru da pročitani podaci imaju 2-bitnu grešku i da sistem treba da preduzme odgovarajuću akciju za oporavak (ECC rukovalac prekida).

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

  1. Povežite jedan kraj USB mini-B kabla na J33 konektor koji se nalazi na ploči SmartFusion2 Advanced Development Kit. Povežite drugi kraj USB kabla na glavni računar. Svetleća dioda (LED) DS27 mora upaliti, što ukazuje da je UART veza uspostavljena. Uvjerite se da su upravljački programi za USB na UART most automatski otkriveni (može se provjeriti u upravitelju uređaja), kao što je prikazano na sljedećoj slici.
    Slika 4 • USB na UART Bridge Driveri
    Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-4
    Ako upravljački programi za USB na UART most nisu instalirani, preuzmite i instalirajte drajvere sa: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Povežite kratkospojnike na ploči SmartFusion2 Advanced Development Kita, kao što je prikazano u Tabeli 4, stranica 11. Prekidač napajanja SW7 mora biti isključen dok se spajaju džamperi.

Slika 5 • SmartFusion2 Advanced Development Kit Setup Board

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-5

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

Slika 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-6

GUI podržava sljedeće karakteristike:

  1. Odabir COM porta i Baud Rate
  2. Odabir kartice za ispravljanje 1-bitne greške ili 2-bitne detekcije greške
  3. Polje adrese za pisanje ili čitanje podataka na ili sa određene DDR adrese
  4. Polje podataka za pisanje ili čitanje podataka na ili sa određene DDR adrese
  5. Odjeljak serijske konzole za štampanje informacija o statusu primljenih od aplikacije
  6. Omogući EDAC/Onemogući EDAC: Omogućuje ili onemogućuje EDAC
  7. Write: Omogućava pisanje podataka na navedenu adresu
  8.  Čitanje: Omogućava čitanje podataka sa navedene adrese
  9. Test petlje ON/OFF: Omogućava testiranje EDAC mehanizma metodom petlje
  10.  Inicijaliziraj: Omogućuje inicijalizaciju 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 SmarFusion2 uređaj sa programiranjem file predviđeno u dizajnu files.(\ProgramiranjeFile\EDAC_DDR3.stp) koristeći FlashPro softver za dizajn, kao što je prikazano na sljedećoj slici.
    Slika 7 • FlashPro prozor za programiranje
    Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-7
  3. Pritisnite prekidač SW6 da resetujete ploču nakon uspešnog programiranja.
  4. Pokrenite EDAC_DDR Demo GUI izvršnu datoteku file dostupno u dizajnu files (\GUI Executable\ EDAC_DDR.exe). Prikazuje se GUI prozor, kao što je prikazano na slici 8, stranica 9.
  5. Kliknite na Connect, odabire COM port i uspostavlja vezu. Opcija za povezivanje se mijenja u Disconnect.
  6. Odaberite karticu 1-bit Error Correction ili 2-bit Error Detection.
  7. Ručni testovi i testovi petlje se mogu izvesti.
  8. Kliknite na Inicijaliziraj da inicijalizirate DDR memoriju za izvođenje ručnih testova i testova petlje, poruka o završetku inicijalizacije se prikazuje na serijskoj konzoli, kao što je prikazano na slici 8, stranica 9.

Slika 8 • Prozor inicijalizacije je završen

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-8

Izvođenje testa petlje
Kliknite na UKLJUČENO Testiranje petlje. Radi u režimu petlje gdje se vrši kontinuirana korekcija i otkrivanje grešaka. Sve radnje izvršene na SmartFusion2 uređaju se evidentiraju u sekciji Serial Console GUI.

Tabela 2 • DDR3 memorijske adrese koje se koriste u testu petlje

  • Memorija DDR3
  • 1-bitna ispravka greške 0xA0008000
  • 2-bitna detekcija greške 0xA000C000

Izvođenje ručnog testa
U ovoj metodi, greške se unose ručno koristeći GUI. Koristite sljedeće korake da izvršite 1-bitnu korekciju greške ili 2-bitnu detekciju greške.

Tabela 3 • DDR3 memorijske adrese koje se koriste u ručnom testiranju

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

  • Memorija DDR3
  • 1-bitna ispravka greške 0xA0000000-0xA0004000
  • 2-bitna detekcija greške 0xA0004000-0xA0008000
  1. Kliknite Omogući EDAC.
  2. Kliknite Write.
  3. Kliknite Onemogući EDAC.
  4. Promenite jedan bit (u slučaju 1-bitne ispravke greške) ili dva bita (u slučaju detekcije 2-bitne greške) u polju Podaci (unos greške).
  5. Kliknite Write.
  6. Kliknite Omogući EDAC.
  7. Kliknite na Read.
  8. Posmatrajte prikaz broja grešaka i polje podataka u GUI. Vrijednost broja grešaka se povećava za 1.

1-bitni prozor za korekciju petlje greške je prikazan na sljedećoj slici.

Slika 9 • 1-bitni prozor za detekciju petlje greške

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-9

2-bitni priručnik za otkrivanje grešaka prikazan je na sljedećoj slici.

Slika 10 • Ručni prozor za otkrivanje 2-bitnih grešaka

Microsemi -DG0618-Otkrivanje-i-ispravka-greške-na-SmartFusion2-Uređaji-koji koriste-DDR memoriju-10

Zaključak
Ovaj demo prikazuje SmartFusion2 SECDED mogućnosti za MDDR podsistem.

Dodatak: Postavke kratkospojnika

Sljedeća tabela prikazuje sve potrebne kratkospojnike za postavljanje na SmartFusion2 napredni razvojni komplet.

Tabela 4 • Postavke kratkospojnika SmartFusion2 kompleta za napredni razvoj

Jumper : Pin (Od) : Pin (Do) : Komentari

  • J116, J353, J354, J54 1 2 Ovo su zadane postavke kratkospojnika naprednog
  • J123 2 3 Development Kit ploča. Uvjerite se da su ovi kratkospojnici postavljeni na odgovarajući način.
  • J124, J121, J32 1 2 JTAG programiranje preko FTDI

DG0618 Demo vodič Revizija 4.0

Dokumenti / Resursi

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

Reference

Ostavite komentar

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