MICROCHIP klaidų aptikimas ir taisymas RTG4 LSRAM atmintyje
Revizijos istorija
Taisymų istorija aprašo pakeitimus, kurie buvo įgyvendinti dokumente. Pakeitimai pateikiami pagal peržiūrą, pradedant naujausiu leidiniu.
4.0 peržiūra
Toliau pateikiama šioje peržiūroje atliktų pakeitimų santrauka.
- Atnaujintas Libero SoC v2021.2 dokumentas.
- Pridėtas 1 priedas: Įrenginio programavimas naudojant FlashPro Express, 14 psl.
- Pridėtas 2 priedas: TCL scenarijaus vykdymas, 16 psl.
- Pašalintos nuorodos į Libero versijų numerius.
3.0 peržiūra
Atnaujintas Libero v11.9 SP1 programinės įrangos leidimo dokumentas.
2.0 peržiūra
Atnaujintas Libero v11.8 SP2 programinės įrangos leidimo dokumentas.
1.0 peržiūra
Pirmoji šio dokumento publikacija.
Klaidų aptikimas ir taisymas RTG4 LSRAM atmintyje
Šiame pamatiniame projekte aprašomos RTG4™ FPGA LSRAM atmintinės klaidų aptikimo ir taisymo (EDAC) galimybės. Vieno įvykio sutrikimams (SEU) jautrioje aplinkoje RAM yra linkusi į trumpalaikes klaidas, kurias sukelia sunkieji jonai. Šias klaidas galima aptikti ir ištaisyti naudojant klaidų taisymo kodus (ECC). RTG4 FPGA RAM blokuose yra įmontuoti EDAC valdikliai, skirti generuoti klaidų taisymo kodus, kad būtų ištaisyta 1 bito klaida arba aptikta 2 bitų klaida.
Jei aptinkama 1 bito klaida, EDAC valdiklis ištaiso klaidos bitą ir nustato klaidų taisymo vėliavėlę (SB_CORRECT) į aktyvią aukštą. Jei aptinkama 2 bitų klaida, EDAC valdiklis nustato klaidos aptikimo vėliavėlę (DB_DETECT) į aktyvią aukštą.
Norėdami gauti daugiau informacijos apie RTG4 LSRAM EDAC funkcijas, žr. UG0574: RTG4 FPGA Fabric
Vartotojo vadovas.
Šiame pamatiniame projekte 1 bito klaida arba 2 bitų klaida įvedama per „SmartDebug“ GUI. EDAC stebimas naudojant grafinę vartotojo sąsają (GUI), naudojant UART sąsają, kad pasiektų LSRAM duomenims skaityti/rašyti, Libero® System-on-Chip (SoC) SmartDebug (JTAG) naudojamas klaidoms įterpti į LSRAM atmintį.
Dizaino reikalavimai
1 lentelėje pateikiami RTG4 LSRAM EDAC demonstracinės versijos paleidimo etaloniniai projektavimo reikalavimai.
1 lentelė • Projektavimo reikalavimai
Programinė įranga
- Libero SoC
- FlashPro Express
- SmartDebug
- Pagrindinio kompiuterio tvarkyklės USB į UART tvarkyklės
Pastaba: Šiame vadove pateiktos Libero SmartDesign ir konfigūracijos ekrano nuotraukos yra tik iliustracijos.
Atidarykite Libero dizainą, kad pamatytumėte naujausius atnaujinimus.
Būtinos sąlygos
Prieš pradėdami:
Atsisiųskite ir įdiekite Libero SoC (kaip nurodyta webšio dizaino svetainė) pagrindiniame kompiuteryje iš šios vietos: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Demo dizainas
Atsisiųskite demonstracinį dizainą files iš Microsemi websvetainė adresu: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
Demo dizainas files apima:
- Libero SoC projektas
- GUI montuotojas
- Programavimas files
- Readme.txt file
- TCL_Scripts
GUI programa pagrindiniame kompiuteryje išduoda komandas RTG4 įrenginiui per USB-UART sąsają. Ši UART sąsaja sukurta naudojant CoreUART, kuri yra loginis IP iš Libero SoC IP katalogo. RTG4 audinyje esantis CoreUART IP priima komandas ir perduoda jas komandų dekoderio logikai. Komandų dekoderio logika iššifruoja skaitymo arba rašymo komandą, kuri vykdoma naudojant atminties sąsajos logiką.
Atminties sąsajos blokas naudojamas skaityti / įrašyti ir stebėti LSRAM klaidų vėliavėles. Integruotasis EDAC ištaiso 1 bito klaidą skaitydamas iš LSRAM ir pateikia pataisytus duomenis į vartotojo sąsają, bet neparašo ištaisytų duomenų atgal į LSRAM. Integruotame LSRAM EDAC neįdiegta šveitimo funkcija. Demonstracinėje konstrukcijoje įdiegta šveitimo logika, kuri stebi 1 bito taisymo vėliavėlę ir atnaujina LSRAM pakoreguotais duomenimis, jei įvyksta vieno bito klaida.
„SmartDebug“ GUI naudojama 1 bitų arba 2 bitų klaidoms įterpti į LSRAM duomenis.
1 paveiksle parodyta RTG4 LSRAM EDAC demonstracinės konstrukcijos aukščiausio lygio blokinė schema.
1 pav. • Aukščiausio lygio blokinė diagrama
Toliau pateikiamos demonstracinės dizaino konfigūracijos:
- LSRAM yra sukonfigūruotas ×18 režimui, o EDAC įjungiamas prijungus LSRAM ECC_EN signalą prie aukšto.
Pastaba: LSRAM EDAC palaiko tik ×18 ir ×36 režimus. - „CoreUART“ IP sukonfigūruotas palaikyti ryšį su pagrindinio kompiuterio programa 115200 XNUMX bodų sparta.
- RTG4FCCCECALIB_C0 sukonfigūruotas taip, kad „CoreUART“ ir kitos audinės logikos laikrodis būtų 80 MHz.
Savybės
Toliau pateikiamos demonstracinės dizaino funkcijos:
- Skaitykite ir rašykite į LSRAM
- Įveskite 1 bitų ir 2 bitų klaidas naudodami „SmartDebug“.
- Rodyti 1 bitų ir 2 bitų klaidų skaičiaus reikšmes
- Klaidų skaičiaus verčių išvalymo nuostata
- Įjunkite arba išjunkite atminties valymo logiką
Aprašymas
Šis demonstracinis dizainas apima šių užduočių įgyvendinimą:
- LSRAM inicijavimas ir prieiga prie jos
Atminties sąsajos logika, įdiegta audinio logikoje, gauna inicijavimo komandą iš GUI ir inicijuoja pirmąsias 256 LSRAM atminties vietas su prieauginiais duomenimis. Jis taip pat atlieka skaitymo ir rašymo operacijas į 256 LSRAM atminties vietas, gaudamas adresą ir duomenis iš GUI. Skaitymo operacijai dizainas paima duomenis iš LSRAM ir pateikia juos GUI, kad būtų rodomas. Tikimasi, kad dizainas nesukels klaidų prieš naudojant „SmartDebug“.
Pastaba: Neinicializuotose atminties vietose gali būti atsitiktinių reikšmių, o „SmartDebug“ tose vietose gali rodyti vieno arba dviejų bitų klaidas.
- 1 arba 2 bitų klaidų įvedimas
SmartDebug GUI naudojama 1 bitų arba 2 bitų klaidoms įterpti į nurodytą LSRAM atminties vietą. Šios operacijos atliekamos naudojant „SmartDebug“, kad į LSRAM įterptų 1 bitų ir 2 bitų klaidas:- Atidarykite SmartDebug GUI, spustelėkite Debug FPGA Array.
- Eikite į skirtuką Atminties blokai, pasirinkite atminties egzempliorių ir dešiniuoju pelės mygtuku spustelėkite Pridėti.
- Norėdami perskaityti atminties bloką, spustelėkite Skaityti bloką.
- Įveskite vieno bito arba dviejų bitų klaidą į bet kurią tam tikro gylio LSRAM vietą.
- Norėdami rašyti į pakeistą vietą, spustelėkite Rašymo blokas.
Atliekant LSRAM skaitymo ir rašymo operaciją per SmartDebug (JTAG) sąsają, EDAC valdiklis yra apeinamas ir neskaičiuoja ECC bitų įrašymo operacijai e veiksme.
- Klaida skaičiuojant
8 bitų skaitikliai naudojami klaidų skaičiui pateikti ir yra suprojektuoti į audinio logiką, kad būtų galima skaičiuoti 1 bitų arba 2 bitų klaidas. Komandų dekoderio logika pateikia skaičiavimo reikšmes GUI, kai gaunamos komandos iš GUI.
Laikrodžio struktūra
Šiame demonstraciniame projekte yra vienas laikrodžio domenas. Vidinis 50 MHz generatorius valdo RTG4FCCC, kuris toliau valdo RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 generuoja 80 MHz laikrodį, kuris suteikia laikrodžio šaltinį COREUART, cmd_decoder, TPSRAM_ECC ir RAM_RW moduliams.
Toliau pateiktame paveikslėlyje parodyta demonstracinės konstrukcijos laikrodžio struktūra.
2 pav. • Laikrodžio struktūra
Iš naujo nustatyti struktūrą
Šiame demonstraciniame projekte COREUART, cmd_decoder ir RAM_RW modulių atstatymo signalas teikiamas per LOCK prievadą RTG4FCCCECALIB_C0. Toliau pateiktame paveikslėlyje parodyta demonstracinės konstrukcijos iš naujo nustatymo struktūra.
3 pav. • Atstatyti struktūrą
Demonstracinio dizaino nustatymas
Tolesniuose skyriuose aprašoma, kaip nustatyti RTG4 kūrimo rinkinį ir GUI demonstraciniam dizainui vykdyti.
Džemperio nustatymai
- Prijunkite RTG4 kūrimo rinkinio trumpiklius, kaip parodyta 2 lentelėje.
2 lentelė • Jungiklio nustatymaiDžemperis Prisegti (nuo) Prisegti (kam) Komentarai J11, J17, J19, J21, J23, J26, J27, J28 1 2 Numatytoji J16 2 3 Numatytoji J32 1 2 Numatytoji J33 1 3 Numatytoji 2 4 Pastaba: Prijungdami trumpiklius, išjunkite maitinimo jungiklį SW6.
- Prijunkite USB kabelį (mini USB prie A tipo USB kabelio) prie RTG47 kūrimo rinkinio J4, o kitą kabelio galą prijunkite prie pagrindinio kompiuterio USB prievado.
- Užtikrinkite, kad USB į UART tilto tvarkyklės būtų aptiktos automatiškai. Tai galima patikrinti pagrindinio kompiuterio įrenginių tvarkytuvėje.
4 paveiksle parodytos USB 2.0 nuosekliojo prievado savybės ir prijungtas COM31 bei USB nuoseklusis keitiklis C.
4 pav. • USB į UART tilto tvarkyklės
Pastaba: Jei USB į UART tilto tvarkyklės neįdiegtos, atsisiųskite ir įdiekite tvarkykles iš www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
5 paveiksle parodyta plokštės sąranka, skirta paleisti EDAC demonstracinę versiją RTG4 kūrimo rinkinyje.
Demonstracinio dizaino programavimas
- Paleiskite Libero SOC programinę įrangą.
- Norėdami užprogramuoti RTG4 kūrimo rinkinį su užduotimi file pateikta kaip dizaino dalis files naudojant FlashPro Express programinę įrangą, žr. 1 priedą: Įrenginio programavimas naudojant FlashPro Express, 14 psl.
Pastaba: Kai programavimas bus atliktas su darbu file naudodami FlashPro Express programinę įrangą, pereikite prie EDAC Demo GUI, 9 psl. Kitu atveju pereikite prie kito veiksmo. - Libero dizaino eigoje spustelėkite Vykdyti programos veiksmą.
- Kai programavimas baigtas, priešais „Vykdyti programos veiksmą“ pasirodo žalia varnelė, nurodanti sėkmingą demonstracinės versijos programavimą.
EDAC demonstracinė GUI
EDAC demonstracinė versija pateikiama su patogia grafine sąsaja, kaip parodyta 7 paveiksle, kuri veikia pagrindiniame kompiuteryje, kuris palaiko ryšį su RTG4 kūrimo rinkiniu. UART naudojamas kaip pagrindinis ryšio protokolas tarp pagrindinio kompiuterio ir RTG4 plėtros rinkinio.
GUI yra šie skyriai:
- COM prievado pasirinkimas, kad būtų sukurtas UART ryšys su RTG4 FPGA su 115200 XNUMX bodų sparta.
- LSRAM atminties rašymas: įrašyti 8 bitų duomenis į nurodytą LSRAM atminties adresą.
- Atminties šveitimas: įjungti arba išjungti šveitimo logiką.
- LSRAM atminties skaitymas: nuskaityti 8 bitų duomenis iš nurodyto LSRAM atminties adreso.
- Klaidų skaičius: rodo klaidų skaičių ir suteikia galimybę išvalyti skaitiklio reikšmę iki nulio.
- 1 bito klaidų skaičius: rodo 1 bito klaidų skaičių ir suteikia galimybę išvalyti skaitiklio reikšmę iki nulio.
- 2 bitų klaidų skaičius: rodo 2 bitų klaidų skaičių ir suteikia galimybę išvalyti skaitiklio reikšmę iki nulio.
- Žurnalo duomenys: pateikia kiekvienos operacijos, atliekamos naudojant GUI, būsenos informaciją.
Demo paleidimas
Šie veiksmai aprašo, kaip paleisti demonstracinę versiją:
- Eiti į \v1.2.2\v1.2.2\Exe ir dukart spustelėkite EDAC_GUI.exe, kaip parodyta 8 paveiksle.
- Sąraše pasirinkite COM31 prievadą ir spustelėkite Prisijungti.
Vieno bito klaidos įvedimas ir taisymas
- Pateiktame Libero dizaine dukart spustelėkite „SmartDebug Design“ dizaino eigoje.
- SmartDebug GUI spustelėkite Debug FPGA Array.
- Lange Debug FPGA Array eikite į skirtuką Atminties blokai. Jis parodys LSRAM bloką projektuojant logiškai ir fiziškai view. Loginiai blokai rodomi su L piktograma, o fiziniai blokai rodomi su P piktograma.
- Pasirinkite fizinio bloko egzempliorių ir dešiniuoju pelės mygtuku spustelėkite Pridėti.
- Norėdami perskaityti atminties bloką, spustelėkite Skaityti bloką.
- Įveskite 1 bito klaidą į 8 bitų duomenis bet kurioje LSRAM vietoje iki 256 gylio, kaip parodyta toliau pateiktame paveikslėlyje, kur 1 bito klaida įvedama 0-oje LSRAM vietoje.
- Norėdami įrašyti pakeistus duomenis į numatytą vietą, spustelėkite Rašyti bloką.
- Eikite į EDAC GUI ir įveskite Adreso lauką LSRAM atminties skaitymo skiltyje ir spustelėkite Skaityti, kaip parodyta kitame paveikslėlyje.
- Stebėkite 1 bitų klaidų skaičiaus ir skaitymo duomenų laukus GUI. Klaidų skaičiaus reikšmė padidėja 1.
Lauke Read Data rodomi teisingi duomenys, nes EDAC ištaiso klaidos bitą.
Pastaba: Jei atminties valymas neįjungtas, klaidų skaičius didinamas kiekvieną kartą nuskaitant iš to paties LSRAM adreso, nes tai sukelia 1 bito klaidą.
Dviejų bitų klaidų įpurškimas ir aptikimas
- Atlikite 1–5 veiksmą, kaip nurodyta Vieno bito klaidos įvedimas ir taisymas, 10 psl.
- Įveskite 2 bitų klaidą į 8 bitų duomenis bet kurioje LSRAM vietoje iki 256 gylio, kaip parodyta toliau pateiktame paveikslėlyje, kur 2 bitų klaida įvedama LSRAM vietoje „A“.
- Spustelėkite Rašyti bloką, kad įrašytumėte pakeistus duomenis į numatytą vietą.
- Eikite į EDAC GUI ir įveskite Adreso lauką LSRAM atminties skaitymo skiltyje ir spustelėkite Skaityti, kaip parodyta kitame paveikslėlyje.
- Stebėkite 2 bitų klaidų skaičiaus ir skaitymo duomenų laukus GUI. Klaidų skaičiaus reikšmė padidėja 1.
Lauke Skaityti duomenis rodomi sugadinti duomenys.
Visi RTG4 atlikti veiksmai registruojami GUI skiltyje Serial Console.
Išvada
Šioje demonstracijoje pabrėžiamos RTG4 LSRAM atminties EDAC galimybės. 1 bito klaida arba 2 bitų klaida įvedama per SmartDebug GUI. 1 bitų klaidų taisymas ir 2 bitų klaidų aptikimas stebimas naudojant EDAC GUI.
Įrenginio programavimas naudojant FlashPro Express
Šiame skyriuje aprašoma, kaip užprogramuoti RTG4 įrenginį su programavimo užduotimi file naudojant „FlashPro Express“.
Norėdami užprogramuoti įrenginį, atlikite šiuos veiksmus:
- Įsitikinkite, kad plokštės trumpiklio nustatymai yra tokie patys, kaip išvardyti UG3 0617 lentelėje:
RTG4 kūrimo rinkinio vartotojo vadovas. - Pasirinktinai, trumpiklis J32 gali būti nustatytas prijungti 2–3 kaiščius, kai naudojamas išorinis FlashPro4, FlashPro5 arba FlashPro6 programuotojas, o ne numatytasis trumpiklis, kad būtų naudojamas įdėtasis FlashPro5.
Pastaba: Jungiant trumpiklius maitinimo jungiklis SW6 turi būti IŠJUNGTAS. - Prijunkite maitinimo laidą prie plokštės J9 jungties.
- ĮJUNKITE maitinimo jungiklį SW6.
- Jei naudojate integruotą FlashPro5, prijunkite USB kabelį prie jungties J47 ir pagrindinio kompiuterio.
Arba, jei naudojate išorinį programuotoją, juostinį kabelį prijunkite prie JTAG antraštę J22 ir prijunkite programuotoją prie pagrindinio kompiuterio. - Pagrindiniame kompiuteryje paleiskite „FlashPro Express“ programinę įrangą.
- Spustelėkite Naujas arba pasirinkite Naujas darbo projektas iš FlashPro Express Job meniu Projektas, kad sukurtumėte naują darbo projektą, kaip parodyta toliau pateiktame paveikslėlyje.
- Dialogo lange Naujas darbo projektas iš FlashPro Express Job įveskite:
- Programavimo darbas file: spustelėkite Naršyti ir eikite į vietą, kurioje yra .darbas file yra ir pasirinkite file. Numatytoji vieta yra: \rtg4_dg0703_df\Programavimo_darbas
- FlashPro Express darbo projekto vieta: spustelėkite Naršyti ir eikite į norimą FlashPro Express projekto vietą.
- Spustelėkite Gerai. Reikalingas programavimas file pasirinktas ir paruoštas programuoti įrenginyje.
- Pasirodys FlashPro Express langas, patvirtinkite, kad programuotojo lauke yra programuotojo numeris. Jei ne, patvirtinkite plokštės jungtis ir spustelėkite Refresh/Rescan Programmers.
- Spustelėkite RUN. Sėkmingai suprogramavus įrenginį, rodoma būsena RUN PASSED, kaip parodyta toliau esančiame paveikslėlyje.
- Uždarykite FlashPro Express arba spustelėkite Exit skirtuke Project.
TCL scenarijaus paleidimas
TCL scenarijai pateikti projekte files aplanką, esantį kataloge TCL_Scripts. Jei reikia, dizainas
srautą galima atkurti nuo dizaino įgyvendinimo iki darbo sukūrimo file.
Norėdami paleisti TCL, atlikite toliau nurodytus veiksmus.
- Paleiskite Libero programinę įrangą
- Pasirinkite Projektas > Vykdyti scenarijų….
- Spustelėkite Naršyti ir atsisiųstame TCL_Scripts kataloge pasirinkite script.tcl.
- Spustelėkite Vykdyti.
Sėkmingai įvykdžius TCL scenarijų, Libero projektas sukuriamas TCL_Scripts kataloge.
Norėdami gauti daugiau informacijos apie TCL scenarijus, žr. rtg4_dg0703_df/TCL_Scripts/readme.txt.
Daugiau informacijos apie TCL komandas rasite Libero® SoC TCL komandų informaciniame vadove. Dėl bet kokių užklausų, iškilusių vykdant TCL scenarijų, susisiekite su technine pagalba.
„Microsemi“ nesuteikia jokių garantijų, pareiškimų ar garantijų dėl čia pateiktos informacijos arba savo produktų ir paslaugų tinkamumo jokiam konkrečiam tikslui, taip pat „Microsemi“ neprisiima jokios atsakomybės, kylančios dėl bet kokio gaminio ar grandinės taikymo ar naudojimo. Pagal šią nuostatą parduodami produktai ir visi kiti „Microsemi“ parduodami produktai buvo išbandyti ribotai ir neturėtų būti naudojami kartu su įranga ar programomis, kurios yra labai svarbios. Manoma, kad bet kokios veikimo specifikacijos yra patikimos, tačiau nėra patikrintos, todėl Pirkėjas turi atlikti ir užbaigti visus gaminių veikimo ir kitus bandymus atskirai ir kartu su bet kokiais galutiniais produktais arba juose sumontuotais. Pirkėjas negali pasikliauti jokiais Microsemi pateiktais duomenimis ir veikimo specifikacijomis ar parametrais. Pirkėjas privalo savarankiškai nustatyti bet kokių gaminių tinkamumą ir juos išbandyti bei patikrinti. „Microsemi“ toliau pateikta informacija pateikiama „tokia, kokia yra, kur yra“ ir su visais trūkumais, o visa su tokia informacija susijusi rizika tenka Pirkėjui. „Microsemi“ nei tiesiogiai, nei netiesiogiai nesuteikia jokiai šaliai jokių patentinių teisių, licencijų ar bet kokių kitų intelektinės nuosavybės teisių, nesvarbu, ar tai susiję su tokia informacija, ar bet kuo, kas aprašyta toje informacijoje. Šiame dokumente pateikta informacija priklauso „Microsemi“, todėl „Microsemi“ pasilieka teisę bet kuriuo metu be įspėjimo keisti šiame dokumente pateiktą informaciją arba bet kokius produktus ir paslaugas.
Apie Microsemi Microsemi, visiškai priklausanti Microchip Technology Inc. (Nasdaq: MCHP) dukterinė įmonė, siūlo platų puslaidininkių ir sistemų sprendimų portfelį aviacijos ir gynybos, ryšių, duomenų centrų ir pramonės rinkoms. Produktai apima didelio našumo ir spinduliuotei atsparius analoginius mišraus signalo integrinius grandynus, FPGA, SoC ir ASIC; galios valdymo produktai; laiko matavimo ir sinchronizavimo įrenginiai bei tikslūs laiko sprendimai, nustatantys pasaulio laiko standartą; balso apdorojimo įrenginiai; RF sprendimai; atskiri komponentai; įmonės saugojimo ir ryšių sprendimai, saugos technologijos ir keičiamo dydžio anti-tamper produktai; Ethernet sprendimai; Power-over-Ethernet IC ir midspans; taip pat pasirinktinio dizaino galimybes ir paslaugas. Sužinokite daugiau adresu www.microsemi.com.
„Microsemi“ būstinė
„One Enterprise“, Aliso Viejo,
CA 92656 JAV
JAV: +1 800-713-4113
Už JAV ribų: +1 949-380-6100
Pardavimai: +1 949-380-6136
Faksas: +1 XNUMX XNUMX XNUMX 949-215-4996
paštas: pardavimai.support@microsemi.com
www.microsemi.com
©2021 Microsemi, visiškai priklausanti Microchip Technology Inc. dukterinė įmonė. Visos teisės saugomos. Microsemi ir Microsemi logotipas yra registruotieji Microsemi Corporation prekių ženklai. Visi kiti prekių ir paslaugų ženklai yra atitinkamų jų savininkų nuosavybė.
Mikropusiau patentuota DG0703 4.0 versija
Dokumentai / Ištekliai
![]() |
MICROCHIP klaidų aptikimas ir taisymas RTG4 LSRAM atmintyje [pdfVartotojo vadovas DG0703 demonstracija, klaidų aptikimas ir taisymas RTG4 LSRAM atmintyje, aptikimas ir taisymas RTG4 LSRAM atmintyje, RTG4 LSRAM atmintyje, LSRAM atmintyje |