一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器制造技术

技术编号:11642315 阅读:76 留言:0更新日期:2015-06-24 19:42
一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器,包括译码器和2n个存储器;各存储器独立进行数据的存储和读取,译码器对2n个存储器进行组合地址编解码控制;在进行数据读取或存储时,译码器将位宽为N的地址信号进行译码,地址信号的低n位通过译码器形成2n位的存储控制器选择信号,从2n个存储器选择数据起始位所在的存储器;地址信号的高N-n位通过译码器形成2N-n位的存储器地址位选择信号,确定数据起始位在之前选定的存储器中的存储器地址位,从而确定数据起始位,在一个读取或存储周期内,读取2n·m bit的数据,该存储控制器可显著提高存储器数据读写效率,提高算法处理速度,同时该存储控制器也适合于需要考虑数据对齐的存储器快速读取的其他应用。

【技术实现步骤摘要】
【专利说明】一种兼容不同位宽支持非对齐访问的FPGA片内存储控制□ □
本专利技术涉及一种FPGA片内存储控制器,特别是一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器,适用于需要考虑数据对齐访问的存储器的快速存取。
技术介绍
随着精确制导武器的发展,SAR、红外、星光、CXD等末制导技术在控制系统得到了大量应用。精确制导武器的核心是反映在末制导导引头上的信息获取与信息处理技术。精确制导武器利用各种传感器和信息网获取目标位置、速度、图像及特征状态等信息,经分析和处理后实时修正或控制自身的飞行轨迹,从而具有很高的命中精度。由于武器的飞行速度特别快,整个匹配制导过程需要在很短时间内完成,对信息处理的实时性要求很高,而且图像数据因为越来越大,图像算法运算时间在制导过程中占有很大比例,决定了信息处理的实时性,直接影响了制导精度。匹配流程中许多图像算法一次运算可能需要读取多个图像数据,在流水线运算过程中存储器数据读取往往成为算法运算的关键路径。通过采用高位宽存储器可以一次读取多个图像数据,但高位宽存储器涉及到存储器非对齐访问的情况,可能反而降低读取效率。图像由图像像素阵列组成,每个像素有一个灰度值,不考虑小数的话,灰度值范围为O?255。一个8位二进制数即可表示一个像素灰度。图像运算中考虑精度的话需要考虑小数部分,每个像素的位宽会高于8位。图像算法是基于灰度值的算法,图像算法运算过程一般为从存储器中读取灰度值,进行灰度值运算,存储运算结果。由于半导体工艺的进步,FPGA逻辑运算所需的时间非常短,一般缩减图像算法的运算时间的关键在于提高存储器灰度的读取效率。存储器位宽一般有8位,16位,32位等,一次读取的像素太少,存储器数据读写一般均成为了图像算法运算的关键路径。由于图像数据一般较大,各图像算法一般均采用流水线方式提高处理效率。图像算法运算流水线一般可简化为坐标计算、数据读取、图像处理、数据存储。许多图像算法一次运算可能需要多个灰度数据,如一次图像膨胀运算需要读取4个灰度值,若采用8位存储器,一次图像膨胀运算灰度值读取需要4个周期,坐标计算、图像处理、数据存储通过优化设计一般均可保证在一个周期内完成。这样对于图像膨胀算法流水线各级时间分别太不均衡,流水线效率太低,难以满足要求。为提高流水线处理效率,针对不同图像算法,图像算法一般采用高位宽存储器(如16位,32位),一个读取多个灰度。为节省存储器资源,各图像算法尽量复用存储器,因此需要兼容不同位宽的存储器。同时在很多图像算法中,如上面提好的图像膨胀算法和相似性测度算法,读取数据不一定存储器对齐,采用高位宽存储器读取数据后每次还需要进行有效性判断,增加了硬件代价,降低了处理效率。陈海燕等于2012年6月第34卷第3期在‘国防科技大学学报’上发表‘面向SDR应用的向量存储器的设计与优化’,文中了提出了一种优化的向量存储器,不仅支持常规地址对齐的向量数据访存,还以较小的硬件代价实现了非对齐方式的向量访问,支持非对齐向量访问的优化设计。这种向量存储器采用了 16路内部存储器。从外部存储器读取数据后首先存入向量存储器,处理单元再从向量存储器读取数据。这种向量存储器实质上一种优化的支持非对齐访问的Cache。这种向量存储器并不适合通用图像算法,首先它对内部资源有要求,其次,作为处理单元与外部存储器的中转,其实已降低了存储器读取效率,然后16路存储器并不灵活,针对不同图像算法可能反而降低效率。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供了一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器,以很小的硬件代价实现了可兼容不同位宽的支持非对齐访问的FPGA片内存储器访问,适合各种图像算法快速存储器灰度数据读取,大大的提高了图像算法处理速度。本专利技术的技术解决方案是:一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器,包括:译码器和2"个存储器;所述2n个存储器相同,按照O?2 n-l进行编号并顺序排列,各存储器独立进行数据的存储和读取,存储控制器在进行数据的存储和读取时,首先确定数据起始位对应的存储器编号X和该存储器地址位1,将数据顺序存入存储器编号X?2n-l,存储器地址位为y,以及存储器编号O?x-1,存储器地址位为y+Ι的存储器中;在进行数据读取时,译码器将位宽为N的读取地址信号进行译码,读取地址信号的低η位通过译码器形成2η位的存储控制器选择信号,从2 "个存储器选择数据起始位所在的存储器;读取地址信号的高Ν-η位通过译码器形成2Ν_η位的存储器地址位选择信号,确定数据起始位在之前选定的存储器中的存储器地址位,从而确定数据起始位,在一个读取周期内,读取2η.m bit的数据,其中m为每个存储器的位宽;在进行数据存储时,译码器将位宽为N的存储地址信号进行译码,存储地址信号的低η位通过译码器形成2η位的存储控制器选择信号,从2 "个存储器选择数据起始位所在的存储器;存储地址信号的高Ν-η位通过译码器形成2Ν_η位的存储器地址位选择信号,确定数据起始位在之前选定的存储器中的存储器地址位,从而确定数据起始位,在一个存储周期内,存储2η.πι bit的数据。本专利技术与现有技术相比的有益效果是:(I)本专利技术考虑到制约图像算法运算速度存储器数据读写速度瓶颈,将多个存储器并排使用形成存储控制器,并设计了存储控制器数据存储和读取的规则,可根据算法需求一次读取多个图像数据,多倍的提高存储器数据读写速度,保证算法流水线高效工作,提高算法处理速度;(2)本专利技术中的存储控制器,将译码器与存储器相结合,充分利用了地址信号,相对于高位宽存储控制器,该存储控制器可支持非对齐访问,它支持任何地址的多位数据的直接读取,提高了存储器数据读写效率,不影响流水线的工作;(3)本专利技术的存储控制器可兼容不同位宽的数据读取,任何小于或等于本专利技术中存储控制器位宽的数据均可以利用本专利技术中的存储控制器进行存储和读取,因此不同图像算法中可进行复用,节省有限的FPGA存储资源,而且可以很便利的进行位宽扩展。【附图说明】图1为可兼容不同位宽的非对齐方式的存储器结构图;图2为8位存储器读取地址为5,6,7,8的数据示意图;图3为16位存储器读取地址为5,6,7,8的数据示意图;图4为32位存储器读取地址为5,6,7,8的数据示意图;图5为采用本专利技术中的存储控制器读取地址为5,6,7,8的数据示意图。【具体实施方式】下面结合附图对本专利技术的【具体实施方式】进行进一步的详细描述。本专利技术提出了一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器,具体结构当前第1页1 2 本文档来自技高网
...
一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器

【技术保护点】
一种兼容不同位宽支持非对齐访问的FPGA片内存储控制器,其特征在于包括:译码器和2n个存储器;所述2n个存储器相同,按照0~2n‑1进行编号并顺序排列,各存储器独立进行数据的存储和读取,存储控制器在进行数据的存储和读取时,首先确定数据起始位对应的存储器编号x和该存储器地址位y,将数据顺序存入存储器编号x~2n‑1,存储器地址位为y,以及存储器编号0~x‑1,存储器地址位为y+1的存储器中;在进行数据读取时,译码器将位宽为N的读取地址信号进行译码,读取地址信号的低n位通过译码器形成2n位的存储控制器选择信号,从2n个存储器选择数据起始位所在的存储器;读取地址信号的高N‑n位通过译码器形成2N‑n位的存储器地址位选择信号,确定数据起始位在之前选定的存储器中的存储器地址位,从而确定数据起始位,在一个读取周期内,读取2n·m bit的数据,其中m为每个存储器的位宽;在进行数据存储时,译码器将位宽为N的存储地址信号进行译码,存储地址信号的低n位通过译码器形成2n位的存储控制器选择信号,从2n个存储器选择数据起始位所在的存储器;存储地址信号的高N‑n位通过译码器形成2N‑n位的存储器地址位选择信号,确定数据起始位在之前选定的存储器中的存储器地址位,从而确定数据起始位,在一个存储周期内,存储2n·m bit的数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:赵雄波刘亮亮范仁浩吴松龄严志刚蒋彭龙田甜孟景
申请(专利权)人:北京航天自动控制研究所中国运载火箭技术研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1