DG0388 SmartFusion2 SoC FPGA-fout
Detectie en correctie van Seram-geheugen
Gebruikershandleiding
© 2021 Microsemi, een volledige dochteronderneming van Microchip Technology Inc. Alle rechten voorbehouden. Microsemi en het Microsemi-logo zijn gedeponeerde handelsmerken van Microsemi Corporation. Alle andere handelsmerken en servicemerken zijn eigendom van hun respectievelijke eigenaren.
Microsemi geeft geen garantie, verklaring of garantie met betrekking tot de informatie die hierin is opgenomen of de geschiktheid van haar producten en diensten voor een bepaald doel, noch aanvaardt Microsemi enige aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van welk product of circuit dan ook. De producten die hieronder worden verkocht en alle andere producten die door Microsemi worden verkocht, zijn onderworpen aan beperkte tests en mogen niet worden gebruikt in combinatie met bedrijfskritische apparatuur of toepassingen. Er wordt aangenomen dat alle prestatiespecificaties betrouwbaar zijn, maar deze worden niet geverifieerd, en de Koper moet alle prestatie- en andere tests van de producten uitvoeren en voltooien, alleen en samen met, of geïnstalleerd in, eventuele eindproducten. Koper mag niet vertrouwen op gegevens en prestatiespecificaties of parameters verstrekt door Microsemi. Het is de verantwoordelijkheid van de Koper om dit te doen
onafhankelijk de geschiktheid van producten bepalen en deze testen en verifiëren. De hieronder door Microsemi verstrekte informatie wordt verstrekt “as is, waar is” en met alle gebreken, en het volledige risico dat aan dergelijke informatie is verbonden, ligt volledig bij de Koper. Microsemi verleent aan geen enkele partij expliciet of impliciet enige octrooirechten, licenties of andere IE-rechten, ongeacht of dit betrekking heeft op dergelijke informatie zelf of op iets dat door dergelijke informatie wordt beschreven. De informatie in dit document is eigendom van Microsemi en Microsemi behoudt zich het recht voor om op elk moment en zonder voorafgaande kennisgeving wijzigingen aan te brengen in de informatie in dit document of in producten en diensten.
Over Microsemi
Microsemi, een volledige dochteronderneming van Microchip Technology Inc. (Nasdaq: MCHP), biedt een uitgebreide portfolio van halfgeleider- en systeemoplossingen voor ruimtevaart en defensie, communicatie, datacenters en industriële markten. Producten omvatten hoogwaardige en door straling geharde analoge mixed-signal geïntegreerde schakelingen, FPGA's, SoC's en ASIC's; energiebeheer producten; timing- en synchronisatieapparatuur en nauwkeurige tijdoplossingen, die de wereldstandaard voor tijd bepalen; spraakverwerkingsapparatuur; RF-oplossingen; discrete componenten; enterprise storage- en communicatieoplossingen, beveiligingstechnologieën en schaalbare anti-tamper producten; Ethernet-oplossingen; Power-over-Ethernet IC's en midspans; evenals aangepaste ontwerpmogelijkheden en diensten. Meer informatie op www.microsemi.com.
Revisiegeschiedenis
De revisiegeschiedenis beschrijft de wijzigingen die in het document zijn doorgevoerd. De wijzigingen zijn gerangschikt per revisie, te beginnen met de huidige publicatie.
1.1 Revisie 11.0
Het volgende is een samenvatting van de wijzigingen die in deze herziening zijn aangebracht.
- Het document bijgewerkt voor Libero SoC v12.6.
- De verwijzingen naar Libero-versienummers verwijderd.
1.2 Revisie 10.0
Het document voor de softwareversie van Libero SoC v11.8 SP1 bijgewerkt.
1.3 Revisie 9.0
Het document voor de softwareversie van Libero SoC v11.8 bijgewerkt.
1.4 Revisie 8.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.7 (SAR 77402).
1.5 Revisie 7.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.6 (SAR 72777).
1.6 Revisie 6.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.5 (SAR 64979).
1.7 Revisie 5.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.4 (SAR 60476).
1.8 Revisie 4.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.3 (SAR 56852).
1.9 Revisie 3.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.2 (SAR 52960).
1.10 Revisie 2.0
Het document bijgewerkt voor de softwareversie van Libero SoC v11.0 (SAR 47858).
1.11 Revisie 1.0
De eerste publicatie van dit document.
SmartFusion2 SoC FPGA – Foutdetectie en correctie van Seram-geheugen
Invoering
Dit document beschrijft de mogelijkheden voor foutdetectie en correctie (EDAC) van de SmartFusion® 2-apparaten op het ingebouwde statische Random Access Memory (Seram). De EDAC-controllers die in de SmartFusion2-apparaten zijn geïmplementeerd, ondersteunen Single-Error Correction en Double-Error Detection (SECDED). Alle herinneringen binnen het Microcontroller Subsystem (MSS) van de SmartFusion2 worden beschermd door SECDED. Het Seram-geheugen kan eSRAM_0 of eSRAM_1 zijn. Het adresbereik van eSRAM_0 is 0x20000000 tot 0x20007FFF en het adresbereik van eSRAM_1 is 0x20008000 tot 0x2000FFFF.
Wanneer SECDED is ingeschakeld:
- Een schrijfbewerking berekent en voegt 8 bits SECDED-code toe aan elke 32 bits aan gegevens.
- Een leesbewerking leest en vergelijkt de gegevens met de opgeslagen SECDED-code ter ondersteuning van 1-bit foutcorrectie en 2-bit foutdetectie.
In deze demo kan de EDAC worden geïdentificeerd aan de hand van de knipperende Light-Emitting Diode (LED) op het bord en aan de grafische gebruikersinterface (GUI).De EDAC van eSRAM ondersteunt de volgende functies:
- SECDED-mechanisme
- Biedt interrupts voor de ARM Cortex-M3-processor en FPGA-fabric bij detectie van een 1-bits fout of 2-bits fout.
- Slaat het aantal 1-bits en 2-bits fouten op in de foutentellerregisters.
- Slaat het adres op van de laatste 1-bit of 2-bit fout getroffen geheugenlocatie.
- Slaat 1-bit of 2-bit foutgegevens op in de SECDED-registers.
- Levert foutbussignalen aan de FPGA-structuur.
Raadpleeg het EDAC-hoofdstuk van de UG0443: SmartFusion2 en IGLOO2 FPGA Security and Reliability User Guide en het Seram-hoofdstuk van de UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
2.2 Demovereisten
De volgende tabel bevat de hardware- en softwarevereisten voor het uitvoeren van het demoontwerp.
Tabel 1 • Ontwerpvereisten
Vereiste | Versie |
Besturingssysteem | 64-bits Windows 7 en 10 |
Hardware | |
SmartFusion2 beveiligingsevaluatiekit: • FlashPro4-programmeur • USB A naar Mini – B USB-kabel • 12 V-adapter |
Rev D of later |
Software | |
FlashPro Express | Raadpleeg de readme.txt file voorzien in het ontwerp files voor de softwareversies die bij dit referentieontwerp worden gebruikt. |
Vrij | |
System-on-Chip (SoC)-software | |
SoftConsole | |
Host pc-stuurprogramma's | USB naar UART-stuurprogramma ' s |
Voor het starten van de demo-GUI | Microsoft.NET Framework 4-client |
Opmerking: Libero Smart Design en schermafbeeldingen van de configuratie die in deze handleiding worden weergegeven, zijn uitsluitend ter illustratie.
Open het Libero-ontwerp om de nieuwste updates te zien.
2.3 Voorwaarden
Voordat u begint:
Download en installeer Libero SoC (zoals aangegeven in de website voor dit ontwerp) op de host-pc vanaf de volgende locatie.
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
2.3.1 Ontwerp Files
Het demo-ontwerp files kunnen worden gedownload via het volgende pad in de Microsemi webwebsite: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Ontwerp files omvatten:
- GUI uitvoerbaar
- Libero-project
- Programmeeropdracht
- Leesmij file
De volgende afbeelding toont de structuur op het hoogste niveau van het ontwerp fileS. Voor meer details, zie readme.txt file.2.4 Beschrijving van demoontwerp
Elke Seram binnen de MSS wordt beschermd door een speciale EDAC-controller. EDAC detecteert een 1-bits of 2-bits fout wanneer gegevens uit het geheugen worden gelezen. Als EDAC de 1-bit fout detecteert, corrigeert de EDAC-controller dezelfde foutbit. Als EDAC is ingeschakeld voor alle 1-bits en 2-bits fouten, worden de overeenkomstige foutentellers in de systeemregisters verhoogd en worden overeenkomstige interrupts en foutbussignalen naar de FPGA-structuur gegenereerd.
In een omgeving die gevoelig is voor Single Event Upset (SEU), is Random Access Memory (RAM) gevoelig voor tijdelijke fouten veroorzaakt door zware ionen. Dit gebeurt in realtime. Om dit aan te tonen wordt handmatig een fout geïntroduceerd en wordt detectie en correctie waargenomen.
Dit demo-ontwerp omvat de implementatie van de volgende taken:
- Schakel EDAC in
- Schrijf gegevens naar Seram
- Lees gegevens van Seram
- EDAC uitschakelen
- Corrupt een of twee bits
- Schrijf gegevens naar Seram
- Schakel EDAC in
- Lees de gegevens
- In het geval van een 1-bits fout corrigeert de EDAC-controller de fout, werkt de overeenkomstige statusregisters bij en geeft de gegevens die in stap 2 zijn geschreven weer tijdens de leesbewerking die is uitgevoerd in stap 8.
- In het geval van een 2-bits fout wordt een overeenkomstige interrupt gegenereerd en moet de applicatie de gegevens corrigeren of de juiste actie ondernemen in de interrupt-handler. Deze twee methoden worden gedemonstreerd in deze demo.
In deze demo zijn twee tests geïmplementeerd: lustest en handmatige test, en deze zijn van toepassing op zowel 1-bits als 2-bits fouten.
2.4.1 Lustest
Lustest wordt uitgevoerd wanneer de SmartFusion2 een lustestcommando ontvangt van de GUI. Aanvankelijk worden alle fouttellers en EDAC-gerelateerde registers in de RESET-status geplaatst.
Voor elke iteratie worden de volgende stappen uitgevoerd:
- Schakel de EDAC-controller in.
- Schrijf de gegevens naar de specifieke Seram-geheugenlocatie.
- Schakel de EDAC-controller uit.
- Schrijf de 1-bit of 2-bit foutgeïnduceerde gegevens naar dezelfde Seram-geheugenlocatie.
- Schakel de EDAC-controller in.
- Lees de gegevens uit dezelfde Seram-geheugenlocatie.
- Stuur de 1-bit of 2-bit foutdetectie en 1-bit foutcorrectiegegevens in geval van een 1-bit fout naar de GUI.
2.4.2 Handmatige test
Deze methode maakt handmatige tests mogelijk voor het in- of uitschakelen van EDAC en schrijf- of leesbewerkingen. Met behulp van deze methode kunnen 1-bits of 2-bits fouten op elke locatie binnen de naad worden geïntroduceerd. Schakel de EDAC in en schrijf gegevens naar het opgegeven adres met behulp van de GUI-velden. Schakel de EDAC uit en schrijf 1-bit of 2-bit beschadigde gegevens naar dezelfde adreslocatie. Schakel de EDAC in en lees de gegevens van dezelfde adreslocatie, waarna de LED op het bord schakelt om de detectie en correctie van fouten aan te geven. De bijbehorende foutenteller wordt weergegeven op de GUI. De GUI Seriële Console registreert alle acties die in SmartFusion2 worden uitgevoerd.
De volgende afbeelding toont de demo-operaties van Seram EDAC.2.5 De demo uitvoeren
In dit gedeelte wordt de installatie van het SmartFusion2 Security Evaluation Kit-bord beschreven, de GUI-opties en hoe u het demo-ontwerp kunt uitvoeren.
2.5.1 Demo-installatie
De volgende stappen beschrijven hoe u de demo instelt:
- Sluit de FlashPro4-programmeur aan op de J5-connector van het SmartFusion2 Security Evaluation Kit-bord.
- Sluit het ene uiteinde van de USB mini-B-kabel aan op de J18-connector op de SmartFusion2 Security Evaluation Kit-kaart. Sluit het andere uiteinde van de USB-kabel aan op de host-pc. Zorg ervoor dat de USB naar UART Bridge-stuurprogramma's automatisch worden gedetecteerd (kan worden geverifieerd in Apparaatbeheer), zoals weergegeven in Afbeelding 4, pagina 7.
Opmerking: Kopieer het COM-poortnummer voor de configuratie van de seriële poort. Zorg ervoor dat de COM-poortlocatie is opgegeven zoals op USB Serial Converter D, zoals weergegeven in de volgende afbeelding. - Als er geen USB-naar-UART-bridge-stuurprogramma's zijn geïnstalleerd, downloadt en installeert u de stuurprogramma's van www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
- Sluit de jumpers op de SmartFusion2 Security Evaluation Kit-kaart aan, zoals weergegeven in de volgende afbeelding. De voedingsschakelaar SW7 moet uitgeschakeld zijn tijdens het maken van de jumperverbindingen.
Tabel 2 • SmartFusion2 Security Evaluation Kit JumperinstellingenTrui Vastzetten (van) Vastzetten (aan) Reacties J22, J23, J24, J8, J3 1 (standaard) 2 Dit zijn de standaard jumperinstellingen van de SmartFusion2 Security Evaluation Kit-kaart. Zorg ervoor dat deze jumpers dienovereenkomstig zijn ingesteld. - Sluit de voeding aan op de J18-connector.
De volgende afbeelding toont de bordopstelling voor het uitvoeren van de demo op de SmartFusion2 SecuEvaluation Kit.2.5.2 Grafische gebruikersinterface
Het volgende gedeelte beschrijft de GUI van Seram – EDAC-demo.
De GUI ondersteunt de volgende functies:
- Selectie van COM-poort en baudsnelheid.
- Selectie van het tabblad 1-bit foutcorrectie of 2-bit foutdetectie.
- Selectie van eSRAM0 of eSRAM1.
- Adresveld om gegevens naar of van het opgegeven Seram-adres te schrijven of te lezen.
- Gegevensveld om gegevens te schrijven of te lezen naar of van het opgegeven Seram-adres.
- Sectie Seriële console om de statusinformatie af te drukken die is ontvangen van de applicatie.
- EDAC AAN/UIT: Schakelt de EDAC in of uit.
- Schrijven: Maakt het schrijven van gegevens naar het opgegeven adres mogelijk.
- Lezen: Maakt het lezen van gegevens van het opgegeven adres mogelijk.
- LOOP-test AAN/UIT: Maakt het testen van het EDAC-mechanisme in een lusmethode mogelijk.
2.5.3 Het ontwerp uitvoeren
De volgende stappen beschrijven hoe u het ontwerp uitvoert:
- Schakel de voedingsschakelaar, SW7, in.
- Programmeer het SmartFusion2 Security Evaluation Kit-bord met de taak file geleverd als onderdeel van het ontwerp files (\Programming job\eSRAM_0\eSRAM0.job of \Programming job\eSRAM_1\eSRAM1.job) met FlashPro Express-software, zie Bijlage: Het apparaat programmeren met FlashPro Express, pagina 12.
- Druk op de SW6-schakelaar om de kaart te resetten na een succesvolle programmering.
- Start het uitvoerbare bestand EDAC_eSRAM Demo GUI file beschikbaar in het ontwerp files (\GUI uitvoerbaar\EDAC_eSRAM.exe). Het GUI-venster wordt weergegeven, zoals weergegeven in Afbeelding 6, pagina 9.
- Selecteer de juiste COM-poort (waarnaar USB naar UART Bridge-stuurprogramma's verwijzen) in de vervolgkeuzelijst COM-poort.
- Selecteer de baudsnelheid als 57600 en klik op Verbinden. Nadat de verbinding tot stand is gebracht, verandert Connect in Disconnect.
- Selecteer Seram 0 of Seram 1, afhankelijk van de programmering file geselecteerd in stap 2.
- Selecteer het tabblad 1-bit Foutcorrectie of 2-bit Foutdetectie, zoals weergegeven in Figuur 7, pagina 10. en Figuur 8, pagina 11.
- Er kunnen twee soorten tests worden uitgevoerd: handmatig en lus.
2.5.3.1 Lustest uitvoeren
Klik op Lustest AAN. Het werkt in lusmodus, waarbij continue correctie en detectie van fouten wordt uitgevoerd. De lus duurt 200 iteraties. Alle acties die in SmartFusion2 worden uitgevoerd, worden vastgelegd in het seriële consolegedeelte van de GUI. De 2-bit foutdetectielustest drukt de door de fout getroffen Seram-adresoffset af in de seriële console. Klik op Lustest UIT nadat 200 iteraties zijn voltooid.
Tabel 3 • Seram-geheugenadressen gebruikt bij lustest
Geheugen 1 | 1-bit foutcorrectie | 2-bits foutdetectie |
eSRAM0 | 0x20000000 | 0x20002000 |
eSRAM1 | 0x20008000 | 0x2000A000 |
2.5.3.2 Handmatige test uitvoeren
Bij deze methode worden fouten handmatig geïntroduceerd met behulp van GUI. Gebruik de volgende stappen om 1-bit foutcorrectie of 2-bit foutdetectie uit te voeren:
- Voer adres- en gegevensvelden in (gebruik 32-bits hexadecimale waarden).
- Klik op EDAC AAN.
- Klik op Schrijven.
- Klik op EDAC UIT.
- Wijzig gewoon 1-bit (in het geval van 1-bit foutcorrectie) of 2 bits (in het geval van 2-bit foutdetectie) in het gegevensveld (introductie van fout).
- Klik op Schrijven.
- Klik op EDAC AAN.
- Klik op Lezen.
- Bekijk de weergave van het aantal fouten en het gegevensveld in de GUI. De fouttellingswaarde wordt met 1 verhoogd.
Alle acties die in SmartFusion2 worden uitgevoerd, worden vastgelegd in het seriële consolegedeelte van de GUI.
Opmerking: Als u wilt overschakelen van het tabblad 1-bit Foutcorrectie naar het tabblad 2-bit Foutdetectie of omgekeerd in de EDAC_eSRAM Demo GUI, stelt u de hardwarekaart opnieuw in.
2.6 Conclusie
Deze demo toont de SmartFusion2 SECDED-mogelijkheden van de Seram.
Bijlage: Het apparaat programmeren met FlashPro Express
In dit gedeelte wordt beschreven hoe u het SmartFusion2-apparaat programmeert met de programmeertaak file met behulp van Flash Pro Express.
Voer de volgende stappen uit om het apparaat te programmeren:
- Zorg ervoor dat de jumperinstellingen op de kaart dezelfde zijn als vermeld in Tabel 2, pagina 7.
Opmerking: De voedingsschakelaar moet uitgeschakeld zijn tijdens het maken van de jumperverbindingen. - Sluit de voedingskabel aan op de J6-connector op het bord.
- Schakel de voedingsschakelaar SW7 in.
- Start op de host-pc de FlashPro Express-software.
- Klik op Nieuw of selecteer Nieuw taakproject in FlashPro Express Job in het menu Project om een nieuw taakproject te maken, zoals weergegeven in de volgende afbeelding.
- Voer het volgende in het dialoogvenster Nieuw taakproject van FlashPro Express Job in:
• Programmeeropdracht file: Klik op Bladeren en navigeer naar de locatie waar de .job file bevindt zich en selecteer de file. De standaardlocatie is: \m2s_dg0388_df\Programmeeropdracht
• FlashPro Express-taakprojectnaam: klik op Bladeren en navigeer naar de locatie waar u het project wilt opslaan. - Klik OK. De benodigde programmering file is geselecteerd en klaar om te worden geprogrammeerd in het apparaat.
- Het FlashPro Express-venster verschijnt zoals weergegeven in de volgende afbeelding. Controleer of er een programmeurnummer verschijnt in het veld Programmeur. Als dit niet het geval is, bevestigt u de kaartverbindingen en klikt u op Refresh/Rescan Programmers.
- Klik op UITVOEREN. Wanneer het apparaat met succes is geprogrammeerd, wordt de status RUN GESLAAGD weergegeven, zoals weergegeven in de volgende afbeelding.
- Sluit FlashPro Express of klik op het tabblad Project op Afsluiten.
Microsemi-hoofdkantoor
Een onderneming, Aliso Viejo,
CA 92656 VS.
Binnen de VS: +1 800-713-4113
Buiten de VS: +1 949-380-6100
Verkoop: +1 949-380-6136
Faxen: +1 949-215-4996
E-mailadres: sales.support@microsemi.com
www.microsemi.com
Microsemi Eigendom DG0388 Herziening 11.0
Documenten / Bronnen
![]() |
Microsemi DG0388 SmartFusion2 SoC FPGA-foutdetectie en correctie van eSRAM-geheugen [pdf] Gebruikershandleiding DG0388, SmartFusion2 SoC FPGA-foutdetectie en correctie van eSRAM-geheugen, DG0388 SmartFusion2 SoC FPGA-foutdetectie en correctie van eSRAM-geheugen |