Skip to main content

DW 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值
                                       //          即 chkin 和 rdata 校验码的异或值

 

 

image.png