Microsemi DG0618 Error Detection ug Correction sa SmartFusion2 Devices gamit ang DDR Memory
Microsemi Corporate Headquarters
Usa ka Enterprise, Aliso Viejo,
CA 92656 USA
Sulod sa USA: +1 800-713-4113
Sa gawas sa USA: +1 949-380-6100
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Tanang katungod gigahin. Ang Microsemi ug ang Microsemi logo kay mga trademark sa Microsemi Corporation. Ang tanan nga uban nga mga marka sa pamatigayon ug mga marka sa serbisyo mao ang kabtangan sa ilang tagsa-tagsa nga mga tag-iya
Ang Microsemi walay garantiya, representasyon, o garantiya bahin sa impormasyon nga anaa dinhi o ang kaangayan sa mga produkto ug serbisyo niini para sa bisan unsang partikular nga katuyoan, ni ang Microsemi miangkon sa bisan unsa nga tulubagon bisan unsa nga motungha gikan sa aplikasyon o paggamit sa bisan unsang produkto o sirkito. Ang mga produkto nga gibaligya dinhi ug ang bisan unsang ubang mga produkto nga gibaligya sa Microsemi gipailalom sa limitado nga pagsulay ug dili kinahanglan gamiton kauban ang mga kagamitan o aplikasyon nga kritikal sa misyon. Ang bisan unsang mga detalye sa pasundayag gituohan nga kasaligan apan wala mapamatud-an, ug ang Buyer kinahanglan nga magpahigayon ug mokompleto sa tanan nga pasundayag ug uban pang pagsulay sa mga produkto, nga nag-inusara ug kauban, o na-install sa, bisan unsang katapusan nga mga produkto. Ang pumapalit dili magsalig sa bisan unsang datos ug mga detalye sa pasundayag o mga parameter nga gihatag sa Microsemi. Responsibilidad sa Mamalit nga independente nga mahibal-an ang pagkaangay sa bisan unsang mga produkto ug sulayan ug pamatud-an ang parehas. Ang kasayuran nga gihatag sa Microsemi sa ilawom gihatag "sama sa kung asa" ug sa tanan nga mga sayup, ug ang tibuuk nga peligro nga may kalabotan sa ingon nga kasayuran hingpit nga naa sa Mamalit. Ang Microsemi wala maghatag, sa dayag o dili klaro, sa bisan unsang partido sa bisan unsang mga katungod sa patente, lisensya, o bisan unsang ubang mga katungod sa IP, bisan kung bahin sa ingon nga kasayuran mismo o bisan unsang gihulagway sa ingon nga kasayuran. Ang kasayuran nga gihatag sa kini nga dokumento gipanag-iya sa Microsemi, ug ang Microsemi adunay katungod sa paghimo sa bisan unsang mga pagbag-o sa kasayuran niini nga dokumento o sa bisan unsang mga produkto ug serbisyo sa bisan unsang oras nga wala’y pahibalo.
Mahitungod sa Microsemi
Ang Microsemi Corporation (Nasdaq: MSCC) nagtanyag usa ka komprehensibo nga portfolio sa semiconductor ug mga solusyon sa sistema alang sa aerospace ug depensa, komunikasyon, sentro sa datos ug mga merkado sa industriya. Ang mga produkto naglakip sa high-performance ug radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs ug ASICs; mga produkto sa pagdumala sa kuryente; timing ug synchronization nga mga himan ug tukma nga mga solusyon sa oras, nga nagtakda sa sumbanan sa kalibutan alang sa panahon; mga himan sa pagproseso sa tingog; Mga solusyon sa RF; discrete nga mga sangkap; mga solusyon sa pagtipig ug komunikasyon sa negosyo, mga teknolohiya sa seguridad ug scalable nga anti-tampmga produkto; Mga solusyon sa Ethernet; Power-over-Ethernet ICs ug midspans; ingon man usab sa kostumbre nga mga kapabilidad sa disenyo ug serbisyo. Ang Microsemi nahimutang sa Aliso Viejo, California, ug adunay gibana-bana nga 4,800 ka mga empleyado sa tibuok kalibutan. Pagkat-on og dugang sa www.microsemi.com.
Kasaysayan sa Pagbag-o
Ang kasaysayan sa rebisyon naghulagway sa mga kausaban nga gipatuman sa dokumento. Ang mga pagbag-o gilista pinaagi sa rebisyon, sugod sa pinakabag-o nga publikasyon.
- Rebisyon 4.0
Gi-update ang dokumento alang sa Libero v11.8 software release. - Rebisyon 3.0
Gi-update ang dokumento alang sa Libero v11.7 software release. - Rebisyon 2.0
Gi-update ang dokumento alang sa Libero v11.6 software release. - Rebisyon 1.0
Inisyal nga pagpagawas alang sa Libero SoC v11.5 software release.
Error Detection ug Correction sa SmartFusion2 Devices gamit ang DDR Memory
Pasiuna
Sa usa ka panghitabo nga masulub-on (SEU) delikado nga palibot, ang random access memory (RAM) kay prone sa lumalabay nga mga kasaypanan tungod sa bug-at nga mga ion.
Kini nga dokumento naghulagway sa mga kapabilidad sa EDAC sa SoC FPGA, nga gigamit sa mga aplikasyon nga adunay mga panumduman nga konektado pinaagi sa microcontroller subsystem (MSS) DDR (MDDR).
Ang EDAC controllers nga gipatuman sa SmartFusion2 device nagsuporta sa usa ka error correction ug double error detection (SECDED). Ang tanan nga mga panumduman—gipalambo nga static random access memory (eSRAM), DDR, low-power DDR (LPDDR)—sulod sa SmartFusion2 MSS nga mga himan giprotektahan sa SECDED. Ang DDR synchronous dynamic random access memory (SDRAM) mahimong DDR2, DDR3, o LPDDR1, depende sa MDDR configuration ug hardware ECC nga kapabilidad.
Ang SmartFusion2 MDDR subsystem nagsuporta sa mga densidad sa memorya hangtod sa 4 GB. Sa kini nga demo, mahimo nimong pilion ang bisan unsang lokasyon sa memorya nga 1 GB sa wanang sa address sa DDR (0xA0000000 hangtod 0xDFFFFFFF).
Kung ang SECDED gipalihok:
- Ang operasyon sa pagsulat nag-compute ug nagdugang 8 bits sa SECDED code (sa matag 64 bits sa data)
- Ang usa ka read operation nagbasa ug nagsusi sa datos batok sa gitipigan nga SECDED code aron suportahan ang 1-bit error correction ug 2-bit error detection
Ang mosunod nga ilustrasyon naghulagway sa block diagram sa SmartFusion2 EDAC sa DDR SDRAM.
Figure 1 • Top-Level Block Diagram
Ang EDAC nga bahin sa DDR nagsuporta sa mosunod:
- SECDED nga mekanismo
- Naghatag mga interrupts sa ARM Cortex-M3 processor ug FPGA nga tela sa pagkakita sa usa ka 1-bit error o 2-bit error
- Gitipigan ang gidaghanon sa 1-bit ug 2-bit errors sa error counter registers
- Gitipigan ang adres sa katapusang 1-bit o 2-bit nga sayup nga apektado sa lokasyon sa memorya
- Gitipigan ang 1-bit o 2-bit error data sa SECDED registers
- naghatag ug sayop nga mga signal sa bus sa FPGA nga panapton
Para sa dugang nga impormasyon bahin sa EDAC, tan-awa ang UG0443: SmartFusion2 ug IGLOO2 FPGA Security and Reliability User Guide ug UG0446: SmartFusion2 ug IGLOO2 FPGA High-Speed DDR Interfaces User Guide.
Mga Kinahanglanon sa Disenyo
Ang mosunod nga talaan naglista sa mga kinahanglanon sa disenyo.
Talaan 1 • Mga Kinahanglanon sa Disenyo
- Deskripsyon sa mga Kinahanglanon sa Disenyo
- Mga Kinahanglanon sa Hardware
- SmartFusion2 Advanced Development Kit board Rev B o sa ulahi
- FlashPro5 programmer o sa ulahi
- USB A hangtod sa mini-B USB cable
- Power adapter 12 V
- DDR3 Daughter board
- Operating System Bisan unsang 64-bit o 32-bit Windows XP SP2
- Bisan unsang 64-bit o 32-bit Windows 7
- Mga Kinahanglanon sa Software
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- FlashPro programming software v11.8
- Host PC Drivers USB sa UART drivers
- Framework sa pagpadagan sa demonstrasyon sa Microsoft .NET Framework 4 nga kliyente
Disenyo sa Demo
Ang disenyo sa demo files anaa alang sa pag-download gikan sa mosunod nga dalan sa Microsemi website: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Ang disenyo sa demo files naglakip sa:
- Pag-configure sa DDR File
- DDR_EDAC
- Pagprograma files
- GUI executable
- Basaha ko file
Ang mosunod nga ilustrasyon naghulagway sa top-level nga istruktura sa disenyo files. Para sa dugang nga mga detalye, tan-awa ang readme.txt file.
Figure 2 • Demo Design Top-Level Structure
Pagpatuman sa Demo Design
Ang MDDR subsystem adunay gipahinungod nga EDAC controller. Namatikdan sa EDAC ang usa ka 1-bit nga sayup o 2-bit nga sayup kung ang datos gibasa gikan sa memorya. Kung makit-an sa EDAC ang 1-bit nga sayup, ang EDAC controller magtul-id sa gamay nga sayup. Kung ang EDAC gipagana alang sa tanan nga 1-bit ug 2-bit nga mga sayup, ang katugbang nga mga counter sa sayup sa mga rehistro sa sistema madugangan ug ang katugbang nga mga interrupts ug mga signal sa error sa bus sa panapton nga FPGA mamugna.
Kini mahitabo sa tinuod nga panahon. Aron ipakita kini nga SECDED nga bahin, usa ka sayup ang gipaila sa mano-mano ug naobserbahan nga pagkakita ug pagtul-id.
Kini nga disenyo sa demo naglakip sa pagpatuman sa mosunod nga mga lakang:
- I-enable ang EDAC
- Isulat ang datos sa DDR
- Basaha ang datos gikan sa DDR
- I-disable ang EDAC
- Korap nga 1 o 2 ka bit
- Isulat ang datos sa DDR
- I-enable ang EDAC
- Basaha ang datos
- Sa kaso sa usa ka 1-bit nga sayup, ang EDAC controller nagtul-id sa sayup, nag-update sa katugbang nga mga rehistro sa status, ug naghatag sa datos nga gisulat sa Lakang 2 sa pagbasa nga operasyon nga gihimo sa Lakang 8.
- Sa kaso sa usa ka 2-bit error, usa ka katugbang nga interrupt ang namugna ug ang aplikasyon kinahanglan nga magtul-id sa datos o mohimo sa angay nga aksyon sa interrupt handler. Kining duha ka pamaagi gipakita niini nga demo.
Duha ka pagsulay ang gipatuman niini nga demo: loop test ug manual test ug kini magamit sa 1-bit ug 2-bit errors.
Pagsulay sa Loop
Ang pagsulay sa loop gipatuman kung ang mga aparato sa SmartFusion2 makadawat usa ka mando sa pagsulay sa loop gikan sa GUI. Sa sinugdan, ang tanang error counters ug EDAC related registers gibutang sa RESET state.
Ang mosunod nga mga lakang gihimo alang sa matag pag-uli.
- I-enable ang EDAC controller
- Isulat ang datos sa piho nga lokasyon sa memorya sa DDR
- I-disable ang EDAC controller
- Isulat ang 1-bit o 2-bit error induced data sa parehas nga lokasyon sa memorya sa DDR
- I-enable ang EDAC controller
- Basaha ang datos gikan sa parehas nga lokasyon sa memorya sa DDR
- Ipadala ang 1-bit o 2-bit error detection ug 1-bit error correction data sa kaso sa 1-bit error sa GUI
Manwal nga Pagsulay
Kini nga pamaagi nagtugot sa manwal nga pagsulay sa 1-bit error detection ug correction ug 2-bit error detection alang sa DDR memory address (0xA0000000 ngadto sa 0xDFFFFFFF) nga adunay initialization. Ang usa ka 1-bit/2-bit error kay manu-manong gipaila ngadto sa pinili nga DDR memory address. Ang gihatag nga datos gisulat sa gipili nga lokasyon sa memorya sa DDR nga adunay EDAC nga gipagana. Ang dunot nga 1-bit o 2-bit error data dayon isulat sa parehas nga lokasyon sa memorya nga ang EDAC na-disable. Ang impormasyon sa nakit-an nga 1-bit o 2-bit nga sayop gi-log kung ang datos gibasa gikan sa parehas nga lokasyon sa memorya nga adunay EDAC nga gipagana. Ang high-performance nga DMA controller
(HPDMA) gigamit sa pagbasa sa datos gikan sa DDR memory. Ang dual-bit error detection interrupt handler gipatuman aron sa paghimo sa angay nga aksyon kung ang usa ka 2-bit nga sayup nakit-an.
Ang mosunod nga ilustrasyon naghulagway sa EDAC demo operations.
Figure 3 • Daloy sa Disenyo
Mubo nga sulat: Alang sa usa ka 2-bit error, kung ang Cortex-M3 processor nagbasa sa datos, ang code execution moadto sa hard fault handler, tungod kay ang interrupt nga nadawat ulahi na alang sa processor sa pagtubag. Sa panahon nga kini motubag sa interrupt, kini mahimong nakapasar na sa datos ug aksidenteng naglunsad og usa ka sugo. Ingon usa ka sangputanan, ang HRESP mihunong sa pagproseso sa dili husto nga datos. Ang 2-bit error detection naggamit sa HPDMA aron mabasa ang datos gikan sa lokasyon sa address sa DDR, nga nagtudlo sa processor nga nagbasa sa datos nga adunay 2-bit nga sayup ug ang sistema kinahanglan nga mohimo ug angay nga aksyon aron mabawi (ECC interrupt Handler).
Pag-set up sa Demo Design
Kini nga seksyon naghulagway sa SmartFusion2 Advanced Development Kit board setup, ang mga opsyon sa GUI, ug unsaon pag-execute sa demo design.
Ang mosunud nga mga lakang naghulagway kung giunsa ang pag-setup sa demo:
- Ikonektar ang usa ka tumoy sa USB mini-B cable ngadto sa J33 connector nga gihatag sa SmartFusion2 Advanced Development Kit board. Ikonektar ang pikas tumoy sa USB cable sa host PC. Ang light emitting diode (LED) DS27 kinahanglang mosiga, nga nagpakita nga ang UART link natukod na. Siguruha nga ang mga drayber sa taytayan sa USB hangtod sa UART awtomatik nga makit-an (mahimong mapamatud-an sa Device Manager), ingon sa gipakita sa mosunod nga numero.
Figure 4 • USB ngadto sa UART Bridge Drivers
Kung wala ma-install ang USB to UART bridge drivers, i-download ug i-install ang mga driver gikan sa: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - Ikonektar ang mga jumper sa SmartFusion2 Advanced Development Kit board, ingon sa gipakita sa Table 4, page 11. Ang power supply switch SW7 kinahanglang i-OFF, samtang naghimo sa mga koneksyon sa jumper.
Hulagway 5 • SmartFusion2 Advanced Development Kit Board Setup
Graphical User Interface
Kini nga seksyon naghulagway sa DDR - EDAC Demo GUI.
Figure 6 • DDR – EDAC Demo GUI
Gisuportahan sa GUI ang mosunod nga mga bahin:
- Pagpili sa COM port ug Baud Rate
- Pagpili sa 1-bit error correction tab o 2-bit error detection
- Adres field para isulat o basahon ang data ngadto o gikan sa gipiho nga DDR nga adres
- Data field para isulat o basahon ang data ngadto o gikan sa espesipikong DDR nga adres
- Ang seksyon sa Serial Console aron maimprinta ang impormasyon sa status nga nadawat gikan sa aplikasyon
- I-enable ang EDAC/Disable EDAC: I-enable o i-disable ang EDAC
- Pagsulat: Gitugotan ang pagsulat sa datos sa piho nga adres
- Basaha: Gitugotan ang pagbasa sa datos gikan sa piho nga adres
- Loop test ON/OFF: Gitugotan ang pagsulay sa mekanismo sa EDAC sa pamaagi sa loop
- Pagsugod: Nagtugot sa pagsugod sa gitakda nang daan nga lokasyon sa memorya (sa kini nga demo A0000000-A000CFFF)
Pagpadagan sa Demo Design
Ang mosunod nga mga lakang naghulagway kon unsaon pagpadagan ang disenyo: Ang mosunod nga mga lakang naghulagway kon unsaon pagpadagan ang disenyo:
- I-ON ang supply switch, SW7.
- Programa ang SmarFusion2 device gamit ang programming file gihatag sa disenyo files.(\PagprogramaFile\EDAC_DDR3.stp) gamit ang FlashPro design software, sama sa gipakita sa mosunod nga numero.
Figure 7 • FlashPro Programming Window
- Pindota ang SW6 switch aron ma-reset ang board pagkahuman sa malampuson nga programming.
- Ilunsad ang EDAC_DDR Demo GUI executable file anaa sa disenyo files (\GUI Executable\ EDAC_DDR.exe). Ang bintana sa GUI gipakita, ingon sa gipakita sa Figure 8, panid 9.
- I-klik ang Connect, pilion niini ang COM port ug i-establisar ang koneksyon. Ikonektar ang mga kausaban sa opsyon ngadto sa Disconnect.
- Pilia ang 1-bit Error Correction tab o 2-bit Error Detection.
- Ang mga pagsulay sa Manwal ug Loop mahimong ipahigayon.
- I-klik ang Initialize aron ma-initialize ang DDR memory aron mahimo ang Manual ug Loop nga mga pagsulay, usa ka initialization completion message ang gipakita sa Serial Console, sama sa gipakita sa Figure 8, page 9.
Figure 8 • Window nga Nakompleto ang Initialization
Pagpahigayon sa Loop Test
I-klik ang Loop Test ON. Nagdagan kini sa loop mode diin ang padayon nga pagtul-id ug pag-ila sa mga sayup gihimo. Ang tanan nga mga aksyon nga gihimo sa SmartFusion2 device na-log sa Serial Console nga seksyon sa GUI.
Table 2 • DDR3 Memory Addresses nga gigamit sa Loop Test
- Memory DDR3
- 1-bit nga sayop nga pagtul-id 0xA0008000
- 2-bit error detection 0xA000C000
Pagbuhat sa Manual Test
Niini nga pamaagi, ang mga sayup gipaila sa mano-mano gamit ang GUI. Gamita ang mosunod nga mga lakang aron ipatuman ang 1-bit error correction o 2-bit error detection.
Table 3 • DDR3 Memory Addresses nga gigamit sa Manual Test
Input Address ug Data fields (gamit ang 32-bit Hexadecimal values).
- Memory DDR3
- 1-bit nga sayop nga pagtul-id 0xA0000000-0xA0004000
- 2-bit error detection 0xA0004000-0xA0008000
- I-klik ang Enable EDAC.
- I-klik ang Pagsulat.
- I-klik ang I-disable ang EDAC.
- Usba ang usa ka gamay (sa kaso sa 1-bit error correction) o duha ka bits (sa kaso sa 2-bit error detection) sa Data field (introducing error).
- I-klik ang Pagsulat.
- I-klik ang Enable EDAC.
- I-klik ang Basaha.
- Tan-awa ang Error Count Display ug Data field sa GUI. Ang kantidad sa ihap sa sayup nagdugang sa 1.
Ang 1-bit error loop correction window gipakita sa mosunod nga numero.
Figure 9 • 1-bit Error Loop Detection Window
Ang 2-bit error detection manual window gipakita sa mosunod nga numero.
Figure 10 • 2-bit Error Detection Manual Window
Panapos
Kini nga demo nagpakita sa SmartFusion2 SECDED nga kapabilidad alang sa MDDR subsystem.
Apendise: Mga Setting sa Jumper
Ang mosunod nga talaan nagpakita sa tanang gikinahanglan nga mga jumper nga ibutang sa SmartFusion2 Advanced Development Kit.
Talaan 4 • SmartFusion2 Advanced Development Kit Jumper Settings
Jumper : Pin (Gikan) : Pin (To): Mga Komento
- J116, J353, J354, J54 1 2 Kini ang default jumper settings sa Advanced
- J123 2 3 Development Kit board. Siguroha nga kini nga mga jumper gipahimutang sumala niana.
- J124, J121, J32 1 2 JTAG programming pinaagi sa FTDI
DG0618 Demo Giya Rebisyon 4.0
Mga Dokumento / Mga Kapanguhaan
![]() |
Microsemi DG0618 Error Detection ug Correction sa SmartFusion2 Devices gamit ang DDR Memory [pdf] Giya sa Gumagamit DG0618 Error Detection ug Correction sa SmartFusion2 Devices gamit ang DDR Memory, DG0618, Error Detection and Correction sa SmartFusion2 Devices gamit ang DDR Memory, SmartFusion2 Devices gamit ang DDR Memory, DDR Memory |