一种基于FPGA片上RAM模拟实现DDR3突发的控制器以及方法技术

技术编号:21093066 阅读:25 留言:0更新日期:2019-05-11 11:16
本发明专利技术提出一种基于FPGA片上RAM模拟实现DDR3功能的控制器及方法,所述FPGA包括单端口SP_RAM(1),SP_RAM IP核(2)、DDR3读写状态控制模块(3)、写数据FIFO缓存(4)和读数据FIFO缓存(5);其中,所述SP_RAM(1)与所述SP_RAM IP核交互数据,所述控制器将外部连续输入的8个数据(7)进行拼接形成一个合成数据(8);将所述合成数据(8)写入SP_RAM(1)的一个开始地址中;例化所述SP_RAM IP核,所述SP RAM IP核利用读写状态控制模块(3)的控制信号控制SP_RAM(1)的数据读写状态,利用DDR3的读写控制时序对FPGA的数据读写进行控制。在仿真DDR3功能模块时就可以使用本发明专利技术的控制器和控制方法,从而减少初始化时间,提高了效率。

A DDR3 Burst Controller Based on FPGA on-chip RAM Simulation and Its Method

【技术实现步骤摘要】
一种基于FPGA片上RAM模拟实现DDR3突发的控制器以及方法
本专利技术涉及FPGA系统中模拟DDR3SRAM存储器的方法,特别涉及一种使用FPGA片上RAM模拟实现DDR3突发的控制方法。
技术介绍
DDR3SDRAM存储器即双倍数据速率同步动态随机存取存储器,以下简称DDR3存储器。由于其有更快的传输速率,更大的容量以及更低的电源功耗等优势,因此DDR3存储器在计算机、电子通信等领域得到了广泛应用。FPGA现场可编程门阵列,由于其具有高速的并行能力,在通信,图像处理等领域得到广泛应用,因为可处理的数据量大且复杂,FPGA常和DDR3存储器结合使用。但由于DDR3存储器的集成度高,它内部控制也相应复杂,在上电工作时,它首先要进行初始化操作,而初始化的时间很长,特别体现在基于Fpga系统平台仿真时,最少需要大概10分钟左右的初始化时间,而这个时间对于工程师在调试仿真使用了DDR3存储器的一些功能模块时是不能容忍的。如果是全流程调试仿真还能够接受,但是在进行一些单一的算法功能仿真验证时如果用到DDR3,这个时间是不能接受的。此外,对于DDR3存储器的初学者来说也是如此,因为他们只是使用它进行一些简单的读写,而在仿真时却需要等待至少10分钟时间。因此,在使用到DDR3的基本功能,同时减少DDR3在仿真时的初始化时间很有必要。
技术实现思路
针对DDR3初始化时间过长的问题技术问题,本专利技术提出一种基于FPGA片上RAM模拟实现DDR3突发的控制器及方法。在一个实施例中,本专利技术提出了一种基于FPGA片上RAM模拟实现DDR3功能的控制器,其特征在于,所述FPGA包括单端口SP_RAM(1),SP_RAMIP核(2)、DDR3读写状态控制模块(3)、写数据缓存(4)和读数据缓存(5);其中,所述SP_RAMIP核(2)对所述单端口SP_RAM(1)进行调用和控制,所述SP_RAMIP核(2)与所述DDR3读写状态控制模块(3)交互数据,所述DDR3读写状态控制模块(3)分别与写数据缓存(4)和读数据缓存(5)连接;其中,所述控制器将外部连续输入的8个数据(7)进行拼接形成一个合成数据(8);将所述合成数据(8)写入SP_RAM(1)的一个开始地址中;例化所述SP_RAMIP核(2),所述SP_RAMIP核(2)利用所述DDR3读写状态控制模块(3)的控制信号控制SP_RAM(1)的数据读写状态,采用DDR3的读写控制时序对SP_RAM(1)进行数据读写控制。根据本专利技术的控制器,优选的,在例化所述SP_RAMIP核(2)时,SP_RAMIP核(2)各接口信号与DDR3MIGIP核各接口信号的对应关系如下:时钟信号clka与用户时钟信号ui_clk对应,写使能信号wea与用户层读写控制信号app_cmd对应,地址信号addra与用户层地址信号app_addr对应,输入数据dina与用户层写入数据app_wdf_dat对应,输出数据douta与用户层读取数据app_rd_dat对应;SP_RAMIP核(2)的接口信号包括:clka信号、wea信号、addra信号、输入数据dina和输出数据douta;DDR3MIGIP核的接口信号包括:用户时钟信号ui_clk、用户层读写控制信号app_cmd、用户层地址信号app_addr、用户层写入数据app_wdf_dat和用户层读取数据app_rd_dat对应。根据本专利技术的控制器,优选的,在例化所述SP_RAMIP核(2)时,在单端口SP_RAM(1)为idle闲置状态时,时钟信号clka为用户时钟信号ui_clk,SP_RAMIP核(2)的使能信号ena、写使能信号wea、地址信号addra、输入数据dina均为0。根据本专利技术的控制器,优选的,在例化所述SP_RAMIP(2)核时,在单端口SP_RAM(1)为数据写入状态(15)时,SP_RAMIP核(2)的使能信号ena为DDR3MIGIP核的各用户层信号的逻辑与结果,即ena=app_rdy&app_wdf_rdy&app_en&app_wdf_wren,写使能信号wea为写使能有效。根据本专利技术的控制器,优选的,在例化所述SP_RAMIP核(2)时,在单端口SP_RAM(1)为读取状态(16)时,SP_RAMIP核(2)各接口信号与DDR3MIGIP核各接口信号对应关系如下:SP_RAMIP核(2)的使能信号ena为DDR3MIGIP核的用户层信号的逻辑与结果,即ena=app_rdy&app_en,写使能信号wea为写使能信号有效。根据本专利技术的控制器,优选的,所述写数据缓存(4)对单端口SP_RAM(1)的写入数据(4)进行缓存,读数据缓存(5)对单端口SP_RAM(1)的读取数据进行缓存。在又一实施例中,本专利技术提出了一种基于FPGA片上RAM模拟实现DDR3功能的控制方法,其特征在于,所述FPGA包括单端口SP_RAM(1)、SP_RAMIP核(2)、DDR3读写状态控制模块(3)、写数据缓存(4)和读数据缓存(5);其中,所述SP_RAMIP核(2)对所述单端口SP_RAM(1)进行调用和控制,所述SP_RAMIP核(2)与所述DDR3读写状态控制模块(3)交互数据,所述DDR3读写状态控制模块(3)分别与写数据缓存(4)和读数据缓存(5)连接;所述方法包括:步骤1),将外部连续输入的8个数据(7)进行拼接形成一个合成数据(8);步骤2),将所述合成数据(8)写入所述单端口SP_RAM(1)的一个开始地址中;步骤3),例化所述SP_RAMIP核(2),所述SP_RAMIP核(2)利用读写状态控制模块(3)的控制信号控制SP_RAM(1)的数据读写状态,利用DDR3的读写控制时序对SP_RAM(1)的数据读写进行控制。根据本专利技术的方法,优选的,所述步骤3)中,在例化所述SP_RAMIP核(2)时,SP_RAMIP核(2)各接口信号与DDR3MIGIP核各接口信号对应关系如下:时钟信号clka与用户时钟信号ui_clk对应,写使能信号wea与用户层读写控制信号app_cmd对应,地址信号addra与用户层地址信号app_addr对应,输入数据dina与用户层写入数据app_wdf_dat对应,输出数据douta与用户层读取数据app_rd_dat对应;SP_RAMIP核(2)的接口信号包括:clka信号、wea信号、addra信号、输入数据dina和输出数据douta;DDR3MIGIP核的接口信号包括:用户时钟信号ui_clk、用户层读写控制信号app_cmd、用户层地址信号app_addr、用户层写入数据app_wdf_dat和用户层读取数据app_rd_dat对应。根据本专利技术的方法,优选的,所述步骤3)中,在例化所述SP_RAMIP核(2)时,在例化所述SP_RAMIP核(2)时,在单端口SP_RAM(1)为idle闲置状态时,时钟信号clka为用户时钟信号ui_clk,SP_RAMIP核(2)的使能信号ena、写使能信号wea、地址信号addra、输入数据dina均为0;在例化所述SP_RAMIP(2)核时,在单端口SP_RAM(1)为数据写入状态(15)时,SP_RAM本文档来自技高网...

【技术保护点】
1.一种基于FPGA片上RAM模拟实现DDR3功能的控制器,其特征在于,所述FPGA包括单端口SP_RAM(1),SP_RAM IP核(2)、DDR3读写状态控制模块(3)、写数据缓存(4)和读数据缓存(5);其中,所述SP_RAM IP核(2)对所述单端口SP_RAM(1)进行调用和控制,所述SP_RAM IP核(2)与所述DDR3读写状态控制模块(3)交互数据,所述DDR3读写状态控制模块(3)分别与写数据缓存(4)和读数据缓存(5)连接;其中,所述控制器将外部连续输入的8个数据(7)进行拼接形成一个合成数据(8);将所述合成数据(8)写入SP_RAM(1)的一个开始地址中;例化所述SP_RAM IP核(2),所述SP_RAM IP核(2)利用所述DDR3读写状态控制模块(3)的控制信号控制SP_RAM(1)的数据读写状态,采用DDR3的读写控制时序对SP_RAM(1)进行数据读写控制。

【技术特征摘要】
1.一种基于FPGA片上RAM模拟实现DDR3功能的控制器,其特征在于,所述FPGA包括单端口SP_RAM(1),SP_RAMIP核(2)、DDR3读写状态控制模块(3)、写数据缓存(4)和读数据缓存(5);其中,所述SP_RAMIP核(2)对所述单端口SP_RAM(1)进行调用和控制,所述SP_RAMIP核(2)与所述DDR3读写状态控制模块(3)交互数据,所述DDR3读写状态控制模块(3)分别与写数据缓存(4)和读数据缓存(5)连接;其中,所述控制器将外部连续输入的8个数据(7)进行拼接形成一个合成数据(8);将所述合成数据(8)写入SP_RAM(1)的一个开始地址中;例化所述SP_RAMIP核(2),所述SP_RAMIP核(2)利用所述DDR3读写状态控制模块(3)的控制信号控制SP_RAM(1)的数据读写状态,采用DDR3的读写控制时序对SP_RAM(1)进行数据读写控制。2.根据权利要求1所述的控制器,其特征在于,在例化所述SP_RAMIP核(2)时,SP_RAMIP核(2)各接口信号与DDR3MIGIP核各接口信号的对应关系如下:时钟信号clka与用户时钟信号ui_clk对应,写使能信号wea与用户层读写控制信号app_cmd对应,地址信号addra与用户层地址信号app_addr对应,输入数据dina与用户层写入数据app_wdf_dat对应,输出数据douta与用户层读取数据app_rd_dat对应;SP_RAMIP核(2)的接口信号包括:clka信号、wea信号、addra信号、输入数据dina和输出数据douta;DDR3MIGIP核的接口信号包括:用户时钟信号ui_clk、用户层读写控制信号app_cmd、用户层地址信号app_addr、用户层写入数据app_wdf_dat和用户层读取数据app_rd_dat对应。3.根据权利要求2所述的控制器,其特征在于,在例化所述SP_RAMIP核(2)时,在单端口SP_RAM(1)为idle闲置状态时,时钟信号clka为用户时钟信号ui_clk,SP_RAMIP核(2)的使能信号ena、写使能信号wea、地址信号addra、输入数据dina均为0。4.根据权利要求2所述的控制器,其特征在于,在例化所述SP_RAMIP(2)核时,在单端口SP_RAM(1)为数据写入状态(15)时,SP_RAMIP核(2)的使能信号ena为DDR3MIGIP核的各用户层信号的逻辑与结果,即ena=app_rdy&app_wdf_rdy&app_en&app_wdf_wren,写使能信号wea为写使能有效。5.根据权利要求2所述的控制器,其特征在于,在例化所述SP_RAMIP核(2)时,在单端口SP_RAM(1)为读取状态(16)时,SP_RAMIP核(2)各接口信号与DDR3MIGIP核各接口信号对应关系如下:SP_RAMIP核(2)的使能信号ena为DDR3MIGIP核的用户层信号的逻辑与结果,即ena=app_rdy&app_en,写使能信号wea为写使能信号有效。6.根据权利要求2所述的控制器,其特征在于,所述写数据缓存(4)对单端口SP_RAM(1)的写入数据(4)进行缓存,读数据缓存(5)对单端口SP_RAM(1)的读取数据进行缓存。7....

【专利技术属性】
技术研发人员:石韦伟胥秋汪宗福冷立根
申请(专利权)人:成都汇蓉国科微系统技术有限公司
类型:发明
国别省市:四川,51

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

1