Microsemi -LOGO

ການກວດຫາຄວາມຜິດພາດ Microsemi DG0618 ແລະການແກ້ໄຂໃນອຸປະກອນ SmartFusion2 ໂດຍໃຊ້ DDR Memory

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-PRODUCT-IMAGE

ສໍານັກງານໃຫຍ່ຂອງບໍລິສັດ Microsemi
ບໍລິສັດໜຶ່ງ, Aliso Viejo,
CA 92656 ສະຫະລັດ
ພາຍໃນສະຫະລັດ: +1 800-713-4113
ຢູ່ນອກສະຫະລັດ: +1 949-380-6100
ແຟັກ: +1 949-215-4996
ອີເມວ: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. ສະຫງວນລິຂະສິດທັງໝົດ. Microsemi ແລະ ໂລໂກ້ Microsemi ແມ່ນເຄື່ອງໝາຍການຄ້າຂອງບໍລິສັດ Microsemi. ເຄື່ອງໝາຍການຄ້າ ແລະເຄື່ອງໝາຍການບໍລິການອື່ນໆທັງໝົດແມ່ນເປັນຊັບສິນຂອງເຈົ້າຂອງທີ່ກ່ຽວຂ້ອງ

Microsemi ບໍ່ມີການຮັບປະກັນ, ການເປັນຕົວແທນ, ຫຼືການຮັບປະກັນກ່ຽວກັບຂໍ້ມູນທີ່ມີຢູ່ໃນນີ້ຫຼືຄວາມເຫມາະສົມຂອງຜະລິດຕະພັນແລະການບໍລິການຂອງມັນສໍາລັບຈຸດປະສົງສະເພາະໃດຫນຶ່ງ, ຫຼື Microsemi ບໍ່ຮັບຜິດຊອບໃດໆທີ່ເກີດຂື້ນຈາກຄໍາຮ້ອງສະຫມັກຫຼືການນໍາໃຊ້ຜະລິດຕະພັນຫຼືວົງຈອນໃດໆ. ຜະລິດຕະພັນທີ່ຂາຍຢູ່ລຸ່ມນີ້ ແລະ ຜະລິດຕະພັນອື່ນໆທີ່ຂາຍໂດຍ Microsemi ແມ່ນຂຶ້ນກັບການທົດສອບທີ່ຈຳກັດ ແລະ ບໍ່ຄວນໃຊ້ຮ່ວມກັບອຸປະກອນ ຫຼື ແອັບພລິເຄຊັນທີ່ສຳຄັນ. ຂໍ້ມູນຈໍາເພາະການປະຕິບັດແມ່ນເຊື່ອວ່າມີຄວາມຫນ້າເຊື່ອຖືແຕ່ບໍ່ໄດ້ຮັບການຢັ້ງຢືນ, ແລະຜູ້ຊື້ຕ້ອງດໍາເນີນການແລະສໍາເລັດການປະຕິບັດທັງຫມົດແລະການທົດສອບອື່ນໆຂອງຜະລິດຕະພັນ, ດຽວແລະຮ່ວມກັນ, ຫຼືຕິດຕັ້ງໃນ, ຜະລິດຕະພັນສຸດທ້າຍ. ຜູ້ຊື້ຈະຕ້ອງບໍ່ອີງໃສ່ຂໍ້ມູນ ແລະຂໍ້ກໍາຫນົດການປະຕິບັດ ຫຼືຕົວກໍານົດການທີ່ສະໜອງໃຫ້ໂດຍ Microsemi. ມັນເປັນຄວາມຮັບຜິດຊອບຂອງຜູ້ຊື້ໃນການກໍານົດຄວາມເຫມາະສົມຂອງຜະລິດຕະພັນໃດຫນຶ່ງຢ່າງເປັນເອກະລາດແລະການທົດສອບແລະການກວດສອບດຽວກັນ. ຂໍ້​ມູນ​ທີ່​ສະ​ຫນອງ​ໃຫ້​ໂດຍ Microsemi ໃນ​ທີ່​ນີ້​ແມ່ນ​ໄດ້​ສະ​ຫນອງ​ໃຫ້ "ເປັນ​, ບ່ອນ​ທີ່​ເປັນ​" ແລະ​ມີ​ຄວາມ​ຜິດ​ພາດ​ທັງ​ຫມົດ​, ແລະ​ຄວາມ​ສ່ຽງ​ທັງ​ຫມົດ​ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ຂໍ້​ມູນ​ຂ່າວ​ສານ​ດັ່ງ​ກ່າວ​ແມ່ນ​ທັງ​ຫມົດ​ຂອງ​ຜູ້​ຊື້​. Microsemi ບໍ່ໄດ້ໃຫ້ສິດ, ຊັດເຈນ ຫຼື implicitly, ໃຫ້ຝ່າຍໃດຝ່າຍຫນຶ່ງສິດທິສິດທິບັດ, ໃບອະນຸຍາດ, ຫຼືສິດທິ IP ອື່ນໆ, ບໍ່ວ່າຈະກ່ຽວກັບຂໍ້ມູນດັ່ງກ່າວຂອງຕົນເອງຫຼືສິ່ງທີ່ອະທິບາຍໂດຍຂໍ້ມູນດັ່ງກ່າວ. ຂໍ້ມູນທີ່ສະໜອງໃຫ້ຢູ່ໃນເອກະສານນີ້ແມ່ນເປັນເຈົ້າຂອງຂອງ Microsemi, ແລະ Microsemi ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຂໍ້ມູນໃນເອກະສານນີ້ ຫຼືຕໍ່ຜະລິດຕະພັນ ແລະການບໍລິການຕ່າງໆໄດ້ທຸກເວລາໂດຍບໍ່ຕ້ອງແຈ້ງໃຫ້ຮູ້.

ກ່ຽວກັບ Microsemi
Microsemi Corporation (Nasdaq: MSCC) ສະຫນອງຫຼັກຊັບທີ່ສົມບູນຂອງ semiconductor ແລະການແກ້ໄຂລະບົບສໍາລັບການບິນແລະການປ້ອງກັນ, ການສື່ສານ, ສູນຂໍ້ມູນແລະຕະຫຼາດອຸດສາຫະກໍາ. ຜະລິດຕະພັນປະກອບມີວົງຈອນປະສົມປະສານສັນຍານອະນາລັອກທີ່ມີປະສິດທິພາບສູງແລະທົນທານຕໍ່ລັງສີ, FPGAs, SoCs ແລະ ASICs; ຜະລິດຕະພັນການຄຸ້ມຄອງພະລັງງານ; ອຸປະກອນກໍານົດເວລາແລະ synchronization ແລະການແກ້ໄຂທີ່ໃຊ້ເວລາທີ່ຊັດເຈນ, ກໍານົດມາດຕະຖານຂອງໂລກສໍາລັບເວລາ; ອຸປະກອນປະມວນຜົນສຽງ; ການແກ້ໄຂ RF; ອົງປະກອບແຍກ; ການເກັບຮັກສາວິສາຫະກິດແລະການແກ້ໄຂການສື່ສານ, ເຕັກໂນໂລຊີຄວາມປອດໄພແລະການຕ້ານການ t ຂະຫນາດamper ຜະ​ລິດ​ຕະ​ພັນ​; ການແກ້ໄຂອີເທີເນັດ; Power-over-Ethernet ICs ແລະ midspans; ເຊັ່ນດຽວກັນກັບຄວາມສາມາດໃນການອອກແບບແລະການບໍລິການທີ່ກໍາຫນົດເອງ. Microsemi ມີສໍານັກງານໃຫຍ່ຢູ່ໃນ Aliso Viejo, California, ແລະມີພະນັກງານປະມານ 4,800 ຄົນທົ່ວໂລກ. ສຶກສາເພີ່ມເຕີມໄດ້ທີ່ www.microsemi.com.

ປະຫວັດການແກ້ໄຂ

ປະຫວັດການດັດແກ້ອະທິບາຍການປ່ຽນແປງທີ່ໄດ້ປະຕິບັດໃນເອກະສານ. ການ​ປ່ຽນ​ແປງ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​ໂດຍ​ການ​ປັບ​ປຸງ​, ເລີ່ມ​ຕົ້ນ​ຈາກ​ການ​ພິມ​ເຜີຍ​ແຜ່​ໃນ​ປັດ​ຈຸ​ບັນ​ຫຼາຍ​ທີ່​ສຸດ​.

  • ການທົບທວນ 4.0
    ອັບເດດເອກະສານສໍາລັບການປ່ອຍຊອບແວ Libero v11.8.
  • ການທົບທວນ 3.0
    ອັບເດດເອກະສານສໍາລັບການປ່ອຍຊອບແວ Libero v11.7.
  • ການທົບທວນ 2.0
    ອັບເດດເອກະສານສໍາລັບການປ່ອຍຊອບແວ Libero v11.6.
  • ການທົບທວນ 1.0
    ການປ່ອຍເບື້ອງຕົ້ນສໍາລັບການປ່ອຍຊອບແວ Libero SoC v11.5.

ການກວດຫາຂໍ້ຜິດພາດ ແລະການແກ້ໄຂໃນອຸປະກອນ SmartFusion2 ໂດຍໃຊ້ DDR Memory

ແນະນຳ
ໃນສະພາບແວດລ້ອມທີ່ມີຄວາມສ່ຽງຕໍ່ການເກີດເຫດການດຽວ (SEU), ຄວາມຊົງຈໍາການເຂົ້າເຖິງແບບສຸ່ມ (RAM) ມີຄວາມສ່ຽງຕໍ່ຄວາມຜິດພາດຊົ່ວຄາວທີ່ເກີດຈາກ ions ຫນັກ.
ເອກະສານນີ້ອະທິບາຍຄວາມສາມາດຂອງ EDAC ຂອງ SoC FPGA, ທີ່ຖືກນໍາໃຊ້ໃນແອັບພລິເຄຊັນທີ່ມີຄວາມຊົງຈໍາທີ່ເຊື່ອມຕໍ່ຜ່ານລະບົບຍ່ອຍຂອງ microcontroller (MSS) DDR (MDDR).
ຕົວຄວບຄຸມ EDAC ປະຕິບັດຢູ່ໃນອຸປະກອນ SmartFusion2 ສະຫນັບສະຫນູນການແກ້ໄຂຂໍ້ຜິດພາດດຽວແລະການກວດສອບຄວາມຜິດພາດສອງເທົ່າ (SECDED). ຄວາມຊົງຈຳທັງໝົດ—ປັບປຸງຄວາມຊົງຈຳການເຂົ້າເຖິງແບບສຸ່ມແບບສະຖິດ (eSRAM), DDR, ພະລັງງານຕໍ່າ DDR (LPDDR)—ພາຍໃນອຸປະກອນ SmartFusion2 MSS ຖືກປົກປ້ອງໂດຍ SECDED. DDR synchronous dynamic access memory (SDRAM) ສາມາດເປັນ DDR2, DDR3, ຫຼື LPDDR1, ຂຶ້ນກັບການຕັ້ງຄ່າ MDDR ແລະຄວາມສາມາດຂອງຮາດແວ ECC.
ລະບົບຍ່ອຍ SmartFusion2 MDDR ຮອງຮັບຄວາມໜາແໜ້ນຂອງໜ່ວຍຄວາມຈຳສູງສຸດ 4 GB. ໃນ​ການ​ສາ​ທິດ​ນີ້​, ທ່ານ​ສາ​ມາດ​ເລືອກ​ທີ່​ຕັ້ງ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ຂອງ 1 GB ໃນ​ຊ່ອງ​ທີ່​ຢູ່ DDR (0xA0000000 ກັບ 0xDFFFFFFF​)​.
ເມື່ອ SECDED ຖືກເປີດໃຊ້:

  • ການ​ດໍາ​ເນີນ​ງານ​ການ​ຂຽນ​ຄໍາ​ນວນ​ແລະ​ເພີ່ມ 8 bits ຂອງ​ລະ​ຫັດ SECDED (ກັບ​ທຸກ 64 bits ຂອງ​ຂໍ້​ມູນ​)
  • ຄຳສັ່ງອ່ານຈະອ່ານ ແລະກວດສອບຂໍ້ມູນຕໍ່ກັບລະຫັດ SECDED ທີ່ເກັບໄວ້ເພື່ອຮອງຮັບການແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ ແລະການກວດຫາຂໍ້ຜິດພາດ 2-ບິດ.

ຕົວຢ່າງຕໍ່ໄປນີ້ອະທິບາຍແຜນວາດຂອງ SmartFusion2 EDAC ໃນ DDR SDRAM.

ຮູບທີ 1 • ແຜນວາດບລັອກລະດັບສູງສຸດ

ຄຸນນະສົມບັດ EDAC ຂອງ DDR ສະຫນັບສະຫນູນດັ່ງຕໍ່ໄປນີ້:

  1.  ກົນໄກ SECDED
  2. ສະຫນອງການຂັດຂວາງກັບໂປເຊດເຊີ ARM Cortex-M3 ແລະຜ້າ FPGA ເມື່ອກວດພົບຂໍ້ຜິດພາດ 1 ບິດຫຼືຄວາມຜິດພາດ 2 ບິດ.
  3. ເກັບຮັກສາຈໍານວນຂໍ້ຜິດພາດ 1-ບິດ ແລະ 2-ບິດ ຢູ່ໃນບັນຊີຕ້ານຄວາມຜິດພາດ
  4. ເກັບຮັກສາທີ່ຢູ່ຂອງຄວາມຜິດພາດ 1-bit ຫຼື 2-bit ສຸດທ້າຍທີ່ໄດ້ຮັບຜົນກະທົບຈາກສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ
  5. ເກັບຮັກສາຂໍ້ມູນຄວາມຜິດພາດ 1-bit ຫຼື 2-bit ຢູ່ໃນທະບຽນ SECDED
  6. ໃຫ້ສັນຍານລົດເມຜິດພາດກັບຜ້າ FPGA

ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ EDAC, ເບິ່ງ UG0443: SmartFusion2 ແລະ IGLOO2 FPGA ຄູ່ມືຜູ້ໃຊ້ຄວາມປອດໄພແລະຄວາມຫນ້າເຊື່ອຖືແລະ UG0446: SmartFusion2 ແລະ IGLOO2 FPGA High-Speed ​​DDR Interfaces User Guide.

ຄວາມຕ້ອງການອອກແບບ
ຕາຕະລາງຕໍ່ໄປນີ້ບອກຄວາມຕ້ອງການອອກແບບ.

ຕາຕະລາງ 1 • ຄວາມຕ້ອງການອອກແບບ

  • ລາຍລະອຽດຄວາມຕ້ອງການອອກແບບ
  • ຄວາມຕ້ອງການຮາດແວ
  • SmartFusion2 Advanced Development Kit board Rev B ຫຼືຫຼັງຈາກນັ້ນ
  • ໂປລແກລມ FlashPro5 ຫຼືຫຼັງຈາກນັ້ນ
  • ສາຍ USB A ຫາ mini-B ສາຍ USB
  • ໝໍ້ ແປງໄຟຟ້າ 12 V
  • ກະດານລູກສາວ DDR3
  • ລະບົບປະຕິບັດການ 64-bit ຫຼື 32-bit Windows XP SP2
  • ທຸກ 64-bit ຫຼື 32-bit Windows 7
  • ຄວາມຕ້ອງການຊອບແວ
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • ຊອບແວການຂຽນໂປຼແກຼມ FlashPro v11.8
  • Host PC Drivers USB ຫາ UART drivers
  • ກອບເພື່ອດໍາເນີນການສາທິດ Microsoft .NET Framework 4 client

ການອອກແບບຕົວຢ່າງ
ການອອກແບບຕົວຢ່າງ files ສາມາດໃຊ້ໄດ້ສໍາລັບການດາວໂຫຼດຈາກເສັ້ນທາງຕໍ່ໄປນີ້ໃນ Microsemi webເວັບໄຊ: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
ການອອກແບບຕົວຢ່າງ files ປະ​ກອບ​ມີ​:

  • ການຕັ້ງຄ່າ DDR File
  • DDR_EDAC
  • ການຂຽນໂປລແກລມ files
  • GUI ປະຕິບັດໄດ້
  • ອ່ານຂ້ອຍ file

ຕົວຢ່າງຕໍ່ໄປນີ້ອະທິບາຍໂຄງສ້າງລະດັບເທິງຂອງການອອກແບບ files. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ເບິ່ງ readme.txt file.

ຮູບທີ 2 • Demo Design ໂຄງສ້າງຊັ້ນເທິງ

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-2

ການປະຕິບັດການອອກແບບຕົວຢ່າງ
ລະບົບຍ່ອຍ MDDR ມີຕົວຄວບຄຸມ EDAC ທີ່ອຸທິດຕົນ. EDAC ກວດພົບຂໍ້ຜິດພາດ 1-ບິດ ຫຼືຄວາມຜິດພາດ 2-ບິດ ເມື່ອຂໍ້ມູນຖືກອ່ານຈາກໜ່ວຍຄວາມຈຳ. ຖ້າ EDAC ກວດພົບຂໍ້ຜິດພາດ 1-ບິດ, ຕົວຄວບຄຸມ EDAC ຈະແກ້ໄຂຂໍ້ຜິດພາດເລັກນ້ອຍ. ຖ້າ EDAC ຖືກເປີດໃຊ້ສໍາລັບທຸກຂໍ້ຜິດພາດ 1-bit ແລະ 2-bit, ຕົວຊີ້ວັດຄວາມຜິດພາດທີ່ສອດຄ້ອງກັນໃນລະບົບລົງທະບຽນຈະຖືກເພີ່ມຂຶ້ນແລະການຂັດຂວາງທີ່ສອດຄ້ອງກັນແລະສັນຍານຄວາມຜິດພາດກັບຜ້າ FPGA ແມ່ນຖືກສ້າງຂຶ້ນ.
ອັນນີ້ເກີດຂຶ້ນໃນເວລາຈິງ. ເພື່ອສະແດງຄຸນສົມບັດ SECDED ນີ້, ຂໍ້ຜິດພາດໄດ້ຖືກນໍາສະເຫນີດ້ວຍຕົນເອງແລະສັງເກດເຫັນການກວດພົບແລະການແກ້ໄຂ.
ການອອກແບບຕົວຢ່າງນີ້ກ່ຽວຂ້ອງກັບການປະຕິບັດຂັ້ນຕອນຕໍ່ໄປນີ້:

  1. ເປີດໃຊ້ EDAC
  2. ຂຽນຂໍ້ມູນໃສ່ DDR
  3. ອ່ານຂໍ້ມູນຈາກ DDR
  4. ປິດໃຊ້ງານ EDAC
  5. ເສຍຫາຍ 1 ຫຼື 2 ບິດ
  6. ຂຽນຂໍ້ມູນໃສ່ DDR
  7. ເປີດໃຊ້ EDAC
  8. ອ່ານຂໍ້ມູນ
  9. ໃນກໍລະນີຂອງຄວາມຜິດພາດ 1-bit, ຕົວຄວບຄຸມ EDAC ແກ້ໄຂຂໍ້ຜິດພາດ, ປັບປຸງການລົງທະບຽນສະຖານະທີ່ສອດຄ້ອງກັນ, ແລະໃຫ້ຂໍ້ມູນທີ່ຂຽນໄວ້ໃນຂັ້ນຕອນທີ 2 ໃນການດໍາເນີນງານອ່ານທີ່ເຮັດໃນຂັ້ນຕອນ 8.
  10. ໃນກໍລະນີຂອງຄວາມຜິດພາດ 2-bit, ການຂັດຂວາງທີ່ສອດຄ້ອງກັນແມ່ນຖືກສ້າງຂຶ້ນແລະແອັບພລິເຄຊັນຕ້ອງແກ້ໄຂຂໍ້ມູນຫຼືດໍາເນີນການທີ່ເຫມາະສົມໃນຕົວຈັດການຂັດຂວາງ. ສອງວິທີການນີ້ແມ່ນສະແດງໃຫ້ເຫັນໃນຕົວຢ່າງນີ້.

ການທົດສອບສອງຢ່າງຖືກປະຕິບັດໃນການສາທິດນີ້: ການທົດສອບ loop ແລະການທົດສອບຄູ່ມືແລະພວກມັນສາມາດໃຊ້ໄດ້ກັບທັງສອງຄວາມຜິດພາດ 1-bit ແລະ 2-bit.

Loop Test
ການທົດສອບ Loop ຖືກປະຕິບັດເມື່ອອຸປະກອນ SmartFusion2 ໄດ້ຮັບຄໍາສັ່ງທົດສອບ loop ຈາກ GUI. ໃນເບື້ອງຕົ້ນ, ເຄື່ອງນັບຄວາມຜິດພາດທັງໝົດ ແລະ ທະບຽນທີ່ກ່ຽວຂ້ອງກັບ EDAC ແມ່ນຖືກຈັດໃສ່ຢູ່ໃນສະຖານະ RESET.
ຂັ້ນຕອນຕໍ່ໄປນີ້ຖືກປະຕິບັດສໍາລັບການເຮັດຊ້ໍາອີກຄັ້ງ.

  1. ເປີດໃຊ້ຕົວຄວບຄຸມ EDAC
  2. ຂຽນຂໍ້ມູນໃສ່ທີ່ຕັ້ງຫນ່ວຍຄວາມຈໍາ DDR ສະເພາະ
  3. ປິດໃຊ້ງານຕົວຄວບຄຸມ EDAC
  4. ຂຽນຂໍ້ຜິດພາດ 1-bit ຫຼື 2-bit ທີ່ກະຕຸ້ນຂໍ້ມູນໄປຫາສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ DDR ດຽວກັນ
  5. ເປີດໃຊ້ຕົວຄວບຄຸມ EDAC
  6. ອ່ານຂໍ້ມູນຈາກສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ DDR ດຽວກັນ
  7. ສົ່ງການກວດຫາຂໍ້ຜິດພາດ 1-ບິດ ຫຼື 2-ບິດ ແລະຂໍ້ມູນການແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ ໃນກໍລະນີທີ່ມີຂໍ້ຜິດພາດ 1-ບິດໄປຫາ GUI

ການທົດສອບຄູ່ມື
ວິທີການນີ້ອະນຸຍາດໃຫ້ມີການທົດສອບຄູ່ມືຂອງການກວດສອບຄວາມຜິດພາດ 1-bit ແລະການແກ້ໄຂຂໍ້ຜິດພາດ 2-bit ສໍາລັບທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາ DDR (0xA0000000 ຫາ 0xDFFFFFFF) ດ້ວຍການເລີ່ມຕົ້ນ. ຂໍ້ຜິດພາດ 1-bit/2-bit ໄດ້ຖືກນໍາສະເຫນີດ້ວຍຕົນເອງກັບທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາ DDR ທີ່ເລືອກ. ຂໍ້​ມູນ​ທີ່​ໄດ້​ຮັບ​ແມ່ນ​ຂຽນ​ໃສ່​ທີ່​ຕັ້ງ​ຫນ່ວຍ​ຄວາມ​ຈໍາ DDR ທີ່​ເລືອກ​ທີ່​ມີ EDAC ເປີດ​ໃຊ້​ງານ​. ຂໍ້ມູນຄວາມຜິດພາດ 1-ບິດ ຫຼື 2-ບິດທີ່ເສຍຫາຍຈະຖືກຂຽນໃສ່ບ່ອນຫນ່ວຍຄວາມຈໍາດຽວກັນກັບ EDAC ປິດການໃຊ້ງານ. ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ຄວາມ​ຜິດ​ພາດ 1-bit ຫຼື 2-bit ທີ່​ກວດ​ພົບ​ແມ່ນ​ຖືກ​ບັນ​ທຶກ​ໃນ​ເວ​ລາ​ທີ່​ຂໍ້​ມູນ​ໄດ້​ຖືກ​ອ່ານ​ຈາກ​ສະ​ຖານ​ທີ່​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ດຽວ​ກັນ​ທີ່​ມີ EDAC ເປີດ​ໃຫ້​ໃຊ້​ງານ. ຕົວຄວບຄຸມ DMA ທີ່ມີປະສິດທິພາບສູງ
(HPDMA) ຖືກນໍາໃຊ້ເພື່ອອ່ານຂໍ້ມູນຈາກຫນ່ວຍຄວາມຈໍາ DDR. ຕົວຈັດການຂັດຂວາງການກວດສອບຄວາມຜິດພາດສອງບິດແມ່ນປະຕິບັດເພື່ອດໍາເນີນການທີ່ເຫມາະສົມເມື່ອກວດພົບຂໍ້ຜິດພາດ 2-ບິດ.
ຕົວຢ່າງຕໍ່ໄປນີ້ອະທິບາຍການປະຕິບັດການສາທິດ EDAC.

ຮູບທີ 3 • Design Flow

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-3

ໝາຍເຫດ: ສໍາລັບຄວາມຜິດພາດ 2-bit, ເມື່ອໂປເຊດເຊີ Cortex-M3 ອ່ານຂໍ້ມູນ, ການປະຕິບັດລະຫັດເຂົ້າໄປໃນຕົວຈັດການຄວາມຜິດຍາກ, ເນື່ອງຈາກວ່າການຂັດຂວາງທີ່ໄດ້ຮັບແມ່ນຊັກຊ້າສໍາລັບໂປເຊດເຊີທີ່ຈະຕອບສະຫນອງ. ເມື່ອມັນຕອບສະຫນອງຕໍ່ການຂັດຂວາງ, ມັນອາດຈະຜ່ານຂໍ້ມູນແລ້ວແລະເປີດຄໍາສັ່ງໂດຍບັງເອີນ. ດັ່ງນັ້ນ, HRESP ຢຸດເຊົາການປະມວນຜົນຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງ. ການກວດສອບຂໍ້ຜິດພາດ 2-ບິດໃຊ້ HPDMA ເພື່ອອ່ານຂໍ້ມູນຈາກສະຖານທີ່ທີ່ຢູ່ DDR, ເຊິ່ງສັ່ງໃຫ້ໂປເຊດເຊີທີ່ອ່ານຂໍ້ມູນມີຂໍ້ຜິດພາດ 2-bit ແລະລະບົບຄວນດໍາເນີນການທີ່ເຫມາະສົມເພື່ອຟື້ນຕົວ (ECC interrupt Handler).

ການຕັ້ງຄ່າ Demo Design
ພາກນີ້ອະທິບາຍການຕັ້ງຄ່າກະດານພັດທະນາຂັ້ນສູງຂອງ SmartFusion2, ຕົວເລືອກ GUI, ແລະວິທີການປະຕິບັດການອອກແບບຕົວຢ່າງ.
ຂັ້ນ​ຕອນ​ຕໍ່​ໄປ​ນີ້​ອະ​ທິ​ບາຍ​ວິ​ທີ​ການ​ຕັ້ງ​ຕົວ​ຢ່າງ​:

  1. ເຊື່ອມຕໍ່ປາຍໜຶ່ງຂອງສາຍ USB mini-B ກັບຕົວເຊື່ອມຕໍ່ J33 ທີ່ສະໜອງໃຫ້ຢູ່ໃນກະດານ SmartFusion2 Advanced Development Kit. ເຊື່ອມ​ຕໍ່​ປາຍ​ອື່ນໆ​ຂອງ​ສາຍ USB ກັບ PC ແມ່​ຂ່າຍ​. ໄດໂອດປ່ອຍແສງ (LED) DS27 ຕ້ອງສະຫວ່າງຂຶ້ນ, ຊີ້ບອກວ່າການເຊື່ອມຕໍ່ UART ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ. ໃຫ້ແນ່ໃຈວ່າໄດເວີຂົວ USB ຫາ UART ຖືກກວດພົບໂດຍອັດຕະໂນມັດ (ສາມາດກວດສອບໄດ້ໃນຕົວຈັດການອຸປະກອນ), ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຕໍ່ໄປນີ້.
    ຮູບທີ 4 • USB to UART Bridge Drivers
    Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-4
    ຖ້າໄດເວີຂົວ USB ຫາ UART ບໍ່ໄດ້ຖືກຕິດຕັ້ງ, ດາວໂຫລດແລະຕິດຕັ້ງໄດເວີຈາກ: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. ເຊື່ອມຕໍ່ jumpers ໃນກະດານ SmartFusion2 Advanced Development Kit, ດັ່ງທີ່ສະແດງຢູ່ໃນຕາຕະລາງ 4, ຫນ້າ 11. ສະຫຼັບການສະຫນອງພະລັງງານ SW7 ຕ້ອງຖືກປິດ, ໃນຂະນະທີ່ເຮັດໃຫ້ການເຊື່ອມຕໍ່ jumper.

ຮູບທີ 5 • ການຕັ້ງຄ່າກະດານພັດທະນາແບບພິເສດ SmartFusion2

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-5

 ການໂຕ້ຕອບຜູ້ໃຊ້ແບບກາຟິກ
ພາກນີ້ອະທິບາຍ DDR – EDAC Demo GUI.

ຮູບທີ 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-6

GUI ສະຫນັບສະຫນູນລັກສະນະດັ່ງຕໍ່ໄປນີ້:

  1. ການເລືອກພອດ COM ແລະອັດຕາ Baud
  2. ການເລືອກແຖບແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ ຫຼືການກວດຫາຄວາມຜິດພາດ 2-ບິດ
  3. ຊ່ອງຂໍ້ມູນທີ່ຢູ່ເພື່ອຂຽນ ຫຼືອ່ານຂໍ້ມູນໄປຫາ ຫຼືຈາກທີ່ຢູ່ DDR ທີ່ລະບຸ
  4. ຊ່ອງຂໍ້ມູນເພື່ອຂຽນ ຫຼືອ່ານຂໍ້ມູນໄປຫາ ຫຼືຈາກທີ່ຢູ່ DDR ທີ່ລະບຸ
  5. ສ່ວນ Serial Console ເພື່ອພິມຂໍ້ມູນສະຖານະທີ່ໄດ້ຮັບຈາກແອັບພລິເຄຊັນ
  6. ເປີດໃຊ້ EDAC/Disable EDAC: ເປີດ ຫຼືປິດການໃຊ້ງານ EDAC
  7. ຂຽນ: ອະນຸຍາດໃຫ້ຂຽນຂໍ້ມູນໄປຫາທີ່ຢູ່ທີ່ກໍານົດໄວ້
  8.  ອ່ານ: ອະນຸຍາດໃຫ້ອ່ານຂໍ້ມູນຈາກທີ່ຢູ່ທີ່ລະບຸ
  9. Loop test ເປີດ/ປິດ: ອະນຸຍາດໃຫ້ທົດສອບກົນໄກ EDAC ໃນວິທີການ loop
  10.  Initialize: ອະ​ນຸ​ຍາດ​ໃຫ້​ເລີ່ມ​ຕົ້ນ​ທີ່​ຕັ້ງ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ທີ່​ກໍາ​ນົດ​ໄວ້​ລ່ວງ​ຫນ້າ (ໃນ​ຕົວ​ຢ່າງ​ນີ້ A0000000-A000CFFF​)

ດໍາເນີນການອອກແບບ Demo
ຂັ້ນຕອນຕໍ່ໄປນີ້ອະທິບາຍວິທີການດໍາເນີນການອອກແບບ: ຂັ້ນຕອນຕໍ່ໄປນີ້ອະທິບາຍວິທີການດໍາເນີນການອອກແບບ:

  1. ເປີດໃຊ້ສະວິດການສະໜອງ, SW7.
  2. ດໍາເນີນໂຄງການອຸປະກອນ SmarFusion2 ດ້ວຍການຂຽນໂປລແກລມ file ສະຫນອງໃຫ້ໃນການອອກແບບ files.(\ProgrammingFile\EDAC_DDR3.stp) ໂດຍໃຊ້ຊອບແວການອອກແບບ FlashPro, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຕໍ່ໄປນີ້.
    ຮູບທີ 7 • FlashPro Programming Window
    Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-7
  3. ກົດປຸ່ມ SW6 ເພື່ອຣີເຊັດກະດານຫຼັງຈາກການຂຽນໂປຼແກຼມສຳເລັດ.
  4. ເປີດໃຊ້ EDAC_DDR Demo GUI ປະຕິບັດໄດ້ file ມີຢູ່ໃນການອອກແບບ files (\GUI ປະຕິບັດໄດ້\ EDAC_DDR.exe). ປ່ອງຢ້ຽມ GUI ຖືກສະແດງ, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 8, ຫນ້າ 9.
  5. ກົດເຊື່ອມຕໍ່, ມັນເລືອກພອດ COM ແລະສ້າງການເຊື່ອມຕໍ່. ເຊື່ອມຕໍ່ການປ່ຽນແປງທາງເລືອກໃນການຕັດການເຊື່ອມຕໍ່.
  6. ເລືອກແຖບການແກ້ໄຂຂໍ້ຜິດພາດ 1 ບິດ ຫຼື ການກວດຫາຄວາມຜິດພາດ 2 ບິດ.
  7. ການທົດສອບຄູ່ມືແລະ Loop ສາມາດປະຕິບັດໄດ້.
  8. ຄລິກ Initialize ເພື່ອເລີ່ມຕົ້ນຄວາມຊົງຈໍາ DDR ເພື່ອເຮັດການທົດສອບຄູ່ມື ແລະ Loop, ຂໍ້ຄວາມການສໍາເລັດການເລີ່ມຕົ້ນຈະສະແດງຢູ່ໃນ Serial Console, ດັ່ງທີ່ສະແດງໃນຮູບ 8, ຫນ້າ 9.

ຮູບທີ 8 • ປ່ອງຢ້ຽມເລີ່ມຕົ້ນສຳເລັດແລ້ວ

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-8

ປະຕິບັດການທົດສອບ Loop
ກົດ Loop Test ON. ມັນເຮັດວຽກຢູ່ໃນໂຫມດ loop ບ່ອນທີ່ການແກ້ໄຂຢ່າງຕໍ່ເນື່ອງແລະການກວດສອບຄວາມຜິດພາດແມ່ນເຮັດ. ການກະທຳທັງໝົດທີ່ປະຕິບັດຢູ່ໃນອຸປະກອນ SmartFusion2 ແມ່ນຖືກບັນທຶກຢູ່ໃນສ່ວນ Serial Console ຂອງ GUI.

ຕາຕະລາງ 2 • ທີ່ຢູ່ Memory DDR3 ທີ່ໃຊ້ໃນ Loop Test

  • ໜ່ວຍຄວາມຈຳ DDR3
  • ການແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ 0xA0008000
  • ການກວດຫາຂໍ້ຜິດພາດ 2-ບິດ 0xA000C000

ປະຕິບັດການທົດສອບຄູ່ມື
ໃນວິທີການນີ້, ຄວາມຜິດພາດໄດ້ຖືກນໍາສະເຫນີດ້ວຍຕົນເອງໂດຍໃຊ້ GUI. ໃຊ້ຂັ້ນຕອນຕໍ່ໄປນີ້ເພື່ອດໍາເນີນການແກ້ໄຂຂໍ້ຜິດພາດ 1 ບິດ ຫຼື 2 ບິດການກວດສອບຄວາມຜິດພາດ.

ຕາຕະລາງ 3 • ທີ່ຢູ່ Memory DDR3 ທີ່ໃຊ້ໃນການທົດສອບດ້ວຍມື

ທີ່ຢູ່ປ້ອນຂໍ້ມູນ ແລະຊ່ອງຂໍ້ມູນ (ໃຊ້ຄ່າ 32-bit Hexadecimal).

  • ໜ່ວຍຄວາມຈຳ DDR3
  • ການແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ 0xA0000000-0xA0004000
  • ການກວດຫາຂໍ້ຜິດພາດ 2-ບິດ 0xA0004000-0xA0008000
  1. ກົດ Enable EDAC.
  2. ກົດຂຽນ.
  3. ກົດປິດການໃຊ້ງານ EDAC.
  4. ປ່ຽນແປງຫນຶ່ງບິດ (ໃນກໍລະນີຂອງການແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ) ຫຼືສອງບິດ (ໃນກໍລະນີຂອງການກວດພົບຄວາມຜິດພາດ 2-ບິດ) ໃນຊ່ອງຂໍ້ມູນ (ແນະນໍາຄວາມຜິດພາດ).
  5. ກົດຂຽນ.
  6. ກົດ Enable EDAC.
  7. ກົດອ່ານ.
  8. ສັງເກດການນັບຄວາມຜິດພາດໃນການສະແດງຂໍ້ມູນ ແລະຂໍ້ມູນໃນ GUI. ຄ່າການນັບຄວາມຜິດພາດເພີ່ມຂຶ້ນ 1.

ປ່ອງ​ຢ້ຽມ​ແກ້​ໄຂ​ຄວາມ​ຜິດ​ພາດ 1-bit loop ແມ່ນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ໃນ​ຮູບ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​.

ຮູບ 9 • 1-bit Error Loop Detection Window

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-9

ປ່ອງ​ຢ້ຽມ​ຄູ່​ມື​ການ​ກວດ​ສອບ​ຄວາມ​ຜິດ​ພາດ 2-bit ແມ່ນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ຢູ່​ໃນ​ຮູບ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​.

ຮູບທີ 10 • 2-bit Error Detection Window Manual

Microsemi -DG0618-Error-Detection-and-Correction-on-SmartFusion2-Devices-using-DDR Memory-10

ສະຫຼຸບ
ການສາທິດນີ້ສະແດງໃຫ້ເຫັນຄວາມສາມາດ SmartFusion2 SECDED ສໍາລັບລະບົບຍ່ອຍ MDDR.

ເອກະສານຊ້ອນທ້າຍ: ການຕັ້ງຄ່າ Jumper

ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນ jumpers ທັງຫມົດທີ່ຕ້ອງການເພື່ອກໍານົດໄວ້ໃນ SmartFusion2 Advanced Development Kit.

ຕາຕະລາງ 4 • SmartFusion2 Advanced Development Kit Jumper Settings

Jumper : Pin (From): Pin (To): ຄຳເຫັນ

  • J116, J353, J354, J54 1 2 ນີ້ແມ່ນການຕັ້ງຄ່າ jumper ເລີ່ມຕົ້ນຂອງ Advanced
  • J123 2 3 ກະດານພັດທະນາ. ໃຫ້ແນ່ໃຈວ່າ jumpers ເຫຼົ່ານີ້ຖືກຕັ້ງຕາມຄວາມເຫມາະສົມ.
  • J124, J121, J32 1 2 JTAG ການຂຽນໂປລແກລມຜ່ານ FTDI

DG0618 Demo Guide Revision 4.0

ເອກະສານ / ຊັບພະຍາກອນ

ການກວດຫາຄວາມຜິດພາດ Microsemi DG0618 ແລະການແກ້ໄຂໃນອຸປະກອນ SmartFusion2 ໂດຍໃຊ້ DDR Memory [pdf] ຄູ່ມືຜູ້ໃຊ້
ການກວດສອບຄວາມຜິດພາດ DG0618 ແລະການແກ້ໄຂໃນອຸປະກອນ SmartFusion2 ໂດຍໃຊ້ DDR Memory, DG0618, ການກວດສອບຄວາມຜິດພາດ ແລະການແກ້ໄຂໃນອຸປະກອນ SmartFusion2 ໂດຍໃຊ້ DDR Memory, SmartFusion2 ອຸປະກອນທີ່ໃຊ້ DDR Memory, DDR Memory

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *