CN115910147A - 一种延迟可调的psram接口控制模块及控制器 - Google Patents
一种延迟可调的psram接口控制模块及控制器 Download PDFInfo
- Publication number
- CN115910147A CN115910147A CN202211494436.1A CN202211494436A CN115910147A CN 115910147 A CN115910147 A CN 115910147A CN 202211494436 A CN202211494436 A CN 202211494436A CN 115910147 A CN115910147 A CN 115910147A
- Authority
- CN
- China
- Prior art keywords
- delay
- psram
- control module
- delay chain
- adjustable
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Dram (AREA)
Abstract
本发明提供了一种延迟可调的PSRAM接口控制模块,包括:接口状态机、发送同步缓存、发送延迟链、接收延迟链、接收异步缓存和IO;其中接口状态机为接收系统控制模块提供的PSRAM命令、地址、数据,按照PSRAM设备要求的时序发送;发送同步缓存用来存储数据等待状态机进入写状态之后按时序发送;发送延迟链包含对称延迟链和非对称延迟链,用于调整发送时钟和其他信号的延迟关系;接收延迟链包含两级对称延迟链,用于调整接收STROBE信号和DQ之间相位关系;接收异步缓存用于接收STROBE上升沿和下降沿对应的数据,并同步到psram_clk时钟域。本发明的延迟可调的PSRAM接口控制模块整无需DLL和模拟pad。
Description
技术领域
本发明涉及存储器技术领域,具体来说,涉及一种延迟可调的PSRAM接口控制模块及控制器。
背景技术
伪静态随机存储器(Pseudo Static Random Access Memory,即PSRAM)架构上是一种介于动态随机存取存储器(Dynamic Random Access Memory,DRAM)和静态随机存取存储器(Static Random Access Memory,SRAM)之间的一种设备。对比DRAM,PSRAM具有结构简单易于集成、接口位数少硬件系统易于实现、功耗低等优点;同时也有容量小、传输速度慢等缺点。对比SRAM,PSRAM具有容量大、功耗低等优点;也有需要控制器导致设计复杂等缺点。由此可以看出PSRAM在性能、复杂度上也是介于DRAM和SRAM之间术,在IoT等特定领域中也可以发挥出优于二者的效果。
本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。
发明内容
针对相关技术中的上述技术问题,本发明提出了一种延迟可调的PSRAM接口控制模块,其特征在于包括:接口状态机、发送同步缓存、发送延迟链、接收延迟链、接收异步缓存和IO;其中接口状态机为接收系统控制模块提供的PSRAM命令、地址、数据,按照PSRAM设备要求的时序发送;发送同步缓存用来存储数据等待状态机进入写状态之后按时序发送;发送延迟链包含对称延迟链和非对称延迟链,用于调整发送时钟和其他信号的延迟关系;接收延迟链包含两级对称延迟链,用于调整接收STROBE信号和DQ之间相位关系;接收异步缓存用于接收STROBE上升沿和下降沿对应的数据,并同步到psram_clk时钟域。
具体的,所述psram_clk的时钟为PSRAM设备时钟频率的2倍。
具体的,所述非对称延迟链为多个上升和下降沿延迟差距大于一阈值的标准单元和反相器串联而成。
具体的,所述对称延迟链,由上升和下降沿延迟平衡的标准单元串联而成,通过数据选择器输出。
具体的,所述接收延迟链具有两级对称延迟链,所述两级对称延迟链包括:一级延迟链和二级延迟链。
具体的,所述一级延迟链的结构由上升和下降沿延迟平衡的标准单元串联而成。
具体的,所述二级延迟链由多个一级延迟链串联构成,通过数据选择器输出。
具体的,所述接收异步缓存中有两个独立的异步FIFO,分别接收STROBE上升沿和下降沿对应的数据。
具体的,写操作过程中,由状态机产生的时钟和数据都需要通过发送延迟链之后传递给IO。
第二方面,本发明的另一个实施例公开了一种PSRAM控制器,其包括:系统控制模块、和如上所述的延迟可调的PSRAM接口控制模块。
本发明的一种延迟可调的PSRAM接口控制模块,采用两倍于PSRAM设备时钟的psram_clk作为内部时钟实现了PSRAM协议和时序;在发送电路中非对称延迟链补偿了标准数字PAD对于上升和下降沿的延迟差,还实现了延迟微调;在接收电路中实现了两级延迟链可以实现更精准相位调整。
1)因为采用了两倍于PSRAM设备时钟的psram_clk作为内部时钟,所以无需增加DLL调整相位。
2)因为采用了非对称延迟链,使得可以使用标准数字PAD作为IO,无需模拟PAD设计,加快了实现周期。
3)因为采用了两级延迟链,可以更精准控制相位,保证STROBE和DQ之间的setup和hold时序余量平衡,提升传输速度。
本发明的一种延迟可调的PSRAM接口控制模块整体实现简单、快速,实测与PSRAM设备通讯速率最高达到400Mbps(200Mhz),已经达到了标准数字PAD的极限。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的PSRAM控制器结构示意图;
图2是本发明实施例提供的接口控制模块的时钟示意图;
图3是本发明实施例提供的一种延迟可调的PSRAM接口控制模块示意图;
图4是本发明实施例提供的接口状态机示意图;
图5是本发明实施例提供的PAD延迟示意图;
图6是本发明实施例提供的发送延迟链示意图;
图7是本发明实施例提供的接收延迟链示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参考图1,PSRAM控制器分为两层:接口控制模块、系统控制模块。其中接口控制模块,主要负责数据发送和接收的时序状态机,支持发送和接收延迟链电路用于相位调整。
系统控制模块内置寄存器堆,控制整个PSRAM控制器的状态,支持多种PSRAM设备的上电初始化流程、复位方式、休眠方式,实现时钟域和数据位宽转换。
初始化电路在系统控制模块内,先通过寄存器接口配置初始化方式和PSRAM时序,然后依据寄存器的配置选择初始化过程,并通过状态机和计数器完成初始化。在初始化完成之后,系统控制模块会通知接口控制模块允许数据传输。
模式读写流程由系统控制模块发起,通过接口控制模块完成。当需要进行模式写时,通过寄存器接口选择需要写入的模式寄存器地址以及写入数据,最后配置模式写启动。模式写启动之后,系统控制模块会将对应的PSRAM命令、地址、数据、长度发给接口控制模块,并通知其启动写操作。接口控制模块在完成写操作后给出应答信号,表示当前写操作完成允许进行下一次读写操作。
当需要进行模式读时,通过寄存器接口选择需要读出的模式寄存器地址,然后配置模式读启动。模式读启动之后,系统控制模块会将对应的PSRAM命令、地址、长度发给接口控制模块,并通知其启动读操作。当数据从PSRAM设备读取时,接口控制模块会将数据和有效信号返回给系统控制模块,并且在完成读操作后给出应答信号,表示当前读操作完成允许进行下一次读写操作。
突发读写流程由系统控制模块接收到芯片主系统命令之后发起,通过接口控制模块完成。系统控制模块在接收到突发写请求后,先准备突发写命令、地址和长度,然后连续接收芯片主系统发来的数据转发给接口控制模块。当接口控制模块完成最后一笔写数据发送之后,继续发出写结束时序。写结束时序之后,将应答信号返回系统控制模块,由系统控制模块通知芯片主系统一次突发写操作完成。
系统控制模块在接收到突发读请求后,先准备突发读命令、地址和长度,然后通知接口控制模块启动读操作。接口控制模块收到PSRAM设备的数据之后会将数据和有效信号返回给系统控制模块,由系统控制模块转发给芯片主系统。当接口控制模块收到最后一笔读数据之后,继续发出读结束时序。读结束时序之后,将应答信号返回系统控制模块,由系统控制模块通知芯片主系统一次突发读操作完成。
接口控制模块工作在psram_clk中,需要发送的时钟、信号由该时钟产生,接收到的数据最终同步到该时钟域。如图2,PSRAM设备数据采用双沿传输,并且设备要求时钟和数据信号之间的相位为90度。
如图3,本实施例的一种延迟可调的PSRAM接口控制模块包括:接口状态机、发送同步缓存、发送延迟链、接收延迟链、接收异步缓存和IO;其中接口状态机为接收系统控制模块提供的PSRAM命令、地址、数据等;按照PSRAM设备要求的时序发送;发送同步缓存用来存储数据等待状态机进入写状态之后按时序发送;发送延迟链包含对称延迟链和非对称延迟链,用于调整发送时钟和其他信号的延迟关系;接收延迟链包含两级对称延迟链,用于调整接收STROBE信号和DQ之间相位关系;接收异步缓存用于接收STROBE上升沿和下降沿对应的数据,并同步到psram_clk时钟域。
本实施例为了避免使用DLL,接口控制模块将psram_clk设计为PSRAM设备时钟频率的两倍,在psram_clk的上升和下降沿产生的信号相位即为90度。即所述psram_clk的时钟为PSRAM设备时钟频率的2倍。
具体的,本实施例的延迟可调的PSRAM接口控制模块还包括一发送延迟链,其中发送延迟链包含有一非对称延迟链,用于补偿标准数字PAD对于上升和下降沿的延迟差,还实现了延迟微调;
本实施例的延迟可调的PSRAM接口控制模块还包括在接收延迟链,所述接收延迟链中包含有两级延迟链,用于调整接收STROBE信号和DQ之间相位关系,从而实现更精准相位调整。
接口状态机如图4,为了实现PSRAM的读写协议和时序。无读写请求时状态机停留在空闲状态,当写请求发出后锁存写命令、地址、数据长度等信息,并进入准备状态。在准备状态,状态机发出写开始时序后进入命令状态。在命令状态,状态机发出命令之后进入地址状态。在地址状态,根据地址长度计算停留周期,待所有地址发送完成之后根据模式寄存器中写延迟的配置可选进入写延迟状态或者直接进入写状态。在写延迟状态,根据模式寄存器中写延迟配置计算停留周期,待停留周期达到后进入写状态。在写状态中,开始接收系统控制模块发送来的数据,按照PSRAM设备要求时序发送,当计数达到数据长度之后发送完成进入结束状态。在结束状态中,状态机发出写结束时序后进入等待状态。在等待状态中,判断是否达到PSRAM读写最小周期,当达到最小周期后向系统控制模块发出响应信号,写操作完成并进入空闲状态。
读操作从空闲状态开始,当读请求发出后锁存写命令、地址、数据长度等信息,并进入准备状态。在准备状态,状态机发出读开始时序后进入命令状态。在命令状态,状态机发出命令之后进入地址状态。在地址状态,根据地址长度计算停留周期,待所有地址发送完成之后进入读状态。在读状态中,等待接收PSRAM设备回传的STROBE和DQ,收到的数据经过接收延迟链和接收异步缓存处理之后发送给系统控制模块。当第一笔数据发给系统控制模块时开始计数,当计数达到数据长度之后发送完成进入结束状态。在结束状态中,状态机发出读结束时序后进入等待状态。在等待状态中,判断是否达到PSRAM读写最小周期,当达到最小周期后向系统控制模块发出响应信号,读操作完成并进入空闲状态。
在写操作过程中,由状态机产生的时钟和数据都需要通过发送延迟链之后传递给IO。本实施例考虑到通用数字PAD对于上升和下降沿的延迟有差距问题。如图5,某40nm通用数字PAD的上升沿延迟为4.577ns,下降沿延迟为3.927ns,上升沿和下降沿延迟的差距为0.65ns左右。当传输时钟频率达到200Mhz时周期只有5ns,0.65ns的差距会导致时钟的dutycycle差距达到1.85ns/3.15ns,这种duty cycle不平衡的时钟很容易导致高速数据传输错误。
如图6,为了解决这个问题,在发送延迟链中增加了非对称延迟链用来平衡标准数字PAD对于上升和下降沿的延迟差距。所述非对称延迟链为多个上升和下降沿延迟差距大于一阈值的标准单元和反相器串联而成。如表1,某40nm通用数字单元为例,该标准单元B1-O的上升和下降沿差在最小负载时为25ps,可以被选取当作非对称的标准单元。通过最多26个标准单元串联可以补偿上述0.65ns的差距,根据具体的物理延迟信息通过选择器选择实际的串联标准单元数量。
表1:
发送延迟链中还有对称延迟链,通常由上升和下降沿延迟平衡的标准单元串联而成,通过数据选择器输出,用于微调各信号的延迟。
在读操作中,PSRAM设备会将数据通过STROBE和DQ信号回传给PSRAM控制器。如图7,为了使PSRAM控制器在高速下可以正确采样到数据,在接收延迟链中设计了两级对称延迟链。一级延迟链的结构由上升和下降沿延迟平衡的标准单元串联而成,每一级的标准单元延迟在几十到几百ps左右,最终通过数据选择器输出达到细调的效果。二级延迟链由多个一级延迟链串联构成,通过数据选择器输出达到粗调效果。这种粗调和细调结合的方式调整STROBE和DQ相位,保证在高速下可以调整到90度相位,STROBE和DQ之间的setup和hold时序余量平衡;低速下STROBE和DQ之间setup和hold时序余量足够。
PSRAM设备回传的STROBE和DQ经过PCB走线延迟、芯片内部走线延迟以及接收延迟链之后与psram_clk不再有固定的时序关系,因此需要通过接收异步缓存同步到psram_clk。因为STROBE信号是双沿传输数据,在接收异步缓存中有两个独立的异步FIFO,分别接收STROBE上升沿和下降沿对应的数据。当两个异步FIFO都有数据缓存时开始读取异步FIFO中数据,产生有效信号和数据发送给系统控制模块,直至FIFO被读空。
本实施例的一种延迟可调的PSRAM接口控制模块,采用两倍于PSRAM设备时钟的psram_clk作为内部时钟实现了PSRAM协议和时序;在发送电路中非对称延迟链补偿了标准数字PAD对于上升和下降沿的延迟差,还实现了延迟微调;在接收电路中实现了两级延迟链可以实现更精准相位调整。
1)因为采用了两倍于PSRAM设备时钟的psram_clk作为内部时钟,所以无需增加DLL调整相位。
2)因为采用了非对称延迟链,使得可以使用标准数字PAD作为IO,无需模拟PAD设计,加快了实现周期。
3)因为采用了两级延迟链,可以更精准控制相位,保证STROBE和DQ之间的setup和hold时序余量平衡,提升传输速度。
本实施例的一种延迟可调的PSRAM接口控制模块整体实现简单、快速,实测与PSRAM设备通讯速率最高达到400Mbps(200Mhz),已经达到了标准数字PAD的极限。
实施例二
本实施例公开了一种PSRAM控制器,其包括系统控制模块、和如实施例一所述的延迟可调的PSRAM接口控制模块。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种延迟可调的PSRAM接口控制模块,其特征在于:包括:接口状态机、发送同步缓存、发送延迟链、接收延迟链、接收异步缓存和IO;其中接口状态机为接收系统控制模块提供的PSRAM命令、地址、数据,按照PSRAM设备要求的时序发送;发送同步缓存用来存储数据等待状态机进入写状态之后按时序发送;发送延迟链包含对称延迟链和非对称延迟链,用于调整发送时钟和其他信号的延迟关系;接收延迟链包含两级对称延迟链,用于调整接收STROBE信号和DQ之间相位关系;接收异步缓存用于接收STROBE上升沿和下降沿对应的数据,并同步到psram_clk时钟域。
2.根据权利要求1所述的延迟可调的PSRAM接口控制模块,其特征在于:所述psram_clk的时钟为PSRAM设备时钟频率的2倍。
3.根据权利要求1所述的延迟可调的PSRAM接口控制模块,其特征在于:所述非对称延迟链为多个上升和下降沿延迟差距大于一阈值的标准单元和反相器串联而成。
4.根据权利要求1所述的延迟可调的PSRAM接口控制模块,其特征在于:所述对称延迟链,由上升和下降沿延迟平衡的标准单元串联而成,通过数据选择器输出。
5.根据权利要求1所述的延迟可调的PSRAM接口控制模块,其特征在于:所述接收延迟链具有两级对称延迟链,所述两级对称延迟链包括:一级延迟链和二级延迟链。
6.根据权利要求5所述的延迟可调的PSRAM接口控制模块,其特征在于:所述一级延迟链的结构由上升和下降沿延迟平衡的标准单元串联而成。
7.根据权利要求6所述的延迟可调的PSRAM接口控制模块,其特征在于:所述二级延迟链由多个一级延迟链串联构成,通过数据选择器输出。
8.根据权利要求1所述的延迟可调的PSRAM接口控制模块,其特征在于:所述接收异步缓存中有两个独立的异步FIFO,分别接收STROBE上升沿和下降沿对应的数据。
9.根据权利要求1-4任一项所述的延迟可调的PSRAM接口控制模块,其特征在于:写操作过程中,由状态机产生的时钟和数据都需要通过发送延迟链之后传递给IO。
10.一种PSRAM控制器,其特征在于:包括:系统控制模块、和如权利要求1-9任一项所述的延迟可调的PSRAM接口控制模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494436.1A CN115910147B (zh) | 2022-11-25 | 2022-11-25 | 一种延迟可调的psram接口控制模块及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494436.1A CN115910147B (zh) | 2022-11-25 | 2022-11-25 | 一种延迟可调的psram接口控制模块及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115910147A true CN115910147A (zh) | 2023-04-04 |
CN115910147B CN115910147B (zh) | 2023-08-18 |
Family
ID=86472434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211494436.1A Active CN115910147B (zh) | 2022-11-25 | 2022-11-25 | 一种延迟可调的psram接口控制模块及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115910147B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574086A (zh) * | 2003-05-30 | 2005-02-02 | 海力士半导体有限公司 | 数字延迟锁定回路及其控制方法 |
CN1921009A (zh) * | 2005-08-23 | 2007-02-28 | 三星电子株式会社 | 存储器控制器件及其存储器控制方法 |
US7227395B1 (en) * | 2005-02-09 | 2007-06-05 | Altera Corporation | High-performance memory interface circuit architecture |
CN104025060A (zh) * | 2011-09-30 | 2014-09-03 | 英特尔公司 | 支持近存储器和远存储器访问的存储器通道 |
CN106374916A (zh) * | 2016-11-23 | 2017-02-01 | 成都信息工程大学 | 时序控制全数字DLL控制电路、NAND FLash控制器控制方法 |
-
2022
- 2022-11-25 CN CN202211494436.1A patent/CN115910147B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574086A (zh) * | 2003-05-30 | 2005-02-02 | 海力士半导体有限公司 | 数字延迟锁定回路及其控制方法 |
US7227395B1 (en) * | 2005-02-09 | 2007-06-05 | Altera Corporation | High-performance memory interface circuit architecture |
CN1921009A (zh) * | 2005-08-23 | 2007-02-28 | 三星电子株式会社 | 存储器控制器件及其存储器控制方法 |
CN104025060A (zh) * | 2011-09-30 | 2014-09-03 | 英特尔公司 | 支持近存储器和远存储器访问的存储器通道 |
CN106374916A (zh) * | 2016-11-23 | 2017-02-01 | 成都信息工程大学 | 时序控制全数字DLL控制电路、NAND FLash控制器控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115910147B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7385861B1 (en) | Synchronization circuit for DDR IO interface | |
US7404018B2 (en) | Read latency control circuit | |
US6381194B2 (en) | Output circuit for a double data rate dynamic random access memory, double data rate dynamic random access memory, method of clocking data out from a double data rate dynamic random access memory and method of providing a data strobe signal | |
US7375560B2 (en) | Method and apparatus for timing domain crossing | |
US6333893B1 (en) | Method and apparatus for crossing clock domain boundaries | |
US7975162B2 (en) | Apparatus for aligning input data in semiconductor memory device | |
US6782459B1 (en) | Method and apparatus for controlling a read valid window of a synchronous memory device | |
US7872937B2 (en) | Data driver circuit for a dynamic random access memory (DRAM) controller or the like and method therefor | |
KR100910852B1 (ko) | 반도체 메모리 소자 | |
CN108038068B (zh) | 一种基于ddr读数据同步方法及系统 | |
US20090116598A1 (en) | Semiconductor memory device having data clock training circuit | |
EP1510930A2 (en) | Memory interface system and method | |
US20230026320A1 (en) | Memory device, a memory system and an operating method of the memory device | |
CN113129958A (zh) | 用于宽时钟频率范围命令路径的设备和方法 | |
US11146275B2 (en) | Signal generation circuit and a semiconductor apparatus using the signal generation circuit | |
KR100486922B1 (ko) | 반도체 기억 장치 | |
US7995406B2 (en) | Data writing apparatus and method for semiconductor integrated circuit | |
US9330034B2 (en) | Levelization of memory interface for communicating with multiple memory devices | |
US8072826B2 (en) | Memory control circuit and memory control method | |
KR20020021715A (ko) | 명령 및 어드레스 전용 스트로브 신호를 이용하는 반도체메모리장치 및 이의 명령 및 어드레스 입력방법 | |
CN115910147B (zh) | 一种延迟可调的psram接口控制模块及控制器 | |
US8429438B2 (en) | Method and apparatus for transferring data between asynchronous clock domains | |
US6643217B2 (en) | Semiconductor memory device permitting early detection of defective test data | |
KR100389919B1 (ko) | 데이터 입출력 방법 및 데이터 입출력 회로, 및 이를구비하는 반도체 메모리장치를 채용하는 시스템 | |
CN116092552A (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 |