本发明涉及芯片,特别涉及片上存储器,具体是指一种应用于片上存储器的纠错编码系统及方法。
背景技术:
1、现有技术中的纠错编码无法应用于规格是512b+16b/28b(4224b/4320b)的片上存储器。
技术实现思路
1、本发明的目的是克服了上述现有技术中的缺点,提供一种能够应用于512b+16b/28b(4224b/4320b)的片上存储器的纠错编码系统及方法。
2、为了实现上述的目的,本发明的应用于片上存储器的纠错编码系统具有如下构成:
3、包括:相互连接的编码电路(ecc_encoder)、解码电路(ecc_decoder)、状态机电路(ecc_fsm)和寄存器模块(ecc_reg);所述的解码电路包括校正子计算电路(ecc_syndm)、求解错误位置多项式电路(ecc_bma)和求解错误位置数电路(ecc_chien),其中,
4、所述的编码电路用以进行数据编码;
5、所述的解码电路用以进行数据解码;
6、所述的寄存器模块用以存储编码和解密所用数据;
7、所述的状态机电路用以根据不同状态控制所述的编码电路和解码电路;包括:将当前解码的消息长度输入接口信号data_cnt_i;如果纠错位数为8位,将接口信号ecc_opt_i设为低电平;如果纠错位数为15位,将接口信号ecc_opt_i设为高电平;将接口信号dec_we_i设为高电平,将校验位作为高位,消息作为低位,拼接起来形成解码数据;然后将解码数据从低电平到高电平,按字节输入接口信号dec_data_i;等待两个时钟周期,检查信号ecc_error_o是否为高,如果为高表明数据或者校验位中的某些位存在错误;如果为低表明没有错误;如果存在错误,监测信号dec_wr_en_o为高,信号erraddr_o的值即为位错地址;如果ecc_error_o为低或者ecc_correct_fail_o为高,表明纠错结束。
8、该应用于片上存储器的纠错编码系统中,所述的状态机电路的不同状态包括:
9、空闲状态(idle);编码数据输入状态(enc_read);编码状态(enc_calc);奇偶校验位输出状态(enc_write);解码数据输入状态(dec_read);解码状态(dec_calc);偶校正子分量计算状态(dec_syndm);错误位置多项式计算状态(dec_bma);错误位置数计算状态(dec_chien)和编解码结束状态(done)。
10、该应用于片上存储器的纠错编码系统中,编码时,当接口信号ecc_en_i和enc_we_i同时为高电平时通过时钟信号clk_i上沿写入;解码时,当接口信号ecc_en_i和dec_we_i同时为高电平时通过时钟信号clk_i上沿写入。
11、该应用于片上存储器的纠错编码系统中,编解码时,数据或者校验位都从低位到高位按字节进行输入和输出,当纠错位数为15位时,校验位的长度为195位,将数据的长度减少3位,使得校验位和数据的总体长度满足字节位数的倍数。
12、本发明还提供一种应用于片上存储器的纠错编码方法,该方法利用上述的系统实现,该方法包括:
13、在整个解码过程中,保持接口信号ecc_en_i为高电平;
14、将当前解码的消息长度输入接口信号data_cnt_i;如果纠错位数为8位,将接口信号ecc_opt_i设置为低电平;如果纠错位数为15位,将接口信号ecc_opt_i设置为高电平;
15、将纠错使能信号correct_en_i设置为高电平;
16、将接口信号dec_we_i设置为高电平,将校验位作为高,消息作为低,拼接起来形成解码数据;然后将解码数据从低位到高位,按字节输入接口信号dec_data_i;
17、数据输入完成后,等待两个时钟周期,检查ecc_error_o是否为高,如果为高表明数据或者校验位中的某些位存在错误;如果为低表明没有任何错误,硬件结束运算。
18、该应用于片上存储器的纠错编码方法还包括:
19、如果存在错误,监测信号dec_wr_en_o,如果为高,信号erraddr_o的值即为位错地址;
20、如果信号ecc_error_o为低,表明纠错成功,错误个数没有超出纠错能力,则信号errcnt_o的值即为位错数目;如果信号ecc_correct_fail_o为高,表明纠错失败,错误个数超出纠错能力;
21、纠错结束。
22、采用了该发明的应用于片上存储器的纠错编码系统包括编码电路、解码电路、状态机电路和寄存器模块;解码电路包括校正子计算电路、求解错误位置多项式电路和求解错误位置数电路,本发明的方法在应用时,将校验位作为高位,消息作为低位,拼接起来形成解码数据;然后将解码数据从低电平到高电平,按字节输入接口信号dec_data_i;等待两个时钟周期,检查信号ecc_error_o确定数据或者校验位中是否存在错误;如果存在错误,确定位错地址并进行纠错。从而能够在数据存储的过程中自动完成纠错编码并存储在特定区域,进而自动完成译码和纠错的过程,输出正确的数据。且可以方便地应用于512b+16b/28b(4224b/4320b)的片上存储器。
1.一种应用于片上存储器的纠错编码系统,其特征在于,包括:
2.根据权利要求1所述的应用于片上存储器的纠错编码系统,其特征在于,所述的状态机电路的不同状态包括:
3.根据权利要求1所述的应用于片上存储器的纠错编码系统,其特征在于,编码时,当接口信号ecc_en_i和enc_we_i同时为高电平时通过时钟信号clk_i上沿写入;解码时,当接口信号ecc_en_i和dec_we_i同时为高电平时通过时钟信号clk_i上沿写入。
4.根据权利要求1所述的应用于片上存储器的纠错编码系统,其特征在于,编解码时,数据或者校验位都从低位到高位按字节进行输入和输出,当纠错位数为15位时,校验位的长度为195位,将数据的长度减少3位,使得校验位和数据的总体长度满足字节位数的倍数。
5.一种应用于片上存储器的纠错编码方法,其特征在于,该方法利用权利要求1至4中任一项所述的系统实现,该方法包括:
6.一种应用于片上存储器的纠错编码方法,其特征在于,该方法还包括:
