MICROCHIP-flaterdeteksje en korreksje op RTG4 LSRAM-ûnthâld
Revision Skiednis
De revyzjeskiednis beskriuwt de wizigingen dy't yn it dokumint binne ymplementearre. De wizigingen wurde fermeld per revyzje, te begjinnen mei de meast aktuele publikaasje.
Ferzje 4.0
It folgjende is in gearfetting fan de feroarings makke yn dizze revyzje.
- It dokumint bywurke foar Libero SoC v2021.2.
- Taheakke taheakke 1: Programmearje it apparaat mei FlashPro Express, side 14.
- Taheakke taheakke 2: It TCL-skript útfiere, side 16.
- Fuortsmite de ferwizings nei Libero ferzje nûmers.
Ferzje 3.0
Updated it dokumint foar Libero v11.9 SP1 software release.
Ferzje 2.0
Updated it dokumint foar Libero v11.8 SP2 software release.
Ferzje 1.0
De earste publikaasje fan dit dokumint.
Flaterdeteksje en korreksje op RTG4 LSRAM Unthâld
Dit referinsjeûntwerp beskriuwt de mooglikheden foar flaterdeteksje en -korreksje (EDAC) fan 'e RTG4 ™ FPGA LSRAM's. Yn in ienige evenemint upset (SEU) gefoelich omjouwing, RAM is gefoelich foar transient flaters feroarsake troch swiere ioanen. Dizze flaters kinne wurde ûntdutsen en korrizjearre troch it brûken fan flaterkorreksjekoades (ECC's). De RTG4 FPGA RAM-blokken hawwe ynboude EDAC-controllers om de flaterkorreksjekoades te generearjen foar it korrizjearjen fan in 1-bit flater of it detektearjen fan in 2-bit flater.
As in 1-bit flater wurdt ûntdutsen, korrigearret de EDAC-controller de flaterbit en stelt de flaterkorreksjeflagge (SB_CORRECT) op aktyf heech. As in 2-bit flater wurdt ûntdutsen, set de EDAC-controller de flaterdeteksjeflagge (DB_DETECT) op aktyf heech.
Foar mear ynformaasje oer RTG4 LSRAM EDAC funksjonaliteit, ferwize nei UG0574: RTG4 FPGA Fabric
Brûkersgids.
Yn dit referinsjeûntwerp wurdt de 1-bit flater as 2-bit flater ynfierd fia SmartDebug GUI. EDAC wurdt waarnommen mei in grafyske brûkersynterface (GUI), mei help fan de UART-ynterface om tagong te krijen ta de LSRAM foar gegevens lêzen/skriuwen, Libero® System-on-Chip (SoC) SmartDebug (J)TAG) wurdt brûkt om de flaters yn LSRAM-ûnthâld te ynjeksje.
Design Requirements
Tabel 1 listet de easken foar referinsjeûntwerp foar it útfieren fan de RTG4 LSRAM EDAC-demo.
tabel 1 • Design Requirements
Software
- Libero SoC
- FlashPro Express
- SmartDebug
- Host PC-bestjoerders USB nei UART-bestjoerders
Noat: Libero SmartDesign en konfiguraasje skermôfbyldings werjûn yn dizze hantlieding binne allinich foar yllustraasjedoel.
Iepenje it Libero-ûntwerp om de lêste updates te sjen.
Betingsten
Foardat jo begjinne:
Download en ynstallearje Libero SoC (lykas oanjûn yn 'e webside foar dit ûntwerp) op 'e host-pc fan' e folgjende lokaasje: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Demo ûntwerp
Download it demo-ûntwerp files út de Microsemi webside op: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
De demo-ûntwerp files befetsje:
- Libero SoC projekt
- GUI Ynstallearder
- Programming files
- Readme.txt file
- TCL_Skript
De GUI-applikaasje op 'e host-pc jout kommando's út oan it RTG4-apparaat fia de USB-UART-ynterface. Dizze UART-ynterface is ûntworpen mei CoreUART, dat is in logyske IP út 'e Libero SoC IP-katalogus. De CoreUART IP yn 'e RTG4-stof ûntfangt kommando's en stjoert se nei de kommando-dekoderlogika. De kommando-dekoderlogika dekodearret it lêzen- of skriuwkommando, dat wurdt útfierd mei de logika fan 'e ûnthâldinterface.
It ûnthâld ynterface blok wurdt brûkt om te lêzen / skriuwe en tafersjoch op de LSRAM flater flaggen. De ynboude EDAC korrigearret de 1-bit flater by it lêzen fan LSRAM en jout korrizjearre gegevens oan de brûkersynterface, mar skriuwt gjin korrizjearre gegevens werom nei LSRAM. De ynboude LSRAM EDAC ymplementearret gjin skrobfunksje. It demo-ûntwerp ymplementearret scrublogika, dy't de 1-bit korreksjeflagge kontrolearret en de LSRAM bywurket mei de korrizjearre gegevens as in inkele bitflater optreedt.
SmartDebug GUI wurdt brûkt om 1-bit of 2-bit flater yn 'e LSRAM-gegevens te ynjeksje.
Figuer 1 toant de top-nivo blok diagram fan RTG4 LSRAM EDAC demo design.
figuer 1 • Top-Level Block Diagram
De folgjende binne de konfiguraasjes foar demo-ûntwerp:
- De LSRAM is konfigurearre foar ×18 modus en EDAC wurdt ynskeakele troch ferbining LSRAMs ECC_EN sinjaal oan hege.
Noat: De LSRAM EDAC wurdt stipe foar allinich ×18- en ×36-modi. - De CoreUART IP is konfigureare om te kommunisearjen mei de host PC-applikaasje op in baudrate fan 115200.
- De RTG4FCCCECALIB_C0 is konfigureare om de CoreUART en oare stoflogika op 80 MHz te klokken.
Features
De folgjende binne de demo-ûntwerpfunksjes:
- Lês en skriuw nei LSRAM
- Inject 1-bit en 2-bit flater mei help fan SmartDebug
- Toan 1-bit en 2-bit flater count wearden
- Besoarging om de flatertellingswearden te wiskjen
- Ynskeakelje of útskeakelje de ûnthâld scrubbing logika
Beskriuwing
Dit demo-ûntwerp omfettet de ymplemintaasje fan de folgjende taken:
- Inisjalisearjen en tagong ta LSRAM
It ûnthâld ynterface logika ymplementearre yn de stof logika ûntfangt it inisjalisaasje kommando út GUI en initializes de earste 256 ûnthâld lokaasjes fan LSRAM mei de inkrementele gegevens. It fiert ek de lês- en skriuwoperaasjes nei de 256 ûnthâldlokaasjes fan LSRAM troch it adres en gegevens te ûntfangen fan 'e GUI. Foar in lêzen operaasje, it ûntwerp hellet de gegevens út LSRAM en jout it oan GUI foar werjefte. De ferwachting is dat it ûntwerp gjin flaters feroarsaket foardat SmartDebug brûkt wurdt.
Noat: Uninitialisearre ûnthâld lokaasjes meie hawwe willekeurige wearden, en SmartDebug kin sjen litte single-bit of dûbele-bit flaters yn dy lokaasjes.
- Ynjeksje fan 1-bit of 2-bit flaters
SmartDebug GUI wurdt brûkt om de 1-bit- of 2-bit-flaters yn 'e oantsjutte ûnthâldlokaasje fan LSRAM te ynjeksje. De folgjende operaasjes wurde útfierd mei SmartDebug om 1-bit en 2-bit flaters yn LSRAM te ynjeksje:- Iepenje SmartDebug GUI, klikje op Debug FPGA Array.
- Gean nei it ljepblêd Memory Blocks, selektearje it ûnthâld eksimplaar, en klikje mei de rjochter-klik op Add.
- Om it ûnthâldblok te lêzen, klikje op Blok lêze.
- Inject single-bit of double-bit flater yn eltse lokaasje fan de LSRAM fan in bepaalde djipte.
- Om te skriuwen nei de wizige lokaasje, klikje op Skriuwblokje.
Tidens de LSRAM lês- en skriuwoperaasje fia de SmartDebug (JTAG) ynterface, wurdt de EDAC-kontrôler omsletten en berekkenet de ECC-bits net foar de skriuwoperaasje yn stap e.
- Flater telle
8-bit-tellers wurde brûkt om in flatertelling te leverjen en is ûntwerp yn 'e stoflogika om 1-bit of 2-bit flaters te tellen. De kommando-dekoderlogika leveret de telwearden oan 'e GUI by it ûntfangen fan kommando's fan' e GUI.
Clocking Struktuer
Yn dit demo-ûntwerp is d'r ien klokdomein. De ynterne 50 MHz oscillator driuwt de RTG4FCCC, dy't fierder RTG4FCCCECALIB_C0 driuwt. De RTG4FCCCECALIB_C0 genereart in 80 MHz-klok dy't in klokboarne leveret oan de COREUART, cmd_decoder, TPSRAM_ECC, en RAM_RW modules.
De folgjende figuer toant de klokstruktuer fan it demo-ûntwerp.
figuer 2 • Clocking Struktuer
Struktuer weromsette
Yn dit demo-ûntwerp wurdt it reset-sinjaal nei de COREUART, cmd_decoder, en RAM_RW-modules levere fia de LOCK-poarte fan RTG4FCCCECALIB_C0. De folgjende figuer toant de resetstruktuer fan it demo-ûntwerp.
figuer 3 • Reset Struktuer
Demo-ûntwerp ynstelle
De folgjende seksjes beskriuwe hoe't jo de RTG4 Development Kit en GUI ynstelle om it demo-ûntwerp út te fieren.
Jumper ynstellings
- Ferbine de jumpers op 'e RTG4 Development Kit, lykas werjûn yn Tabel 2.
tabel 2 • Jumper ynstellingsJumper Pin (fan) Pin (oan) Comments J11, J17, J19, J21, J23, J26, J27, J28 1 2 Standert J16 2 3 Standert J32 1 2 Standert J33 1 3 Standert 2 4 Noat: Skeakelje de macht oanbod switch, SW6, wylst ferbinen de jumpers.
- Ferbine de USB-kabel (mini USB nei Type-A USB-kabel) oan J47 fan 'e RTG4 Development Kit en it oare ein fan' e kabel nei de USB-poarte fan 'e host-PC.
- Soargje derfoar dat de USB nei UART-brêgebestjoerders automatysk wurde ûntdutsen. Dit kin ferifiearre wurde yn 'e apparaatbehearder fan' e host-pc.
Figuer 4 toant de USB 2.0-seriële poarte-eigenskippen en de ferbûne COM31 en USB-seriële converter C.
figuer 4 • USB nei UART Bridge Drivers
Noat: As de USB nei UART-brêgebestjoerders net binne ynstalleare, download en ynstallearje de bestjoerders fan www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
Ofbylding 5 toant de boerdsetup foar it útfieren fan de EDAC-demo op 'e RTG4 Development Kit.
Programmearje de Demo Design
- Start Libero SOC software.
- Om de RTG4 Development Kit te programmearjen mei de baan file levere as ûnderdiel fan it ûntwerp files mei FlashPro Express-software, ferwize nei Appendix 1: Programmearje it apparaat mei FlashPro Express, side 14.
Noat: Sadree't de programmearring is dien mei de baan file troch FlashPro Express software, fierder nei EDAC Demo GUI, side 9. Oars, fierder nei de folgjende stap. - Klikje yn 'e Libero-ûntwerpflow op Programma-aksje útfiere.
- Sadree't de programmearring foltôge is, ferskynt in griene tik foar 'Run Program action', wat oanjout op suksesfolle programmearring fan it demo-ûntwerp.
EDAC Demo GUI
De EDAC-demo is foarsjoen fan in brûkerfreonlike GUI, lykas werjûn yn figuer 7, dy't rint op 'e host-PC, dy't kommunisearret mei de RTG4 Development Kit. De UART wurdt brûkt as it ûnderlizzende kommunikaasjeprotokol tusken de host PC en RTG4 Development Kit.
De GUI befettet de folgjende seksjes:
- COM-poarte seleksje om de UART-ferbining te meitsjen mei RTG4 FPGA mei de 115200 baudrate.
- LSRAM Unthâld Write: Om skriuwe de 8-bit gegevens oan de oantsjutte LSRAM ûnthâld adres.
- Memory Scrubbing: Om de scrubbinglogika yn te skeakeljen of út te skeakeljen.
- LSRAM Unthâld Read: Om lêzen de 8-bit gegevens út de oantsjutte LSRAM ûnthâld adres.
- Flatertelling: Toant de flatertelling en jout in opsje om de tellerwearde op nul te wiskjen.
- 1-bit flatertelling: Toant 1-bit flatertelling en jout in opsje om de tellerwearde op nul te wiskjen.
- 2-bit flatertelling: Toant 2-bit flatertelling en jout in opsje om de tellerwearde op nul te wiskjen.
- Loggegevens: Jout de statusynformaasje foar elke operaasje útfierd mei de GUI.
De demo útfiere
De folgjende stappen beskriuwe hoe't jo de demo útfiere:
- Gean nei \v1.2.2\v1.2.2\Exe en dûbelklik op EDAC_GUI.exe lykas werjûn yn figuer 8.
- Selektearje de COM31-poarte út 'e list en klikje op Ferbine.
Single bit flater ynjeksje en korreksje
- Yn it levere Libero-ûntwerp, dûbelklikje op it SmartDebug-ûntwerp yn 'e ûntwerpstream.
- Klikje yn de SmartDebug GUI op Debug FPGA Array.
- Gean yn it finster Debug FPGA Array nei it ljepblêd Memory Blocks. It sil sjen litte de LSRAM blok yn it ûntwerp mei in logyske en fysike view. Logyske blokken wurde werjûn mei in L-ikoan, en fysike blokken wurde werjûn mei in P-ikoan.
- Selektearje it fysike blokeksimplaar en klikje mei de rjochter-klik op Add.
- Om it ûnthâldblok te lêzen, klikje op Blok lêze.
- Inject 1 bit flater yn de 8 bit gegevens op eltse lokaasje fan LSRAM oant djipte 256, lykas werjûn yn de folgjende figuer dêr't 1 bit flater wurdt ynjeksje op 0. lokaasje fan de LSRAM.
- Klik op Skriuwblokje om de wizige gegevens nei de bedoelde lokaasje te skriuwen.
- Gean nei de EDAC GUI en fier it adresfjild yn 'e seksje LSRAM Memory Read en klikje op Lêze, lykas werjûn yn' e folgjende figuer.
- Observearje 1 Bit Error Count en Lês Gegevensfjilden yn 'e GUI. De wearde fan it oantal flaters nimt ta mei 1.
It fjild Read Data toant de juste gegevens as de EDAC de flaterbit korrizjeart.
Noat: As ûnthâld scrubbing net ynskeakele is, dan wurdt de flatertelling ferhege foar elke lêzing fan itselde LSRAM-adres, om't it de 1-bit flater feroarsaket.
Dûbele bit flater ynjeksje en Detection
- Fier stap 1 oant stap 5 út lykas jûn yn Ynjeksje en korreksje fan ien bitflater, side 10.
- Inject 2-bit flater yn de 8-bit gegevens op eltse lokaasje fan LSRAM oant djipte 256, lykas werjûn yn de folgjende figuer dêr't de 2-bit flater wurdt ynjeksje op lokaasje 'A' fan 'e LSRAM.
- Klik op Skriuwblokje om de wizige gegevens nei de bedoelde lokaasje te skriuwen.
- Gean nei de EDAC GUI en fier it adresfjild yn 'e seksje LSRAM Memory Read en klikje op Lêze, lykas werjûn yn' e folgjende figuer.
- Observearje 2-bit flatertelling en lêsgegevensfjilden yn 'e GUI. De wearde fan it oantal flaters nimt ta mei 1.
It fjild Gegevens lêze toant de beskeadige gegevens.
Alle aksjes útfierd yn RTG4 wurde oanmeld yn de Serial Console seksje fan GUI.
Konklúzje
Dizze demo markearret de EDAC-mooglikheden fan 'e RTG4 LSRAM oantinkens. De 1-bit flater of 2-bit flater wurde yntrodusearre fia SmartDebug GUI. 1-bit flaterkorreksje en 2-bit flaterdeteksje wurdt waarnommen mei in EDAC GUI.
It apparaat programmearje mei FlashPro Express
Dizze seksje beskriuwt hoe't jo it RTG4-apparaat programmearje mei de programmearring file mei help fan FlashPro Express.
Om it apparaat te programmearjen, fiere de folgjende stappen:
- Soargje derfoar dat de jumperynstellingen op it boerd itselde binne as dy yn Tabel 3 fan UG0617 neamd binne:
RTG4 Development Kit Brûkersgids. - Opsjoneel kin jumper J32 ynsteld wurde om pins 2-3 te ferbinen by it brûken fan in eksterne FlashPro4, FlashPro5, of FlashPro6 programmeur ynstee fan de standert jumper ynstelling om de ynbêde FlashPro5 te brûken.
Noat: De macht oanbod switch, SW6 moat wurde oerskeakele OFF wylst it meitsjen fan de jumper ferbinings. - Ferbine de macht oanbod kabel oan de J9 Anschluss op it bestjoer.
- Power ON de macht oanbod switch SW6.
- As jo de ynbêde FlashPro5 brûke, ferbine dan de USB-kabel oan connector J47 en de host-PC.
As alternatyf, as jo in eksterne programmeur brûke, ferbine dan de lintkabel mei de JTAG header J22 en ferbine de programmeur oan de host PC. - Start de FlashPro Express-software op 'e host-PC.
- Klik Nij of selektearje Nij Job Project út FlashPro Express Job út Project menu foar in meitsje in nij baan projekt, lykas werjûn yn de folgjende figuer.
- Fier it folgjende yn yn it dialoochfinster New Job Project from FlashPro Express Job:
- Programming baan file: Klik op Blêdzje, en navigearje nei de lokaasje dêr't de .job file leit en selektearje de file. De standert lokaasje is: \rtg4_dg0703_df\Programming_Job
- FlashPro Express job projekt lokaasje: Klik Blêdzje en navigearje nei de winske FlashPro Express projekt lokaasje.
- Klik OK. De fereaske programmearring file is selektearre en klear om te wurde programmearre yn it apparaat.
- It FlashPro Express-finster sil ferskine, befêstigje dat in programmeurnûmer ferskynt yn it Programmer-fjild. As it net docht, befêstigje de boerdferbiningen en klik op Programmers ferfarskje / opnij scannen.
- Klik RUN. As it apparaat mei súkses programmearre is, wurdt in RUN PASSED status werjûn lykas werjûn yn 'e folgjende figuer.
- Slút FlashPro Express of klik op Exit yn it ljepblêd Project.
It útfieren fan it TCL-skript
TCL-skripts wurde levere yn it ûntwerp files map ûnder triemtafel TCL_Scripts. As it nedich is, it ûntwerp
flow kin wurde reprodusearre fan ûntwerp ymplemintaasje oant generaasje fan baan file.
Om de TCL út te fieren, folgje de stappen hjirûnder:
- Start de Libero-software
- Selektearje Projekt > Skript útfiere….
- Klikje op Blêdzje en selektearje script.tcl út de ynladen TCL_Scripts-map.
- Klik Run.
Nei suksesfolle útfiering fan TCL-skript, wurdt Libero-projekt makke binnen TCL_Scripts-map.
Foar mear ynformaasje oer TCL-skripts, ferwize nei rtg4_dg0703_df/TCL_Scripts/readme.txt.
Ferwize nei Libero® SoC TCL Command Reference Guide foar mear details oer TCL-kommando's. Nim kontakt op mei technyske stipe foar alle fragen dy't tsjinkomme by it útfieren fan it TCL-skript.
Microsemi makket gjin garânsje, fertsjinwurdiging of garânsje oangeande de ynformaasje befette hjiryn of de geskiktheid fan har produkten en tsjinsten foar in bepaald doel, noch nimt Microsemi gjin oanspraaklikens oan dy't fuortkomme út 'e applikaasje of gebrûk fan in produkt of circuit. De produkten ferkocht hjirûnder en alle oare produkten ferkocht troch Microsemi binne ûnderwurpen oan beheinde testen en moatte net brûkt wurde yn kombinaasje mei missy-krityske apparatuer of applikaasjes. Alle prestaasjesspesifikaasjes wurde leaud betrouber te wêzen, mar wurde net ferifiearre, en Keaper moat alle prestaasjes en oare testen fan 'e produkten útfiere en foltôgje, allinich en tegearre mei, of ynstalleare yn, alle einprodukten. Keaper sil net fertrouwe op gegevens en prestaasjesspesifikaasjes of parameters levere troch Microsemi. It is de ferantwurdlikens fan 'e keaper om selsstannich de geskiktheid fan alle produkten te bepalen en itselde te testen en te ferifiearjen. De ynformaasje levere troch Microsemi hjirûnder wurdt levere "as is, wêr is" en mei alle fouten, en it folsleine risiko ferbûn mei sokke ynformaasje is folslein by de keaper. Microsemi jout net, eksplisyt of ymplisyt, oan ien partij gjin oktroairjochten, lisinsjes, of hokker oare IP-rjochten, itsij oangeande sokke ynformaasje sels as alles beskreaun troch sokke ynformaasje. Ynformaasje levere yn dit dokumint is eigendom fan Microsemi, en Microsemi behâldt it rjocht foar om op elts momint feroarings oan te bringen oan 'e ynformaasje yn dit dokumint of oan produkten en tsjinsten op elk momint sûnder notice.
Oer Microsemi Microsemi, in folslein eigendom dochterûndernimming fan Microchip Technology Inc. (Nasdaq: MCHP), biedt in wiidweidige portefúlje fan semiconductor- en systeemoplossingen foar loftfeart en definsje, kommunikaasje, datasintrum en yndustriële merken. Produkten befetsje hege-optreden en strieling-ferhurde analoge mingd-sinjaal yntegrearre circuits, FPGAs, SoCs en ASICs; produkten foar enerzjybehear; timing- en syngronisaasjeapparaten en krekte tiidoplossingen, it ynstellen fan 'e wrâldstandert foar tiid; apparaten foar stimferwurking; RF oplossings; diskrete komponinten; enterprise opslach- en kommunikaasje oplossings, feiligens technologyen en scalable anty-tamper produkten; Ethernet oplossings; Power-over-Ethernet IC's en midspans; lykas oanpaste ûntwerpmooglikheden en tsjinsten. Learje mear op www.microsemi.com.
Microsemi haadkantoar
One Enterprise, Aliso Viejo,
CA 92656 Feriene Steaten
Binnen de FS: +1 800-713-4113
Bûten de Feriene Steaten: +1 949-380-6100
Ferkeap: +1 949-380-6136
Fax: +1 949-215-4996
E-post: ferkeap.support@microsemi.com
www.microsemi.com
©2021 Microsemi, in folslein eigendom dochterûndernimming fan Microchip Technology Inc. Alle rjochten foarbehâlden. Microsemi en it Microsemi-logo binne registrearre hannelsmerken fan Microsemi Corporation. Alle oare hannelsmerken en tsjinstmerken binne it eigendom fan har respektive eigners.
Microsemi Proprietary DG0703 Ferzje 4.0
Dokuminten / Resources
![]() |
MICROCHIP-flaterdeteksje en korreksje op RTG4 LSRAM-ûnthâld [pdf] Brûkersgids DG0703 Demo, flaterdeteksje en korreksje op RTG4 LSRAM-ûnthâld, deteksje en korreksje op RTG4 LSRAM-ûnthâld, RTG4 LSRAM-ûnthâld, LSRAM-ûnthâld |