一种DDR5SDRAM的高吞吐率、低延迟PHY接口电路装置

文档序号:27097801发布日期:2021-10-27 17:17阅读:902来源:国知局
一种DDR5SDRAM的高吞吐率、低延迟PHY接口电路装置
一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置
技术领域
1.本发明属于芯片设计技术领域,尤其涉及一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置。


背景技术:

2.21世纪以来,随着人工智能和大数据技术的快速发展,智能应用场景需要处理和传输海量的数据,特别是数据中心的服务器越来越需求更高速度,大容量,高吞吐率的存储设备。双倍速率同步动态随机存储器(ddr sdram)作为计算机的主内存不断更新迭代发展,其第五代ddr5具有高容量、高数据率、低延迟的特性,以在支持服务器、5g通讯、多摄像头和汽车等的应用场景。由于在ddr存储器系统里各家厂商的分工不同,要把ddr集成在soc里面需要将ddr控制器、ddrphy接口、ddr存储颗粒这3个ip核集成在系统里协同工作。目前,双数据率存储器ddr5协议刚发布,具备多种区别于ddr4存储器的特性,以获取更高的性能和灵活性,这些新特性包括:地址命令分时复用、更高的传输速率、双周期命令操作、更大容量配置等,满足面向于服务器的高速高吞吐率的应用。
3.随着存储器不断迭代,速率翻倍提升,需要phy接口以实现高速率、高带宽的传输,phy和控制器之间遵循dfi规范协议。近几年在phy科研方面,提出对ddr2/3的phy的基于bist数据通道测试向量的生成方法,利用伪随机数的达到测试要求,提供了一种ddr3 phy sstl15的输出驱动电路结构,其包括前驱动核后驱动。在ddr phy物理实现中,对时钟树的优化方法,减小修复ddr数据之间延迟skew问题;xilinx公司在2014年推出面向all programmable ultrascale器件的高性能ddr4内存解决方案,每秒数据速率高达2400mbps,但是xilinx的ip没有使用标准的dfi4.0协议把控制器部分和物理phy分开,使得那些基于dfi标准的控制器不能在fpga上得到连接,不宜于扩展和ip集成使用。
4.综上的调研,目前大多的科研工作集中在在控制器的访问调度优化、存储器颗粒数据发送接收通道的装置、ddr的伪随机数据测试、低功耗管理控制电路、插槽核维护装置等方向,很少有专利涉及对整个phy结构设计的实现方式。虽然ddr5和dfi5.0协议定义了功能和时序,但是并没有提供具体的实现装置,因此本发明填补了支持连接标准dfi5.0控制器与ddr5存储器之间的phy装置方面的空白,具有高吞吐率、低延迟的优点。
5.ddr5 sdram为面向于服务器的应用提供高容量、高速率的数据存储,而ddr5phy接口为实现集成在片上系统的控制器和ddr5存储颗粒之间高速率、高吞吐率、低延迟的连接方案。高性能ddr5phy与片上控制器遵循最新的dfi5.0标准传输规范,以方便ip的高效复用率和不同支持存储器颗粒的连接。面对海量数据的高带宽需求,ddr5phy的可配置性可以连接多个ddr5存储器颗粒,形成灵活的多存储通道结构。由于数据互操作性是多工作模式的,高性能的phy能够支持最新的ddr5存储器颗粒的突发8到32数据读写,以及大容量8g到64g的寻址范围,此外还有刷新、预充电、配置模式寄存器等操作。固态技术协会最新的ddr5规范速率从3200mt/s到6400mt/s,因此phy提供更高的运行频率和可变的频率,同时通过延迟和电压的训练校准以使phy达到最佳的工作状态,以提高数据传输的可靠性和高速信号完
整性。为实现高性能的ddr5phy,关键技术挑战如下:
6.1.高性能phy与片上控制器之间的连接接口需支持最新的dfi5.0标准规范。
7.2.最新的ddr5标准规范的单周期命令和双周期命令操作的自由切换。
8.3.最新ddr5的数据突发从8到32的读写控制,以实现ddr5的多种工作模式。
9.4.不同频率比和可变频率的支持,以支持满足ddr5对高数据率的需求。
10.5.高带宽数据传输,需要phy可配置以连接多个ddr5颗粒,形成灵活的多存储通道。
11.6.初始化期间对命令、地址、数据每一个通道的延迟校准训练,以确保存储器系统工作在最佳的状态。
12.7.高速传输的信号完整性问题,需要进行阻抗校准,以减少信号的高速传输信号反射效应,支持更高的传输速率。
13.通过上述分析,现有技术存在的问题及缺陷为:
14.(1)现有的xilinx的ip没有使用标准的dfi4.0协议把控制器部分和物理phy分开,使得基于dfi标准的控制器不能在fpga上得到连接,不宜于扩展和ip集成使用。
15.(2)目前大多的科研工作中很少有专利涉及对整个phy结构设计的实现方式,也没有提供具体的实现装置。


技术实现要素:

16.针对现有技术存在的问题,本发明提供了一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置。
17.本发明是这样实现的,一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置,所述ddr5sdram的高吞吐率、低延迟phy接口电路装置,包括频率比转换模块、dfi地址命令模块、初始化训练校准模块、dfi数据读写模块、地址命令发送模块、高速时钟pll模块、数据收发模块、配置模块。
18.其中,所述频率比转换模块、dfi地址命令模块和地址命令发送模块依次电连接;所述频率比转换模块、dfi数据读写模块和数据收发模块依次电连接;所述sdram初始化模块分别与dfi地址命令模块、dfi数据读写模块电连接;所述高速时钟pll模块分别与地址命令发送模块、数据收发模块电连接;所述配置模块分别与频率比转换模块、dfi地址命令模块、初始化训练校准模块、dfi数据读写模块、地址命令发送模块、高速时钟pll模块和数据收发模块电连接。
19.频率比转换模块,用于处理控制器端的dfi地址/命令和数据的不同频率比模式的转换操作,包括将1:1、1:2、1:4模式的dfi地址、命令转换为内部固定的1:2模式dfi地址、命令;将1:1、1:2、1:4模式的dfi写数据转换为内部固定的1:2模式dfi写数据;将内部固定1:2模式的dfi读数据转换为1:1、1:2、1:4模式的dfi读数据,phy内部处理固定的1:2模式到sdram的传输。
20.dfi地址命令模块,用于将dfi地址、命令信号的不同相位数进行组织编排为4bit的数据线,组织编排方式有ddr5单周期命令和ddr5双周期命令;根据sdram需要处理的地址、命令引脚数量,分配每4根线输出给1个地址命令发送模块;同时产生延迟单元控制信号、发送命令/数据时钟、发送命令/数据初始使能控制信号、命令fifo的读取初始使能信
号、数据收发模块控制时钟,控制地址命令的传输过程。
21.初始化训练校准模块,用于产生符合ddr5 sdram标准规范的初始化序列,发送给各个地址命令发送模块和数据收发模块对sdram进行初始化,确保正常事务模式能够正确访问sdram事务;在初始化期间对每个地址、命令、数据路径进行延迟训练,得出最优的采样中心延迟,调整每个路径的延迟校准单元,校准时钟信号与数据选通的时序偏差,保证数据能够相互进行采样。
22.dfi数据读写模块,用于在写操作期间根据sdram数据线为x8和x16的配置,以及是否连接多个sdram的情况,将dfi写数据和写数据掩码编排分配成为多组,一组包括8根写数据线、1根数据掩码,且每一根线都是4位;在dfi数据模块里根据dfi写数据使能信号编排成为不同的sdram突发模式、设置每个数据信号的不同驱动强弱值,把这两个信号加载到4bit的数据线,使其扩展成为12bit的数据线输出;根据写数据使能信号产生1根12bit的写数据选通信号线;产生写数据延迟信息控制信号、写数据发送时钟和初始使能信号、写命令fifo时钟和初始使能信号;在读操期间用于传输8根数据线、1根总线数据反转,以及产生读数据有效信号,所述读数据经过编排输出给频率比模块,最终发送dfi读数据到控制器;同时在读命令期间根据dfi读数据使能信号,生成读数据采样门控信号、读数据时钟和初始使能信号、读命令fifo时钟和初始使能信号,使得地址命令发送模块能够正确采样sdram读数据。
23.地址命令发送模块,用于处理dfi地址命令模块传过来的4根线且每根线4位的地址、命令,对每根线进行4bit并行转串行、io接口特性,最终输出到sdram的地址、命令引脚;同时通过命令fifo模块和延迟单元模块,处理延迟信息控制信号,最终保证输出给sdram地址/命令时序的正确性。
24.高速时钟pll模块,用于通过dfi时钟作为参考时钟生成一个4倍频的高速时钟,输出给地址命令发送模块、数据收发模块实现串并转换操作、并生成sdram时钟,通过内嵌一个高速的pll实现,保证ddr5 sdram对高速度的需求。
25.数据收发模块,写数据期间用于对dfi数据模块传过来的8根写入数据线,1根写入数据掩码线、1根写入数据选通线,分别进行12bit并行转串行、io接口特性;通过每根线的写命令fifo模块和写延迟单元模块,处理写数据延迟信息控制信号,控制写数据期间的延迟传输,使得输出给sdram的数据是符合sdram突发标准时序的;在读操作期间通过2个写命令fifo和延迟单元处理读数据采样门控信号;通过io接口单元,根据采样门控信号正确采集sdram的8个数据引脚和1个总线数据反转引脚的串行数据;同时通过2个数据奇偶fifo进行串转并行4bit数据,最后为输出8根数据线和1根总线数据反转到控制器端口。
26.配置模块,用于通过外部慢速apb的配置接口写入内部寄存器的值,在其他模块根据这些寄存器的值,以达到配置整个phy的多种工作模式。
27.进一步,所述配置模块,可通过配置模块以形成灵活的多数据通道,以实现对多个存储器的并行操作,具体步骤:
28.一个数据收发模块用于处理8根数据线,通过配置模块,设置内部的多通道寄存器,以8的倍数连接多个数据位宽的存储器,从最小的x8配置到8的倍数,连接两个x16的存储器则需要配置装置为4个数据收发模块和4个dfi数据读写模块;同时通过配置模块的寄存器值来使能dfi_wrdata/dfi_rddata分配数据位与模块连接,实现多个sdram灵活并行操作。
29.进一步,所述ddr5 sdram的高吞吐率、低延迟phy接口电路装置,还包括控制和命令传输单元,所述控制和命令传输单元主要由dfi地址命令模块和地址命令发送模块组成。
30.其中,所述地址命令发送模块由地址命令并串转换模块、地址命令io端口模块、本地校准延迟单元和地址命令控制fifo模块构成;所述控制单元的dfi地址命令模块包含两种操作模式:在ddr5命令真值表中,分别有单周期命令和双周期命令;双周期命令为,两个相邻的sdram ck周期,第一个周期用于发送命令操作,第二个周期用于发送地址值;在dfi地址命令模块的编排方式采用{p1高位,p0高位,p1低位,p0低位}来组织4bit的数据,此时有效命令p0低位、p1低位、占第一个sdram周期,p0高位、p1高位占第二个sdram周期,且p0和p1的低位和高位数据不相同。
31.遵循dfi5.0协议,控制器端发送的dfi地址命令的操作,对于ddr5双周期命令包括激活操作、写wrp、模式寄存器写、模式寄存器读、写操作、读操作,把dfi_address_p0/p1的低14bit置为第一个周期的地址命令,高14bit存放的是第二个周期的值,实现第一个周期和第二个周期的数值可定义;对于ddr5的单周期命令包括ca参考电压命令、刷新全部、刷新相同bank、预充电全部、预充电相同bank、预充电bank组、自刷新进入、省电模式进入、省电模式退出、无操作/无选择、mpc多功能命令,把dfi_address_p0/p1的低14bit置为命令的数值,而高14bit设置为无效的值,即可实现第一个周期有效,第二个周期无效,即单周期命令的实现方式。
32.进一步,所述控制和命令传输单元的结构,包括:
33.首先遵循dfi5.0协议的地址命dfi_address_p0/p1经过dfi地址命令模块,根据ddr5命令的操作方式分为单周期和双周期,进行不同的编排方式,根据ddr5 sdram引脚数量分配每4路输出给一个地址命令发送模块,这4路通道分别对应4个sdram引脚位;对4bit的数据经过并串转串,校准后是时钟读取,再地址命令io端口模块进行延迟链优化,phy电压与sdram电压的逻辑转换,正确驱动强度;其中地址命令控制fifo主要是传输延迟信息,用于控制延迟单元,以控制地址命令的延迟,保证时序的正确性。
34.进一步,所述ddr5 sdram的高吞吐率、低延迟phy接口电路装置,还包括数据传输单元,所述数据传输单元由dfi数据读写模块、数据发送模块组成。
35.其中,所述dfi数据读写模块用于控制写通道和读通道;所述数据写操作包括:dfi写入的数据首先按每4位组成一个并行数据线,8个并行数据线被发送到dfi数据读写模块,每个并行数据线在模块内部根据dfi写入数据使能信号生成4位的数据使能突发模式控制信号,并设置4bit的每个数据的驱动强度值,最后把这3组数据组合为12位的数据线;被发送到数据发送模块使用内部高速时钟执行并串转换为串行输出;其中数据使能突发模式控制信号用于在io端口通过控制不同数据的使能信号的得到突发数据操作,数据的驱动强度值用于在io端口控制数据的上拉、下拉电阻的驱动,以提高信号完整性;同时通过本地校准延迟单元对写数据进行最佳延迟校准输出,以保证符合sdram时序要求。
36.所述数据读操作包括:在sdram读出操作到dfi读数据输出过程中,首先在dfi数据读写模块通过dfi读数据使能信号来生成sdram读数据采样门控信号;在io端口采样电路使用sdram输出的dqs、dqs_n数据选通信号作为双边沿采样时钟,在读数据采样门控信号开启时双边沿sdram读出的串行数据;通过奇串转并fifo、偶串转并fifo模块来把1位串行数据转换为4位并行数据,发送到频率比模块,最终通过dfi协议发送到控制器端;同时读数据通
过数据去歪斜和本地校准延迟单元保证读数据正确采样。
37.进一步,所述数据传输单元的硬件结构,包括:
38.遵循dfi5.0协议的地址命令首先经过dfi数据读写模块,写通道模块处理dfi_wrdata_p0/p1等写数据,会把写数据分配成为8根数据线,每一根数据线位宽是4bit,并根据dfi_wrdata_en/cs生成相应的突发和时钟控制信号。读通道模块主要用于生成读数据采样门控信号,在读sdramio接口时能够保证采样的是读数据,同时传输dfi_rddata_p0/p1读数据,并生成相应的握手信号,包括dfi_rddata_valid等。接下来的数据发送模块,写数据经过并串转换,延迟校准后呗发送到sdram引脚,而读数据能被采样器正确采样,并经过数据去歪斜和奇偶串转并fifo得到读4bit的读数据,回传到前面的dfi数据读写模块,最后输出给控制器端。
39.进一步,所述数据传输单元支持ddr5的各种操作,对phy要有频率比和可变频率的操作,包括:
40.首先对于控制器端1:2和内部固定1:2的情况不用转换,直接无缝传输;对于控制器端1:1和内部固定1:2,此时dfi时钟频率和sdram频率相同且1个周期发送一个p0相位的数据,因此如果要转化为内部固定1:2模式,控制器端的数据保持两个时钟周期,对应于1:2模式的一个时钟,且这1:1模式的两个周期的两个数据被分别放置到1:2模式的p0、p1相位;对于控制器端1:4和内部固定1:2,dfi时钟频率和sdram频率是1:4的比率且1个周期发送一个p0、p1、p2、p3相位的数据,如果要转化为内部固定1:2模式,控制器端数据的1个周期,对应于1:2模式的2个时钟,且这1:4模式的4个相位数据被分别放置到1:2模式的第一个周期的p0、p1相位和第二个周期的p0、p1相位。
41.进行外部1:1与内部1:2的读写转化时,需要4个寄存器和一个控制计数器,首先在计数器的控制下外部的dfi_wrdata_p0在第一个dfictrlclk被寄存到内部的p0通道,第二个周期被寄存到内部的p1通道,后面两个寄存器是同时把暂存的数据同时一拍置数为dfi_wrdata_internal_p0/p1;读通道相对简单,通过一个端口寄存器在计数控制器下,在相邻的两个周期,分别把内部p0、p1置数为外部p0;
42.进行外部频率比1:4与内部1:2的转化时,写通道需要把dfi_wrdata_p0/p2选择给内部p0,dfi_wrdata_p1/p3选择给p1;读数据通道的转化分别需要8个寄存器,通过计数器控制,内部第一个dficlk周期把内部p0置数给外部p0,内部p1置给p1,紧接着下一拍内部p0置给外部p2,内部p1置给外部p3,最后外部的p0、p1、p2、p3在一个dfictrlclk内同时被寄存输出。
43.对于phy内部会使用到4个时钟分别是:控制器输入dfi时钟dfictrlclk、内部固定2:1模式dfi时钟dficlk、pll高速时钟pclk、sdram时钟ck,它们的关系为:内部固定2:1模式dfi时钟为pll高速时钟的1/4倍、sdram时钟为pll高速时钟的1/2倍、控制器输入dfi时钟根据频率比来定义;内部高速时钟的生成是以内部固定频率比1:2模式下的dfi时钟为参考,通过高速时钟pll模块倍频4倍,用于地址命令发送模块、数据发送模块,实现并串行、串并转换、产生sdram时钟。
44.进一步,所述ddr5 sdram的高吞吐率、低延迟phy接口电路装置,还包括初始化与训练单元,所述初始化与训练单元,包括:
45.ddr5初始化单元,用于产生符合ddr5 sdram标准协议jesd79

5规定的初始化序
列,确保存储器能进行正常事务模式。
46.训练单元,训练校准包括1d训练模式和2d训练模式;所述1d训练是针对在dfi提供的1个电压下的延迟优化,通过训练固件去调整每个时钟、命令、地址、数据路径的本地校准延迟单元,以补偿包括板级和dram的延迟等的延迟;所述2d训练是针对于在1d训练之后,对每一对电压和延迟的全部读写测试,计算操作通过的区域形成2d眼图,分析其裕量度以优化出最佳的电压和延迟点。
47.整个phy的初始化即是把sdram初始化和训练校准初始化结合成一个流程,通过phy初始化固件来执行初始化过程,所述ddr5 phy训练校准的硬件架构包括:
48.首先专用训练状态机块用于控制整个训练过程,包含训练核初始化两大部分,其数据与控制寄存器块交互,以控制其他模块;训练的数据是通过多路选择器发送给dfi地址命令模块、dfi数据读写模块,以切换为训练核正常访问功能;在写训练期间,训练写数据生成会生成随机的写数据,在读训练期间发送给读数据比较模块,命令模块会生成相应的读写命令操作的组合,反应真实的操作以调整最佳到的延迟。
49.本发明的另一目的在于提供一种应用所述的ddr5 sdram的高吞吐率、低延迟phy接口电路装置的ddr5 sdram的高吞吐率、低延迟phy接口电路装置的控制方法,所述ddr5 sdram的高吞吐率、低延迟phy接口电路装置的控制方法包括以下步骤:
50.步骤一,装置启动后,在初始化训练校准模块对ddr5进行初始化并通过训练来设置每个路径的延迟,以达到最优的工作状态;
51.步骤二,正常工作期间,片上控制器的dfi5.0信号,控制、地址、数据先在频率比模块来处理不同频率比系统的相互转换;其中地址和控制信号经过dfi地址命令模块和地址命令发送模块经过处理后为符合ddr5的控制地址时序;
52.步骤三,数据传输在dfi数据读写模块和数据发送模块,分为读和写通道进行处理后高效的与ddr5颗粒读写操作,实现片上ddr控制器和sdram之间的高速度、高吞吐率、低延迟的高效传输。
53.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
54.装置启动后,在初始化训练校准模块对ddr5进行初始化并通过训练来设置每个路径的延迟,以达到最优的工作状态;正常工作期间,片上控制器的dfi5.0信号,控制、地址、数据先在频率比模块来处理不同频率比系统的相互转换;其中地址和控制信号经过dfi地址命令模块和地址命令发送模块经过处理后为符合ddr5的控制地址时序;数据传输在dfi数据读写模块和数据收发模块,分为读和写通道进行处理后高效的与ddr5颗粒读写操作,实现片上ddr控制器和sdram之间的高速度、高吞吐率、低延迟的高效传输。
55.本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的ddr5 sdram的高吞吐率、低延迟phy接口电路装置。
56.结合上述的所有技术方案,本发明所具备的优点及积极效果为:为了在服务器领域实现片上ddr控制器和sdram之间的高速度、高吞吐率、低延迟的高效传输,本发明提出一种能够连接ddr5存储器颗粒和控制器的高速phy接口电路装置,可以高效支持ddr5 sdram的多种工作模式。
57.本发明通过一个特定的硬件电路技术提供ddr5phy装置具体实现方式,实现了标准dfi5.0控制器和ddr5颗粒之间搞吞吐率、低延迟的连接。为实现支持ddr5标准协议的各种命令操作,本发明在控制单元设计了单周期命令模式和双周期命令模式,能够根据dfi5.0协议的传输访问自动切换;地址传输单元进行地址命令4bit并行转串行,使得内部每一个高速时钟pclk周期可以控制sdram时钟的一半周期,保证相邻的两个周期地址命令数值不同。
58.本发明的数据传输单元实现多种数据读写工作方式,其的发送使用数据使能信号在io端口控制突发操作,支持突发bc8、bl16、bl32以及连续的突发操作访问ddr5颗粒;数据传输单元根据dfi读信号,生成读数据的采样使用采样门信号以ddr5的读数据被正确采样到,通过数据去歪斜优化读数据的时序;频率比模块实现多种工作频率的支持,对于不同频率系统,使用寄存器、多路选择器和控制计数器实现频率比1:1、1:4与1:2模式的高效转换,保证了不同比率模式时序的正确性。
59.为支持sdram的高数据率需求,本发明通过内部4倍频的高速pll模块来生产更高的内部时钟,以满足地址命令上边沿操作和数据双边沿操作频率、以及生成sdram时钟。为了达到高带宽的需求,本发明通过apb接口方便的配置寄存器模块,以根据位宽要求控制地址命令发送模块和数据收发模块的个数,支持连接多个sdram,实现多phy的功能;数据的io处理单元,在io接口的信号特性优化有:优化延迟链、vdd与vddq的跨电压域逻辑转换、上拉下拉电阻调整以及正确的驱动强度控制,提高了高速传输phy的信号完整性。本发明的训练单元包括1d训练和2d训练,在初始化期间启动调整每个路径的延迟单元的参数,以使得phy达到最优的访问效果。
60.本发明提出一种面向于服务器场景应用的吞吐率、低延迟的高性能ddr5 phy接口,能够支持ddr5的各种命令操作和高频率的转换,通过dfi地址命令模块和多个地址命令发送模块实现从dfi5.0地址/命令转化为符合ddr5 sdram标准协议的地址/命令传输;通过dfi数据读写模块和多个数据收发模块实现dfi数据读写操作与ddr5 sdram数据读写操作的相互传输;通过频率比转换模块可以实现控制器端的dfi频率比为1:1、1:4、1:2操作与内部固定的1:2模式相互转换,通过高速时钟pll模块来生成内部4倍于dfi时钟的高速时钟,管理phy内部几个时钟的关系;通过初始化训练校准模块来产生符合ddr4/ddr5 sdram标准规范的初始化序列及通过训练来优化每个数据、命令、地址的最佳延迟。
附图说明
61.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
62.图1是本发明实施例提供的ddr5 sdram的高吞吐率、低延迟phy接口电路装置的控制方法流程图。
63.图2是本发明实施例提供的ddr5 sdram的高吞吐率、低延迟phy接口电路装置结构框图;
64.图中:1、频率比转换模块;2、dfi地址命令模块;3、初始化训练校准模块;4、dfi数
据读写模块;5、地址命令发送模块;6、高速时钟pll模块;7、数据收发模块;8、配置模块。
65.图3是本发明实施例提供的ddr5 phy顶层结构框图。
66.图4是本发明实施例提供的控制和命令传输单元结构框图。
67.图5是本发明实施例提供的数据传输单元结构框图。
68.图6是本发明实施例提供的频率比1:1的转换示意图。
69.图7是本发明实施例提供的频率比1:4的转换示意图。
70.图8是本发明实施例提供的初始化和训练单元架构示意图。
71.图9是本发明实施例提供的连接x8且8g ddr5 sdram的phy子系统结构框图。
72.图10是本发明实施例提供的地址命令通道流程图。
73.图11是本发明实施例提供的初始化训练校准流程图。
74.图12是本发明实施例提供的数据写通道传输流程图。
75.图13是本发明实施例提供的数据读通道传输流程图。
76.图14是本发明实施例提供的ddr5写操作双周期命令的实现图。
具体实施方式
77.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
78.针对现有技术存在的问题,本发明提供了一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置,下面结合附图对本发明作详细的描述。
79.如图1所示,本发明实施例提供的ddr5 sdram的高吞吐率、低延迟phy接口电路装置的控制方法包括以下步骤:
80.s101,装置启动后,在初始化训练校准模块对ddr5进行初始化并通过训练来设置每个路径的延迟,以达到最优的工作状态;
81.s102,正常工作期间,片上控制器的dfi5.0信号,控制、地址、数据先在频率比模块来处理不同频率比系统的相互转换;其中地址和控制信号经过dfi地址命令模块和地址命令发送模块经过处理后为符合ddr5的控制地址时序;
82.s103,数据传输在dfi数据读写模块和数据收发模块,分为读和写通道进行处理后高效的与ddr5颗粒读写操作,实现片上ddr控制器和sdram之间的高速度、高吞吐率、低延迟的高效传输。
83.如图2所示,本发明实施例提供的ddr5 sdram的高吞吐率、低延迟phy接口电路装置,包括频率比转换模块1、dfi地址命令模块2、初始化训练校准模块3、dfi数据读写模块4、地址命令发送模块5、高速时钟pll模块6、数据收发模块7、配置模块8。
84.下面结合实施例对本发明的技术方案作进一步描述。
85.1、为了在服务器领域实现片上ddr控制器和sdram之间的高速度、高吞吐率、低延迟的高效传输,本发明提出一种能够连接ddr5存储器颗粒和控制器的高速phy接口电路装置,可以高效支持ddr5 sdram的多种工作模式。
86.本发明的ddr5 sdram的高吞吐率、低延迟的phy接口电路装置,包括了频率比转换模块1、dfi地址命令模块2、初始化训练校准模块3、dfi数据读写模块4、地址命令发送模块
5、高速时钟pll模块6、数据收发模块7、配置模块8。图3为本发明实施ddr5phy接口电路框图。该装置启动之后在初始化训练校准模块,对ddr5进行初始化并通过训练来设置每个路径的延迟,以达到最优的工作状态;正常工作期间,片上控制器的dfi5.0信号,控制、地址、数据先在频率比模块来处理不同频率比系统的相互转换;其中地址和控制信号经过dfi地址命令模块和地址命令发送模块经过处理后为符合ddr5的控制地址时序;而数据传输在dfi数据读写模块和数据收发模块,分为读和写通道进行处理后高效的与ddr5颗粒读写操作,实现了片上ddr控制器和sdram之间的高速度、高吞吐率、低延迟的高效传输。
87.频率比转换模块1、dfi地址命令模块2、地址命令发送模块5依次电连接;频率比转换模块1、dfi数据读写模块4、数据收发模块7依次电连接;sdram初始化模块3分别与dfi地址命令模块4、dfi数据读写模块2电连接;高速时钟pll模块6分别与地址命令发送模块5、数据收发模块7电连接;配置模块8分别与模块1至模块7电连接。
88.频率比转换模块1,用于处理控制器端的dfi地址/命令和数据的不同频率比模式的转换操作,包括将1:1、1:2、1:4模式的dfi地址、命令转换为内部固定的1:2模式dfi地址、命令;将1:1、1:2、1:4模式的dfi写数据转换为内部固定的1:2模式dfi写数据;将内部固定1:2模式的dfi读数据转换为1:1、1:2、1:4模式的dfi读数据,这样phy内部就处理固定的1:2模式到sdram的传输处理。
89.dfi地址命令模块2,用于将dfi地址、命令信号的不同相位数进行组织编排为4bit的数据线,组织编排方式有ddr5单周期命令和ddr5双周期命令;根据sdram需要处理的地址、命令引脚数量,分配每4根线输出给1个地址命令发送模块;同时产生延迟单元控制信号、发送命令/数据时钟、发送命令/数据初始使能控制信号、命令fifo的读取初始使能信号、数据收发模块控制时钟,以控制地址命令的传输过程。
90.初始化训练校准模块3,用于产生符合ddr5 sdram标准规范的初始化序列,发送给各个地址命令发送模块和数据收发模块对sdram进行初始化,以确保正常事务模式能够正确访问sdram事务;同时在初始化期间对每个地址、命令、数据路径进行延迟训练,得出最优的采样中心延迟,调整每个路径的延迟校准单元,以校准时钟信号与数据选通的时序偏差,保证数据能够相互进行采样。
91.dfi数据读写模块4,用于在写操作期间根据sdram数据线为x8和x16的配置,以及是否连接多个sdram的情况,将dfi写数据和写数据掩码编排分配成为多组,一组包括8根写数据线、1根数据掩码,且每一根线都是4位;同时在dfi数据模块里根据dfi写数据使能信号编排成为不同的sdram突发模式、设置每个数据信号的不同驱动强弱值,最后把这两个信号加载到4bit的数据线,使其扩展成为12bit的数据线输出;根据写数据使能信号产生1根12bit的写数据选通信号线;产生写数据延迟信息控制信号、写数据发送时钟和初始使能信号、写命令fifo时钟和初始使能信号;在读操期间用于传输8根数据线、1根总线数据反转,以及产生读数据有效信号,这些读数据经过编排输出给频率比模块,最终发送dfi读数据到控制器;同时在读命令期间根据dfi读数据使能信号,生成读数据采样门控信号、读数据时钟和初始使能信号、读命令fifo时钟和初始使能信号,以使得地址命令发送模块能够正确采样sdram读数据。
92.地址命令发送模块5,用于处理dfi地址命令模块传过来的4根线且每根线4位的地址、命令,对每根线进行4bit并行转串行、io接口特性,最终输出到sdram的地址、命令引脚;
同时通过命令fifo模块和延迟单元模块,处理延迟信息控制信号,以最终保证输出给sdram地址/命令时序的正确性。
93.高速时钟pll模块6,用于通过dfi时钟作为参考时钟生成一个4倍频的高速时钟,输出给地址命令发送模块、数据收发模块实现串并转换操作、并生成sdram时钟,具体是通过内嵌一个高速的pll实现,保证了ddr5 sdram对高速度的需求。
94.数据收发模块7,写数据期间用于对dfi数据模块传过来的8根写入数据线,1根写入数据掩码线、1根写入数据选通线,分别进行12bit并行转串行、io接口特性;同时通过每根线的写命令fifo模块和写延迟单元模块,处理写数据延迟信息控制信号,控制写数据期间的延迟传输,使得输出给sdram的数据是符合sdram突发标准时序的;在读操作期间通过2个写命令fifo和延迟单元处理读数据采样门控信号;并且通过io接口单元,根据采样门控信号正确采集sdram的8个数据引脚和1个总线数据反转引脚的串行数据;以及通过2个数据奇偶fifo进行串转并行4bit数据,最后为输出8根数据线和1根总线数据反转到控制器端口。
95.配置模块8,通过外部慢速apb的配置接口,可以写入内部寄存器的值,在其他模块会根据这些寄存器的值,以达到配置整个phy的多种工作模式。
96.1.1控制和命令传输单元
97.控制和命令传输单元主要由dfi地址命令模块和地址命令发送模块组成,其中地址命令发送模块由地址命令并串转换模块、地址命令io端口模块、本地校准延迟单元、地址命令控制fifo模块构成。为了实现支持ddr5的各种操作方式,控制单元的dfi地址命令模块包含了二种操作模式:在ddr5命令真值表中,分别有单周期命令和双周期命令。双周期命令具体为,两个相邻的sdramck周期,第一个周期用于发送命令操作,第二个周期用于发送地址值,为了满足ddr5双周期命令,本发明在dfi地址命令模块的编排方式采用{p1高位,p0高位,p1低位,p0低位}来组织4bit的数据,此时有效命令p0低位、p1低位、占第一个sdram周期,p0高位、p1高位占第二个sdram周期,且p0和p1的低位和高位数据不相同。遵循dfi5.0协议,控制器端发送的dfi地址命令的操作,对于ddr5双周期命令包括了激活操作、写wrp、模式寄存器写、模式寄存器读、写操作、读操作,需要把dfi_address_p0/p1的低14bit置为第一个周期的地址命令,高14bit存放的是第二个周期的值,这样就保证了第一个周期和第二个周期的数值可定义,对于ddr5的单周期命令包括了ca参考电压命令、刷新全部、刷新相同bank、预充电全部、预充电相同bank、预充电bank组、自刷新进入、省电模式进入、省电模式退出、无操作/无选择、mpc多功能命令,只需要把dfi_address_p0/p1的低14bit置为命令的数值,而高14bit设置为无效的值,例如如果该信号低电平表示有效,则无效即为高电平,这样对单周期命令来说,dfi_address_p0/p1低14bit存放低电平(有效),而高14bit存放高电平(无效),这样即可实现第一个周期有效,第二个周期无效,即单周期命令的实现方式。
98.如图4所示为控制和命令单元结构,首先遵循dfi5.0协议的地址命dfi_address_p0/p1经过dfi地址命令模块,根据ddr5命令的操作方式分为单周期和双周期,进行不同的编排方式,根据ddr5sdram引脚数量分配每4路输出给一个地址命令发送模块,这4路通道分别对应4个sdram引脚位。之后先对4bit的数据经过并串转串,校准后是时钟读取,再地址命令io端口模块进行延迟链优化,phy电压与sdram电压的逻辑转换,正确驱动强度。其中地址命令控制fifo主要是传输延迟信息,用于控制延迟单元,以控制地址命令的延迟,保证时序
的正确性。
99.1.2数据传输单元
100.数据传输单元由dfi数据读写模块、数据收发模块组成,其中dfi数据读写模块用于控制写通道和读通道,数据写操作具体为,dfi写入的数据首先按每4位组成一个并行数据线;这样的8个并行数据线被发送到dfi数据读写模块,每个并行数据线在模块内部根据dfi写入数据使能信号生成4位的数据使能突发模式控制信号,并设置4bit的每个数据的驱动强度值,最后把这3组数据组合为12位的数据线;被发送到数据收发模块使用内部高速时钟执行并串转换为串行输出,其中数据使能突发模式控制信号用于在io端口通过控制不同数据的使能信号的得到突发数据操作,数据的驱动强度值用于在io端口控制数据的上拉、下拉电阻的驱动,以提高信号完整性;同时通过本地校准延迟单元对写数据进行最佳延迟校准输出,以保证符合sdram时序要求。
101.数据读操作具体为,在sdram读出操作到dfi读数据输出过程中,首先在dfi数据读写模块通过dfi读数据使能信号来生成sdram读数据采样门控信号;在io端口采样电路使用sdram输出的dqs、dqs_n数据选通信号作为双边沿采样时钟,在读数据采样门控信号开启时双边沿sdram读出的串行数据;通过奇串转并fifo、偶串转并fifo模块来把1位串行数据转换为4位并行数据,发送到频率比模块,最终通过dfi协议发送到控制器端;同时读数据通过数据去歪斜和本地校准延迟单元保证读数据正确采样。
102.如图5所示为数据传输单元的硬件结构,遵循dfi5.0协议的地址命令首先经过dfi数据读写模块,写通道模块处理dfi_wrdata_p0/p1等写数据,会把写数据分配成为8根数据线,每一根数据线位宽是4bit,并根据dfi_wrdata_en/cs生成相应的突发和时钟控制信号。读通道模块主要用于生成读数据采样门控信号,在读sdramio接口时能够保证采样的是读数据,同时传输dfi_rddata_p0/p1读数据,并生成相应的握手信号,包括dfi_rddata_valid等。接下来的数据收发模块,写数据经过并串转换,延迟校准后呗发送到sdram引脚,而读数据能被采样器正确采样,并经过数据去歪斜和奇偶串转并fifo得到读4bit的读数据,回传到前面的dfi数据读写模块,最后输出给控制器端。
103.支持ddr5的各种操作,对phy要有频率比和可变频率的操作,首先对于控制器端1:2和内部固定1:2的情况不用转换,直接无缝传输;对于控制器端1:1和内部固定1:2,此时dfi时钟频率和sdram频率相同且1个周期发送一个p0相位的数据,因此如果要转化为内部固定1:2模式,需要控制器端的数据保持两个时钟周期,正好对应于1:2模式的一个时钟,而且这1:1模式的两个周期的两个数据被分别放置到1:2模式的p0、p1相位。对于控制器端1:4和内部固定1:2,此时dfi时钟频率和sdram频率是1:4的比率且1个周期发送一个p0、p1、p2、p3相位的数据,因此如果要转化为内部固定1:2模式,控制器端数据的1个周期,正好对应于1:2模式的2个时钟,而且这1:4模式的4个相位数据被分别放置到1:2模式的第一个周期的p0、p1相位和第二个周期的p0、p1相位。
104.如图6所示,进行外部1:1与内部1:2的读写转化,需要4个寄存器和一个控制计数器,首先在计数器的控制下外部的dfi_wrdata_p0在第一个dfictrlclk被寄存到内部的p0通道,第二个周期被寄存到内部的p1通道,后面两个寄存器是同时把暂存的数据同时一拍置数为dfi_wrdata_internal_p0/p1;读通道相对简单,通过一个端口寄存器在计数控制器下,在相邻的两个周期,分别把内部p0、p1置数为外部p0。外部频率比1:4与内部1:2的转化
如图7所示,写通道需要把dfi_wrdata_p0/p2选择给内部p0,dfi_wrdata_p1/p3选择给p1;读数据通道的转化分别需要8个寄存器,通过计数器控制,内部第一个dficlk周期把内部p0置数给外部p0,内部p1置给p1,紧接着下一拍内部p0置给外部p2,内部p1置给外部p3,最后外部的p0、p1、p2、p3在一个dfictrlclk内同时被寄存输出。
105.对于phy内部会使用到4个时钟分别是:控制器输入dfi时钟dfictrlclk、内部固定2:1模式dfi时钟dficlk、pll高速时钟pclk、sdram时钟ck。它们的关系为:内部固定2:1模式dfi时钟为pll高速时钟的1/4倍、sdram时钟为pll高速时钟的1/2倍、控制器输入dfi时钟根据频率比来定义。内部高速时钟的生成是以内部固定频率比1:2模式下的dfi时钟为参考,通过高速时钟pll模块倍频4倍,用于地址命令发送模块、数据收发模块,实现并串行、串并转换、产生sdram时钟。
106.1.3初始化与训练单元
107.由于phy的应用场景可能有一下几个方面:连接不同厂商的控制器或者ddr5颗粒,它们的速度性能不尽相同;当phy连接多个sdram时采用的是菊花链拓扑,相较于星形拓扑减少了引脚数量,但是地址/控制线到达每个颗粒的时间不同;实际板级的连线缺陷等差异而造成信号从端到端的时间不同,从而导致整个ddr5phy不能工作在最佳的状态,甚至读写错误。因此高性能的ddr5phy会根据实际情况,在初始化完毕之后,在不同的频率和电压下不断的训练,以设置每一个地址/数据引脚线到实际最佳的状态,这样数据读写的2d眼图能在中间采样。
108.ddr5初始化单元,产生符合ddr5 sdram标准协议jesd79

5规定的初始化序列,以确保存储器能进行正常事务模式。
109.训练单元,训练校准包括了1d(一维)训练模式和2d(二维)训练模式;1d训练是针对在dfi提供的1个电压下的延迟优化,通过训练固件去调整每个时钟、命令、地址、数据路径的本地校准延迟单元,以补偿包括板级和dram的延迟等的延迟。2d训练是针对于在1d训练之后,对每一对电压和延迟的全部读写测试,计算操作通过的区域形成2d眼图,分析其裕量度以优化出最佳的电压和延迟点。整个phy的初始化即是把sdram初始化和训练校准初始化结合成一个流程,通过phy初始化固件来执行初始化过程。如图8所示ddr5 phy训练校准硬件架构,首先专用训练状态机块用于控制整个训练过程,包含训练核初始化两大部分,其数据与控制寄存器块交互,以控制其他模块。训练的数据是通过多路选择器发送给dfi地址命令模块、dfi数据读写模块,以切换为训练核正常访问功能。在写训练期间,训练写数据生成会生成随机的写数据,在读训练期间发送给读数据比较模块,命令模块会生成相应的读写命令操作的组合,这样可以反应真实的操作以调整最佳到的延迟。
110.2、具体实施例
111.为了能更好的理解本发明,下面结合具体实施例子,如图9所示为ddr5连接一个配置为x8位宽且8g的ddr5 sdram,因为地址命令通道有ck_t、ck_c、cs_n、ca[13:0]、reset_n、tdsq_t、tdqs_c、alert_n、ten、mir、cai、ca_odt、lbdq、lbdqs、zq,
[0112]
共28bit,因此需要配置8个地址命令发送模块,多余的一个地址模块用于sdram的电压引脚,因为数据是8位宽因此需要配置1个数据读收发模块和1个dfi数据读写模块,ddr5数据通道为dq[7:0]、dm_n、dqs_t、dqs_c,相应的控制器端的dfi信号,读写数据dfi_wrdata_p0/p1,dif_rddata_p0/p1均是16bit的,下面对本发明进行详细描述。
[0113]
ddr5 phy控制通道的处理流程步骤:
[0114]
步骤1:外部dfi输入的地址和命令是在1:1、1:2或1:4的模式下,以及频率比指示信号,输入的时钟是控制器端的dfictrlclk时钟。
[0115]
步骤2:根据频率比指示信号,选择频率比转换的方式,其中1:1和1:4的模式需要转换,内部的固定的1:2比率时钟是dficlk。
[0116]
步骤3:在频率比转换模块,会被分别转换为内部固定的1:2模式,分别使用两个时钟来做并串转换或者串并转换,对于1:1模式则dfi输入控制时钟快2倍于内部固定dfi时钟比率,因此输入的dfi信号执行串行转并行2位,即1相位p0转成2相位p0,p1;对于1:2模式无需转换,直接无缝传输;对于1:4模式则dfi输入控制时钟慢2倍于内部固定dfi时钟比率,因此输入的dfi信号执行并行4位转串行2位,即4相位p0,p1,p2,p3转成2相位p0,p1;
[0117]
步骤4:得到频率比转换之后的固定内部1:2模式,此时所有跟频率比有关的相位都被转换到dficlk始域,且信号均只有相位p0和相位p1有效。
[0118]
步骤5:根据phy的配置,判断需要操作的是哪一种模式,为了能够兼容ddr5操作,本发明有3种操作方式可以选择,每周操作方式对应不同的地址编排方式。
[0119]
步骤6:dfi地址命令模块2将dfi地址、命令信号的不同相位数进行组织编排为4bit的数据线,方式有2n减速模式编排方式为{p1,p1,p0,p0},ddr5单周期命令模式编排为{默认值,默认值,p1,p0},ddr5双周期命令模式编排为{p1高,p0高,p1低,p0低},这样就可以支持ddr5 sdram的多种工作模式。
[0120]
步骤7:进行编排好的地址命令,被组成4bit的并行数据,每一个发送模块具有4路这样的并行数据,以及每个地址命令相应的io端口使能信号。
[0121]
步骤8:地址命令并串转换模块8使用校准之后的时钟,执行对dif地址命令模块2传过来的4位数据线进行并转串输出。
[0122]
步骤9:在地址命令io端口模块9处理输入输出端口特性,通过一个寄存器打断延迟链有利于延迟路径。
[0123]
步骤10:实现地址命令从vdd电压域到vddq的跨逻辑电平传输有利于低功耗管理。
[0124]
步骤11:使用上拉下拉电阻的调节对输出阻抗进行校准;
[0125]
步骤12:使得地址命令最终被发送出去到sdram的引脚,同时对于双向端口作为输出是发送命令,作为输入是在回环测试时用于采样内部数据。
[0126]
地址命令通道流程如图10所示,初始化训练校准流程如图11所示。
[0127]
在向sdram发送写命令操作之后,经过cwl写延迟之后需要提供写数据,dfi写数据经过phy转换成为符合sdram时序的写数据,数据写通道的处理流程步骤:
[0128]
步骤1:外部输入的dfi写数据的信号,包括了数据,数据掩码,写数据选择,写数据使能,此时的数据可能是不同频率比的,输入时钟为dfictrlclk。
[0129]
步骤2:判断频率比模式,决定进行哪种转换操作。
[0130]
步骤3:频率比模块,如果是1:1则使用串转并操作,如果是1:2则不转换,如果是1:4则并转串成为固定的1:2模式;
[0131]
步骤4:得到频率比转换之后的固定1:2模式,此时写数据在dficlk时钟域内,且只有相位p0和相位p1有效。
[0132]
步骤5:把一个周期的dfi_wrdata_p0、dfi_wrdata_p1按8根数据线组,每根数据线
4位;
[0133]
步骤6:这8根数据线被分别发送至txdatln0[3:0]到txdatln7[3:0]里,外加一个数据掩码位txdatln7[3:0],txcmdreqwrdest数据选通信号是dfi_wrdata_cs,txcmdreqwr数据使能信号。
[0134]
步骤7:根据txcmdreqwr数据使能信号生成4bit的突发数据使能信号,以控制每数据位的使能,也生成4bit的驱动值。
[0135]
步骤8:这样的三类4位的数据,组合成为12bit的数据txdatenwk_ln0[11:0]到txdatenwk_ln8[11:0];同时也使用txcmdreqwrdest数据选通信号来生成数据选通dqs信号txdatenwk_ln9[11:0]。
[0136]
步骤9:这样的10根数据线被发送到数据收发模块7下一步处理;
[0137]
步骤10:数据收发模处理10路数据线,使用延迟校准后的时钟作为读取并转转换fifo的时钟,完成了12bit转3位,分别位txdqval_ln0数据、txdqen_ln0使能、txdqwk_ln0驱动值。
[0138]
步骤11:之后被发送到io端口处理模块,首先通过一个寄存器,使能信号是txdqen_ln0,数据是txdqval_ln0进行延迟链打断,以优化时序满足建立和保持时间;
[0139]
步骤12:接着通过写数据时钟来控制作为使能信号,控制突发类型为4、8、以及连续突发;
[0140]
步骤13:因为sdram的电压域是vssq到vddq,在输出到引脚之前还需要通过vdd电压域到vddq电压域的逻辑转换,保证其驱动强度正确;
[0141]
步骤14:最后调整上拉和下拉电阻,以上拉和下拉电阻的120欧姆为基准,最后使信号输出阻抗为60欧姆,有效减小信号传输反射效应,提高信号完整性。
[0142]
在向sdram发送读操作之后,经过rl读延迟时间,数据出现在sdram端口,phy会准确采样数据,并最终转换为符合dfi协议的数据,会送给控制器端,数据读通道的处理流程步骤:
[0143]
步骤1:根据sdram读延迟,接收外部读dfi信号dfi_rddata_en_p0/p1/p2/p3、dfi_rddata_cs_p0/p1/p2/p3。
[0144]
步骤2:判断dfi读控制信号的频率比,以确定需要转换的操作。
[0145]
步骤3:如果是1:1则需要串并转换、如果是1:2则无需转换、如果是1:4则需要并串转换;步骤转换为固定的1:2模式,dfi_rddata_en_internal_p0/p1、dfi_rddata_cs_internal_p0/p1;
[0146]
步骤4:在dfi数据读写模块4里,使用这两个读数据控制信号,来生成读数据门控信号rxpadstandby,使得数据只有在有读命令时才会去采样;
[0147]
步骤5:在数据收发模块7中接收外部sdram的引脚出现读数据dq0到dq7、总线数据反转dbi_n、数据选通dqs和dqs_n;
[0148]
步骤6:分别通过dqsrx采样器采样数据选通dqs、dqs_n,以及数据rx采样器采样数据dq0到dq7、总线数据反转dbi_n,使用读数据门控信号rxpadstandby保证采样的是读数据;
[0149]
步骤7:采样得出的数据是串行数据,需要经过奇串行转并行4bit和偶串行转并行4bit两个fifo,输出4bit并行数据;
[0150]
步骤8:之后在dfi数据读写模块4里对这些4bit数据进行组合成为dfi_rddata_internal_w0/w1信号,dfi_rddata_dbi_internal_w0/w1,并生成相应的读数据有效信号dfi_rddata_vaild_internal_w0/w1用于指示读数据输出;
[0151]
步骤9:接下来判断频率比,确定读数据是否需要转换;
[0152]
步骤10:如果是1:1则需要把读数据并转串,如果是1:2则不需要转换,如果是1:4则需要串转并操作。
[0153]
步骤11:最后输出到控制器端的数据为dfi_rddata_w0/w1/w2/w3、dfi_rddata_valid_w0/w1/w2/w3、dfi_rddata_dbi_w0/w1/w2/w3,实现了读数据从sdram到控制器的传输正确性。
[0154]
数据写通道传输流程如图12所示,数据读通道传输流程如图13所示。
[0155]
初始化训练校准模块产生符合ddr5的初始化序列,以及对数据、命令、地址、时钟路径的训练,以达到最佳的传输状态。ddr5初始化模式,具体为(1)上电压vpp、vddq、vdd、vss、vssq,上电斜坡vpp必须与vdd同时或早于vdd。上电完成后dq,dqs_t,dqs_c电平必须在vssq到vddq之间,cs_n,ck_t,ck_c和ca输入信号电平必须在vss到vdd之间以避免闩锁效应;(2)复位信号reset_n为低电平至少200us,之后使用nop命令作为间隔;(3)在配置期间仅支持命令,mrr,mrw,mpc和vrefca,分别配置模式寄存器mr0、mr6、mr32、mr33、mr34、mr35、mr10、mr11、mr23的默认值。(4)完成任何训练或校准定时参数,等待tzqlat就完成ddr5初始化。
[0156]
延迟训练校准模式,训练校准包括了1d(一维)训练方式和2d(二维)训练方式,1d训练步骤为:设备初始化、命令/地址训练、读门控训练、写均衡细训练、读数据去歪斜、读良好训练、写均衡粗训练、写训练、读训练、最大读延迟训练。2d训练步骤为:设备初始化、读电压眼图训练、写电压眼图训练。如图11所示把延迟训练校准和sdram初始化结合在一起,phy的初始化流程为:
[0157]
(a)启动vdd、vddq、和vaa:vdd是phy内部的工作电压,vddq和vaa分别是sdram引脚的数据和地址、命令的电压,初始化的第一步是通电,直到电源稳定之前所有的输出都是未知态,不关心输入;
[0158]
(b)启动时钟并重置phy:此过程是复位phy,而不是sdram复位;
[0159]
(c)初始化phy配置:因为phy可以支持多种sdram标准规范和多种组合配置方式,这一步就是要明确当前系统是哪种存储器规格和链接配置;
[0160]
(d)加载固件程序映像到指令存储器sram中:训练的流程是经过高级c语言编写好,编译后转换为机器码,训练之前需要把固件程序映像加载到指令存储器中;
[0161]
(e)将phy输入时钟设置为所需的频率:根据dfi的频率比模式,和dfi的输入时钟频率,把dfi内部固定时钟、高速时钟pll模块时钟设置为所需的运行时钟;
[0162]
(f)写入训练固件的消息快传输,以使固件运行:写入需要运行固件的步骤,以及配置寄存器参数,使得固件可以启动运行;
[0163]
(g)执行1d和2d训练项目:不断反复运行1d和2d训练项目,直到达到最优延迟和电压;
[0164]
(h)读取消息快结果:一旦训练固件完成,它将把训练结果从数据存储器中传输到配置寄存器传输中;可以更换其他时钟频率训练,得出不同的延迟、电压训练结果,有利于
后面优化分析。
[0165]
(i)加载phy初始化引擎映像:将运行的初始化训练序列,加载到phhy初始化引擎寄存器中,指示当前运行的序列内容;
[0166]
(j)通过dfi初始化sdram:根据是ddr4还是ddr5,严格运行相应符合jesd79

4或者jesd79

5的初始化序列,配置好sdram;
[0167]
(k)准备好进行正常的任务模式:等待必要的时间,phy即可进入正常的事务模式,phy的输入输出由dfi总线控制。
[0168]
本发明的有益效果在于在提出一种面向于服务器场景应用的吞吐率、低延迟的高性能ddr5 phy接口,能够支持ddr5的各种命令操作和高频率的转换,通过dfi地址命令模块和多个地址命令发送模块实现从dfi5.0地址/命令转化为符合ddr5 sdram标准协议的地址/命令传输;通过dfi数据读写模块和多个数据收发模块实现dfi数据读写操作与ddr5 sdram数据读写操作的相互传输;通过频率比转换模块可以实现控制器端的dfi频率比为1:1、1:4、1:2操作与内部固定的1:2模式相互转换,通过高速时钟pll模块来生成内部4倍于dfi时钟的高速时钟,管理phy内部几个时钟的关系;通过初始化训练校准模块来产生符合ddr4/ddr5 sdram标准规范的初始化序列及通过训练来优化每个数据、命令、地址的最佳延迟。
[0169]
本发明的关键点和欲保护点如下:
[0170]
本发明通过一个特定的硬件电路技术提供ddr5phy装置具体实现方式,实现了标准dfi5.0控制器和ddr5颗粒之间搞吞吐率、低延迟的连接。为实现支持ddr5标准协议的各种命令操作,本发明在控制单元设计了单周期命令模式和双周期命令模式,能够根据dfi5.0协议的传输访问自动切换。
[0171]
本发明的地址传输单元进行地址命令4bit并行转串行,使得内部每一个高速时钟pclk周期可以控制sdram时钟的一半周期,保证相邻的两个周期地址命令数值不同;数据传输单元实现多种数据读写工作方式,其的发送使用数据使能信号在io端口控制突发操作,支持突发bc8、bl16、bl32以及连续的突发操作访问ddr5颗粒。
[0172]
本发明的数据传输单元根据dfi读信号,生成读数据的采样使用采样门信号以ddr5的读数据被正确采样到,通过数据去歪斜优化读数据的时序;频率比模块实现多种工作频率的支持,对于不同频率系统,使用寄存器、多路选择器和控制计数器实现频率比1:1、1:4与1:2模式的高效转换,保证了不同比率模式时序的正确性。
[0173]
为支持sdram的高数据率需求,本发明通过内部4倍频的高速pll模块来生产更高的内部时钟,以满足地址命令上边沿操作和数据双边沿操作频率、以及生成sdram时钟。为了达到高带宽的需求,本发明通过apb接口方便的配置寄存器模块,以根据位宽要求控制地址命令发送模块和数据收发模块的个数,支持连接多个sdram,实现多phy的功能。
[0174]
本发明数据的io处理单元,在io接口的信号特性优化有:优化延迟链、vdd与vddq的跨电压域逻辑转换、上拉下拉电阻调整以及正确的驱动强度控制,提高了高速传输phy的信号完整性;训练单元包括1d训练和2d训练,在初始化期间启动调整每个路径的延迟单元的参数,以使得phy达到最优的访问效果。
[0175]
如图14是ddr5的写操作双周期命令的实现,cs_n拉低传输的是ca总线的bank寻址,紧接着下个周期cs_n拉高,此时ca总线是列地址。因此通过在dfi数据读写模块,编排放
置是地址顺序为低两位第一个周期,高两位第二个周期,实现了dfi5.0的dfi_address[27:0]到ca[13:0]的写操作。经过9个周期的写延迟周期后,dfi_address[15:0]是给了4个数据,经过phy转换完成了对ddr5突发16的写入数据。
[0176]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0177]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1