一种基于FPGA的DDR连续存储电路及其实现方法技术

技术编号:36259164 阅读:60 留言:0更新日期:2023-01-07 09:56
本申请涉及集成电路领域,公开了一种基于FPGA的DDR连续存储电路及其实现方法,即使内存控制器在处理高速数据的过程中产生了中断信号,也可以实现数据连续写入功能并且不丢失数据。该电路包括采样缓存模块、数据切换模块、第一寄存器、第二寄存器、数据处理模块、地址切换模块和内存控制器。内存控制器发出中断信号时:地址切换模块控制采样缓存模块输出数据到数据切换模块,数据切换模块停止发送数据,并将收到的数据分别依次存储至第一寄存器和第二寄存器,数据处理模块停止转发数据。中断结束后,数据处理模块读取第一和第二寄存器中存储的数据并传输至内存控制器后继续向内存控制器转发数据处理模块输出的数据;内存控制器通过DDR物理层接口将收到的数据写入DDR存储器。器。器。

【技术实现步骤摘要】
一种基于FPGA的DDR连续存储电路及其实现方法


[0001]本申请涉及集成电路领域,具体涉及一种基于FPGA的DDR连续存储电路以及其实现方法。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是已被公开的现有技术。
[0003]随着信息时代的高速发展,数据总量也在不断攀升,这就对数据处理的速度和容量提出了更迫切的需求,为了解决该问题,大容量高带宽的DDR接口应运而生。
[0004]由于双倍速率同步动态随机存储器(DDR)颗粒管脚多,操作复杂,所以人们在DDR接口的基础上进行了优化,习惯称之为DDR用户接口。该接口是由内存控制器(MC)和物理层(PHY)共同组合实现的,其中PHY直接连接DDR颗粒,解决逻辑器件到DDR之间的数据和地址的时序匹配问题。PHY的另一端通过DFI总线连接MC,MC的连接到用户端的接口,就是DDR用户接口。
[0005]将用户数据写入DDR,传统的方法是将用户数据直接处理为DFI总线协议接口,直接连到PHY上,但是DFI协议相对复杂不便于一般工程师的操作,之后在PHY上增加MC后大大简化了用户的设计逻辑,但是也增加了MC处理数据的压力,MC模块在处理高速数据时会产生中断信号,在中断期间内,用户写入的数据会丢失,必须等待中断结束后,才能继续写数据。

技术实现思路

[0006]本申请的目的在于提供一种基于FPGA的DDR连续存储电路及其实现方法,即使内存控制器产生了中断信号,也可以连续写入数据并且中断恢复后不丢失数据。
[0007]本申请公开了一种基于FPGA的DDR连续存储电路,包括:采样缓存模块、数据切换模块、第一寄存器、第二寄存器、数据处理模块、地址切换模块和内存控制器;
[0008]所述采样缓存模块被配置为获取输入数据并进行缓存;
[0009]所述地址切换模块被配置为,当接收到所述内存控制器发出的中断信号时将当前的地址减去2个单元,并控制所述采样缓存模块在之后的两个时钟周期输出两个单元的数据到所述数据切换模块;
[0010]所述数据切换模块被配置为,当接收到所述内存控制器发出的中断信号时立即停止向所述数据处理模块发送数据,并将在之后的两个时钟周期收到的两个单元的数据分别依次存储至所述第一寄存器和所述第二寄存器;
[0011]所述数据处理模块被配置为,接收到所述内存控制器发出的中断信号时立即停止向所述内存控制器转发所述数据处理模块输出的数据,并在所述中断结束后的两个时钟周期,依次读取所述第一寄存器和所述第二寄存器中存储的数据并传输至所述内存控制器,此后继续向所述内存控制器转发所述数据处理模块输出的数据;
[0012]所述内存控制器被配置为,通过DDR物理层接口将收到的数据写入DDR存储器。
[0013]在一个优选例中,所述内存控制器不产生中断时,所述采样缓存模块获取输入数据并进行缓存后,输出数据到所述数据切换模块,所述数据切换模块向所述数据处理模块发送数据,所述数据处理模块向所述内存控制器转发所述数据处理模块输出的数据。
[0014]在一个优选例中,所述采样缓存模块包括采样模块、第一随机存取存储器和第二随机存取存储器;所述采样模块将获取到的输入数据交替存储至所述第一随机存取存储器和第二随机存取存储器。
[0015]在一个优选例中,所述地址切换模块包括使能选择模块和第一地址累加器,所述采样缓存模块向所述使能选择模块发送片选信号,所述使能选择模块根据所述片选信号输出第一读使能信号和第二读使能信号,所述第一地址累加器被配置为自动累加至最大值后置0重新计数,在收到所述内存控制器发出的中断信号时将当前的地址减去2个单元。
[0016]在一个优选例中,所述片选信号为高电平时,所述使能选择模块输出的所述第一读使能信号为高电平,所述第二读使能信号为低电平;或者,所述片选信号为低电平时,所述使能选择模块输出的所述第一读使能信号为低电平,所述第二读使能信号为高电平。
[0017]在一个优选例中,所述数据处理模块包括第二地址累加器和选择器,所述第二地址累加器被配置为收到所述内存控制器发出的中断信号时停止地址累加,在中断结束后继续累加,所述选择器被配置为将所述数据切换模块、所述第一寄存器和所述第二寄存器中的数据流按地址顺序排列并依次写入所述内存控制器中。
[0018]在一个优选例中,所述第一随机存取存储器和所述第二随机存取存储器共用一个地址和数据信号。
[0019]在一个优选例中,还包括锁相环,向所述数据处理模块、所述内存控制器、所述地址切换模块和所述数据切换模块提供时钟信号。
[0020]本申请还公开了一种基于FPGA的DDR连续存储电路的实现方法,包括如下步骤:
[0021]采样缓存模块获取输入数据并进行缓存;
[0022]内存控制器发出中断信号;
[0023]地址切换模块接收到所述中断信号时将当前的地址减去2个单元,并控制所述采样缓存模块在之后的两个时钟周期输出两个单元的数据到所述数据切换模块;
[0024]所述数据切换模块接收到所述中断信号时立即停止向所述数据处理模块发送数据,并将在之后的两个时钟周期收到的两个单元的数据分别依次存储至第一寄存器和第二寄存器;
[0025]所述数据处理模块接收到所述中断信号时立即停止向所述内存控制器转发所述数据处理模块输出的数据;
[0026]所述内存控制器中断结束;
[0027]所述数据处理模块在所述中断结束后的两个时钟周期,依次读取所述第一寄存器和所述第二寄存器中存储的数据并传输至所述内存控制器,此后继续向所述内存控制器转发所述数据处理模块输出的数据;
[0028]所述内存控制器通过DDR物理层接口将收到的数据写入DDR存储器。
[0029]在一个优选例中,所述采样缓存模块获取输入数据并进行缓存进一步包括,所述采样模块获取输入数据并交替存储至第一随机存取存储器和第二随机存取存储器。
[0030]本申请的实施方式中,当遇到数据中断时,可以无缝衔接写入DDR。
[0031]进一步地,采用两个随机存取存储器,中断发生后,重新计算丢失的数据在随机存取存储器中的地址就可以防止数据丢失。
[0032]进一步地,采样模块将数据交替存储至两个随机存取存储器中可以避免读写冲突,增强数据的稳定性。
[0033]上述
技术实现思路
中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的DDR连续存储电路,其特征在于,包括:采样缓存模块、数据切换模块、第一寄存器、第二寄存器、数据处理模块、地址切换模块和内存控制器;所述采样缓存模块被配置为获取输入数据并进行缓存;所述地址切换模块被配置为,当接收到所述内存控制器发出的中断信号时将当前的地址减去2个单元,并控制所述采样缓存模块在之后的两个时钟周期输出两个单元的数据到所述数据切换模块;所述数据切换模块被配置为,当接收到所述内存控制器发出的中断信号时立即停止向所述数据处理模块发送数据,并将在之后的两个时钟周期收到的两个单元的数据分别依次存储至所述第一寄存器和所述第二寄存器;所述数据处理模块被配置为,接收到所述内存控制器发出的中断信号时立即停止向所述内存控制器转发所述数据处理模块输出的数据,并在所述中断结束后的两个时钟周期,依次读取所述第一寄存器和所述第二寄存器中存储的数据并传输至所述内存控制器,此后继续向所述内存控制器转发所述数据处理模块输出的数据;所述内存控制器被配置为,通过DDR物理层接口将收到的数据写入DDR存储器。2.如权利要求1所述的一种基于FPGA的DDR连续存储电路,其特征在于,所述内存控制器不产生中断时,所述采样缓存模块获取输入数据并进行缓存后,输出数据到所述数据切换模块,所述数据切换模块向所述数据处理模块发送数据,所述数据处理模块向所述内存控制器转发所述数据处理模块输出的数据。3.如权利要求1所述的一种基于FPGA的DDR连续存储电路,其特征在于,所述采样缓存模块包括采样模块、第一随机存取存储器和第二随机存取存储器;所述采样模块将获取到的输入数据交替存储至所述第一随机存取存储器和第二随机存取存储器。4.如权利要求3所述的一种基于FPGA的DDR连续存储电路,其特征在于,所述地址切换模块包括使能选择模块和第一地址累加器,所述采样缓存模块向所述使能选择模块发送片选信号,所述使能选择模块根据所述片选信号输出第一读使能信号和第二读使能信号,所述第一地址累加器被配置为自动累加至最大值后置0重新计数,在收到所述内存控制器发出的中断信号时将当前的地址减去2个单元。5.如权利要求4所述的一种基于FPGA的DDR连续存储电路,其特征在于,所述片选信号为...

【专利技术属性】
技术研发人员:万权
申请(专利权)人:上海安路信息科技股份有限公司
类型:发明
国别省市:

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

1