[发明专利]一种8位宽外部存储器控制器EDAC校验码的生成方法在审
申请号: | 201510828933.4 | 申请日: | 2015-11-24 |
公开(公告)号: | CN105373444A | 公开(公告)日: | 2016-03-02 |
发明(设计)人: | 王兴凤;彭和平;于立新;庄伟;苏天红 | 申请(专利权)人: | 北京时代民芯科技有限公司;北京微电子技术研究所 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F11/36 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 臧春喜 |
地址: | 100076 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 外部 存储器 控制器 edac 校验码 生成 方法 | ||
1.一种8位宽外部存储器控制器EDAC校验码的生成方法,其特征在于包括如下步骤:
(1.1)在高级程序编译生成8位宽外部存储器控制器可执行测试程序的过程中,通过所用链接脚本的配合,将text段、data段和rodata段的地址以0x10对齐,得到一个对齐的可执行测试程序的dat文件;
(1.2)读取dat文件,得到该文件中数据存储的首地址FirstAdd;
(1.3)读取给定的地址位宽n,根据空间处理器外部存储器的具体情况判断地址位宽是否合理,如果不合理给出提示后结束,否则根据地址位宽和步骤(1.2)得到的dat文件中数据存储的首地址,计算存储器的最大地址MaxAdd,MaxAdd的计算公式为:MaxAdd=2n+FirstAdd;
(1.4)逐行读取dat文件并统计出该文件的行数DataLine,根据DataLine判断输入数据量是否小于存储器的容量,如果不小于就给出提示并结束,否则计算校验码所占的行数ParLine,计算ParLine的方法为:
(a)当DataLine是4的整数倍时,ParLine=DataLine/4;
(b)当DataLine不是4的整数倍时,ParLine=DataLine/4+1;
(1.5)根据DataLine与ParLine判断数据位与校验码的总容量是否大于存储器的容量,如果大于就给出提示并结束,否则开始计算校验码;
(1.6)将原来dat文件中的数据和新生成的校验码写到输出文件中,原来的数据位从文件头开始顺序排放,而新生成的校验码从文件尾开始倒序排放,中间部分根据地址位宽n和校验码行数ParLine确定补0情况,得到带EDAC校验码的输出文件。
2.根据权利要求1所述的一种8位宽外部存储器控制器EDAC校验码的生成方法,其特征在于:所述步骤(1.1)中对齐的可执行测试程序dat文件的格式为:
文件的每行有5个数据,第一列是以0x10递增的十六进制的32bits地址,每行的地址后面是4个十六进制的32bits数据位,每行的第一个数据位在存储器中的地址就是该行第一列的数据。
3.根据权利要求2所述的一种8位宽外部存储器控制器EDAC校验码的生成方法,其特征在于:所述步骤(1.6)中得到带EDAC校验码的输出文件的方法为:
(3.1)将原来dat文件中的数据依次写到输出文件中,格式与原来的dat文件一样;
(3.2)根据存储器的最大地址MaxAdd和校验码行数ParLine确定补0情况,并写到输出文件中:
(a)如果行首的地址小于(MaxAdd-16*ParLine),那么该行后面的4个数据位全部补0;
(b)如果行首的地址等于(MaxAdd-16*ParLine),那么该行后面的4个数据位不补0或者部分补0;
(c)如果行首的地址大于(MaxAdd-16*ParLine),那么该行不补0,数据位都是校验码,将计算得到的校验码按倒序写到该行后面的数据位,直到原来dat文件中第一行的第一个数据位的校验码被写到输出文件中为止。
4.根据权利要求3所述的一种8位宽外部存储器控制器EDAC校验码的生成方法,其特征在于:所述步骤(b)的实现方式为:
(4.1)如果(DataLine%4)等于0,那么该行不用补0,该行的第一个数据位为原来dat文件中最后一行数据位的校验码,第二个数据位为原来dat文件中倒数第二行数据位的校验码,第三个数据位为原来dat文件中倒数第三行数据位的校验码,第四个数据位为原来dat文件中倒数第四行数据位的校验码;
(4.2)如果(DataLine%4)等于1,那么该行补3个0,即该行的前三个数据位都为0,最后一个数据位为原来dat文件中最后一行数据位的校验码;
(4.3)如果(DataLine%4)等于2,那么该行补2个0,即该行的前两个数据位都为0,第三个数据位为原来dat文件中最后一行数据位的校验码,第四个数据位为原来dat文件中倒数第二行数据位的校验码;
(4.4)如果(DataLine%4)等于3,那么该行补1个0,即该行的第一个数据位为0,第二个数据位为原来dat文件中最后一行数据位的校验码,第三个数据位为原来dat文件中倒数第二行数据位的校验码,第四个数据位为原来dat文件中倒数第三行数据位的校验码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510828933.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据备份方法
- 下一篇:一种数据同步处理的方法以及终端