CN113220616B - 一种基于fpga的从sdram到mram的接口转换***及方法 - Google Patents

一种基于fpga的从sdram到mram的接口转换***及方法 Download PDF

Info

Publication number
CN113220616B
CN113220616B CN202110604283.0A CN202110604283A CN113220616B CN 113220616 B CN113220616 B CN 113220616B CN 202110604283 A CN202110604283 A CN 202110604283A CN 113220616 B CN113220616 B CN 113220616B
Authority
CN
China
Prior art keywords
mram
read
write
sdram
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110604283.0A
Other languages
English (en)
Other versions
CN113220616A (zh
Inventor
成元庆
卢诚成
彭笑
张有光
赵巍胜
王锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202110604283.0A priority Critical patent/CN113220616B/zh
Publication of CN113220616A publication Critical patent/CN113220616A/zh
Application granted granted Critical
Publication of CN113220616B publication Critical patent/CN113220616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)

Abstract

本发明涉及一种基于FPGA的从SDRAM到MRAM的接口转换***及方法,采用FPGA来完成数据传输和各种时序逻辑同步的控制。该发明包括SDRAM命令解码模块、MRAM命令模块以及MRAM数据读写模块;SDRAM命令解码模块实现控制/地址信号解码并控制MRAM工作状态的功能,把SDRAM控制器发出的各种命令解码成对应的MRAM工作状态并将其传递给MRAM命令控制模块;MRAM命令模块通过MRAM的工作状态发送控制MRAM的命令,并把读/写的信号传递给MRAM数据读写模块;MRAM数据读写模块则是进行数据读写。本发明利用不需要改变处理器内部的内存控制器,也可以用MRAM代替SDRAM作主存并能适配现行的嵌入式***处理器,最终实现低功耗的数据存储。

Description

一种基于FPGA的从SDRAM到MRAM的接口转换***及方法
技术领域
本发明涉及一种基于FPGA的从SDRAM到MRAM的接口转换***及方法,属于磁存储器应用技术领域。
背景技术
随着器件特征尺寸的不断减小,当其微缩到深亚微米甚至纳米级工艺尺寸(如40纳米)时,因为量子隧穿效应(Quantum Tunneling Effect)导致的漏电流(或静态功耗)成为了制约传统存储器发展的重要因素。由漏电流导致的静态功耗将占芯片全部功耗的50%以上。这部分静态功耗不仅造成低能量利用率,同时还会带来严重的可靠性问题。因此,传统存储器技术的发展遇到了严重的瓶颈与挑战。
为了解决这些问题以延续摩尔定律,新型非易失性(Nonvolatile)存储器,如相变随机存储器(PCRAM)、电阻式随机存储器(RRAM)、以及基于自旋电子学(Spintronics)的磁性随机存储器(MRAM)等应运而生。其中,基于自旋电子学的MRAM,因其具有高速度、高密度、低功耗、无限读取次数以及可扩展性等诸多优良特性,近年来受到学术界与工业界的广泛关注。
同目前流行的存储器相比,MRAM集结了快闪内存(FLASH)的非挥发性,静态随机存储内存(SRAM)的快速度去速度和低耗电量,动态随机存储内存(DRAM)的无限次写入,同时更具有永久记忆、密度高以及高耐久力等特点。目前许多研究致力于将MRAM运用于计算机存储***,探索其应用领域。
磁随机存储器(MRAM)作为一种新型的非易失性存储技术吸引了很多研究者的目光,许多研究人员提出利用MRAM替代SRAM作为片上缓存以及替代DRAM作为主存。由于MRAM与DRAM相同的读写特性,它也被看作是DRAM最有前景的代替者之一。之前已经有相关研究基于仿真对MRAM代替DRAM作主存在性能、功耗以及可行性等方面进行了测试,但是在实用性方面有一定的局限性。如何将MRAM作为主存嵌入到***中应用也是一个问题。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于FPGA的从SDRAM到MRAM的接口转换***及方法,基于可编程逻辑门阵列(FPGA)实现能适配SDRAM控制器的MRAM应用,它利用FPGA实现从同步动态随机存储器(SDRAM)到磁性随机存储器(MRAM)的接口协议转换,不需要改变处理器内部的内存控制器,也可以用MRAM代替SDRAM作主存并能适配现行的嵌入式***处理器,最终实现超低功耗的数据存储。具体实现方式是设计一个以MRAM为主存并能兼容SDRAM控制器的图像采集***,实现超低功耗的图像数据存储。
本发明的技术解决方案:一种基于FPGA的从SDRAM到MRAM的接口转换***,所述***包括:SDRAM控制器、控制转换模块和磁随机存储器MRAM;所述控制转换模块采用FPGA实现,包括SDRAM命令解码模块、MRAM控制模块、MRAM数据读写模块;控制转换模块实现将SDRAM控制转换为对MRAM控制的功能;
SDRAM控制器,发出SDRAM命令信号和地址信号送至SDRAM命令解码模块;同时SDRAM控制器接收到MRAM数据读写模块的读写请求后,对MRAM数据读写模块进行数据读写;
SDRAM命令解码模块,把SDRAM控制器发出的命令信号解码成MRAM工作状态,传递给MRAM控制模块;同时把SDRAM控制器发出的地址信号解码给MRAM控制模块;所述MRAM工作状态对应的命令包括等待地址、读命令、写命令、突发中断和NOP;根据SDRAM与MRAM命令映射表,所述SDRAM命令解码模块在接收到行有效(Row Active)命令时,记录下逻辑存储阵列(L-Bank)地址和存储阵列中的行地址,并等待下一个读/写信号;在接收到读/写命令时,记录列地址并合成完整的地址信号,并将MRAM的工作状态相应的转变为读/写;
MRAM控制模块,根据SDRAM命令解码模块传来的地址信号和工作状态,对MRAM进行控制;根据对应的MRAM的工作状态发送相应的MRAM控制命令及地址信号至MRAM;MRAM控制模块可发送读或写信号到MRAM数据读写模块。
MRAM数据读写模块:控制四组MRAM(每组两片MRAM,且每组存储16bit数据,四组MRAM共存储64bit数据)的数据读写;SDRAM控制器可对MRAM数据读写模块进行数据读写。
本发明采用MRAM访存协议与DDR访存协议的转换机制,对其中的关键问题如访存协议时序匹配、访存命令转换等进行了深入研究;提出了MRAM阵列流水读写架构,完成MRAM访存时序与DDR访存时序适配;提出了MRAM访存命令与DDR访存命令的映射技术,实现DDR命令与MRAM访存命令的无缝转换。
所述SDRAM控制器包括SDRAM初始化模块、两个FIFO(W_FIFO和R_FIFO),即写缓存和读缓存及FIFO控制模块、存储阵列(bank)切换模块以及SDRAM读写控制模块;SDRAM初始化模块实现SDRAM的初始化的功能,上电后等待SDRAM初始化完成之后传递初始化完成信号(Init_Done)给SDRAM控制器进行后续操作;SDRAM读写控制模块实现SDRAM突发读写操作,分别在接收到来自两个FIFO的读/写请求时开始向SDRAM发送读/写命令,同时还实现预充电、周期性刷新操作以保证SDRAM中存储数据的完整性与正确性;bank切换模块发送bank切换命令至SDRAM读写控制模块实现2个bank之间的乒乓读写操作,使得输入与输出的图像数据流对无冲突;此外SDRAM控制器还存在一个FIFO控制模块,控制在SDRAM与摄像头的输出及VGA的输入接口之间添加的读/写缓存模块来对数据进行缓存,完成异步数据跨时钟处理。
所述SDRAM命令解码模块具体实现如下:
在收到SDRAM控制器发出的行有效(Active)命令时,同时记录逻辑存储阵列(L-Bank)地址+行地址(Row)+列地址(Column),并等待下一个信号;
在接收到读/写(Read/Write)命令时,记录列地址并合成完整的地址信号:逻辑存储阵列地址+行地址+列地址,将MRAM的工作状态相应的转变为读/写;
MRAM不需要预充电,刷新操作,在收到其他命令,包括初始化、刷新、预充电命令时,则不采取任何操作,MRAM的状态为IDLE,即闲置状态。
所述MRAM控制模块具体实现如下:
根据工作状态向每片MRAM发送相应的控制命令信号以及地址信号,其中System_Address信号的后两位是片选信号,突发读(Burst Read)操作,开始时读取System_Address信号,之后每个时钟周期***地址System_Address信号加1,每隔四个时钟周期(40ns)同时向四组MRAM发送读命令,向四组MRAM地址信号则是System_Address信号的前21位;突发写(Burst Write)操作开始时记录System_Address信号,之后每个时钟周期System_Address信号加1,每隔一个时钟周期(10ns)向由System_Address信号后两位决定的一组MRAM发送写命令,向这一组MRAM发送的地址信号是System_Address信号的前21位,其他三组MRAM都是闲置状态。
所述MRAM数据读写模块,根据SDRAM控制器发出的读写命令控制四组MRAM的数据读写,读写操作采用MRAM阵列流水读写架构,完成MRAM访存时序与DDR访存时序适配,对于突发读操作,在发送第一次读取命令四个时钟周期,即40ns后,从由System_Address后两位决定的哪一组MRAM数据总线取出数据放入***数据总线,之后每隔一个时钟周期,即10ns依次从下一组MRAM的数据总线里取出数据,由于SDRAM工作时钟为100MHZ,一个时钟周期为10ns,MRAM两次操作的延时为35ns,40ns的时间能保证对于任何一组MRAM的连续两次操作之间的间隔大于最小延时;对于突发写操作,每次向某组MRAM发送写命令的同时将***数据总线里的数据取出放入改组MRAM的数据总线,进行写入操作。
所述SDRAM与MRAM命令映射表实现为:
当接收到预充电、刷新SDRAM指令时,对应的MRAM的工作状态为IDLE,即闲置状态,不采取任何操作;当接收到行有效指令时,会记录下行地址和bank地址,并等待读/写命令;当收到读/写命令时,记录下列地址,并与前一个时钟周期收到的bank地址和行地址合成完整的地址信号,同时将MRAM的工作状态相应的变成READ/WRITE,即读/写状态;在收到其他命令时,包括初始化、刷新和预充电命令,则不会采取任何操作,MRAM的状态不会变化。
本发明的一种基于MRAM存储的图像采集***,所述***包括基于FPGA的从SDRAM到MRAM的接口转换***和摄像头;控制转换模块对摄像头采集的图像数据进行处理并传递给SDRAM控制器,进而通过控制转换模块实现在MRAM中存储。
本发明的一种基于上述接口转换***的实现方法,其特征在于步骤如下:
(1)根据SDRAM控制器送出的信号命令与地址信号,SDRAM命令解码模块将SDRAM控制器发出的命令信号转化成相应的MRAM工作状态,该SDRAM命令解码模块在接收到行有效(ACTIVE)命令时,则会记录下L-Bank地址和行地址,并等待下一个读/写信号;在接收到读/写(READ/WRITE)命令时,记录列地址并合成完整的地址信号,并将MRAM的工作状态相应的转变为读/写;
(2)MRAM控制模块根据SDRAM命令解码模传来的地址信号和工作状态,对四组MRAM的进行控制,即发送相应的控制命令信号以及地址信号;对于突发读操作,从检测到工作状态变为读时,每隔四个时钟周期同时向四组MRAM发送读命令,向四组MRAM地址信号则是***地址(sys_addr)信号的前21位;对于突发写操作,每隔一个时钟周期向一组MRAM发送写操作命令,同时向这一组MRAM发送地址信号,其他三组都处于闲置状态,在进行地址信号解析时,根据地址信号的后两位选择具体操作哪组MRAM,以保证对于任何一组MRAM的连续两次操作之间的间隔为四个时钟周期,大于最小延时;
(3)对于突发读操作,从开始发送读命令,之后每隔四个时钟周期从四组MRAM总线中取出数据,并在之后的时间内依次放入将一组数据放入***数据总线,即在第一个时钟上升沿到来时刻向MRAM发送读命令,则在四个时钟周期结束时分别取出四组数据寄存在一个64位的寄存器中,MRAM的四组数据总线的宽度为64位,包含:第一组MRAM中的16位数据,第二组MRAM中的16位数据,第三组MRAM中的16位数据,第四组MRAM中的16位数据,从低到高共64位数据,然后在第五个时钟周期到来时将寄存器中的前16位数据放到***输出总线上,第六个时钟周期到来时将寄存器中的第31到第16位放到***输出总线上,第七个时钟周期到来时将第47到第32位放到***输出总线上,第八个时钟周期到来时将第63到第48位放到***输出总线上,SDRAM控制器采取突发读写模式,突发长度为256,即每收到一次读/写命令,MRAM应进行256次读/写,即每组MRAM进行64次读写,重复操作64次;
对于突发写操作,则是在每次向某组MRAM发送写命令的同时将***输入数据总线里的数据取出放入该组MRAM的数据总线,进行写入操作,即在第一个时钟周期内向第一组MRAM发送写命令,将***输入总线的数据放到寄存器的第15到第0位上,第二个时钟周期内向第二组MRAM发送写命令,将***输入总线的数据放到寄存器的第31到第16位上,第三个时钟周期向第三组MRAM发送写命令,将***输入总线的数据放到寄存器的第47到第32位上,第四个时钟周期内向第四组MRAM发送写命令,将***输入总线的数据放到寄存器的第63到第48位上。
本发明与现有技术相比的优点在于:
(1)本发明基于MRAM与SDRAM在读写操作上的访存协议时序匹配、SDRAM与MRAM控制命令转换;包含MRAM在片选信号,输出使能,写使能信号控制下的数据线DQ的状态,及读写操作时序。还分析了SDRAM随机进行指定地址的数据读写操作。提出了MRAM访存命令与DDR访存命令的映射表,可以实现DDR命令与MRAM访存命令的无缝转换。
(2)本发明提出了存储颗粒阵列设计;FPGA核心板的SDRAM存储器的位宽为16bit,而MRAM的位宽为8bit,因此需要用2片MRAM芯片来进行替代;SDRAM的工作时钟频率为100MHz且由于采用突发读写的方式使得其读写延时为1个时钟周期即10ns(除对于第一个位置的读写延时),而MRAM读写的最小相应时间为35ns,因此***设计采用4组MRAM芯片进行流水式读写的方式来进行替代。图像采集***中的存储模块采用4组,每组2片MRAM芯片的方式进行流水式读写来代替原来的SDRAM。
(3)本发明提出了MRAM阵列流水读写架构,完成MRAM访存时序与DDR访存时序适配;对于突发读操作,从开始发送读命令,之后每隔40ns从四组MRAM总线中取出数据,并在之后的时间内依次放入将一组数据放入***数据总线。重复这个操作64次。对于突发写操作,则是在每次向某组MRAM发送写命令的同时将***输入数据总线里的数据取出放入该组MRAM的数据总线,进行写入操作。
附图说明
图1为SDRAM与MRAM的命令映射表示意图;
图2为本发明基于FPGA的从SDRAM到MRAM的接口转换***实现示意图,其中SDRAM命令解码模块、MRAM控制模块和MRAM数据读写模块合称为控制转换模块;
图3为full-page突发模式读/写的时序图;
图4为图像采集***控制设计RTL图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
本发明利用FPGA实现从DDR协议(SDRAM的读写协议)向MRAM读写协议转换,用MRAM作为嵌入式***的内存并兼容SDRAM控制器。接口的一边是SDRAM的时序约束,另一边是MRAM的时序约束。最终完成一个完整的图像采集***。
首先需要考虑SDRAM与MRAM的读写时序、容量、位宽以及地址映射等。有三个参数对SDRAM的性能影响至关重要:tRCD、CL和tRP。tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔,CL决定了列寻址到数据进行真正被读取所花费的时间,tRP则决定了相同L-Bank中不同工作行转换的速度。写操作不用考虑CL。
读写时序:虽然MRAM与SDRAM具有相似的读写特性,但是MRAM的读写速度仍然比SDRAM稍慢。在突发读写模式时,SDRAM处理第一个数据的延时为tRP+tRCD+CL,而处理其他数据的延时则仅仅为CL(一般为10ns)。而MRAM的读写延时有35ns;
位宽:MRAM的位宽为8bits,SDRAM的位宽为16bits;
容量:MRAM的容量为2Mbits,SDRAM的容量为16Mbits;
行列地址:SDRAM的行地址线为13位,列地址线为9位,L-Bank地址2位。MRAM的地址线为21位。
如图2所示,本发明的一种基于FPGA的从SDRAM到MRAM的接口转换***,包括:FPGA、SDRAM控制器、SDRAM命令解码模块、MRAM控制模块、MRAM数据读写模块和磁随机存储器MRAM。SDRAM与MRAM的命令映射表参考图1。
在本发明图像采集***中,使用FPGA进行图像处理,用Verilog HDL语言来实现控制核心的设计。通过功能划分,将设计分成CMOS I2C初始化、数据捕获、图像接收解析与解码,SDRAM异步图像存储,控制时序转换,VGA驱动等模块。通过图像采集***的RTL设计图,参考图4所示,由***时钟模块提供其他各模块所需要的时钟频率;摄像头模块实现对摄像头的控制,同时将接收的图像数据进行拼接并传递给SDRAM模块;SDRAM控制模块对来自摄像头的数据进行存储,并处理来自VGA模块的读取数据请求;而控制转换模块是最重要的部分,它实现将SDRAM控制转换为对MRAM控制的功能;VGA显示模块则实现图像数据的显示功能。
本发明是一种基于FPGA的从SDRAM到MRAM的接口转换方法,步骤如下:
(1)根据SDRAM控制器送出的信号命令与地址信号,SDRAM命令解码模块将SDRAM控制器对于SDRAM的控制信号转化成相应的MRAM工作状态,如该模块在接收到行有效(ACTIVE)命令时,则会记录下L-Bank地址和行地址,并等待下一个读/写信号;在接收到读/写(READ/WRITE)命令时,记录列地址并合成完整的地址信号(sys_addr[22:0]={L-Bank,Row[12:0],Column[8:0]}),并将MRAM的工作状态相应的转变为读/写;
(2)MRAM控制模块根据SDRAM命令解码模传来的***地址信号和工作状态,对四组MRAM的进行控制,即发送相应的控制命令信号以及地址信号。对于突发读操作,从检测到工作状态变为读时,每隔四个时钟周期(40ns)同时向四组MRAM发送读命令,向四组MRAM地址信号则是sys_addr信号的前21位(mram_addr=sys_addr[22:2])。对于突发写操作,每隔一个时钟周期(10ns)向一组MRAM发送写操作命令,同时向这一组MRAM发送地址信号,其他三组都处于闲置状态。在进行地址信号解析时,根据sys_addr信号的后两位选择具体操作哪组MRAM。这样能保证对于任何一组MRAM的连续两次操作之间的间隔为40ns,大于最小延时。
(3)MRAM数据读写模块是用来控制四组MRAM的数据读写。
对于突发读操作,如图3所示的读时序图,从开始发送读命令,之后每隔40ns从四组MRAM总线中取出数据,并在之后的时间内依次放入将一组数据放入数据总线。即假如第0ns向MRAM发送读命令,则在第40ns是分别取出四组数据寄存在一个64为的寄存器中,即:mram_dq[63:0]={mram3_data[15:0],mram2_data[15:0],mram1_data[15:0],mram0_data[15:0]},然后在第40ns将mram0_data放到***输出总线上,第50ns将mram1_data放到输出总线上,第60ns将mram2_data放到输出总线上,第70ns将mram3_data放到输出总线上。重复这个操作64次;
对于突发写操作,参考图3写时序图,则是在每次向某组MRAM发送写命令的同时将输入数据总线里的数据取出放入该组MRAM的数据总线,进行写入操作。即在第0ns向MRAM0发送写命令,将输入总线的数据放到mram0_data上,第10ns向MRAM0发送写命令,将***输入总线的数据放到mram1_data上,第20ns向MRAM0发送写命令,将***输入总线的数据放到mram2_data上,第30ns向MRAM0发送写命令,将输入总线的数据放到mram3_data上。
由于MRAM的无破坏读取以及数据存储的特性,与SDRAM复杂的预充电、定期刷新等控制操作相比,采用MRAM的控制较为简单且更低功耗。经过一系列软件仿真和硬件调试等操作后,采用MRAM作为缓存的低功耗图像采集***的功能成功实现。通过与比原以SDRAM为缓存的图像采集***运行情况进行对比,实现了采用MRAM代替DRAM作为嵌入式***主存并且可以兼容SDRAM控制器。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (5)

1.一种基于FPGA的从SDRAM到MRAM的接口转换***,其特征在于:所述***包括:SDRAM控制器、控制转换模块和磁随机存储器MRAM;所述控制转换模块采用FPGA实现,包括SDRAM命令解码模块、MRAM控制模块、MRAM数据读写模块;控制转换模块实现将SDRAM控制转换为对MRAM控制的功能;
SDRAM控制器,发出SDRAM命令信号和地址信号送至SDRAM命令解码模块;同时SDRAM控制器接收到MRAM数据读写模块的读写请求后,对MRAM数据读写模块进行数据读写;
SDRAM命令解码模块,把SDRAM控制器发出的命令信号解码成MRAM工作状态,传递给MRAM控制模块;同时把SDRAM控制器发出的地址信号解码给MRAM控制模块;所述MRAM工作状态对应的命令包括等待地址、读命令、写命令、突发中断和NOP;根据SDRAM与MRAM命令映射表,所述SDRAM命令解码模块在接收到行有效命令时,记录下逻辑存储阵列地址和存储阵列中的行地址,并等待下一个读/写信号;在接收到读/写命令时,记录列地址并合成完整的地址信号,并将MRAM的工作状态相应的转变为读/写;
MRAM控制模块,根据SDRAM命令解码模块传来的地址信号和工作状态,对MRAM进行控制;根据对应的MRAM的工作状态发送相应的MRAM控制命令及地址信号至MRAM;MRAM控制模块可发送读或写信号到MRAM数据读写模块;
MRAM数据读写模块:控制四组MRAM的数据读写;SDRAM控制器对MRAM数据读写模块进行数据读写;
所述SDRAM命令解码模块具体实现如下:
在收到SDRAM控制器发出的行有效(Active)命令时,同时记录逻辑存储阵列(L-Bank)地址+行地址(Row)+列地址(Column),并等待下一个信号;
在接收到读/写(Read/Write)命令时,记录列地址并合成完整的地址信号:逻辑存储阵列地址+行地址+列地址,将MRAM的工作状态相应的转变为读/写;
MRAM不需要预充电,刷新操作,在收到其他命令,其他命令包括初始化、刷新、预充电命令时,则不采取任何操作,MRAM的状态为IDLE,即闲置状态;
所述MRAM数据读写模块,根据SDRAM控制器发出的读写命令控制四组MRAM的数据读写,读写操作采用MRAM阵列流水读写架构,完成MRAM访存时序与SDRAM访存时序适配,对于突发读操作,在发送第一次读取命令四个时钟周期,即40ns后,从由System_Address后两位决定的哪一组MRAM数据总线取出数据放入***数据总线,之后每隔一个时钟周期,即10ns依次从下一组MRAM的数据总线里取出数据,由于SDRAM工作时钟为100MHZ,一个时钟周期为10ns,MRAM两次操作的延时为35ns,40ns的时间能保证对于任何一组MRAM的连续两次操作之间的间隔大于最小延时;对于突发写操作,每次向某组MRAM发送写命令的同时将***数据总线里的数据取出放入改组MRAM的数据总线,进行写入操作;
所述SDRAM与MRAM命令映射表实现为:
当接收到预充电、刷新SDRAM指令时,对应的MRAM的工作状态为IDLE,即闲置状态,不采取任何操作;当接收到行有效指令时,会记录下行地址和bank地址,并等待读/写命令;当收到读/写命令时,记录下列地址,并与前一个时钟周期收到的bank地址和行地址合成完整的地址信号,同时将MRAM的工作状态相应的变成READ/WRITE,即读/写状态;在收到其他命令时,包括初始化、刷新和预充电命令,则不会采取任何操作,MRAM的状态不会变化。
2.根据权利要求1所述的基于FPGA的从SDRAM到MRAM的接口转换***,其特征在于:所述SDRAM控制器包括SDRAM初始化模块、两个FIFO、存储阵列bank切换模块以及SDRAM读写控制模块,两个FIFO,即写缓存和读缓存及FIFO控制模块;SDRAM初始化模块实现SDRAM的初始化的功能,上电后等待SDRAM初始化完成之后传递初始化完成信号给SDRAM控制器进行后续操作;SDRAM读写控制模块实现SDRAM突发读写操作,分别在接收到来自两个FIFO的读/写请求时开始向SDRAM发送读/写命令,同时还实现预充电、周期性刷新操作以保证SDRAM中存储数据的完整性与正确性;存储阵列bank切换模块发送存储阵列bank切换命令至SDRAM读写控制模块实现2个存储阵列bank之间的乒乓读写操作,使得输入与输出的图像数据流对无冲突。
3.根据权利要求1所述的基于FPGA的从SDRAM到MRAM的接口转换***,其特征在于:所述MRAM控制模块具体实现如下:
根据工作状态向每片MRAM发送相应的控制命令信号以及地址信号,其中System_Address信号的后两位是片选信号,突发读(Burst Read)操作,开始时读取System_Address信号,之后每个时钟周期System_Address信号加1,每隔四个时钟周期同时向四组MRAM发送读命令,向四组MRAM地址信号则是System_Address信号的前21位;突发写(Burst Write)操作开始时记录System_Address信号,之后每个时钟周期System_Address信号加1,每隔一个时钟周期向由System_Address信号后两位决定的一组MRAM发送写命令,向这一组MRAM发送的地址信号是System_Address信号的前21位,其他三组MRAM都是闲置状态。
4.一种基于MRAM存储的图像采集***,其特征在于:所述***包括权利要求1-3所述任意之一的基于FPGA的从SDRAM到MRAM的接口转换***和摄像头;控制转换模块对摄像头采集的图像数据进行处理并传递给SDRAM控制器,进而通过控制转换模块实现在MRAM中存储。
5.一种实现基于权利要求1-3任意之一所述的接口转换***的实现方法,其特征在于,步骤如下:
(1)根据SDRAM控制器送出的信号命令与地址信号,SDRAM命令解码模块将SDRAM控制器发出的命令信号转化成相应的MRAM工作状态,该SDRAM命令解码模块在接收到行有效(ACTIVE)命令时,则会记录下逻辑存储阵列(L-Bank)地址和行地址,并等待下一个读/写信号;在接收到读/写(READ/WRITE)命令时,记录列地址并合成完整的地址信号,并将MRAM的工作状态相应的转变为读/写;
(2)MRAM控制模块根据SDRAM命令解码模传来的地址信号和工作状态,对四组MRAM的进行控制,即发送相应的控制命令信号以及地址信号;对于突发读操作,从检测到工作状态变为读时,每隔四个时钟周期同时向四组MRAM发送读命令,向四组MRAM地址信号则是***地址(sys_addr)信号的前21位;对于突发写操作,每隔一个时钟周期向一组MRAM发送写操作命令,同时向这一组MRAM发送地址信号,其他三组都处于闲置状态,在进行地址信号解析时,根据地址信号的后两位选择具体操作哪组MRAM,以保证对于任何一组MRAM的连续两次操作之间的间隔为四个时钟周期,大于最小延时;
(3)对于突发读操作,从开始发送读命令,之后每隔四个时钟周期从四组MRAM总线中取出数据,并在之后的时间内依次放入将一组数据放入***数据总线,即在第一个时钟上升沿到来时刻向MRAM发送读命令,则在四个时钟周期结束时分别取出四组数据寄存在一个64位的寄存器中,MRAM的四组数据总线的宽度为64位,包含:第一组MRAM中的16位数据,第二组MRAM中的16位数据,第三组MRAM中的16位数据,第四组MRAM中的16位数据,从低到高共64位数据,然后在第五个时钟周期到来时将寄存器中的前16位数据放到***输出总线上,第六个时钟周期到来时将寄存器中的第31到第16位放到***输出总线上,第七个时钟周期到来时将第47到第32位放到***输出总线上,第八个时钟周期到来时将第63到第48位放到***输出总线上,SDRAM控制器采取突发读写模式,突发长度为256,即每收到一次读/写命令,MRAM应进行256次读/写,即每组MRAM进行64次读写,重复操作64次;
对于突发写操作,则是在每次向某组MRAM发送写命令的同时将***输入数据总线里的数据取出放入该组MRAM的数据总线,进行写入操作,即在第一个时钟周期内向第一组MRAM发送写命令,将***输入总线的数据放到寄存器的第15到第0位上,第二个时钟周期内向第二组MRAM发送写命令,将***输入总线的数据放到寄存器的第31到第16位上,第三个时钟周期向第三组MRAM发送写命令,将***输入总线的数据放到寄存器的第47到第32位上,第四个时钟周期内向第四组MRAM发送写命令,将***输入总线的数据放到寄存器的第63到第48位上。
CN202110604283.0A 2021-05-31 2021-05-31 一种基于fpga的从sdram到mram的接口转换***及方法 Active CN113220616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110604283.0A CN113220616B (zh) 2021-05-31 2021-05-31 一种基于fpga的从sdram到mram的接口转换***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110604283.0A CN113220616B (zh) 2021-05-31 2021-05-31 一种基于fpga的从sdram到mram的接口转换***及方法

Publications (2)

Publication Number Publication Date
CN113220616A CN113220616A (zh) 2021-08-06
CN113220616B true CN113220616B (zh) 2022-11-15

Family

ID=77081750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110604283.0A Active CN113220616B (zh) 2021-05-31 2021-05-31 一种基于fpga的从sdram到mram的接口转换***及方法

Country Status (1)

Country Link
CN (1) CN113220616B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115905100B (zh) * 2022-12-27 2023-08-18 南方电网调峰调频发电有限公司检修试验分公司 一种龙芯2k1000处理器实现励磁***与fpga数据交互的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1341942A (zh) * 2001-06-30 2002-03-27 深圳市朗科科技有限公司 一种多功能半导体存储装置
CN1367438A (zh) * 2002-02-09 2002-09-04 深圳市朗科科技有限公司 支持多种接口的半导体存储方法及装置
JP2013196476A (ja) * 2012-03-21 2013-09-30 Fuji Xerox Co Ltd データ処理装置およびメモリ制御装置
CN103544984A (zh) * 2012-07-11 2014-01-29 三星电子株式会社 磁性随机存取存储器
CN105224241A (zh) * 2014-06-23 2016-01-06 联想(北京)有限公司 Mram存储器、数据存储***及数据读取方法
CN110727470A (zh) * 2018-06-29 2020-01-24 上海磁宇信息科技有限公司 一种混合式非失性存储装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048654B2 (en) * 2018-10-24 2021-06-29 Innogrit Technologies Co., Ltd. Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1341942A (zh) * 2001-06-30 2002-03-27 深圳市朗科科技有限公司 一种多功能半导体存储装置
CN1367438A (zh) * 2002-02-09 2002-09-04 深圳市朗科科技有限公司 支持多种接口的半导体存储方法及装置
JP2013196476A (ja) * 2012-03-21 2013-09-30 Fuji Xerox Co Ltd データ処理装置およびメモリ制御装置
CN103544984A (zh) * 2012-07-11 2014-01-29 三星电子株式会社 磁性随机存取存储器
CN105224241A (zh) * 2014-06-23 2016-01-06 联想(北京)有限公司 Mram存储器、数据存储***及数据读取方法
CN110727470A (zh) * 2018-06-29 2020-01-24 上海磁宇信息科技有限公司 一种混合式非失性存储装置

Also Published As

Publication number Publication date
CN113220616A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
JP5927263B2 (ja) ホストコンピュータシステムとメモリとの間の通信方法およびメモリ
US8705313B2 (en) DDR PSRAM and data writing and reading methods thereof
US6647478B2 (en) Semiconductor memory device
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
US7142477B1 (en) Memory interface system and method for reducing cycle time of sequential read and write accesses using separate address and data buses
US10290334B2 (en) Read latency reduction in a memory device
CN101310339A (zh) 具有多个内部数据总线和存储器库交错的存储器装置和方法
JP2000506301A (ja) 高速コマンド入力を有する簡単化されたクロックドdram
CN104978150B (zh) 存储器装置的控制方法、存储器装置和存储器***
US8593902B2 (en) Controller and access method for DDR PSRAM and operating method thereof
CN1860460A (zh) 在具有等待信息的存储***上的回声时钟
WO2023065717A1 (zh) Ddr存储器数据读写调度方法和装置
CN113220616B (zh) 一种基于fpga的从sdram到mram的接口转换***及方法
CN1702768A (zh) 半导体存储装置
TWI533135B (zh) 記憶體存取方法、記憶體存取控制方法、記憶體裝置與記憶體控制器
TW425508B (en) Narrow data width dram with low latency page-hit operations
KR100438736B1 (ko) 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치
CN201936294U (zh) 一种高速图像采集***的缓存***
US7330991B2 (en) Method and/or apparatus for paging to a dynamic memory array
Zheng et al. Design and implementation of DDR4 SDRAM controller based on FPGA
US20230176608A1 (en) Read clock start and stop for synchronous memories
US7178000B1 (en) Trace buffer for DDR memories
KR20240112914A (ko) 동기식 메모리들에 대한 판독 클록 시작 및 중지
KR20240112970A (ko) 동기식 메모리들에 대한 판독 클록 시작 및 중지
CN104347107A (zh) 存储器件和包括其的存储***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant