DG0388 SmartFusion2 SoC FPGA-fel
Detektering och korrigering av seramminne
Användarhandbok
©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 lämnar inga garantier, representationer eller garantier avseende informationen häri eller lämpligheten av dess produkter och tjänster för något speciellt ä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 tros 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.
Revisionshistorik
Revisionshistoriken beskriver de ändringar som implementerades i dokumentet. Ändringarna listas efter revidering, med början i den aktuella publikationen.
1.1 Revision 11.0
Följande är en sammanfattning av ändringarna som gjorts i denna revidering.
- Uppdaterade dokumentet för Libero SoC v12.6.
- Har tagit bort referenserna till Libero versionsnummer.
1.2 Revision 10.0
Uppdaterade dokumentet för Libero SoC v11.8 SP1 mjukvaruversion.
1.3 Revision 9.0
Uppdaterade dokumentet för Libero SoC v11.8 mjukvaruversionen.
1.4 Revision 8.0
Uppdaterade dokumentet för Libero SoC v11.7 mjukvaruversionen (SAR 77402).
1.5 Revision 7.0
Uppdaterade dokumentet för Libero SoC v11.6 mjukvaruversionen (SAR 72777).
1.6 Revision 6.0
Uppdaterade dokumentet för Libero SoC v11.5 mjukvaruversionen (SAR 64979).
1.7 Revision 5.0
Uppdaterade dokumentet för Libero SoC v11.4 mjukvaruversionen (SAR 60476).
1.8 Revision 4.0
Uppdaterade dokumentet för Libero SoC v11.3 mjukvaruversionen (SAR 56852).
1.9 Revision 3.0
Uppdaterade dokumentet för Libero SoC v11.2 mjukvaruversionen (SAR 52960).
1.10 Revision 2.0
Uppdaterade dokumentet för Libero SoC v11.0 mjukvaruversionen (SAR 47858).
1.11 Revision 1.0
Den första publiceringen av detta dokument.
SmartFusion2 SoC FPGA – Feldetektering och korrigering av Seram-minne
Introduktion
Det här dokumentet beskriver EDAC-funktionerna (Error Detection and Correction) hos SmartFusion® 2-enheterna på det inbäddade statiska direktminnet (Seram). EDAC-styrenheterna implementerade i SmartFusion2-enheterna stöder Single-Error Correction och Double-Error Detection (SECDED). Alla minnen inom Microcontroller Subsystem (MSS) i SmartFusion2 är skyddade av SECDED. Seram-minnet kan vara eSRAM_0 eller eSRAM_1. Adressintervallet för eSRAM_0 är 0x20000000 till 0x20007FFF och adressintervallet för eSRAM_1 är 0x20008000 till 0x2000FFFF.
När SECDED är aktiverat:
- En skrivoperation beräknar och lägger till 8 bitar av SECDED-kod till var 32:e bit data.
- En läsoperation läser och kontrollerar data mot den lagrade SECDED-koden för att stödja 1-bitars felkorrigering och 2-bitars feldetektering.
I denna demo kan EDAC identifieras av den blinkande lysdioden (LED) på kortet och av det grafiska användargränssnittet (GUI).EDAC av eSRAM stöder följande funktioner:
- SECDED-mekanism
- Ger avbrott till ARM Cortex-M3-processorn och FPGA-tyget vid upptäckt av ett 1-bitars fel eller 2-bitars fel.
- Lagrar antalet 1-bitars och 2-bitars fel i felräknarens register.
- Lagrar adressen för den senaste 1-bitars eller 2-bitars felpåverkade minnesplatsen.
- Lagrar 1-bitars eller 2-bitars feldata i SECDED-registren.
- Ger felbusssignaler till FPGA-strukturen.
Se EDAC-kapitlet i UG0443: SmartFusion2 och IGLOO2 FPGA Security and Reliability User Guide och Seram-kapitlet i UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
2.2 Demokrav
Följande tabell listar hård- och mjukvarukraven för att köra demodesignen.
Tabell 1 • Designkrav
Krav | Version |
Operativsystem | 64-bitars Windows 7 och 10 |
Hårdvara | |
SmartFusion2 Security Evaluation Kit: • FlashPro4-programmerare • USB A till Mini – B USB-kabel • 12 V-adapter |
Rev D eller senare |
Programvara | |
FlashPro Express | Se readme.txt file tillhandahålls i designen files för de programvaruversioner som används med denna referensdesign. |
Libero | |
System-on-Chip (SoC) programvara | |
SoftConsole | |
Värd PC-drivrutiner | Drivrutiner för USB till UART |
För att lansera demo GUI | Microsoft.NET Framework 4-klient |
Notera: Libero Smart Design 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.
2.3 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
2.3.1 Design Files
Demodesignen files är tillgängliga för nedladdning från följande sökväg i Microsemi webplats: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Design files inkluderar:
- GUI körbar
- Libero-projektet
- Programmeringsjobb
- Läs mig file
Följande bild visar designens översta struktur files. För ytterligare information, se readme.txt file.2.4 Demodesignbeskrivning
Varje seram inom MSS skyddas av en dedikerad EDAC-kontroller. EDAC upptäcker ett 1-bitars fel eller 2-bitars fel när data läses från minnet. Om EDAC upptäcker 1-bitars felet korrigerar EDAC-styrenheten samma felbit. Om EDAC är aktiverat för alla 1-bitars och 2-bitars fel, inkrementeras motsvarande felräknare i systemregistren och motsvarande avbrott och felbusssignaler till FPGA-strukturen genereras.
I en SEU-känslig miljö är Random Access Memory (RAM) benäget att få transienta fel orsakade av tunga joner. Detta sker i realtid. För att demonstrera detta införs ett fel manuellt och detektering och korrigering observeras.
Denna demodesign involverar implementering av följande uppgifter:
- Aktivera EDAC
- Skriv data till Seram
- Läs data från Seram
- Inaktivera EDAC
- Korrupta en eller två bitar
- Skriv data till Seram
- Aktivera EDAC
- Läs informationen
- I fallet med ett 1-bitars fel korrigerar EDAC-styrenheten felet, uppdaterar motsvarande statusregister och ger data som skrivits i steg 2 vid läsoperationen som gjordes i steg 8.
- I fallet med ett 2-bitars fel genereras ett motsvarande avbrott, och applikationen måste korrigera data eller vidta lämplig åtgärd i avbrottshanteraren. Dessa två metoder visas i denna demo.
Två tester implementeras i denna demo: looptest och manuellt test, och de är tillämpliga på både 1-bitars och 2-bitars fel.
2.4.1 Slingtest
Loop Test exekveras när SmartFusion2 tar emot ett looptestkommando från GUI. Initialt placeras alla felräknare och EDAC-relaterade register i RESET-tillståndet.
Följande steg utförs för varje iteration:
- Aktivera EDAC-styrenheten.
- Skriv data till den specifika Seram-minnesplatsen.
- Inaktivera EDAC-styrenheten.
- Skriv 1-bitars eller 2-bitars felinducerade data till samma Seram-minnesplats.
- Aktivera EDAC-styrenheten.
- Läs data från samma Seram-minnesplats.
- Skicka 1-bitars eller 2-bitars feldetektering och 1-bitars felkorrigeringsdata vid 1-bitars fel till GUI.
2.4.2 Manuellt test
Denna metod tillåter manuell testning för att aktivera eller inaktivera EDAC och skriv- eller läsfunktion. Med denna metod kan 1-bitars eller 2-bitars fel introduceras till vilken plats som helst inom sömmen. Aktivera EDAC och skriv data till den angivna adressen med GUI-fälten. Inaktivera EDAC och skriv 1-bitars eller 2-bitars korrupta data till samma adressplats. Aktivera EDAC och läs data från samma adressplats, sedan växlar lysdioden på kortet för att meddela upptäckt och korrigering av fel. Motsvarande felräknare visas på GUI. GUI Serial Console loggar alla åtgärder som utförs i SmartFusion2.
Följande bild visar Seram EDAC-demofunktionerna.2.5 Köra demon
Det här avsnittet beskriver SmartFusion2 Security Evaluation Kit-kortkonfigurationen, GUI-alternativen och hur man utför demodesignen.
2.5.1 Demoinställningar
Följande steg beskriver hur du ställer in demon:
- Anslut FlashPro4-programmeraren till J5-kontakten på SmartFusion2 Security Evaluation Kit-kortet.
- Anslut ena änden av USB mini-B-kabeln till J18-kontakten som finns i SmartFusion2 Security Evaluation Kit-kortet. Anslut den andra änden av USB-kabeln till värddatorn. Se till att drivrutinerna för USB till UART Bridge upptäcks automatiskt (kan verifieras i Enhetshanteraren), som visas i figur 4, sidan 7.
Notera: Kopiera COM-portnumret för seriell portkonfiguration. Se till att COM-portens placering är specificerad som på USB Seriell Converter D, som visas i följande figur. - Om USB till UART-bryggdrivrutiner inte är installerade, ladda ner och installera drivrutinerna från www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
- Anslut byglarna på SmartFusion2 Security Evaluation Kit-kortet, som visas i följande figur. Strömbrytaren SW7 måste vara avstängd när bygelanslutningarna görs.
Tabell 2 • SmartFusion2 Security Evaluation Kit Jumper SettingsJumper Pin (från) Fäst (till) Kommentarer J22, J23, J24, J8, J3 1 (standard) 2 Det här är standardbyglingsinställningarna för SmartFusion2 Security Evaluation Kit-kortet. Se till att dessa byglar är inställda därefter. - Anslut strömförsörjningen till J18-kontakten.
Följande bild visar kortets inställningar för att köra demon på SmartFusion2 SecuEvaluation Kit.2.5.2 Grafiskt användargränssnitt
Följande avsnitt beskriver Seram – EDAC demo GUI.
GUI stöder följande funktioner:
- Val av COM-port och Baud-hastighet.
- Val av 1-bitars felkorrigeringsflik eller 2-bitars feldetekteringsflik.
- Val av eSRAM0 eller eSRAM1.
- Adressfält för att skriva eller läsa data till eller från specificerad Seram-adress.
- Datafält för att skriva eller läsa data till eller från specificerad Seram-adress.
- Serial Console-sektion för att skriva ut statusinformationen som mottagits från applikationen.
- EDAC PÅ/AV: Aktiverar eller inaktiverar EDAC.
- Skriv: Gör det möjligt att skriva data till den angivna adressen.
- Läs: Tillåter att läsa data från den angivna adressen.
- LOOP-test PÅ/AV: Tillåter testning av EDAC-mekanismen i en loopmetod.
2.5.3 Köra designen
Följande steg beskriver hur du kör designen:
- Slå PÅ matningsströmbrytaren, SW7.
- Programmera SmartFusion2 Security Evaluation Kit-tavlan med jobbet file tillhandahålls som en del av designen files (\Programmeringsjobb\eSRAM_0\eSRAM0.job eller \Programmeringsjobb\eSRAM_1\eSRAM1.job) med FlashPro Express-programvara, se Bilaga: Programmera enheten med FlashPro Express, sidan 12.
- Tryck på SW6-omkopplaren för att återställa kortet efter lyckad programmering.
- Starta EDAC_eSRAM Demo GUI körbar file finns i designen files (\GUI Executable\ EDAC_eSRAM.exe). GUI-fönstret visas, som visas i figur 6, sidan 9.
- Välj lämplig COM-port (som USB till UART Bridge-drivrutiner pekar mot) från rullgardinsmenyn COM-port.
- Välj Baud Rate som 57600 och klicka på Anslut. När anslutningen har upprättats ändras Connect till Koppla från.
- Välj Seram 0 eller Seram 1 beroende på programmeringen file valdes i steg 2.
- Välj fliken 1-bitars felkorrigering eller 2-bitars felavkänning, som visas i figur 7, sidan 10. och figur 8, sidan 11.
- Två typer av tester kan utföras: Manuell och Loop.
2.5.3.1 Utföra slingtest
Klicka på Loop Test ON. Den körs i loop-läge där kontinuerlig korrigering och upptäckt av fel görs. Slingan körs i 200 iterationer. Alla åtgärder som utförs i SmartFusion2 loggas i avsnittet Serial Console i GUI. Slingtestet för 2-bitars feldetektering skriver ut den felpåverkade Seram-adressoffset i Serial Console. Klicka på Loop Test OFF efter att 200 iterationer har slutförts.
Tabell 3 • Seramminnesadresser som används i looptest
Minne 1 | 1-bitars felkorrigering | 2-bitars feldetektering |
eSRAM0 | 0x20000000 | 0x20002000 |
eSRAM1 | 0x20008000 | 0x2000A000 |
2.5.3.2 Utföra manuellt test
I den här metoden introduceras fel manuellt med GUI. Använd följande steg för att utföra 1-bitars felkorrigering eller 2-bitars feldetektering:
- Inmatningsadress och datafält (använd 32-bitars hexadecimala värden).
- Klicka på EDAC PÅ.
- Klicka på Skriv.
- Klicka på EDAC AV.
- Ändra bara 1-bitars (vid 1-bitars felkorrigering) eller 2 bitar (vid 2-bitars feldetektering) i datafältet (introducerar fel).
- Klicka på Skriv.
- Klicka på EDAC PÅ.
- Klicka på Läs.
- Observera visningen av felräkning och datafält i GUI. Felräkningsvärdet ökar med 1.
Alla åtgärder som utförs i SmartFusion2 loggas i Serial Console-delen av GUI.
Notera: För att byta från 1-bitars felkorrigeringsflik till 2-bitars felsökningsflik eller vice versa i EDAC_eSRAM Demo GUI, återställ hårdvarukortet.
2.6 Slutsats
Denna demo visar SmartFusion2 SECDED-funktionerna hos Seram.
Bilaga: Programmera enheten med FlashPro Express
Det här avsnittet beskriver hur du programmerar SmartFusion2-enheten med programmeringsjobbet file med FlashPro Express.
Utför följande steg för att programmera enheten:
- Se till att bygelinställningarna på kortet är desamma som de som anges i Tabell 2, sidan 7.
Notera: Strömbrytaren måste vara avstängd när bygelanslutningarna görs. - Anslut strömkabeln till J6-kontakten på kortet.
- Slå PÅ strömbrytaren SW7.
- Starta programvaran FlashPro Express på värddatorn.
- 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.
- 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: \m2s_dg0388_df\Programmeringsjobb
• FlashPro Express-jobbprojektnamn: Klicka på Bläddra och navigera till den plats där du vill spara projektet. - Klicka på OK. Den nödvändiga programmeringen file är vald och redo att programmeras i enheten.
- FlashPro Express-fönstret visas som visas i följande figur. 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.
- Klicka på KÖR. När enheten har programmerats med framgång visas statusen KÖR GÅRD som visas i följande bild.
- Stäng FlashPro Express eller klicka på Avsluta på fliken Projekt.
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: sales.support@microsemi.com
www.microsemi.com
Microsemi Proprietary DG0388 Revision 11.0
Dokument/resurser
![]() |
Microsemi DG0388 SmartFusion2 SoC FPGA-feldetektering och korrigering av eSRAM-minne [pdf] Användarhandbok DG0388, SmartFusion2 SoC FPGA-feldetektering och korrigering av eSRAM-minne, DG0388 SmartFusion2 SoC FPGA-feldetektering och korrigering av eSRAM-minne |