[发明专利]FPGA内ROM映射区动态刷新纠错方法有效
申请号: | 201110295603.5 | 申请日: | 2011-09-29 |
公开(公告)号: | CN102508729A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 童亚钦;辛明瑞;张浩 | 申请(专利权)人: | 中国航天科技集团公司第五研究院第五一三研究所 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 杨志兵;高燕燕 |
地址: | 264003 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | fpga rom 映射 动态 刷新 纠错 方法 | ||
技术领域
本发明涉及现场可编程逻辑门阵列(FPGA)技术领域,尤其涉及一种静态存储(SRAM)型FPGA内部配置区动态刷新纠错方法。
背景技术
Xilinx公司出产的静态存储(SRAM)型FPGA器件(以下称为Xilinx FPGA)运行时的逻辑状态由配置区的数据决定。但是Xilinx FPGA器件在实际工作过程中可能因外部工作环境的干扰(如电压突变、无线脉冲干扰、高能粒子撞击等)而使FPGA的配置区数据发生改变,从而影响FPGA嵌入逻辑的正常运行。
目前一种保证配置区数据正确性的解决方式为:如图1所示,使用外部控制电路将存储于程序存储器(PROM)的配置文件中的配置数据循环重配置到FPGA的配置区,从而实现FPGA配置区数据的动态刷新。该方法可以在不中断FPGA正常工作的情况下,反复向FPGA配置区写入正确的配置数据,确保发生错误的配置区数据能得到及时更新,从而增强FPGA工作的可靠性。
Xilinx FPGA的全部配置数据中既包括对FPGA的工作模式进行设置的指令,也包括将要写入FPGA的配置区的数据。当对FPGA的配置区进行循环重配置时,有部分指令和数据是不能被反复写入的,需要在重配置过程中屏蔽掉这部分不允许反复写入的数据,如果这些不允许反复写入的数据在FPGA工作过程中被重复写入,可能会改变FPGA嵌入逻辑的工作状态,导致FPGA不能正常工作。
Xilinx公司的FPGA开发软件ISE在生成配置文件*.bit时,也会生成一个数据屏蔽文件*.ll,在该数据屏蔽文件*.ll中列出了不允许反复写入的配置数据在配置文件*.bit中的位置。因此为了避免对不允许反复写入的配置数据进行刷新,该动态刷新方法改进为:在动态刷新时,读取配置文件*.bit和屏蔽文件*.ll,根据两个文件进行数据分析,只刷新允许反复写入的数据,从而避免写入屏蔽字。
然而,这种解决方法具有如下缺陷:
(1)需要将配置信息和不允许重复写入的信息分别存放在2个不同的数据文件中,需要2块ROM芯片保存这2个数据文件,增加了硬件的使用,而且分析过程需要对两个文件中的信息进行解析,过程复杂。
(2)FPGA中的块RAM资源可以为例化为ROM映射区使用,将这样的块RAM称为ROM映射区,ROM映射区用来存储固定不变的数据,如工作参数、计算系数等。对于FPGA来说,ROM映射区在逻辑上为只读类型的存储区,但是由于其本质上还是RAM,因此有可能因外部环境的干扰而发生改变,如果能够对ROM映射区进行动态刷新,就可以保证ROM映射区所存储数据的正确性,而且刷新ROM映射区也不会干扰FPGA内部逻辑的正常运行。但是目前数据屏蔽文件*.ll中所列出的不允许反复写入的配置数据就包括了ROM映射区中的数据,因此上述的解决方法不能对ROM映射区进行动态刷新。当配置过程结束后,若ROM中存储的数据内容受外部环境影响若发生不可控的改变,数据将一直保持为改变后的错误的值,直到重新对FPGA启动一次配置过程,这将导致FPGA内部的逻辑电路工作异常。
为了解决ROM映射区刷新问题,目前一种保证ROM映射区存储的数据正确性的方式为:如图2所示,采用三模冗余的设计方法,将一块ROM映射区替换成三块ROM映射区,ROM多数判决模块同时读取三块ROM中的数据,当大于或等于两块ROM中的数据相同时,认为相同的数据即为正确的数据。这种方法需要占用三倍的块RAM资源,而且多数判决模块也需要占用额外的FPGA逻辑资源,造成资源使用量大,限制了它在实际工程实践中的应用。
发明内容
有鉴于此,本发明针对Xilinx FPGA内的ROM映射区在受到外部环境干扰导致存储的数据错误的情况,提供一种SRAM型FPGA配置区动态刷新纠错方法,在循环重复刷新配置区数据时,允许动态刷新ROM映射区的数据,能够保证ROM映射区中数据的正确性;而且与三模冗余方法相比,本发明不需要占用额外的FPGA逻辑资源,而且重启配置时不会中断FPGA的工作,可以应用于需要FPGA连续工作的场合。
该方案是这样实现的:
一种SRAM型FPGA内ROM映射区配置区动态刷新纠错方法,应用于SRAM型的FPGA,该方法包括:
第一步:FPGA开发软件ISE生成配置文件和屏蔽字文件;屏蔽字文件记载了屏蔽信息,所述屏蔽信息指示出禁止在FPGA嵌入逻辑工作状态下被动态刷新的配置信息在配置文件中的位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科技集团公司第五研究院第五一三研究所,未经中国航天科技集团公司第五研究院第五一三研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110295603.5/2.html,转载请声明来源钻瓜专利网。