发明名称 一种8位宽外部存储器控制器EDAC校验码的生成方法
摘要 一种8位宽外部存储器控制器EDAC校验码的生成方法,该方法首先生成对齐的可执行程序dat文件,根据dat文件和地址位宽计算存储器的最大地址,然后计算校验码的行数,当数据位与校验码的总容量小于等于存储器的容量时,开始计算校验码,并将原来dat文件中的数据和新生成的校验码写到输出文件中,其中原来的数据位从文件头开始顺序排放,校验码从文件尾开始倒序排放,中间部分补0。利用本发明方法,实现了存储器中数据位对应的校验码倒序存储,处理器在读取校验码时直接将所有地址线上的数值都置为1,从存储器的最末端倒序读取校验码,简单方便,且能够节省管脚数,减少内部逻辑单元,提高处理器性能。
申请公布号 CN105373444A 申请公布日期 2016.03.02
申请号 CN201510828933.4 申请日期 2015.11.24
申请人 北京时代民芯科技有限公司;北京微电子技术研究所 发明人 王兴凤;彭和平;于立新;庄伟;苏天红
分类号 G06F11/10(2006.01)I;G06F11/36(2006.01)I 主分类号 G06F11/10(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 臧春喜
主权项 一种8位宽外部存储器控制器EDAC校验码的生成方法,其特征在于包括如下步骤:(1.1)在高级程序编译生成8位宽外部存储器控制器可执行测试程序的过程中,通过所用链接脚本的配合,将text段、data段和rodata段的地址以0x10对齐,得到一个对齐的可执行测试程序的dat文件;(1.2)读取dat文件,得到该文件中数据存储的首地址FirstAdd;(1.3)读取给定的地址位宽n,根据空间处理器外部存储器的具体情况判断地址位宽是否合理,如果不合理给出提示后结束,否则根据地址位宽和步骤(1.2)得到的dat文件中数据存储的首地址,计算存储器的最大地址MaxAdd,MaxAdd的计算公式为:MaxAdd=2<sup>n</sup>+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校验码的输出文件。
地址 100076 北京市丰台区东高地四营门北路2号