一种通用高效的SDR SDRAM控制器及其工作方法技术

技术编号:14907985 阅读:98 留言:0更新日期:2017-03-29 23:01
本发明专利技术涉及一种通用高效的SDR SDRAM控制器及其工作方法,包括PLL、用户接口模块、自动刷新模块和命令控制模块;用户接口模块包括写缓存处理模块、读写控制状态机模块、跨行读写处理模块;命令控制模块包括自动刷新处理模块、状态初始化模块、工作时序控制模块、命令数据收发模块;本发明专利技术通过选取读写突发长度为1,利用SDR SDRAM读命令之间和写命令之间连续操作的特点,在传统控制器的基础上通过用户接口优化、用户数据缓冲、数据换行分割、数据读写定时控制等实现突发长度从1到页长范围内的灵活读写,用户可根据自身具体程序读写长度的需要来动态控制每次的读写长度,最大效率地完成每次的读写,提高了接口数据吞吐量。

【技术实现步骤摘要】

本专利技术涉及一种通用高效的SDRSDRAM控制器及其工作方法,属于FPGAIP核

技术介绍
IP核全称知识产权核(IntellectualPropertyCore),是指某一方提供的形式为逻辑单元、芯片设计的可重用模块。设计人员能够以IP核为基础进行专用集成电路或现场可编程逻辑门阵列的逻辑设计,以减少设计周期。SDRSDRAM存储器具有很好的性价比,在很多领域中得到广泛应用,但SDRSDRAM有比较严格的时序要求,逻辑控制比较复杂,需要有一个专门控制器来实现数据读写控制,该控制器可以使用VerilogHDL或VHDL语言来实现。控制器特性主要包括:●突发长度支持1、2、4、8及整页;●CAS延时可以是2或者3个时钟周期;●自动刷新功能、自刷新功能、低功耗模式;●包括NOP、READ、WRITE、AUTO_REFRESH、PRECHARGE、ACTIVATE、URST_STO和LOAD_MR等SDRAM控制命令;●支持4、8、16、32位数据宽度。FPGA具有可重构、逻辑资源丰富、I/O接口灵活等特点,基于FPGA的SDRSDRAM控制器设计能够在很大程度上简化设计方法,缩短产品设计者开发周期。SDRSDRAM存储器读写突发长度可选取1、2、4、8或整页。选取1、2、4、8突发长度进行读写时,由于每次读写都带来控制开销,所以总的读写效率不高;若选取整页操作模式,当写入或读出的数据长度远远小于页长度时则会浪费掉大量的存储空间和接口读写时间,总体效率也是要大大折扣。
技术实现思路
针对现有技术的不足,本专利技术提供了一种通用高效的SDRSDRAM控制器。本专利技术还提供了上述SDRSDRAM控制器的工作方法;为了实现SDRSDRAM能够支持1到页长范围内的任意长度突发读写,本专利技术通过选取读写突发长度为1,利用SDRSDRAM读命令之间和写命令之间可以连续操作的特点,由SDRSDRAM控制器来自动产生地址计数,连续向SDRAM给出读写命令。本专利技术在传统控制器的基础上通过用户接口优化、用户数据缓冲、数据换行分割、数据读写定时控制等实现突发长度从1到页长范围内的灵活读写,用户可根据自身具体程序读写长度的需要来动态控制每次的读写长度,最大效率地完成每次的读写,提高了接口数据吞吐量。术语解释PLL(PhaseLockedLoop):为锁相回路或锁相环;本专利技术的技术方案为:一种通用高效的SDRSDRAM控制器,包括PLL、用户接口模块、自动刷新模块和命令控制模块;所述用户接口模块包括写缓存处理模块、读写控制状态机模块、跨行读写处理模块;所述命令控制模块包括自动刷新处理模块、状态初始化模块、工作时序控制模块、命令数据收发模块;所述PLL分别连接所述用户接口模块、所述自动刷新模块和所述命令控制模块;所述用户接口模块、所述自动刷新模块均连接所述命令控制模块;所述用户接口模块连接用户,所述命令控制模块连接SDRSDRAM存储器。根据本专利技术优选的,所述用户接口模块通过地址线、写数据线、读数据线、控制线连接用户侧接口;所述命令控制模块通过地址线、控制线、数据线连接SDRSDRAM存储器侧接口;所述用户接口模块通过控制线、数据线连接所述命令控制模块。用户接口模块位于用户逻辑与命令处理模块中间,实现数据长度分析、跨行读写处理、写数据缓存处理、空闲指示处理等;用户接口模块与用户侧间的信号包括读写数据、读写地址、读写使能、读写长度、空闲指示、读写响应、读有效指示、时钟等;用户逻辑根据空闲指示来决定是否进行数据读写。当用户接口模块收到读写指令后,会根据长度、地址等信息判断是否进行分割为两次读写操作,并启动命令处理模块的读写。所述自动刷新模块根据不同SDRSDRAM存储器的刷新参数定时产生自动刷新请求,实现SDRSDRAM存储器的数据保持。命令控制模块完成的功能包括初始化处理、自动刷新处理、控制器时序控制、命令和数据收发处理等。与用户接口模块间接口信号包括读写使能、读写地址、读写数据、空闲指示、读有效指示、双读写指示等,与自动刷新模块间接口信号包括自动刷新请求、自动刷新响应,与存储器侧接口间接口信号包括地址、数据、控制等;上电后,命令处理模块会首先进行初始化等待,然后进行初始化,完成后进入空闲状态,根据自动刷新请求或读写请求分别进行相应处理。根据本专利技术优选的,利用FPGA内部资源,PLL产生合适的SDRAM控制器工作时钟和SDRAM时钟信号;所述写缓存处理模块用于临时存储用户数据;由于SDRAM写操作时需要经过模块间处理、SDRAM激活、激活等待及等环节,所以需要暂时存储用户发来的写数据。待发送写指令时再一并送出写数据。所述读写控制状态机模块用于所述用户接口模块与所述命令控制模块之间的数据读写控制;所述跨行读写处理模块用于分析处理读写数据地址和长度,若读写地址超出本行范围,则进行跨行分割处理;所述自动刷新处理模块用于SDRSDRAM存储器的刷新控制;保证数据存储的有效性。所述工作时序控制模块用于产生SDRSDRAM控制器的初始化、刷新、读写操作的工作时序;所述命令数据收发模块用于产生发送到SDRSDRAM存储器的各种控制和读写命令;所述状态初始化模块用于进行初始化等待,并初始化SDRSDRAM控制器。上述SDRSDRAM控制器的工作方法,具体步骤包括:(1)所述状态初始化模块进行初始化等待,待达到预设等待时间后,进入步骤(2);(2)所述状态初始化模块初始化SDRSDRAM控制器;(3)判断初始化SDRSDRAM控制器是否完成,如果完成,进入步骤(4),否则,返回步骤(2);(4)SDRSDRAM控制器置于空闲状态;(5)所述命令控制模块判断所述自动刷新模块是否发出自动刷新请求,如果是,所述命令控制模块开始执行自动刷新,刷新完成后返回步骤(4);否则,进入步骤(6);(6)用户接口模块判断用户侧接口是否有读写控制请求,如果有,所述跨行读写处理模块分析处理读写数据地址和长度,进行跨行分割处理,处理完后向命令控制模块发送读写请求,进入步骤(7);用户接口模块同时把写数据存入写缓存区等待发送,进入步骤(9);如果没有,返回步骤(4);(7)用户接口模块判断读写操作是否结束,如果是,返回步骤(4);否则,进入步骤(8);(8)命令控制模块根据用户接口模块的读写请求向SDRSDRAM存储器发送激活、读写指令,进入步骤(9);(9)命令控制模块根据用户接口模块发送来的数据长度进行读写;(10)命令控制模块判断读写是否结束,如果是,进入步骤(11);否则,返回步骤(9);(11)命令控制模块对SDRSDRAM存储器进行预充电处理,完成后进入步骤(7)。本专利技术的有益效果为:1、本专利技术通过选取读写突发长度为1,利用SDRSDRAM读命令之间和写命令之间可以连续操作的特点,在传统控制器的基础上通过用户接口优化、用户数据缓冲、数据换行分割、数据读写定时控制等实现突发长度从1到页长范围内的灵活读写,用户可根据自身具体程序读写长度的需要来动态控制每次的读写长度,最大效率地完成每次的读写,提高了接口数据吞吐量;2、本专利技术采用FPGA平台,资源丰富、电路实现灵活和代码好移植;3、本专利技术通过合理读写与刷新协调工作机制实现控制器对存储器的自动刷新功能。附图说明图本文档来自技高网...

【技术保护点】
一种通用高效的SDR SDRAM控制器,其特征在于,包括PLL、用户接口模块、自动刷新模块和命令控制模块;所述用户接口模块包括写缓存处理模块、读写控制状态机模块、跨行读写处理模块;所述命令控制模块包括自动刷新处理模块、状态初始化模块、工作时序控制模块、命令数据收发模块;所述PLL分别连接所述用户接口模块、所述自动刷新模块和所述命令控制模块;所述用户接口模块、所述自动刷新模块均连接所述命令控制模块;所述用户接口模块连接用户,所述命令控制模块连接SDR SDRAM存储器。

【技术特征摘要】
1.一种通用高效的SDRSDRAM控制器,其特征在于,包括PLL、用户接口模块、自动刷新模块和命令控制模块;所述用户接口模块包括写缓存处理模块、读写控制状态机模块、跨行读写处理模块;所述命令控制模块包括自动刷新处理模块、状态初始化模块、工作时序控制模块、命令数据收发模块;所述PLL分别连接所述用户接口模块、所述自动刷新模块和所述命令控制模块;所述用户接口模块、所述自动刷新模块均连接所述命令控制模块;所述用户接口模块连接用户,所述命令控制模块连接SDRSDRAM存储器。2.根据权利要求1所述的一种通用高效的SDRSDRAM控制器,其特征在于,所述用户接口模块通过地址线、写数据线、读数据线、控制线连接用户侧接口;所述命令控制模块通过地址线、控制线、数据线连接SDRSDRAM存储器侧接口;所述用户接口模块通过控制线、数据线连接所述命令控制模块。3.根据权利要求1所述的一种通用高效的SDRSDRAM控制器,其特征在于,利用FPGA内部资源,PLL产生合适的SDRAM控制器工作时钟和SDRAM时钟信号;所述写缓存处理模块用于临时存储用户数据;所述读写控制状态机模块用于所述用户接口模块与所述命令控制模块之间的数据读写控制;所述跨行读写处理模块用于分析处理读写数据地址和长度,若读写地址超出本行范围,则进行跨行分割处理;所述自动刷新处理模块用于SDRSDRAM存储器的刷新控制;所述工作时序控制模块用于产生SDRSDRAM控制器的初始化、刷新、读写操作的工作时序;所述命令数据收发模块用于产生发送到SDR...

【专利技术属性】
技术研发人员:葛庆国
申请(专利权)人:广东高云半导体科技股份有限公司
类型:发明
国别省市:广东;44

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

1