Microsemi -LOGO

Deteksi lan Koreksi Kesalahan Microsemi DG0618 ing Piranti SmartFusion2 nggunakake Memori DDR

Microsemi -DG0618-Deteksi-Kesalahan-lan-Koreksi-ing-SmartFusion2-Devices-nggunakake-DDR Memory-PRODUCT-IMAGE

Kantor Pusat Perusahaan Microsemi
One Enterprise, Aliso Viejo,
CA 92656 AS
Ing AS: +1 800-713-4113
Ing njaba AS: +1 949-380-6100
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Kabeh hak dilindhungi undhang-undhang. Microsemi lan logo Microsemi minangka merek dagang Microsemi Corporation. Kabeh merek dagang lan merek layanan liyane minangka properti saka sing nduweni

Microsemi ora menehi garansi, perwakilan, utawa jaminan babagan informasi sing ana ing kene utawa kesesuaian produk lan layanan kanggo tujuan tartamtu, uga Microsemi ora nanggung tanggung jawab apa wae sing muncul saka aplikasi utawa panggunaan produk utawa sirkuit apa wae. Produk sing didol ing ngisor iki lan produk liyane sing didol dening Microsemi wis diuji kanthi winates lan ora bisa digunakake bebarengan karo peralatan utawa aplikasi sing penting banget. Sembarang spesifikasi kinerja dipercaya bisa dipercaya nanging ora diverifikasi, lan Panuku kudu nindakake lan ngrampungake kabeh kinerja lan pangujian produk liyane, piyambak lan bebarengan karo, utawa dipasang ing, produk pungkasan. Panuku ora bakal ngandelake data lan spesifikasi kinerja utawa paramèter sing diwenehake dening Microsemi. Tanggung jawab Panuku kanggo nemtokake kesesuaian produk lan nyoba lan verifikasi sing padha. Informasi sing diwenehake dening Microsemi ing ngisor iki diwenehake "kaya, ing ngendi" lan kabeh kesalahane, lan kabeh risiko sing ana gandhengane karo informasi kasebut tanggung jawab kanggo Pembeli. Microsemi ora menehi, kanthi tegas utawa implisit, marang pihak apa wae hak paten, lisensi, utawa hak IP liyane, apa sing ana gandhengane karo informasi kasebut dhewe utawa apa wae sing diterangake dening informasi kasebut. Informasi sing disedhiyakake ing dokumen iki minangka kepemilikan Microsemi, lan Microsemi nduweni hak kanggo ngganti informasi ing dokumen iki utawa produk lan layanan apa wae tanpa kabar.

Babagan Microsemi
Microsemi Corporation (Nasdaq: MSCC) nawakake portofolio komprehensif semikonduktor lan solusi sistem kanggo aerospace & pertahanan, komunikasi, pusat data lan pasar industri. Produk kalebu sirkuit terpadu sinyal campuran analog kinerja dhuwur lan radiasi, FPGA, SoC lan ASIC; produk manajemen daya; piranti wektu lan sinkronisasi lan solusi wektu sing tepat, nyetel standar wektu ing donya; piranti pangolahan swara; solusi RF; komponen diskrèt; panyimpenan perusahaan lan solusi komunikasi, teknologi keamanan lan keukur anti-tamper produk; solusi Ethernet; Power-over-Ethernet ICs lan midspans; uga kemampuan lan layanan desain khusus. Microsemi kantor pusat ing Aliso Viejo, California, lan duwe udakara 4,800 karyawan ing saindenging jagad. Sinau luwih lengkap ing www.microsemi.com.

Riwayat Revisi

Riwayat revisi nggambarake owah-owahan sing ditindakake ing dokumen kasebut. Owah-owahan kasebut didhaptar kanthi revisi, diwiwiti saka publikasi paling anyar.

  • Revisi 4.0
    Dianyari document kanggo release lunak Libero v11.8.
  • Revisi 3.0
    Dianyari document kanggo release lunak Libero v11.7.
  • Revisi 2.0
    Dianyari document kanggo release lunak Libero v11.6.
  • Revisi 1.0
    Rilis awal kanggo release piranti lunak Libero SoC v11.5.

Deteksi kesalahan lan koreksi ing Piranti SmartFusion2 nggunakake Memori DDR

Pambuka
Ing lingkungan rentan siji acara upset (SEU), memori akses acak (RAM) rawan kanggo kasalahan transien disebabake ion abot.
Dokumen iki nggambarake kemampuan EDAC saka SoC FPGA, sing digunakake ing aplikasi kanthi kenangan sing disambungake liwat subsistem mikrokontroler (MSS) DDR (MDDR).
Pengontrol EDAC sing ditindakake ing piranti SmartFusion2 ndhukung koreksi kesalahan siji lan deteksi kesalahan kaping pindho (SECDED). Kabeh kenangan-meningkat memori akses acak statis (eSRAM), DDR, kurang daya DDR (LPDDR)-ing piranti SmartFusion2 MSS dilindhungi dening SECDED. Memori akses acak dinamis (SDRAM) sinkron DDR bisa dadi DDR2, DDR3, utawa LPDDR1, gumantung saka konfigurasi MDDR lan kapabilitas ECC hardware.
Subsistem SmartFusion2 MDDR ndhukung Kapadhetan memori nganti 4 GB. Ing demo iki, sampeyan bisa milih lokasi memori 1 GB ing papan alamat DDR (0xA0000000 kanggo 0xDFFFFFFF).
Nalika SECDED diaktifake:

  • Operasi nulis ngitung lan nambah 8 bit kode SECDED (kanggo saben 64 bit data)
  • Operasi maca maca lan mriksa data marang kode SECDED sing disimpen kanggo ndhukung koreksi kesalahan 1-bit lan deteksi kesalahan 2-bit

Ilustrasi ing ngisor iki nggambarake diagram pemblokiran SmartFusion2 EDAC ing DDR SDRAM.

Gambar 1 • Diagram Blok Top-Level

Fitur EDAC DDR ndhukung ing ngisor iki:

  1.  mekanisme SECDED
  2. Nyedhiyakake interrupts menyang prosesor ARM Cortex-M3 lan kain FPGA nalika ndeteksi kesalahan 1-bit utawa kesalahan 2-bit
  3. Nyimpen nomer kesalahan 1-bit lan 2-bit ing register counter kesalahan
  4. Nyimpen alamat lokasi memori sing kena pengaruh kesalahan 1-bit utawa 2-bit pungkasan
  5. Nyimpen data kesalahan 1-bit utawa 2-bit ing register SECDED
  6. menehi sinyal bus kesalahan kanggo kain FPGA

Kanggo informasi luwih lengkap babagan EDAC, waca UG0443: SmartFusion2 lan IGLOO2 FPGA Security and Reliability User Guide lan UG0446: SmartFusion2 and IGLOO2 FPGA High-Speed ​​DDR Interfaces Guide.

Requirements Desain
Tabel ing ngisor iki nampilake syarat desain.

Tabel 1 • Requirements Design

  • Katrangan Kebutuhan Desain
  • Persyaratan Hardware
  • Papan Kit Pangembangan Lanjut SmartFusion2 Rev B utawa mengko
  • FlashPro5 programmer utawa mengko
  • USB A kanggo kabel USB mini-B
  • Adaptor daya 12 V
  • Papan putri DDR3
  • Sistem Operasi Sembarang 64-bit utawa 32-bit Windows XP SP2
  • Sembarang 64-bit utawa 32-bit Windows 7
  • Requirements piranti lunak
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • Piranti lunak pemrograman FlashPro v11.8
  • Host Drivers PC USB kanggo driver UART
  • Framework kanggo mbukak demonstrasi Microsoft .NET Framework 4 klien

Desain Demo
Desain demo files kasedhiya kanggo download saka path ing ngisor iki ing Microsemi websitus: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Desain demo files kalebu:

  • Konfigurasi DDR File
  • DDR_EDAC
  • Pemrograman files
  • GUI bisa dieksekusi
  • Wacanen aku file

Ilustrasi ing ngisor iki nggambarake struktur tingkat paling dhuwur saka desain files. Kanggo katrangan luwih lengkap, deleng readme.txt file.

Figure 2 • Desain Demo Struktur Top-Level

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-2

Implementasi Desain Demo
Subsistem MDDR duwe pengontrol EDAC khusus. EDAC ndeteksi kesalahan 1-dicokot utawa kesalahan 2-dicokot nalika data diwaca saka memori. Yen EDAC ndeteksi kesalahan 1-bit, controller EDAC mbenerake bit kesalahan. Yen EDAC diaktifake kanggo kabeh kesalahan 1-dicokot lan 2-dicokot, counters kesalahan cocog ing ndhaftar sistem incremented lan interrupts cocog lan sinyal bus kesalahan kanggo kain FPGA kui.
Iki kedadeyan ing wektu nyata. Kanggo nduduhake fitur SECDED iki, kesalahan diwiwiti kanthi manual lan diamati deteksi lan koreksi.
Desain demo iki kalebu implementasine langkah-langkah ing ngisor iki:

  1. Aktifake EDAC
  2. Nulis data kanggo DDR
  3. Maca data saka DDR
  4. Pateni EDAC
  5. Rusak 1 utawa 2 bit
  6. Nulis data kanggo DDR
  7. Aktifake EDAC
  8. Maca data
  9. Ing kasus kesalahan 1-bit, pengontrol EDAC mbenerake kesalahan kasebut, nganyari ndhaptar status sing cocog, lan menehi data sing ditulis ing Langkah 2 ing operasi maca sing ditindakake ing Langkah 8.
  10. Ing kasus kesalahan 2-bit, interupsi sing cocog digawe lan aplikasi kudu mbenerake data utawa njupuk tindakan sing cocog ing pawang interupsi. Loro cara iki dituduhake ing demo iki.

Rong tes dileksanakake ing demo iki: tes loop lan tes manual lan bisa ditrapake kanggo kesalahan 1-bit lan 2-bit.

Tes Loop
Tes loop dieksekusi nalika piranti SmartFusion2 nampa printah tes loop saka GUI. Kaping pisanan, kabeh counters kesalahan lan EDAC related ndhaftar diselehake ing negara RESET.
Langkah-langkah ing ngisor iki ditindakake kanggo saben pengulangan.

  1. Aktifake pengontrol EDAC
  2. Tulis data menyang lokasi memori DDR tartamtu
  3. Pateni pengontrol EDAC
  4. Tulis data 1-dicokot utawa 2-dicokot kesalahan mlebu menyang lokasi memori DDR padha
  5. Aktifake pengontrol EDAC
  6. Maca data saka lokasi memori DDR padha
  7. Kirim deteksi kesalahan 1-bit utawa 2-bit lan data koreksi kesalahan 1-bit yen ana kesalahan 1-bit menyang GUI

Tes Manual
Cara iki ngidini testing manual deteksi kesalahan 1-dicokot lan koreksi lan deteksi kesalahan 2-dicokot kanggo alamat memori DDR (0xA0000000 kanggo 0xDFFFFFFF) karo initialization. Kesalahan 1-dicokot / 2-dicokot ngenalaken kanthi manual menyang alamat memori DDR milih. Data diwenehi ditulis menyang lokasi memori DDR milih karo EDAC aktif. Data kesalahan 1-bit utawa 2-bit sing rusak banjur ditulis ing lokasi memori sing padha karo EDAC dipatèni. Informasi babagan kesalahan 1-bit utawa 2-bit sing dideteksi dicathet nalika data diwaca saka lokasi memori sing padha karo EDAC aktif. Pengontrol DMA kanthi kinerja dhuwur
(HPDMA) digunakake kanggo maca data saka memori DDR. Handler interrupt deteksi kesalahan dual-bit dileksanakake kanggo njupuk tindakan sing cocok nalika kesalahan 2-bit dideteksi.
Ilustrasi ing ngisor iki nggambarake operasi demo EDAC.

Gambar 3 • Alur Desain

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-3

Cathetan: Kanggo kesalahan 2-dicokot, nalika prosesor Cortex-M3 maca data, eksekusi kode menyang handler fault hard, minangka interrupt ditampa telat kanggo prosesor nanggapi. Nalika nanggapi interupsi kasebut, bisa uga wis ngliwati data lan ora sengaja ngluncurake prentah. Akibaté, HRESP mandheg ngolah data sing salah. deteksi kesalahan 2-dicokot nggunakake HPDMA kanggo maca data saka lokasi alamat DDR, kang instructs prosesor sing maca data duwe kesalahan 2-dicokot lan sistem kudu njupuk tindakan cocok kanggo waras (ECC interrupt Handler).

Nyetel Desain Demo
Bagean iki njlèntrèhaké persiyapan papan SmartFusion2 Advanced Development Kit, opsi GUI, lan cara nglakokaké rancangan demo.
Langkah-langkah ing ngisor iki nerangake carane nyiyapake demo:

  1. Sambungake salah siji ujung kabel USB mini-B menyang konektor J33 sing kasedhiya ing papan SmartFusion2 Advanced Development Kit. Sambungake ujung kabel USB liyane menyang PC host. Light emitting diode (LED) DS27 kudu madhangi, nuduhake link UART wis ditetepake. Priksa manawa driver jembatan USB menyang UART dideteksi kanthi otomatis (bisa diverifikasi ing Manager Piranti), kaya sing ditampilake ing gambar ing ngisor iki.
    Gambar 4 • USB kanggo Driver Bridge UART
    Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-4
    Yen driver jembatan USB menyang UART ora diinstal, download lan instal driver saka: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Sambungake jumper ing Papan SmartFusion2 Advanced Development Kit, minangka ditampilake ing Tabel 4, kaca 11. Ngalih sumber daya SW7 kudu dipateni, nalika nggawe sambungan jumper.

Gambar 5 • SmartFusion2 Advanced Development Kit Papan Setup

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-5

 Antarmuka Pangguna Grafis
Bagean iki nggambarake DDR - EDAC Demo GUI.

Gambar 6 • DDR - EDAC Demo GUI

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-6

GUI ndhukung fitur ing ngisor iki:

  1. Pamilihan port COM lan Baud Rate
  2. Pamilihan tab koreksi kesalahan 1-bit utawa deteksi kesalahan 2-bit
  3. Lapangan alamat kanggo nulis utawa maca data menyang utawa saka alamat DDR sing ditemtokake
  4. Lapangan data kanggo nulis utawa maca data menyang utawa saka alamat DDR sing ditemtokake
  5. bagean Console Serial kanggo print informasi status ditampa saka aplikasi
  6. Aktifake EDAC / Pateni EDAC: Ngaktifake utawa mateni EDAC
  7. Tulis: Ngidini nulis data menyang alamat sing ditemtokake
  8.  Waca: Ngidini maca data saka alamat sing ditemtokake
  9. Loop test ON / OFF: Ngidini nyoba mekanisme EDAC ing cara loop
  10.  Initialize: Ngidini kanggo miwiti lokasi memori sing wis ditemtokake (ing demo iki A0000000-A000CFFF)

Nglakokake Desain Demo
Langkah-langkah ing ngisor iki njlèntrèhaké cara kanggo mbukak desain: Langkah-langkah ing ngisor iki njlèntrèhaké carane mbukak desain:

  1. Ngalih ON saklar suplai, SW7.
  2. Program piranti SmarFusion2 nganggo pemrograman file kasedhiya ing desain files.(\PemrogramanFile\EDAC_DDR3.stp) nggunakake piranti lunak desain FlashPro, minangka ditampilake ing tokoh ing ngisor iki.
    Gambar 7 • Jendela Pemrograman FlashPro
    Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-7
  3. Pencet ngalih SW6 kanggo ngreset Papan sawise program sukses.
  4. Bukak EDAC_DDR Demo GUI sing bisa dieksekusi file kasedhiya ing desain files (\GUI Executable\ EDAC_DDR.exe). Jendhela GUI ditampilake, kaya sing ditampilake ing Gambar 8, kaca 9.
  5. Klik Connect, iku milih port COM lan netepake sambungan. Owah-owahan pilihan Sambungake menyang Pedhot.
  6. Pilih tab 1-bit Error Correction utawa 2-bit Error Detection.
  7. Tes Manual lan Loop bisa ditindakake.
  8. Klik Initialize kanggo miwiti memori DDR kanggo nindakake tes Manual lan Loop, pesen rampung initialization ditampilake ing Serial Console, kaya sing ditampilake ing Gambar 8, kaca 9.

Figure 8 • Initialization Completed Window

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-8

Nindakake Loop Test
Klik Loop Test ON. Mlaku ing mode daur ulang ing ngendi koreksi terus-terusan lan deteksi kesalahan wis rampung. Kabeh tumindak sing ditindakake ing piranti SmartFusion2 mlebu ing bagean Konsol Serial ing GUI.

Tabel 2 • Alamat memori DDR3 digunakake ing Test Loop

  • Memori DDR3
  • Koreksi kesalahan 1-bit 0xA0008000
  • Deteksi kesalahan 2-bit 0xA000C000

Nindakake Test Manual
Ing cara iki, kesalahan dikenalake kanthi manual nggunakake GUI. Gunakake langkah-langkah ing ngisor iki kanggo nglakokake koreksi kesalahan 1-bit utawa deteksi kesalahan 2-bit.

Tabel 3 • Alamat Memori DDR3 digunakake ing Test Manual

Kolom Alamat Input lan Data (nggunakake nilai Heksadesimal 32-bit).

  • Memori DDR3
  • Koreksi kesalahan 1-bit 0xA0000000-0xA0004000
  • Deteksi kesalahan 2-bit 0xA0004000-0xA0008000
  1. Klik Aktifake EDAC.
  2. Klik Tulis.
  3. Klik Nonaktifkan EDAC.
  4. Ganti siji bit (ing kasus koreksi kesalahan 1-bit) utawa rong bit (yen deteksi kesalahan 2-bit) ing lapangan Data (ngenalake kesalahan).
  5. Klik Tulis.
  6. Klik Aktifake EDAC.
  7. Klik Waca.
  8. Mirsani Error Count Tampilan lan Data lapangan ing GUI. Nilai count kesalahan mundhak 1.

Jendhela koreksi loop kesalahan 1-bit ditampilake ing gambar ing ngisor iki.

Gambar 9 • 1-bit Error Loop Detection Window

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-9

Jendhela manual deteksi kesalahan 2-bit ditampilake ing gambar ing ngisor iki.

Gambar 10 • Jendela Manual Deteksi Kesalahan 2-bit

Microsemi -DG0618-Deteksi-Kasalahan-lan-Koreksi-ing-SmartFusion2-Piranti-nggunakake-Memori DDR-10

Kesimpulan
Tur iki nuduhake kapabilitas SmartFusion2 SECDED kanggo subsistem MDDR.

Lampiran: Setelan Jumper

Tabel ing ngisor iki nuduhake kabeh jumper sing dibutuhake kanggo disetel ing SmartFusion2 Advanced Development Kit.

Tabel 4 • Setelan Jumper Kit Pangembangan Lanjut SmartFusion2

Jumper : Pin (Saka) : Pin (Kanggo) : Komentar

  • J116, J353, J354, J54 1 2 Iki minangka setelan jumper standar saka Advanced
  • J123 2 3 Papan Kit Pangembangan. Priksa manawa jumper kasebut disetel miturut.
  • J124, J121, J32 1 2 JTAG Pemrograman liwat FTDI

DG0618 Pandhuan Demo Révisi 4.0

Dokumen / Sumber Daya

Deteksi lan Koreksi Kesalahan Microsemi DG0618 ing Piranti SmartFusion2 nggunakake Memori DDR [pdf] Pandhuan pangguna
Deteksi lan Koreksi Kesalahan DG0618 ing Piranti SmartFusion2 nggunakake Memori DDR, DG0618, Deteksi lan Koreksi Kesalahan ing Piranti SmartFusion2 nggunakake Memori DDR, Piranti SmartFusion2 nggunakake Memori DDR, Memori DDR

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *