ການກວດຫາຄວາມຜິດພາດ Microsemi DG0618 ແລະການແກ້ໄຂໃນອຸປະກອນ SmartFusion2 ໂດຍໃຊ້ DDR Memory
ສໍານັກງານໃຫຍ່ຂອງບໍລິສັດ 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 ສະຫນັບສະຫນູນດັ່ງຕໍ່ໄປນີ້:
- ກົນໄກ SECDED
- ສະຫນອງການຂັດຂວາງກັບໂປເຊດເຊີ ARM Cortex-M3 ແລະຜ້າ FPGA ເມື່ອກວດພົບຂໍ້ຜິດພາດ 1 ບິດຫຼືຄວາມຜິດພາດ 2 ບິດ.
- ເກັບຮັກສາຈໍານວນຂໍ້ຜິດພາດ 1-ບິດ ແລະ 2-ບິດ ຢູ່ໃນບັນຊີຕ້ານຄວາມຜິດພາດ
- ເກັບຮັກສາທີ່ຢູ່ຂອງຄວາມຜິດພາດ 1-bit ຫຼື 2-bit ສຸດທ້າຍທີ່ໄດ້ຮັບຜົນກະທົບຈາກສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ
- ເກັບຮັກສາຂໍ້ມູນຄວາມຜິດພາດ 1-bit ຫຼື 2-bit ຢູ່ໃນທະບຽນ SECDED
- ໃຫ້ສັນຍານລົດເມຜິດພາດກັບຜ້າ 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 ໂຄງສ້າງຊັ້ນເທິງ
ການປະຕິບັດການອອກແບບຕົວຢ່າງ
ລະບົບຍ່ອຍ MDDR ມີຕົວຄວບຄຸມ EDAC ທີ່ອຸທິດຕົນ. EDAC ກວດພົບຂໍ້ຜິດພາດ 1-ບິດ ຫຼືຄວາມຜິດພາດ 2-ບິດ ເມື່ອຂໍ້ມູນຖືກອ່ານຈາກໜ່ວຍຄວາມຈຳ. ຖ້າ EDAC ກວດພົບຂໍ້ຜິດພາດ 1-ບິດ, ຕົວຄວບຄຸມ EDAC ຈະແກ້ໄຂຂໍ້ຜິດພາດເລັກນ້ອຍ. ຖ້າ EDAC ຖືກເປີດໃຊ້ສໍາລັບທຸກຂໍ້ຜິດພາດ 1-bit ແລະ 2-bit, ຕົວຊີ້ວັດຄວາມຜິດພາດທີ່ສອດຄ້ອງກັນໃນລະບົບລົງທະບຽນຈະຖືກເພີ່ມຂຶ້ນແລະການຂັດຂວາງທີ່ສອດຄ້ອງກັນແລະສັນຍານຄວາມຜິດພາດກັບຜ້າ FPGA ແມ່ນຖືກສ້າງຂຶ້ນ.
ອັນນີ້ເກີດຂຶ້ນໃນເວລາຈິງ. ເພື່ອສະແດງຄຸນສົມບັດ SECDED ນີ້, ຂໍ້ຜິດພາດໄດ້ຖືກນໍາສະເຫນີດ້ວຍຕົນເອງແລະສັງເກດເຫັນການກວດພົບແລະການແກ້ໄຂ.
ການອອກແບບຕົວຢ່າງນີ້ກ່ຽວຂ້ອງກັບການປະຕິບັດຂັ້ນຕອນຕໍ່ໄປນີ້:
- ເປີດໃຊ້ EDAC
- ຂຽນຂໍ້ມູນໃສ່ DDR
- ອ່ານຂໍ້ມູນຈາກ DDR
- ປິດໃຊ້ງານ EDAC
- ເສຍຫາຍ 1 ຫຼື 2 ບິດ
- ຂຽນຂໍ້ມູນໃສ່ DDR
- ເປີດໃຊ້ EDAC
- ອ່ານຂໍ້ມູນ
- ໃນກໍລະນີຂອງຄວາມຜິດພາດ 1-bit, ຕົວຄວບຄຸມ EDAC ແກ້ໄຂຂໍ້ຜິດພາດ, ປັບປຸງການລົງທະບຽນສະຖານະທີ່ສອດຄ້ອງກັນ, ແລະໃຫ້ຂໍ້ມູນທີ່ຂຽນໄວ້ໃນຂັ້ນຕອນທີ 2 ໃນການດໍາເນີນງານອ່ານທີ່ເຮັດໃນຂັ້ນຕອນ 8.
- ໃນກໍລະນີຂອງຄວາມຜິດພາດ 2-bit, ການຂັດຂວາງທີ່ສອດຄ້ອງກັນແມ່ນຖືກສ້າງຂຶ້ນແລະແອັບພລິເຄຊັນຕ້ອງແກ້ໄຂຂໍ້ມູນຫຼືດໍາເນີນການທີ່ເຫມາະສົມໃນຕົວຈັດການຂັດຂວາງ. ສອງວິທີການນີ້ແມ່ນສະແດງໃຫ້ເຫັນໃນຕົວຢ່າງນີ້.
ການທົດສອບສອງຢ່າງຖືກປະຕິບັດໃນການສາທິດນີ້: ການທົດສອບ loop ແລະການທົດສອບຄູ່ມືແລະພວກມັນສາມາດໃຊ້ໄດ້ກັບທັງສອງຄວາມຜິດພາດ 1-bit ແລະ 2-bit.
Loop Test
ການທົດສອບ Loop ຖືກປະຕິບັດເມື່ອອຸປະກອນ SmartFusion2 ໄດ້ຮັບຄໍາສັ່ງທົດສອບ loop ຈາກ GUI. ໃນເບື້ອງຕົ້ນ, ເຄື່ອງນັບຄວາມຜິດພາດທັງໝົດ ແລະ ທະບຽນທີ່ກ່ຽວຂ້ອງກັບ EDAC ແມ່ນຖືກຈັດໃສ່ຢູ່ໃນສະຖານະ RESET.
ຂັ້ນຕອນຕໍ່ໄປນີ້ຖືກປະຕິບັດສໍາລັບການເຮັດຊ້ໍາອີກຄັ້ງ.
- ເປີດໃຊ້ຕົວຄວບຄຸມ EDAC
- ຂຽນຂໍ້ມູນໃສ່ທີ່ຕັ້ງຫນ່ວຍຄວາມຈໍາ DDR ສະເພາະ
- ປິດໃຊ້ງານຕົວຄວບຄຸມ EDAC
- ຂຽນຂໍ້ຜິດພາດ 1-bit ຫຼື 2-bit ທີ່ກະຕຸ້ນຂໍ້ມູນໄປຫາສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ DDR ດຽວກັນ
- ເປີດໃຊ້ຕົວຄວບຄຸມ EDAC
- ອ່ານຂໍ້ມູນຈາກສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ DDR ດຽວກັນ
- ສົ່ງການກວດຫາຂໍ້ຜິດພາດ 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
ໝາຍເຫດ: ສໍາລັບຄວາມຜິດພາດ 2-bit, ເມື່ອໂປເຊດເຊີ Cortex-M3 ອ່ານຂໍ້ມູນ, ການປະຕິບັດລະຫັດເຂົ້າໄປໃນຕົວຈັດການຄວາມຜິດຍາກ, ເນື່ອງຈາກວ່າການຂັດຂວາງທີ່ໄດ້ຮັບແມ່ນຊັກຊ້າສໍາລັບໂປເຊດເຊີທີ່ຈະຕອບສະຫນອງ. ເມື່ອມັນຕອບສະຫນອງຕໍ່ການຂັດຂວາງ, ມັນອາດຈະຜ່ານຂໍ້ມູນແລ້ວແລະເປີດຄໍາສັ່ງໂດຍບັງເອີນ. ດັ່ງນັ້ນ, HRESP ຢຸດເຊົາການປະມວນຜົນຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງ. ການກວດສອບຂໍ້ຜິດພາດ 2-ບິດໃຊ້ HPDMA ເພື່ອອ່ານຂໍ້ມູນຈາກສະຖານທີ່ທີ່ຢູ່ DDR, ເຊິ່ງສັ່ງໃຫ້ໂປເຊດເຊີທີ່ອ່ານຂໍ້ມູນມີຂໍ້ຜິດພາດ 2-bit ແລະລະບົບຄວນດໍາເນີນການທີ່ເຫມາະສົມເພື່ອຟື້ນຕົວ (ECC interrupt Handler).
ການຕັ້ງຄ່າ Demo Design
ພາກນີ້ອະທິບາຍການຕັ້ງຄ່າກະດານພັດທະນາຂັ້ນສູງຂອງ SmartFusion2, ຕົວເລືອກ GUI, ແລະວິທີການປະຕິບັດການອອກແບບຕົວຢ່າງ.
ຂັ້ນຕອນຕໍ່ໄປນີ້ອະທິບາຍວິທີການຕັ້ງຕົວຢ່າງ:
- ເຊື່ອມຕໍ່ປາຍໜຶ່ງຂອງສາຍ USB mini-B ກັບຕົວເຊື່ອມຕໍ່ J33 ທີ່ສະໜອງໃຫ້ຢູ່ໃນກະດານ SmartFusion2 Advanced Development Kit. ເຊື່ອມຕໍ່ປາຍອື່ນໆຂອງສາຍ USB ກັບ PC ແມ່ຂ່າຍ. ໄດໂອດປ່ອຍແສງ (LED) DS27 ຕ້ອງສະຫວ່າງຂຶ້ນ, ຊີ້ບອກວ່າການເຊື່ອມຕໍ່ UART ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ. ໃຫ້ແນ່ໃຈວ່າໄດເວີຂົວ USB ຫາ UART ຖືກກວດພົບໂດຍອັດຕະໂນມັດ (ສາມາດກວດສອບໄດ້ໃນຕົວຈັດການອຸປະກອນ), ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຕໍ່ໄປນີ້.
ຮູບທີ 4 • USB to UART Bridge Drivers
ຖ້າໄດເວີຂົວ USB ຫາ UART ບໍ່ໄດ້ຖືກຕິດຕັ້ງ, ດາວໂຫລດແລະຕິດຕັ້ງໄດເວີຈາກ: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - ເຊື່ອມຕໍ່ jumpers ໃນກະດານ SmartFusion2 Advanced Development Kit, ດັ່ງທີ່ສະແດງຢູ່ໃນຕາຕະລາງ 4, ຫນ້າ 11. ສະຫຼັບການສະຫນອງພະລັງງານ SW7 ຕ້ອງຖືກປິດ, ໃນຂະນະທີ່ເຮັດໃຫ້ການເຊື່ອມຕໍ່ jumper.
ຮູບທີ 5 • ການຕັ້ງຄ່າກະດານພັດທະນາແບບພິເສດ SmartFusion2
ການໂຕ້ຕອບຜູ້ໃຊ້ແບບກາຟິກ
ພາກນີ້ອະທິບາຍ DDR – EDAC Demo GUI.
ຮູບທີ 6 • DDR – EDAC Demo GUI
GUI ສະຫນັບສະຫນູນລັກສະນະດັ່ງຕໍ່ໄປນີ້:
- ການເລືອກພອດ COM ແລະອັດຕາ Baud
- ການເລືອກແຖບແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ ຫຼືການກວດຫາຄວາມຜິດພາດ 2-ບິດ
- ຊ່ອງຂໍ້ມູນທີ່ຢູ່ເພື່ອຂຽນ ຫຼືອ່ານຂໍ້ມູນໄປຫາ ຫຼືຈາກທີ່ຢູ່ DDR ທີ່ລະບຸ
- ຊ່ອງຂໍ້ມູນເພື່ອຂຽນ ຫຼືອ່ານຂໍ້ມູນໄປຫາ ຫຼືຈາກທີ່ຢູ່ DDR ທີ່ລະບຸ
- ສ່ວນ Serial Console ເພື່ອພິມຂໍ້ມູນສະຖານະທີ່ໄດ້ຮັບຈາກແອັບພລິເຄຊັນ
- ເປີດໃຊ້ EDAC/Disable EDAC: ເປີດ ຫຼືປິດການໃຊ້ງານ EDAC
- ຂຽນ: ອະນຸຍາດໃຫ້ຂຽນຂໍ້ມູນໄປຫາທີ່ຢູ່ທີ່ກໍານົດໄວ້
- ອ່ານ: ອະນຸຍາດໃຫ້ອ່ານຂໍ້ມູນຈາກທີ່ຢູ່ທີ່ລະບຸ
- Loop test ເປີດ/ປິດ: ອະນຸຍາດໃຫ້ທົດສອບກົນໄກ EDAC ໃນວິທີການ loop
- Initialize: ອະນຸຍາດໃຫ້ເລີ່ມຕົ້ນທີ່ຕັ້ງຫນ່ວຍຄວາມຈໍາທີ່ກໍານົດໄວ້ລ່ວງຫນ້າ (ໃນຕົວຢ່າງນີ້ A0000000-A000CFFF)
ດໍາເນີນການອອກແບບ Demo
ຂັ້ນຕອນຕໍ່ໄປນີ້ອະທິບາຍວິທີການດໍາເນີນການອອກແບບ: ຂັ້ນຕອນຕໍ່ໄປນີ້ອະທິບາຍວິທີການດໍາເນີນການອອກແບບ:
- ເປີດໃຊ້ສະວິດການສະໜອງ, SW7.
- ດໍາເນີນໂຄງການອຸປະກອນ SmarFusion2 ດ້ວຍການຂຽນໂປລແກລມ file ສະຫນອງໃຫ້ໃນການອອກແບບ files.(\ProgrammingFile\EDAC_DDR3.stp) ໂດຍໃຊ້ຊອບແວການອອກແບບ FlashPro, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຕໍ່ໄປນີ້.
ຮູບທີ 7 • FlashPro Programming Window
- ກົດປຸ່ມ SW6 ເພື່ອຣີເຊັດກະດານຫຼັງຈາກການຂຽນໂປຼແກຼມສຳເລັດ.
- ເປີດໃຊ້ EDAC_DDR Demo GUI ປະຕິບັດໄດ້ file ມີຢູ່ໃນການອອກແບບ files (\GUI ປະຕິບັດໄດ້\ EDAC_DDR.exe). ປ່ອງຢ້ຽມ GUI ຖືກສະແດງ, ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 8, ຫນ້າ 9.
- ກົດເຊື່ອມຕໍ່, ມັນເລືອກພອດ COM ແລະສ້າງການເຊື່ອມຕໍ່. ເຊື່ອມຕໍ່ການປ່ຽນແປງທາງເລືອກໃນການຕັດການເຊື່ອມຕໍ່.
- ເລືອກແຖບການແກ້ໄຂຂໍ້ຜິດພາດ 1 ບິດ ຫຼື ການກວດຫາຄວາມຜິດພາດ 2 ບິດ.
- ການທົດສອບຄູ່ມືແລະ Loop ສາມາດປະຕິບັດໄດ້.
- ຄລິກ Initialize ເພື່ອເລີ່ມຕົ້ນຄວາມຊົງຈໍາ DDR ເພື່ອເຮັດການທົດສອບຄູ່ມື ແລະ Loop, ຂໍ້ຄວາມການສໍາເລັດການເລີ່ມຕົ້ນຈະສະແດງຢູ່ໃນ Serial Console, ດັ່ງທີ່ສະແດງໃນຮູບ 8, ຫນ້າ 9.
ຮູບທີ 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
- ກົດ Enable EDAC.
- ກົດຂຽນ.
- ກົດປິດການໃຊ້ງານ EDAC.
- ປ່ຽນແປງຫນຶ່ງບິດ (ໃນກໍລະນີຂອງການແກ້ໄຂຂໍ້ຜິດພາດ 1-ບິດ) ຫຼືສອງບິດ (ໃນກໍລະນີຂອງການກວດພົບຄວາມຜິດພາດ 2-ບິດ) ໃນຊ່ອງຂໍ້ມູນ (ແນະນໍາຄວາມຜິດພາດ).
- ກົດຂຽນ.
- ກົດ Enable EDAC.
- ກົດອ່ານ.
- ສັງເກດການນັບຄວາມຜິດພາດໃນການສະແດງຂໍ້ມູນ ແລະຂໍ້ມູນໃນ GUI. ຄ່າການນັບຄວາມຜິດພາດເພີ່ມຂຶ້ນ 1.
ປ່ອງຢ້ຽມແກ້ໄຂຄວາມຜິດພາດ 1-bit loop ແມ່ນສະແດງໃຫ້ເຫັນໃນຮູບດັ່ງຕໍ່ໄປນີ້.
ຮູບ 9 • 1-bit Error Loop Detection Window
ປ່ອງຢ້ຽມຄູ່ມືການກວດສອບຄວາມຜິດພາດ 2-bit ແມ່ນສະແດງໃຫ້ເຫັນຢູ່ໃນຮູບດັ່ງຕໍ່ໄປນີ້.
ຮູບທີ 10 • 2-bit Error Detection Window Manual
ສະຫຼຸບ
ການສາທິດນີ້ສະແດງໃຫ້ເຫັນຄວາມສາມາດ 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 |