ปัญหาสำคัญ
ปัญหานี้มีผลต่อผลิตภัณฑ์ DDR2, DDR3 และ LPDDR2
เมื่อการตั้งค่าคอนโทรลเลอร์ เปิดใช้งานการกําหนดค่าและ เปิดใช้งาน Status Register Interface อยู่และ เปิดใช้งานข้อผิดพลาด ไม่ได้เปิดใช้งานตรรกะการตรวจหาและการแก้ไข ตรรกะซอฟต์ลอจิก ECC อย่างไรก็ตาม จะเปิดใช้งานในแกน IP ผลที่ได้คือเพิ่มเติม การใช้งานทรัพยากรและสามารถลด fmax ที่เป็นไปได้ของคอนโทรลเลอร์
วิธีแก้ไขปัญหาสําหรับปัญหานี้มีดังนี้:
- ในโปรแกรมแก้ไขข้อความ ให้เปิด ไฟล์
alt_mem_ddrx_csr.v
- เปลี่ยนCTL_ECC_CSR_ENABLEDใกล้กับด้านบนสุดของ alt_mem_ddrx_csr.v = 1 ไปยัง CTL_ECC_CSR_ENABLED = 0
- ใน alt_mem_ddrx_csr.v ให้หาบล็อกของโค้ดต่อไปนี้:
if (!CTL_ECC_CSR_ENABLED)
begin
assign cfg_enable_ecc = 1\'b1; // default value
assign cfg_enable_auto_corr = 1\'b1; // default value
assign cfg_gen_sbe = 0;
assign cfg_gen_dbe = 0;
assign cfg_enable_intr = 1\'b1; // default value
assign cfg_mask_sbe_intr = 0;
assign cfg_mask_dbe_intr = 0;
assign cfg_clr_intr = 0;
assign cfg_mask_corr_dropped_intr=0;
end
เปลี่ยนบล็อกของโค้ดเป็นดังนี้:
if (!CTL_ECC_CSR_ENABLED)
begin
assign cfg_enable_ecc = 1\'b0; // default value
assign cfg_enable_auto_corr = 1\'b0; // default value
assign cfg_gen_sbe = 0;
assign cfg_gen_dbe = 0;
assign cfg_enable_intr = 1\'b0; // default value
assign cfg_mask_sbe_intr = 0;
assign cfg_mask_dbe_intr = 0;
assign cfg_clr_intr = 0;
assign cfg_mask_corr_dropped_intr=0;
end
�
ปัญหานี้จะได้รับการแก้ไขในเวอร์ชันในอนาคต