一种帧序列处理方法及系统的制作方法_3

文档序号:9865344阅读:来源:国知局
L 4' hO
[0099] 表示一个空操作,该命令允许SelectMAP接口出现时钟信号,但是数据线无意义, 主要用于时序调整和回读时的排空占位或者刷新时的空闲顿操作;
[0100] CS_HIGH_T0_L0W 4'h2
[0101] 表示SelectMAP接口的CS片选信号由高变低;
[010引 CS_L0W_T0_HI細 4'h3
[0103] 表示SelectMAP接口的CS片选信号由低变高;
[0104] CS_T0GGLE_HI細 4'h4
[0105] 表示RDWR信号由低变高,为了避免RDWR信号在CS有效的情况下发生变化触发中 止,设计了该命令;
[0106] CS_T0GGLE_L0W 4'h5
[0107] 表示畑WR信号由高变低,同上;
[010引 CONFIG_ADDR_SIG 4'h7
[0109] 该命令用来替换Xilinx的地址访问顿字。由于本发明是采用基于顿的算法,顿地 址是由控制器FPGA内部实现,所W在回读和刷新过程中需要加载地址的地方由该命令替 换,FPGA内部识别该命令重新加载正确的顿地址;
[0110] REALIGNED 4'h9
[0111] 由于需要频繁的对配置存储器进行操作,在每一顿之前首先需确保Vbtex-4 FPGA内部配置逻辑正常,该命令实现了重新同步配置逻辑的时序;
[0112] 上述各个命令字的产生时序,如本发明实施例图5所示。
[0113] 本发明实施例中,对于高级配置管理功能,下载流文件提供了顿头和顿尾信息,但 是基于顿的回读和刷新功能没有提供相应的顿头和顿尾信息。基于扩展命令集,本发明对 回读、刷新所用的命令操作及数据进行重组,将顿定义进行扩展化,即针对全局配置、回读 和刷新,均有顿头、顿数据和顿尾的定义。送些顿头顿尾所定义的操作不使用反烙丝FPGA 逻辑来实现,而是将其通过软件的手段生成类似下载流的流文件,存储在分配好的对应 FLA甜扇区中。反烙丝FPGA逻辑只需设计和FLA甜器件的桥接通路,即可实时更新配置时 序(通过更改时序命令字)和回读刷新命令字。由于不需要重新烧录反烙丝FPGA程序,在 测试,调试,W及在线上注功能上具有极大的方便特性。
[0114] 本发明实施例中,为所述经过数据顿分段的配置数据中的每一顿数据添加首字 节;所述首字节表示其所对应数据顿的存储地址。
[0115] 对于基于顿的配置回读校验功能来说,能够准确的定位顿地址是非常关键的。但 如果将计算顿地址所需的各种参数全部缓存,用来计算顿地址,对于本就很紧张的反烙丝 FPGA器件资源来说是得不偿失的。相比较而言,FLASH的空间足够大,本发明将每一顿对应 的顿地址插入该顿之前,形成一个新的数据顿。此时的数据顿每顿的长度不再是41个字, 而是42个字。在最后一顿的顿尾会插入第一顿的地址,使整个数据段形成一个环形地址 链。
[0116] 本发明实施例中,对于数据顿的重组及分割,基于全局配置的bit流顿头、顿数据 和顿尾的概念及扩展命令集,本发明对回读、刷新所用的命令操作及数据进行重组,将顿定 义进行扩展化,即针对全局配置、回读和刷新,均有顿头、顿数据和顿尾的定义。如图6所 示,对原始的bit流文件、msk文件、高级配置管理操作回读和刷新所用到的专用命令字、W 及自行设计的私有命令字进行穏合。通过软件的手段,最终生成利于存储的7个顿段,分别 为:
[0117] 全局配置顿头段:穏合了时序命令字和原始流文件配置顿头;
[0118] 全局配置顿数据段;穏合了原始流文件配置数据和顿地址;
[0119] 全局配置顿尾段:穏合了时序命令字和原始流文件配置顿尾;
[0120] 回读顿头段;穏合了回读专用命令字和时序命令字;
[0121] 回读顿尾段;穏合了回读专用命令字和时序命令字;
[0122] 刷新顿头段;穏合了刷新专用命令字和时序命令字;
[0123] 刷新顿尾段;穏合了刷新专用命令字和时序命令字;
[0124] 对于送7个顿段的存储,并没用采用串行的方式,由于使用FLASH进行存储,所W W扇区为分段单位,送样利于添加新的命令字。
[01巧]各顿段具体组成如下:
[0126] 全局配置顿头段:
[0127] 该段取自Bit流和Msk流合并拆分后的数据流,不添加任何扩展命令;
[0128] FRAME_HEAD_ADDR ;用来指定该段的起始地址,默认为0x0 ;
[0129] FRAME_HEAD_END_ADDR ;用来指定该段的结束地址;
[0130] 全局配置顿数据段:
[0131] 该段取自Bit流和Msk流合并拆分后的数据流,不添加任何扩展命令;
[0132] FRAME_DATA_ADDR ;用来指定该段的起始地址,默认为0x10000 ;
[013引 FRAME_DATA_END_ADDR ;用来指定该段的结束地址;
[0134] 全局配置顿尾段:
[0135] 该段取自Bit流和Msk流合并拆分后的数据流,不添加任何扩展命令;
[0136] FRAME_TERMINAL_AroR ;用来指定该段的起始地址,默认为0x3000 ;
[0137] FRAME_TERMINAL_END_AroR ;用来指定该段的结束地址;
[013引局部回读顿头段:
[0139] 该段根据扩展命令集生成回读时序的顿头段,其它采用Xilinx推荐的命令序列。
[0140] 局部回读顿尾段:
[0141] 在处理完局部回读顿头段之后,紧跟着会读出42个顿字,其中第一个必须弃掉, 是缓存数据。回读数据和FLASH中存储的配置数据对齐后,可W进行Η方比对。
[0142] 局部刷新顿头段:
[0143] 该段根据扩展命令集生成局部刷新时序的顿头段,其它采用Xilinx推荐的命令 序列。
[0144] 局部刷新顿尾段:
[0145] 在配置逻辑处理完前面的局部刷新顿头段后,紧跟着会写入41个顿字的当前顿 地址代表的配置数据,FLA甜中的顿地址对应的时段无时钟。
[0146] 该段根据扩展命令集生成局部刷新时序的顿尾段,其它采用Xilinx推荐的命令 序列。
[0147] 本发明实施例中,对于,数据顿地址的处理如下:
[0148] WVbtext-4 FX60为例,其共有15976个配置顿,但是其地址位宽却有23位之多。 根据其地址分配方式可知,送些顿地址并不连续,非线性地址。对于为了单粒子目的而设计 的配置回读校验功能来说,能够准确的定位顿地址是非常关键的。但如果将计算顿地址所 需的各种参数全部缓存,用来计算顿地址,对于本就很紧张的反烙丝FPGA器件资源来说是 得不偿失的。相比较而言,FLA甜的空间足够大,本发明将每一顿对应的顿地址插入该顿之 前,形成一个新的数据顿。此时的数据顿每顿的长度不再是41个字,而是42个字。在最后 一顿的顿尾会插入第一顿的地址,使整个数据段形成一个环形地址链。
[0149] 如图8所示,左边每顿的顿长都为以在每顿之前插入该顿的地址后,顿长变为 L+1。送样每一顿的前后就分别对应了当前顿和下一顿的顿地址,需特别注意的是在最后一 顿的末尾再插入首顿地址,送样就能构成一个环形地址链,利用此进行循环回读刷新操作。
[0150] 本发明实施例中,所述配置数据为将SRAM型FPGA的B口流和MSK流合并后获得 的流文件。
[0151] 在回读校验中,采取的方法是将原始BIT流和回读流在MSK的掩码下做3方比对, 如果出错则说明发生了单粒子事件,此时就需要采取刷新或重加载措施。如果将BIT流和 MSK流分别存放,势必会在设计实现中对数据寻址造成不必要的麻烦,本发明将BIT流和 MSK流合并。具体方法如下:
[0152] 本发明采用FLA甜存储FPGA配置数据,合并的原则是;B口流和MSK流各占位宽 的一半,B口字和MSK字对齐,W字为单位,按照从高位到低位的方式顺次排列。
[0153] 举例如下,如果 MSK 字为 0x12345678, B口字为 9ABCDEF0,
[0154] 如果是8位宽的存储器位宽的话,排列方式如下。
[0155] 0x0000----0x19
[0156] 0x0001----0x2A
[0157] 0x0002----0x3B
[0158] 0x0003----0x4C
[0159] 0x0004----Ox 抓
[0160] 0x0005----Ox 犯
[0161] 0x00
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1