mikrochiplogotyp

MICROCHIP feldetektering och korrigering på RTG4 LSRAM-minne

MICROCHIP-Feldetektering-och-korrigering-på-RTG4-LSRAM-minne

Revisionshistorik

Revisionshistoriken beskriver de ändringar som implementerades i dokumentet. Ändringarna listas efter revidering, med början i den senaste publikationen.

Revision 4.0
Följande är en sammanfattning av ändringarna som gjorts i denna revidering.

  • Uppdaterade dokumentet för Libero SoC v2021.2.
  • Tillagd bilaga 1: Programmera enheten med FlashPro Express, sidan 14.
  • Tillagd bilaga 2: Köra TCL-skriptet, sidan 16.
  • Har tagit bort referenserna till Libero versionsnummer.

Revision 3.0
Uppdaterade dokumentet för Libero v11.9 SP1 mjukvaruversion.

Revision 2.0
Uppdaterade dokumentet för Libero v11.8 SP2 mjukvaruversion.

Revision 1.0
Den första publiceringen av detta dokument.

Feldetektering och korrigering på RTG4 LSRAM-minne

Denna referensdesign beskriver feldetekterings- och korrigeringsförmågan (EDAC) hos RTG4™ FPGA LSRAM. I en SEU-känslig miljö är RAM-minne benäget att få övergående fel orsakade av tunga joner. Dessa fel kan upptäckas och korrigeras genom att använda felkorrigeringskoder (ECC). RTG4 FPGA RAM-blocken har inbyggda EDAC-styrenheter för att generera felkorrigeringskoder för att korrigera ett 1-bitars fel eller detektera ett 2-bitars fel.

Om ett 1-bitars fel upptäcks, korrigerar EDAC-styrenheten felbiten och ställer in felkorrigeringsflaggan (SB_CORRECT) till aktiv hög. Om ett 2-bitars fel upptäcks ställer EDAC-styrenheten in feldetekteringsflaggan (DB_DETECT) till aktiv hög.
För mer information om RTG4 LSRAM EDAC-funktionalitet, se UG0574: RTG4 FPGA Fabric

Användarhandbok.
I denna referensdesign introduceras 1-bitsfelet eller 2-bitarsfelet genom SmartDebug GUI. EDAC observeras med hjälp av ett grafiskt användargränssnitt (GUI), som använder UART-gränssnittet för att komma åt LSRAM för dataläsning/skrivning, Libero® System-on-Chip (SoC) SmartDebug (JTAG) används för att injicera felen i LSRAM-minnet.

Designkrav
Tabell 1 listar referensdesignkraven för att köra RTG4 LSRAM EDAC-demon.

Tabell 1 • Designkrav

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-1

Programvara

  • Libero SoC
  • FlashPro Express
  • SmartDebug
  • Host PC-drivrutiner Drivrutiner för USB till UART

Notera: Libero SmartDesign och konfigurationsskärmbilder som visas i den här guiden är endast för illustrationsändamål.
Öppna Libero-designen för att se de senaste uppdateringarna.

Förutsättningar
Innan du börjar:
Ladda ner och installera Libero SoC (som anges i webwebbplats för denna design) på värddatorn från följande plats: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc

Demodesign
Ladda ner demodesignen files från Microsemi webwebbplats på: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df

Demodesignen files inkluderar:

  • Libero SoC-projekt
  • GUI-installatör
  • Programmering files
  • Readme.txt file
  • TCL_Scripts

GUI-applikationen på värddatorn utfärdar kommandon till RTG4-enheten via USB-UART-gränssnittet. Detta UART-gränssnitt är designat med CoreUART, som är en logisk IP från Libero SoC IP-katalogen. CoreUART IP i RTG4-strukturen tar emot kommandon och sänder dem till kommandoavkodarlogiken. Kommandoavkodarlogiken avkodar läs- eller skrivkommandot, som exekveras med användning av minnesgränssnittslogiken.

Minnesgränssnittsblocket används för att läsa/skriva och övervaka LSRAM-felflaggorna. Den inbyggda EDAC korrigerar 1-bitars felet vid läsning från LSRAM och tillhandahåller korrigerad data till användargränssnittet men skriver inte korrigerad data tillbaka till LSRAM. Den inbyggda LSRAM EDAC implementerar ingen skurfunktion. Demodesignen implementerar skrubblogik, som övervakar 1-bitars korrigeringsflaggan och uppdaterar LSRAM med korrigerad data om ett enstaka bitfel inträffar.
SmartDebug GUI används för att injicera 1-bitars eller 2-bitars fel i LSRAM-data.
Figur 1 visar blockschemat på översta nivån av RTG4 LSRAM EDAC demodesign.

Figur 1 • Blockdiagram på toppnivå

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-2

Följande är demodesignkonfigurationerna:

  1. LSRAM är konfigurerat för läge ×18 och EDAC aktiveras genom att LSRAMs ECC_EN-signal kopplas till hög.
    Notera: LSRAM EDAC stöds endast för lägena ×18 och ×36.
  2. CoreUART IP är konfigurerad för att kommunicera med värddatorapplikationen med en baudhastighet på 115200 XNUMX.
  3. RTG4FCCCECALIB_C0 är konfigurerad att klocka CoreUART och annan strukturlogik vid 80 MHz.

Drag
Följande är demodesignfunktionerna:

  • Läs och skriv till LSRAM
  • Injicera 1-bitars och 2-bitars fel med SmartDebug
  • Visa 1-bitars och 2-bitars felräkningsvärden
  • Åtgärd för att rensa felräkningsvärdena
  • Aktivera eller inaktivera minnesskrubbningslogiken

Beskrivning
Denna demodesign involverar implementering av följande uppgifter:

  • Initiera och komma åt LSRAM
    Minnesgränssnittslogiken implementerad i strukturlogiken tar emot initialiseringskommandot från GUI och initierar de första 256 minnesplatserna i LSRAM med inkrementella data. Den utför också läs- och skrivoperationerna till de 256 minnesplatserna i LSRAM genom att ta emot adressen och data från GUI. För en läsoperation hämtar designen data från LSRAM och tillhandahåller den till GUI för visning. Förväntningen är att designen inte kommer att inducera fel innan SmartDebug används.

Notera: Oinitierade minnesplatser kan ha slumpmässiga värden, och SmartDebug kan visa enkelbits- eller dubbelbitsfel på dessa platser.

  • Injicera 1-bitars eller 2-bitars fel
    SmartDebug GUI används för att injicera 1-bitars eller 2-bitarsfel i den angivna minnesplatsen för LSRAM. Följande operationer utförs med SmartDebug för att injicera 1-bitars och 2-bitars fel till LSRAM:
    • Öppna SmartDebug GUI, klicka på Debug FPGA Array.
    • Gå till fliken Minnesblock, välj minnesinstansen och högerklicka på Lägg till.
    • För att läsa minnesblocket, klicka på Läs block.
    • Injicera enkelbits- eller dubbelbitsfel på valfri plats i LSRAM med ett visst djup.
    • För att skriva till den ändrade platsen, klicka på Skrivblock.
      Under LSRAM-läs- och skrivoperationen via SmartDebug (JTAG)-gränssnittet förbikopplas EDAC-styrenheten och beräknar inte ECC-bitarna för skrivoperationen i steg e.
  • Fel vid räkning
    8-bitars räknare används för att tillhandahålla en felräkning och designas in i strukturlogiken för att räkna 1-bitars eller 2-bitars fel. Kommandoavkodarlogiken tillhandahåller räknevärdena till GUI när den tar emot kommandon från GUI.

Klockningsstruktur
I denna demodesign finns det en klockdomän. Den interna 50 MHz-oscillatorn driver RTG4FCCC, som ytterligare driver RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 genererar en 80 MHz klocka som tillhandahåller en klockkälla till modulerna COREUART, cmd_decoder, TPSRAM_ECC och RAM_RW.
Följande figur visar klockningsstrukturen för demodesignen.

Figur 2 • Klockstruktur

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-3

Återställ struktur
I denna demodesign tillhandahålls återställningssignalen till modulerna COREUART, cmd_decoder och RAM_RW via LOCK-porten på RTG4FCCCECALIB_C0. Följande bild visar återställningsstrukturen för demodesignen.

Figur 3 • Återställ struktur

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-4

Konfigurera demodesignen
Följande avsnitt beskriver hur du ställer in RTG4 Development Kit och GUI för att köra demodesignen.

Bygelinställningar

  1. Anslut byglarna på RTG4 Development Kit, som visas i Tabell 2.
    Tabell 2 • Bygelinställningar
    Jumper Pin (från) Fäst (till) Kommentarer
    J11, J17, J19, J21, J23, J26, J27, J28 1 2 Standard
    J16 2 3 Standard
    J32 1 2 Standard
    J33 1 3 Standard
    2 4

    Notera: Stäng av strömbrytaren, SW6, medan du ansluter byglarna.

  2. Anslut USB-kabeln (mini USB till Type-A USB-kabel) till J47 på RTG4 Development Kit och andra änden av kabeln till USB-porten på värddatorn.
  3. Se till att drivrutinerna för USB till UART-bryggan upptäcks automatiskt. Detta kan verifieras i enhetshanteraren på värddatorn.
    Figur 4 visar egenskaperna för USB 2.0-serieporten och den anslutna COM31- och USB-seriella omvandlaren C.

Figur 4 • USB till UART Bridge-drivrutiner

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-6

Notera: Om drivrutinerna för USB till UART-bryggan inte är installerade, ladda ner och installera drivrutinerna från www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip

Figur 5 visar kortinställningen för att köra EDAC-demon på RTG4 Development Kit.

MICROCHIP feldetektering och korrigering på RTG4 LSRAM-minne

Programmera demodesignen

  1. Starta programvaran Libero SOC.
  2. Att programmera RTG4 Development Kit med jobbet file tillhandahålls som en del av designen fileOm du använder programvaran FlashPro Express, se Bilaga 1: Programmera enheten med FlashPro Express, sidan 14.
    Notera: När programmeringen är klar med jobbet file genom FlashPro Express-programvaran, fortsätt till EDAC Demo GUI, sidan 9. Annars fortsätter du till nästa steg.
  3. Klicka på Kör programåtgärd i Libero-designflödet.
  4. När programmeringen är klar visas en grön bock framför 'Kör programåtgärd' som indikerar framgångsrik programmering av demodesignen.

MICROCHIP feldetektering och korrigering på RTG4 LSRAM-minne-1

EDAC Demo GUI
EDAC-demon är försedd med ett användarvänligt GUI, som visas i figur 7, som körs på värddatorn, som kommunicerar med RTG4 Development Kit. UART används som det underliggande kommunikationsprotokollet mellan värddatorn och RTG4 Development Kit.

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-9

GUI innehåller följande avsnitt:

  1. Val av COM-port för att upprätta UART-anslutningen till RTG4 FPGA med 115200 baudhastighet.
  2. LSRAM-minnesskrivning: För att skriva 8-bitars data till den angivna LSRAM-minnesadressen.
  3. Minnesskurning: För att aktivera eller inaktivera skrubbningslogiken.
  4. LSRAM Memory Read: För att läsa 8-bitars data från den angivna LSRAM-minnesadressen.
  5. Error Count: Visar felantalet och ger en möjlighet att nollställa räknarvärdet.
  6. 1-bitars felräkning: Visar 1-bitars felräkning och ger en möjlighet att nollställa räknarvärdet.
  7. 2-bitars felräkning: Visar 2-bitars felräkning och ger ett alternativ för att nollställa räknarvärdet.
  8. Loggdata: Tillhandahåller statusinformation för varje operation som utförs med GUI.

Kör demonstrationen
Följande steg beskriver hur du kör demon:

  1. Gå till \v1.2.2\v1.2.2\Exe och dubbelklicka på EDAC_GUI.exe som visas i figur 8.
  2. Välj COM31-porten från listan och klicka på Anslut.

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-10

En bit felinjektion och korrigering

  1. I den medföljande Libero-designen, dubbelklicka på SmartDebug Design i designflödet.
  2. Klicka på Debug FPGA Array i SmartDebug GUI.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-11
  3. I fönstret Debug FPGA Array går du till fliken Memory Blocks. Det kommer att visa LSRAM-blocket i designen med en logisk och fysisk view. Logiska block visas med en L-ikon och fysiska block visas med en P-ikon.
  4. Välj den fysiska blockinstansen och högerklicka på Lägg till.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-12
  5. För att läsa minnesblocket, klicka på Läs block.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-13
  6. Injicera 1-bitarsfel i 8-bitarsdatan på valfri plats i LSRAM upp till djup 256, som visas i följande figur där 1-bitarsfel injiceras vid LSRAM:e platsen.
  7. Klicka på Write Block för att skriva den modifierade informationen till den avsedda platsen.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-14
  8. Gå till EDAC GUI och ange adressfältet i avsnittet LSRAM Memory Read och klicka på Läs, som visas i följande figur.
  9. Observera 1 Bit Error Count och Read Data-fälten i GUI. Felräkningsvärdet ökar med 1.
    Fältet Läs data visar korrekt data eftersom EDAC korrigerar felbiten.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-15

Notera: Om minnesskrubbning inte är aktiverad, ökas felantalet för varje läsning från samma LSRAM-adress eftersom det orsakar 1-bitars felet.

Dubbelbitfelsinjektion och upptäckt

  1. Utför steg 1 till steg 5 enligt beskrivningen i Enkelbitfelsinjektion och -korrigering, sidan 10.
  2. Injicera 2-bitarsfel i 8-bitars data vid vilken plats som helst av LSRAM upp till djup 256, som visas i följande figur där 2-bitarsfelet injiceras vid plats 'A' i LSRAM.
  3. Klicka på Skriv block för att skriva den modifierade informationen till den avsedda platsen.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-16
  4. Gå till EDAC GUI och ange adressfältet i avsnittet LSRAM Memory Read och klicka på Läs, som visas i följande figur.
  5. Observera 2-bitars felräkning och läsdatafält i GUI. Felräkningsvärdet ökar med 1.
    Fältet Läs data visar skadade data.

MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-17

Alla åtgärder som utförs i RTG4 loggas i avsnittet Serial Console i GUI.

Slutsats
Denna demo belyser EDAC-kapaciteten hos RTG4 LSRAM-minnen. 1-bitarsfelet eller 2-bitarsfelet introduceras genom SmartDebug GUI. 1-bitars felkorrigering och 2-bitars feldetektering observeras med hjälp av ett EDAC GUI.

Programmera enheten med FlashPro Express

Det här avsnittet beskriver hur man programmerar RTG4-enheten med programmeringsjobbet file med FlashPro Express.

Utför följande steg för att programmera enheten:

  1. Se till att bygelinställningarna på kortet är desamma som de som anges i tabell 3 i UG0617:
    Användarhandbok för RTG4 Development Kit.
  2. Alternativt kan jumper J32 ställas in för att ansluta stift 2-3 när du använder en extern FlashPro4-, FlashPro5- eller FlashPro6-programmerare istället för standardjumperinställningen för att använda den inbäddade FlashPro5.
    Notera: Strömbrytaren, SW6 måste vara avstängd när bygelanslutningarna görs.
  3. Anslut strömkabeln till J9-kontakten på kortet.
  4. Slå PÅ strömbrytaren SW6.
  5. Om du använder den inbyggda FlashPro5, anslut USB-kabeln till kontakten J47 och värddatorn.
    Alternativt, om du använder en extern programmerare, anslut bandkabeln till JTAG header J22 och anslut programmeraren till värddatorn.
  6. Starta programvaran FlashPro Express på värddatorn.
  7. Klicka på Nytt eller välj Nytt jobbprojekt från FlashPro Express-jobb från Projektmenyn för att skapa ett nytt jobbprojekt, som visas i följande figur.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-18
  8. Ange följande i dialogrutan Nytt jobbprojekt från FlashPro Express Job:
    • Programmeringsjobb file: Klicka på Bläddra och navigera till platsen där .jobbet file finns och välj file. Standardplatsen är: \rtg4_dg0703_df\Programmering_Job
    • FlashPro Express-jobbprojektplats: Klicka på Bläddra och navigera till önskad FlashPro Express-projektplats.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-19
  9. Klicka på OK. Den nödvändiga programmeringen file är vald och redo att programmeras i enheten.
  10. FlashPro Express-fönstret visas, bekräfta att ett programmeringsnummer visas i fältet Programmerare. Om det inte gör det, bekräfta kortanslutningarna och klicka på Uppdatera/Skanna om programmerare.
  11. Klicka på KÖR. När enheten har programmerats med framgång visas statusen KÖR GÅRD som visas i följande bild.MICROCHIP-Error-Detection-and-Correction-on-RTG4-LSRAM-Memory-20
  12. Stäng FlashPro Express eller klicka på Avsluta på fliken Projekt.

Kör TCL-skriptet

TCL-skript finns i designen files mapp under katalogen TCL_Scripts. Om det behövs, designen
flödet kan reproduceras från designimplementering till generering av jobb file.

För att köra TCL, följ stegen nedan:

  1. Starta programvaran Libero
  2. Välj Projekt > Kör skript...
  3. Klicka på Bläddra och välj script.tcl från den nedladdade TCL_Scripts-katalogen.
  4. Klicka på Kör.

Efter framgångsrik exekvering av TCL-skriptet skapas Libero-projektet i TCL_Scripts-katalogen.
För mer information om TCL-skript, se rtg4_dg0703_df/TCL_Scripts/readme.txt.
Se Libero® SoC TCL Command Reference Guide för mer information om TCL-kommandon. Kontakta teknisk support för alla frågor som uppstår när du kör TCL-skriptet.

Microsemi lämnar inga garantier, representationer eller garantier avseende informationen häri eller lämpligheten av dess produkter och tjänster för något särskilt ändamål, och Microsemi tar inte heller något ansvar som uppstår till följd av tillämpningen eller användningen av någon produkt eller krets. Produkterna som säljs nedan och alla andra produkter som säljs av Microsemi har varit föremål för begränsade tester och bör inte användas tillsammans med verksamhetskritisk utrustning eller applikationer. Eventuella prestandaspecifikationer anses vara tillförlitliga men är inte verifierade, och köparen måste utföra och slutföra alla prestanda- och andra tester av produkterna, ensam och tillsammans med, eller installerade i, eventuella slutprodukter. Köparen ska inte förlita sig på några data och prestandaspecifikationer eller parametrar som tillhandahålls av Microsemi. Det är köparens ansvar att självständigt avgöra lämpligheten för alla produkter och att testa och verifiera densamma. Informationen som tillhandahålls av Microsemi nedan tillhandahålls "i befintligt skick, var är" och med alla fel, och hela risken förknippad med sådan information ligger helt och hållet hos köparen. Microsemi ger inte, uttryckligen eller underförstått, till någon part några patenträttigheter, licenser eller andra IP-rättigheter, vare sig det gäller sådan information i sig eller något som beskrivs i sådan information. Informationen som tillhandahålls i detta dokument ägs av Microsemi, och Microsemi förbehåller sig rätten att göra ändringar av informationen i detta dokument eller till produkter och tjänster när som helst utan föregående meddelande.

Om Microsemi Microsemi, ett helägt dotterbolag till Microchip Technology Inc. (Nasdaq: MCHP), erbjuder en omfattande portfölj av halvledar- och systemlösningar för flyg- och försvars-, kommunikations-, datacenter- och industrimarknader. Produkterna inkluderar högpresterande och strålningshärdade analoga integrerade kretsar med blandade signaler, FPGA, SoC och ASIC; Power Management produkter; timing- och synkroniseringsenheter och exakta tidslösningar, sätter världens standard för tid; röstbehandlingsanordningar; RF-lösningar; diskreta komponenter; företagslagrings- och kommunikationslösningar, säkerhetsteknologier och skalbar anti-tamper produkter; Ethernet-lösningar; Power-over-Ethernet IC och midspans; samt anpassade designmöjligheter och tjänster. Läs mer på www.microsemi.com.

Microsemis högkvarter
One Enterprise, Aliso Viejo,
CA 92656 USA
Inom USA: +1 800-713-4113
Utanför USA: +1 949-380-6100
Försäljning: +1 949-380-6136
Fax: +1 949-215-4996
E-post: försäljning.support@microsemi.com
www.microsemi.com

©2021 Microsemi, ett helägt dotterbolag till Microchip Technology Inc. Med ensamrätt. Microsemi och Microsemi-logotypen är registrerade varumärken som tillhör Microsemi Corporation. Alla andra varumärken och servicemärken tillhör sina respektive ägare.

Microsemi Proprietary DG0703 Revision 4.0

Dokument/resurser

MICROCHIP feldetektering och korrigering på RTG4 LSRAM-minne [pdf] Användarhandbok
DG0703 Demo, feldetektering och korrigering på RTG4 LSRAM-minne, upptäckt och korrigering på RTG4 LSRAM-minne, RTG4 LSRAM-minne, LSRAM-minne

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *