本发明专利技术为一种基于FPGA内DPRAM模块的乒乓缓存操作结构,用于接收一帧数据并读一帧完整的数据,实现一帧数据的缓存;包括:写操作控制模块、读操作控制模块、DPRAM模块,本发明专利技术通过判断DPRAM的写地址最高位,将DPRAM的地址空间分为低地址空间和高地址空间,在一个DPRAM内部完成乒乓缓存操作;在有外部输入的读控制信号的情况下,用写地址最高位做读地址的判断信号;在无外部输入的读控制信号的情况下,自动读缓存数据。本发明专利技术避免了传统的乒乓缓存操作产生主份备份两个DPRAM模块,产生两组DPRAM模块的写控制逻辑、读控制逻辑,耗用FPGA资源较大的缺点。
【技术实现步骤摘要】
一种基于FPGA内DPRAM的乒乓缓存操作结构
本专利技术涉及一种基于FPGA内DPRAM的乒乓缓存操作结构,属于信号处理
技术介绍
FPGA用于数据处理,其中乒乓缓存操作是最基本的操作。BlockRAM是FPGA的基本存储单元,DPRAM模块是在BlockRAM的基础上增加控制逻辑产生的,由FPGA设计工具产生,人工不可干预,乒乓缓存操作是在DPRAM模块的基础上增加读控制逻辑和写控制逻辑产生的。DPRAM乒乓缓存操作由BlockRAM单元、BlockRAM控制逻辑、DPRAM读写控制逻辑组成。目前,如图5和图6所示,传统的基于FPGA内DPRAM的乒乓缓存操作普遍使用主份和备份两个DPRAM模块,用于主备乒乓操作,这样做存在明显的不足;1、因为产生主份DPRAM模块、备份DPRAM模块,所以会产生2组BlockRAM控制逻辑,导致BlockRAM控制逻辑资源使用量增加;2、FPGA内BlockRAM的地址空间一般为1024(18bit*1K),当一帧缓存数据较少(小于512)时,一帧数据也要使用一个BlockRAM单元存储,这样乒乓缓存操作产生主份DPRAM,备份DPRAM,产生2个BlockRAM单元,导致BlockRAM单元使用量增加1倍;当一帧缓存数据较大(大于2048)时,一帧数据需要使用2个及以上的BlockRAM单元存储,这样乒乓缓存操作产生主份DPRAM,备份DPRAM,产生4个及以上的BlockRAM单元,不利于FPGA设计工具使用BlockRAM块拼接优化技术。3、乒乓缓存操作包含写控制逻辑、读控制逻辑,如果产生主份写控制逻辑,备份写控制逻辑、主份读控制逻辑、备份读控制逻辑,以及主备输出数据选择电路,导致DPRAM读写控制逻辑资源使用量大幅增加。三种DPRAM乒乓缓存操作所使用的FPGA逻辑资源使用量对比图如图7所示,在FPGA时序性能相同的情况下,本专利技术相对于传统的DPRAM乒乓缓存操作降低逻辑资源达50%。
技术实现思路
本专利技术解决的技术问题是:克服现有技术的不足,提供了一种基于FPGA内DPRAM的乒乓缓存操作结构,本专利技术在一个DPRAM内完成乒乓缓存操作,降低了BlockRAM单元的使用量、降低BlockRAM控制逻辑的FPGA资源使用量、降低DPRAM读写控制逻辑的FPGA资源使用量。本专利技术的技术解决方案是:一种基于FPGA内DPRAM的乒乓缓存操作结构,包括:写操作控制模块、读操作控制模块、DPRAM模块;本专利技术工作在乒乓缓存操作的有效写数据带宽小于等于有效读数据带宽的情况下。写操作控制模块包括写数据寄存器组、写使能寄存器、写地址计数器;写数据寄存器组对外部输入的缓存数据信号寄存一个随路时钟周期,产生写数据信号,并输入到DPRAM模块;写使能寄存器对外部输入的缓存数据有效标志位信号寄存一个随路时钟周期,产生写使能信号,并输入到写地址计数器、DPRAM模块;在有外部输入的写控制信号的情况下:当外部输入的写控制信号有效时,写地址计数器最高位取反,写地址计数器除最高位以外的地址位赋值‘0’,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位等于阈值时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位不等于阈值时,写地址计数器加1,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效,且写使能无效时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位等于阈值时,第一帧缓存完成信号变为有效,产生第一帧缓存完成信号,并输入到读地址计数器;在无外部输入的写控制信号的情况下:当写使能信号有效,且写地址计数器除最高位以外的地址位等于阈值时,写地址计数器最高位取反,写地址计数器除最高位以外的地址位赋值‘0’,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当写使能信号有效,且写地址计数器除最高位以外的地址位不等于阈值时,写地址计数器加1,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当写使能信号无效时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当写使能信号有效,且写地址计数器除最高位以外的地址位等于阈值时,第一帧缓存完成信号变为有效,第一帧缓存完成信号变为有效,产生第一帧缓存完成信号,并输入到读地址计数器;读操作控制模块采用读地址计数器;在有外部输入的读控制信号的情况下:当外部输入的读控制信号有效、第一帧缓存完成信号有效、以及写地址最高位指向主份缓存空间时,读地址计数器赋值为备份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块;当外部输入的读控制信号有效、第一帧缓存完成信号有效、以及写地址最高位指向备份缓存空间时,读地址计数器赋值为主份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块;当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位等于阈值时,读地址计数器不变,产生读地址信号,并输入到DPRAM模块;当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位不等于阈值时,读地址计数器加1,产生读地址信号,并输入到DPRAM模块;当外部输入的读控制信号有效,且第一帧缓存完成信号有效时,读数据有效标志位信号变为有效,产生读数据有效标志位信号,并输出到外部;当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位等于阈值时,读数据有效标志位信号变为无效,产生读数据有效标志位信号,并输出到外部;在无外部输入的读控制信号的情况下:当第一帧缓存完成信号有效,且写地址最高位的指向由主份缓存空间变为备份缓存空间时,读地址计数器赋值主份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块;当第一帧缓存完成信号有效,且写地址最高位的指向由备份缓存空间变为主份缓存空间时,读地址计数器赋值备份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块;当读地址计数器除最高位以外的地址位等于阈值时,读地址计数器不变,产生读地址信号,并输入到DPRAM模块;当读地址计数器除最高位以外的地址位不等于阈值时,读地址计数器加1,产生读地址信号,并输入到DPRAM模块;当第一帧缓存完成信号有效,且写地址最高位的指向由主份缓存空间变为备份缓存空间时,读数据有效标志位信号变为有效,产生读数据有效标志位信号,并输出到外部;当第一帧缓存完成信号有效,且写地址最高位的指向由备份缓存空间变为主份缓存空间时,读数据有效标志位信号变为有效,产生读数据有效标志位信号,并输出到外部;当读地址计数器除最高位以外的地址位等于阈值时,读数据有效标志位信号变为无效,产生读数据有效标志位信号,并输出到外部;所述主份缓存空间和备份缓存空间是通过写地址计数本文档来自技高网...
【技术保护点】
一种基于FPGA内DPRAM的乒乓缓存操作结构,其特征在于包括:写操作控制模块、读操作控制模块、DPRAM模块; 写操作控制模块包括写数据寄存器组、写使能寄存器、写地址计数器; 写数据寄存器组对外部输入的缓存数据信号寄存一个随路时钟周期,产生写数据信号,并输入到DPRAM模块; 写使能寄存器对外部输入的缓存数据有效标志位信号寄存一个随路时钟周期,产生写使能信号,并输入到写地址计数器、DPRAM模块; 在有外部输入的写控制信号的情况下: 当外部输入的写控制信号有效时,写地址计数器最高位取反,写地址计数器除最高位以外的地址位赋值‘0’,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位等于阈值时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位不等于阈值时,写地址计数器加1,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当外部输入的写控制信号无效,且写使能无效时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位等于阈值时,第一帧缓存完成信号变为有效,产生第一帧缓存完成信号,并输入到读地址计数器; 在无外部输入的写控制信号的情况下: 当写使能信号有效,且写地址计数器除最高位以外的地址位等于阈值时, 写地址计数器最高位取反,写地址计数器除最高位以外的地址位赋值‘0’,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当写使能信号有效,且写地址计数器除最高位以外的地址位不等于阈值时,写地址计数器加1,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当写使能信号无效时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器; 当写使能信号有效,且写地址计数器除最高位以外的地址位等于阈值时,第一帧缓存完成信号变为有效,第一帧缓存完成信号变为有效,产生第一帧缓存完成信号,并输入到读地址计数器; 读操作控制模块采用读地址计数器; 在有外部输入的读控制信号的情况下: 当外部输入的读控制信号有效、第一帧缓存完成信号有效、以及写地址最高位指向主份缓存空间时,读地址计数器赋值为备份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块; 当外部输入的读控制信号有效、第一帧缓存完成信号有效、以及写地址最高位指向备份缓存空间时,读地址计数器赋值为主份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块; 当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位等于阈值时,读地址计数器不变,产生读地址信号,并输入到DPRAM模块; 当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位不等于阈值时,读地址计数器加1,产生读地址信号,并输入到DPRAM模块; 当外部输入的读控制信号有效,且第一帧缓存完成信号有效时,读数据有效标志位信号变为有效,产生读数据有效标志位信号,并输出到外部; 当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位等 于阈值时,读数据有效标志位信号变为无效,产生读数据有效标志位信号,并输出到外部; 在无外部输入的读控制信号的情况下: 当第一帧缓存完成信号有效,且写地址最高位的指向由主份缓存空间变为备份缓存空间时,读地址计数器赋值主份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块; 当第一帧缓存完成信号有效,且写地址最高位的指向由备份缓存空间变为主份缓存空间时,读地址计数器赋值备份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块; 当读地址计数器除最高位以外的地址位等于阈值时,读地址计数器不变,产生读地址信号,并输入到DPRAM模块; 当读地址计数器除最高位以外的地址位不等于阈值时,读地址计数器加1,产生读地址信号,并输入到DPRAM模块; 当第一帧缓存完成信号有效,且写地址最高位的指向由主份缓存空间变为备份缓存空间时,读数据有效标志位信号变为有效,产生读数据有效标志位信号,并输出到外部; 当第一帧缓存完成信号有效,且写地址最高位的指向由备份缓存空间变为主份缓存空间时,读数据有效标志位信号变为有效,产生读数据有效标志位信号,并输出到外部; 当读地址计数器除最高位以外的地址位等于阈值时,读数据有效标志位信号变为无效,产生读数据有效标志位信号,并输出到外部。...
【技术特征摘要】
1.一种基于FPGA内DPRAM的乒乓缓存操作结构,其特征在于包括:写操作控制模块、读操作控制模块、DPRAM模块;写操作控制模块包括写数据寄存器组、写使能寄存器、写地址计数器;写数据寄存器组对外部输入的缓存数据信号寄存一个随路时钟周期,产生写数据信号,并输入到DPRAM模块;写使能寄存器对外部输入的缓存数据有效标志位信号寄存一个随路时钟周期,产生写使能信号,并输入到写地址计数器、DPRAM模块;在有外部输入的写控制信号的情况下:当外部输入的写控制信号有效时,写地址计数器最高位取反,写地址计数器除最高位以外的地址位赋值‘0’,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位等于阈值时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位不等于阈值时,写地址计数器加1,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效,且写使能无效时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当外部输入的写控制信号无效、写使能有效、以及写地址计数器除最高位以外的地址位等于阈值时,第一帧缓存完成信号变为有效,产生第一帧缓存完成信号,并输入到读地址计数器;在无外部输入的写控制信号的情况下:当写使能信号有效,且写地址计数器除最高位以外的地址位等于阈值时,写地址计数器最高位取反,写地址计数器除最高位以外的地址位赋值‘0’,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当写使能信号有效,且写地址计数器除最高位以外的地址位不等于阈值时,写地址计数器加1,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当写使能信号无效时,写地址计数器不变,产生写地址信号,并输入到DPRAM模块,同时将写地址最高位信号输入到读地址计数器;当写使能信号有效,且写地址计数器除最高位以外的地址位等于阈值时,第一帧缓存完成信号变为有效,第一帧缓存完成信号变为有效,产生第一帧缓存完成信号,并输入到读地址计数器;读操作控制模块采用读地址计数器;在有外部输入的读控制信号的情况下:当外部输入的读控制信号有效、第一帧缓存完成信号有效、以及写地址最高位指向主份缓存空间时,读地址计数器赋值为备份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块;当外部输入的读控制信号有效、第一帧缓存完成信号有效、以及写地址最高位指向备份缓存空间时,读地址计数器赋值为主份缓存空间的初始地址,产生读地址信号,并输入到DPRAM模块;其中,所述主份缓存空间和备份缓存空间是通过写地址计数器输出的写地址最高位进行区分的,主份缓存空间和备份缓存空间均位于同一个DPRAM内;当外部输入的读控制信号无效,且读地址计数器除最高位以外的地址位等于阈值时,读地址计数器不变,产生读地址信号,并输入到DPRAM模块;当外...
【专利技术属性】
技术研发人员:刘涛,潘卫军,于志成,张晔,张旭,王妍,
申请(专利权)人:北京空间机电研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。