一种基于命令字的fpga资源时序平衡方法

文档序号:6512967阅读:119来源:国知局
一种基于命令字的fpga资源时序平衡方法
【专利摘要】一种基于命令字的FPGA资源时序平衡方法,针对在航天等高可靠性应用场合,不便采用大规模商业器件的情况下,导致FPGA资源紧张的问题。通过合理平衡FPGA资源和外部存储资源的方式,达到FPGA在消耗较小资源的情况下实现同等的逻辑功能,同时提供了一定的软件可编程特性,达到了逻辑资源、功能、可编程性的和谐统一。本发明不仅减少了FPGA逻辑使用量,降低了单粒子风险,同时还提供了在不改变FPGA逻辑的情况下提供了软件可编程特性,具有较为广阔的应用前景和借鉴性。
【专利说明】—种基于命令字的FPGA资源时序平衡方法【技术领域】[0001]本发明涉及一种对Xilinx SRAM型FPGA抗单粒子效应加固的基于帧的高级配置 管理架构,属于通信领域。【背景技术】[0002]对于航天应用场合,由于外空存在大量高能粒子,大规模SRAM型FPGA存在单粒子 翻转效应,目前采用的防护措施主要是通过回读SRAM型FPGA内部的配置数据,与原始下载 文件进行比对,实时进行刷新,以缓解单粒子效应带来的影响。[0003]一般是通过非SRAM型高等级抗辐射类型的FPGA来实现对Xilinx SRAM型FPGA 抗单粒子效应加固的高级配置管理功能,但是非SRAM型FPGA由于工艺的限制,在资源容量 上往往显得比较局促。同时高等级抗辐射类型FPGA也并不是100%的完全对单粒子免疫, 这就要求尽可能使用少的逻辑实现特定的逻辑,以减少单粒子效应作用面积。[0004]对于非SRAM型FPGA,例如反熔丝型或者FLASH型,存在着逻辑资源少,时序性能 差,布通率小的缺点。所以在采用这种类型的FPGA时,经常会面临着可实现的逻辑功能简 单,以及各种各样的时序问题,尤其逻辑资源紧俏的抗辐射型FPGA的在逻辑功能、时序、资 源占用率、功耗方面十分矛盾。[0005]由于SRAM型FPGA的配置文件需要外部存储设备进行存储,为了抗单粒子,外部存 储设备(例如FLASH) —般会进行3模冗余备份,并且会有相当大的资源空缺。这就为将一 部分逻辑功能平衡到外部存储设备中提供了条件,同时由于三模冗余备份的存在,其可靠 性也能有所保障。所以现在急需研究一种方法使得非SARM型FPGA利用最少的资源生成复 杂逻辑。
【发明内容】
[0006]本发明的技术解决问题是:克服现有技术的不足,提出了一种基于命令字的资源 时序平衡方法,能够使FPGA功能、资源、时序相平衡,解决了无法用少量资源生成复杂逻辑 的问题。[0007]本发明的技术解决方案是:[0008]一种基于命令字的FPGA资源时序平衡方法,包括步骤如下:[0009](I)依据设计需求设计时序控制命令字,并将命令字顺序组合成一个能通过FPGA 译码的完整时序逻辑;[0010](2)将时序控制命令字与比特流文件组合成帧数据,并将帧数据存储于外部存储 芯片中;[0011](3) FPGA读取外部存储芯片中的帧数据中的时序控制命令字;[0012](4)FPGA利用步骤(3)中读取的时序控制命令字生成该命令字对应的时序逻辑。[0013]所述步骤(2)外部存储芯片为FLASH芯片。[0014]所述步骤(2)中的帧数据指全局配置帧头段、全局配置帧数据段、全局配置帧尾段、回读帧头段、回读帧尾段、回读帧尾段、刷新帧头段、刷新帧尾段。[0015]本发明与现有技术相比的有益效果是:[0016](I)本发明将命令字存储于外部存储芯片中,缩减了 FPGA存储大量数据的弊端, 节省了大量宝贵的FPGA寄存器资源,外部FLASH由于本身是高等级器件,并且具有三模冗 余,通过合理安排资源,降低了对FPGA的要求,尤其适用于航天应用场合。[0017](2)本发明相对于反熔丝型FPGA,避免了因为修改数据而造成的逻辑修改,提高了 使用的灵活性,避免了重复编程造成的器件浪费,节省了 FPGA的逻辑使用量。[0018](3)本发明通过操作命令字的方式,灵活实现各种时序需求,有极大的可操作性,, 同时解决了反熔丝型或FLASH型FPGA,存在的逻辑资源少,时序性能差等问题。[0019](5)本发明采用了时序命令字来控制FPGA的接口时序,在测试和调试过程中可以 轻易的修改时序,利于调试。【专利附图】

【附图说明】[0020]图1本发明时序逻辑生成方法流程图;[0021]图2本发明各帧段FLASH存储示意图;[0022]图3本发明时序命令字示意图;[0023]图4本发明时序命令控制字重组、分割、存储示意图。【具体实施方式】[0024]下面结合附图对本发明的【具体实施方式】进行进一步的详细描述。[0025]如图1所示,本发明提供的一种基于命令字的FPGA资源时序平衡方法,通过合理 平衡FPGA资源和外部存储芯片的方式,达到FPGA在消耗较小资源的情况下实现同等的逻 辑功能,既生成复杂的逻辑关系,本发明包括以下步骤:[0026](I)根据需求设计时序控制命令字,并将命令字顺序组合成一个能通过FPGA译码 的完整时序逻辑。[0027]如图2、3所示,每个命令字占用4Byte,其中高字节设为8 ’ hFE作为命令字的帧头, 次高字节和次低字节未定义,默认为全零,最低字节用来对不同的时序进行编码。如图2、3 所示,只示意了 5种主要的时序形式,实际中可以根据需要进行扩展,这有点类似CPU的工 作形式,图中的时序命令字在实际中被编码为如下形式。[0028]CS_HIGH_T0_L0W:8’ h02[0029]CS_L0W_T0_HIGH:8’ h03[0030]CS_T0GGLE_HIGH:8’h04[0031]CS_T0GGLE_L0W:8’ h05[0032]REALIGNED:8’ h09[0033](2)将时序控制命令字与比特流文件组合成帧数据,并将帧数据存储于外部存储 芯片中;如图4所示,将时序控制命令字与原始的比特流流文件、msk (掩码)文件、高级配 置管理操作回读和刷新所用到的专用命令字进行组合,生成利于存储的7个帧段,分别为:[0034]全局配置帧头段:糅合了时序命令字和原始流文件配置帧头[0035]全局配置帧数据段:糅合了原始流文件配置数据和帧地址[0036]全局配置帧尾段:糅合了时序命令字和原始流文件配置帧尾[0037]回读帧头段:糅合了回读专用命令字和时序命令字[0038]回读帧尾段:糅合了回读专用命令字和时序命令字[0039]刷新帧头段:糅合了刷新专用命令字和时序命令字[0040]刷新帧尾段:糅合了刷新专用命令字和时序命令字[0041]对于这7个帧段的存储,并没用采用串行的方式,由于使用外部存储芯片进行存 储,例如FLASH,所以以扇区为分段单位,这样利于添加新的命令字;所述步骤(2)外部存储 芯片为FLASH芯片。[0042](3) FPGA读取外部存储芯片中的帧数据中的时序控制命令字;[0043](4)FPGA利用步骤(3)中读取的时序控制命令字生成该命令字对应的时序逻辑。[0044]实现FPGA和FLASH的桥接通路以及实际运行如果要实现高级配置管理功能,通常 会在FPGA内部固定死回读帧头段、回读帧尾段、刷新帧头段、刷新帧尾段的数据。把这些数 据挪到外部FLASH中后,只需要回读FLASH对应的数据即可以实现该段数据的操作,同时需 要更改回读刷新命令字时只需要利于FPGA和FLASH的桥接通道,修改FLASH中的数据即 可。[0045]在实际运行中,FPGA读取FLASH中的数据,由于时序命令字只存在于帧头段和帧 尾段,所以可以避免时序命令字和配置数据的冲突。当检测到时序命令字时,根据具体含义 生成特定的时序。[0046]本发明说明书中未作详细描述的内容属于本领域技术人员的公知技术。
【权利要求】
1.一种基于命令字的FPGA资源时序平衡方法,其特征在于步骤如下:(1)根据需求设计时序控制命令字,并将命令字顺序组合成一个能通过FPGA译码的完 整时序逻辑;(2)将时序控制命令字与比特流文件组合成帧数据,并将帧数据存储于外部存储芯片中;(3)FPGA读取外部存储芯片中的帧数据中的时序控制命令字;(4)FPGA利用步骤(3)中读取的时序控制命令字生成该命令字对应的时序逻辑。
2.根据权利要求1所述的一种基于命令字的FPGA资源时序平衡方法,其特征在于:所 述步骤(2)外部存储芯片为FLASH芯片。
3.根据权利要求1所述的一种基于命令字的FPGA资源时序平衡方法,其特征在于:所 述步骤(2)中的帧数据指全局配置帧头段、全局配置帧数据段、全局配置帧尾段、回读帧头 段、回读帧尾段、回读帧尾段、刷新帧头段和刷新帧尾段。
【文档编号】G06F9/305GK103500083SQ201310439309
【公开日】2014年1月8日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】刘宪阳, 王鹏程, 赵文亮, 王浩, 田林琳 申请人:航天恒星科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1