ECC 设计
module DW_ecc #(
parameter width = 32 , // ECC 校验数据位宽
parameter chkbits = 7 , // ECC 校验码数据位宽,示例:64 位数据 - 8 位校验码
parameter synd_sel = 0
)(
input gen , // 1'b1 : 写模式; 1'b0 : 读模式
input correct_n , // 低有效使能数据更正功能,仅作用于读模式
input [width-1:0] datain , // 数据输入
input [chkbits-1:0] chkin , // 校验码输入,仅作用于读模式
output err_detect , // 单 bit 错误报错,仅读模式有效
output err_multpl , // 多 bit 错误报错,仅读模式有效
output dataout , // 输出数据,错误发生且更正功能使能时有效将被更正,仅读模式有效
output chkout // 输出校验码,
); // gen = 1, 写入到存储器的校验码
// gen = 0, 当 synd_sel = 1 时输出 error syndrome value