一种多片外存储器控制方法和装置制造方法及图纸

技术编号:26845410 阅读:19 留言:0更新日期:2020-12-25 13:07
本发明专利技术公开了一种多片外存储器控制方法和装置,该装置适用于Xilinx公司FPGA芯片,包括:用户接口模块,每个用户接口模块由命令FIFO、写数据FIFO、读数据FIFO组成,用户程序对多个片外存储器的控制可简化为对用户接口模块中的FIFO控制;接口复用模块,该模块完成对多个用户接口模块的轮询读写和位宽对比;时序转换模块,该模块完成FIFO时序与MIG时序(Xilinx公司FPGA中用于控制片外存储器的IP核)间的转换。本发明专利技术能够在一定程度上避免用户直接操作MIG IP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。

【技术实现步骤摘要】
一种多片外存储器控制方法和装置
本专利技术属于电子工程和计算机科学领域,具体涉及一种多片外存储器控制方法和装置。
技术介绍
MIG(MemoryInterfaceGenerator)IP核是FPGA生产商Xilinx为FPGA开发者提供的,用于实现访问片外存储器,如DDR2和DDR3等。MIGIP核自身提供两种形式的用户接口:Native接口和AXI接口。其中AXI接口形式符合国际标准,功能完备,但是由于AXI接口的信号较多且时序较为复杂,在手动编码的设计方式中,却会很大程度上拖慢设计进度;Native接口由Xilinx自行开发完成,优点是接口信号相对较少,时序相对简单,但是却不能适应用户逻辑的数据位宽,无法进行完整的数据Burst传输操作,且不具备多个用户程序对多个片外存储器的控制能力。即,该IP核的用户接口功能完备时,接口形式复杂;用户接口形式相对简单时,接口功能不够完备。
技术实现思路
为了解决上述技术问题本专利技术提出了一种多片外存储器控制方法和装置,包括设计用户接口模块、接口复用模块和时序转换模块,能够在一定程度上避免用户直接操作MIGIP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。本专利技术解决其技术问题是采取以下技术方案实现的:一种多片外存储器控制装置,其特征在于,包括:(1)用户接口模块,包含多个用户接口,每个用户接口包括命令FIFO、写数据FIFO、读数据FIFO,用户对多个片外存储器的控制简化为对用户接口中的FIFO控制,具体包括:r>①每个拟控制片外存储器的用户接口,包括三个独立的FIFO,即上述命令FIFO、写数据FIFO、读数据FIFO;②所述命令FIFO用于按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;③所述写数据FIFO用于按序存储该用户接口拟写入目标片外存储器的有效数据;④所述读数据FIFO用于按序存储该用户接口从目标片外存储器读取的有效数据;(2)接口复用模块,用于完成对多个用户接口的轮询读写、位宽对比、按序存储,具体包括:①轮询读写模块,用于完成对多个用户接口的轮询读写,即在完成对某个用户接口的读写后,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;②位宽对比模块,读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIGIP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIGIP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIGIP位宽时,将写数据FIFO中的数据高位补0;③按序存储模块,接口复用模块将MIGIP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;(3)时序转换模块,该模块完成FIFO时序与MIGIP核时序间的转换,具体包括:①读时序转换状态机模块,用于完成FIFO读时序与MIGIP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取;②写时序转换状态机模块,用于完成FIFO写时序与MIGIP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入。进一步的,所述的一种多片外存储器控制装置,该装置适用于Xilinx公司FPGA芯片。根据本专利技术的另一方面,还提出一种多片外存储器控制方法,包括如下步骤:步骤一、对于写数据到目标片外存储器:①用户程序将写命令和待写数据分别存入用户接口模块中的命令FIFO和写数据FIFO,其中写命令包括写命令、写字节长度、位宽、目标片外存储器地址;②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;③接口复用模块中位宽对比模块读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIGIP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIGIP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIGIP位宽时,将写数据FIFO中的数据高位补0;④时序转换模块中的写时序转换状态机模块完成FIFO写时序与MIGIP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入;步骤二、对于从目标片外存储器读数据:①用户程序将读命令存入用户接口模块中的命令FIFO,其中读命令包括读命令、读字节长度、位宽、目标片外存储器地址;②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;③接口复用模块中按序存储模块将MIGIP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;④时序转换模块中的读时序转换状态机模块完成FIFO读时序与MIGIP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取。进一步的,所述的多片外存储器控制方法,适用于Xilinx公司FPGA芯片。有益效果:本专利技术与现有技术相比的优点在于:能够在一定程度上解决MIGIP核用户接口形式简单与接口功能完备性之间的矛盾问题,避免用户直接操作MIGIP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。附图说明图1为本专利技术的装置结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本专利技术的一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。本专利技术涉及一种多片外存储器控制方法,能够在一定程度上解决MIGIP核用户接口形式简单与接口功能完备性之间的矛盾问题,避免用户直接操作MIGIP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。根据本专利技术的一个实施例,提出的一种多片外存储器控制装置结构框图,如图1所示,包括用户接口模块、接口复用模块和时序转换模块,具体包括:(1)用户接口模块,包含多个用户接口,每个用户接口由命令FIFO、写数据FIFO、读数据FIFO组成,用户程序对多个片外存储器的控制可简化为对用户接口中的FIFO控制,具体实现如下:①针对每个拟控制片外存储器的用户接口(一个FPGA中可并行运行多个用户接口),设计三个独立FIFO,即命令FIFO、写数据FIFO、读数据FIFO;②命令FIFO按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;③写数据FIFO按序存储该用户接口拟写入目标片外存储器的有效数据;④读数据FIFO按序存储该用户接口从目标片外存储器读取的有效数据;(2)设计接口复用模块,该模块完成对多个用户接口的轮询读写和位宽对比,其中用户接口模块中的位宽字段小于等于MIGIP核的位宽,具本文档来自技高网...

【技术保护点】
1.一种多片外存储器控制装置,其特征在于包括:/n(1)用户接口模块,包含多个用户接口,每个用户接口包括命令FIFO、写数据FIFO、读数据FIFO,用户对多个片外存储器的控制简化为对用户接口中的FIFO控制,具体包括:/n①每个拟控制片外存储器的用户接口,包括三个独立的FIFO,即上述命令FIFO、写数据FIFO、读数据FIFO;/n②所述命令FIFO用于按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;/n③所述写数据FIFO用于按序存储该用户接口拟写入目标片外存储器的有效数据;/n④所述读数据FIFO用于按序存储该用户接口从目标片外存储器读取的有效数据;/n(2)接口复用模块,用于完成对多个用户接口的轮询读写、位宽对比、按序存储,具体包括:/n①轮询读写模块,用于完成对多个用户接口的轮询读写,即在完成对某个用户接口的读写后,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;/n②位宽对比模块,读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;/n③按序存储模块,接口复用模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;/n(3)时序转换模块,该模块完成FIFO时序与MIG IP核时序间的转换,具体包括:/n①读时序转换状态机模块,用于完成FIFO读时序与MIG IP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取;/n②写时序转换状态机模块,用于完成FIFO写时序与MIG IP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入。/n...

【技术特征摘要】
1.一种多片外存储器控制装置,其特征在于包括:
(1)用户接口模块,包含多个用户接口,每个用户接口包括命令FIFO、写数据FIFO、读数据FIFO,用户对多个片外存储器的控制简化为对用户接口中的FIFO控制,具体包括:
①每个拟控制片外存储器的用户接口,包括三个独立的FIFO,即上述命令FIFO、写数据FIFO、读数据FIFO;
②所述命令FIFO用于按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;
③所述写数据FIFO用于按序存储该用户接口拟写入目标片外存储器的有效数据;
④所述读数据FIFO用于按序存储该用户接口从目标片外存储器读取的有效数据;
(2)接口复用模块,用于完成对多个用户接口的轮询读写、位宽对比、按序存储,具体包括:
①轮询读写模块,用于完成对多个用户接口的轮询读写,即在完成对某个用户接口的读写后,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
②位宽对比模块,读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIGIP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIGIP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIGIP位宽时,将写数据FIFO中的数据高位补0;
③按序存储模块,接口复用模块将MIGIP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
(3)时序转换模块,该模块完成FIFO时序与MIGIP核时序间的转换,具体包括:
①读时序转换状态机模块,用于完成FIFO读时序与MIGIP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取;
②写时序转换状态机模块,用于完成FIFO写时序与MIGIP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据...

【专利技术属性】
技术研发人员:刘靖旻
申请(专利权)人:北京神州飞航科技有限责任公司
类型:发明
国别省市:北京;11

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

1