CN104866638B - 用于dram系统的验证方法 - Google Patents

用于dram系统的验证方法 Download PDF

Info

Publication number
CN104866638B
CN104866638B CN201410064075.6A CN201410064075A CN104866638B CN 104866638 B CN104866638 B CN 104866638B CN 201410064075 A CN201410064075 A CN 201410064075A CN 104866638 B CN104866638 B CN 104866638B
Authority
CN
China
Prior art keywords
data
delay
dram
method described
aligned
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
CN201410064075.6A
Other languages
English (en)
Other versions
CN104866638A (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to CN201410064075.6A priority Critical patent/CN104866638B/zh
Publication of CN104866638A publication Critical patent/CN104866638A/zh
Application granted granted Critical
Publication of CN104866638B publication Critical patent/CN104866638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Dram (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

一种用于DRAM系统的验证方法,其中系统中读和写数据在自由运行差分时钟的两边沿传输,包括:监测数据通路中的延时值,计算从指令分配到读数据的返回在数据通路中的延时,在待测设计中设置延时配置以与数据通路中的全部延时相匹配,以及基于延时设置配置与待测设计的DRAM接口。所述方法在仿真环境中使用了了新的配置时序,省下了大量计算资源。

Description

用于DRAM系统的验证方法
技术领域
本发明总体上涉及集成电路系统验证。尤其,本发明涉及一种用于动态随机存取存储器(DRAM)系统的验证方法,所述系统中读和写数据在自由运行差分时钟(a free-running differential forwarded clock)的两边沿传输,例如GDDR5(Graphics DoubleData Rate,version5)系统,更具体地涉及一种用于在验证中建立DRAM接口的方法。
背景技术
在半导体芯片设计阶段,工程师们以生产工作模型为目标,排除明显缺陷并考虑产品可能不合格的可能途径。由验证工程师判断他们是否取得成功。这可包括测试泛网络连接、确认各部件同步运行正常以及解决属于特定产品的特定问题。
随着成品率和上市时间安排的至关重要性,开发验证和分析方案以提供尽可能好的性能、同时最小化迭代时间和数据量很重要。随着尖端技术如片上系统(SoC)的出现,将标准IP核(Intellectual Property Cores)加入单晶硅的需求也增加了。在芯片设计中,包括基于IP核的SoC设计,改进的验证和分析流程可对产品的成功做出显著的贡献。
同时,半导体芯片产品设计的开始几步包括产品需求、产品架构设计以及子系统设计。子系统设计中的一个是存储系统。存储系统设计取决于各种因素,如存储容量、速度、能力、现有或发展的标准、现有设计的再利用以及其他需求。
近来为需要高带宽的应用设计的高性能的DRAM图像存储系统,如GDDR5,提供高数据传输率(high data rates),使得相比以前的技术在更窄的存储接口上具有更多的带宽。然而,高性能的DRAM图像存储系统,如GDDR5,在测试和验证方面遇到许多挑战。
例如,GDDR5的一些有助于改进数据眼开口的特征以芯片上的高速时钟方案为目标,而其他的特征用于外部接口或者存储控制器与DRAM之间的互相连接上的实际信号。就这一点而言,之前的双数据速率(Double Data Rate,DDR)接口(如,DDR3、GDDR3)对写和读使用选通脉冲。相应地,由于DRAM侧和控制器侧都能通过基于选通信号的时钟数据恢复(CDR)容易地提取读/写数据,在之前的DDR系统验证中DRAM接口调试通常不是一种必须的或一项测试项目。与此相反,GDDR5具有不使用选通脉冲的高速接口,其读和写数据在自由运行差分时钟的两边沿传输。由于GDDR5使用自由运行差分写时钟(WCK)引脚代替写入数据时钟(WDQS),以及使用自由运行的错误检测代码(EDC)引脚代替读取数据时钟(RDQS),要求存储控制器通过接口调试确认写数据和读数据的正确的数据相位和数据帧,且DRAM接口调试在GDDR5系统验证中是一项测试项目。
发明内容
有两种常见的在验证中设置DRAM接口的方案;
一种是在仿真环境中设置正式的调试序列,以在各种条件下建立DRAM链接。这种方案具有初始化时间长的缺点,需要大约~150000的时钟时间甚至需要硬件调试加速,这对于模块级和系统级仿真来说都是不可接受的。
另一个方案是跳过调试,但是把系统投入仿真环境已确定的状态,强制对存储控制器和存储物理层(PHY)中的时钟和FIFO指针偏置赋值。这种方案减少了调试时间,但是对于设计和测试环境的改变(如时钟频率改变、系统动力状态转换等)非常脆弱。而且,由于这种方案不能验证待测设计和系统的随机行为,在仿真中大量的强制赋值也成为一种潜在的风险。
为了克服以上这些缺点以及其他DRAM系统验证中的缺点,本发明提供了一种在验证系统的新的配置时序中建立DRAM接口的新方法。本发明的所述方法不受验证方式的支配,可在如System C、verilog或System Verilog语言下实行。
虽然本发明的实施方式专门地描述为从存储控制器的GDDR5接口到GDDR5存储设备,所述系统和方法可应用于许多系统。本发明的一方面提供了这样的方法和系统可在任何读和写数据在自由运行差分时钟的两边沿传输的DRAM系统中实行。
在体现第一方面的一个实施方式中,提供了一种验证方法。所述方法提供了用于任何读和写数据在自由运行差分时钟的两边沿传输的DRAM系统的验证,包括监测数据通路中的延时值,计算从指令分配到读数据的返回在数据通路中的延时,在待测设计中设置延时配置以与数据通路中的全部延时相匹配,以及基于延时设置配置与待测设计的DRAM接口。
在体现第二方面的一个实施方式中,所述验证方法包括监测物理层(PHY)中的RX接收和TX发送FIFO的写指针和读指针、监测数据通路中的时钟偏差,以及监测DRAM时序延迟。
在体现第三方面的一个实施方式中,所述验证方法包括调谐时钟信号的相位,其中调谐时钟信号的相位包括确定接收RX时钟信号是否与数据队列对齐,如果没有对齐,调整接收RX时钟信号的相位使其与数据队列对齐。所述方法可进一步包括确定发送TX时钟信号是否与数据队列对齐,如果没有对齐,调整发送TX时钟信号的相位使其与数据队列对齐。
在体现第四方面的一个实施方式中,所述验证方法包括Rx帧(Rxframe)调谐和TX帧(Txframe)调谐,其中所述调谐是基于数据通路中的全部延时。
附图说明
本发明以示例但不限制的形式图示在后附的附图中,其中
图1示出了联接到存储控制器上的GDDR5系统的简化的示范图;
图2示出了根据本发明的、将存储控制器作为待测设计(DUT)的GDDR5验证系统的示范图的一个示例性实施例;
图3示出了根据本发明的一个示例性的调谐序列;
图4(A)给出了Rx相位调谐的一个示例;
图4(B)示出了用于图2中的系统的Rx相位调谐的算法;
图5给出了Rx帧的示例以及示出了用于图2中的系统的Rx帧调谐的算法。
具体实施方式
下面将参照附图中所示的一些实施例具体描述本发明。在下文的描述中,描述了一些具体的细节以提供对本发明的更深的理解。然而,对于本领域的技术人员来说显而易见的是,即使不具有这些具体细节中的一些,本发明也可被实施。另一方面,一些公知的工艺步骤和/或结构没有被详细描述以避免不必要地使本发明变得难以理解。
图1示出了联接到存储控制器上的GDDR5系统的简化的示范图。
在图1所示的系统中,存储控制器包括三个部件:INTF(接口),SEQ(序列发生器),and PHY(物理层)。
INTF是对客户流量提供接口的功能模块。它在不同客户的流量中做一些调停。
SEQ是INTF和PHY之间的协议转换模块。它从INTF获得流量包然后将其转换成DRAM命令/数据信号以满足DRAM协议。SEQ以满足DRAM时序的方式安排TX/RX信号。
PHY是进行物理层信号转换的功能模块。对每个DRAM接口信号,它具有RX接收和TX发送。由于SEQ和PHY以不同的时钟运行,对每一个指令信号(CMD)和数据信号(DQ),PHY还具有自由运行的缓冲区(FIFO,先进先出),其位于使用mclk的SEQ和使用yclk的RX/TX之间。
图1中的DRAM总线功能模型(bfm)是GDDR5bfm。当然,bfm可以是任何读和写数据在自由运行差分时钟的两边沿传输的DRAM。
如图1中的流程图所示,当SEQ接收来自上游的指令(CMD)后,分配该指令。GDDR5从PHY内部的TX FIFO获得指令。如果该指令是读指令,GDDR5将读数据返回给PHY中的RX FIFO然后再到SEQ。SEQ接收并将数据储存在数据接收存储器(Rxdata mem),然后将脉冲信号送回INTF/客户。
为了在验证中建立DRAM链接,至少要考虑Rx相位(Rxphase)和Rx帧(Rxframing)。
关于Rx相位,来自GDDR5的数据(DQ)对于PHY的时钟yclk来说是异步信号。为了避免亚稳问题,有必要通过正确调谐在DQ处的接收相位的yclk对数据眼进行采样。这由PI(phase interpolator相位插值器)来执行。PI将1个yclk周期分成64等分。
关于Rx帧,1个数据帧是一个单独的数据脉冲。当信号完整性被调整之后,Rx帧应被调谐以确保当读数据从PHY返回时数据帧是正确的。
Rx相位和Rx帧都是挑战,因为GDDR5具有没有选通的高速接口,其读和写数据在自由运行差分时钟的两边沿传输。
现在看附图2,根据本发明的、将存储控制器作为待测设计(DUT)的GDDR5验证系统的一个实施例。
如图2所示,本发明的验证系统包括监测器和自动调谐配置时序。
在待测设计下面的监测器包括FIFO指针监测器、时钟偏差监测器和DRAM设置监测器。
FIFO指针是指PHY中的RX/TX FIFO的写指针(wptr)和读指针(rptr)。由于FIFO指针是自由运行的,知道指针距离就可以知道FIFO的延迟。
时钟偏差指的是在数据通路中的各种时钟偏差,如从主时钟mclk到PHY时钟yclk的同步延时和从WCK到PHY时钟yclk的同步延时。这些是数据通路中所有延时中的一部分。
DRAM设置包括如列地址选通信号延迟(Column Address Strobe latency,CASlatency或CL)和写等待延迟。这些是数据通路延时中的一部分所以它们也需要被算在延时计算中。
所有这些值(指针距离、时钟同步延时以及DRAM设置延时),如图2所示,将通过编程语言接口(PLI,Programming Language Interface)或数字编程接口(DigitalProgramming Interface,DPI)被输出至自动调谐配置时序中的自动调谐算法。
自动调谐算法的结果,即配置值(config value),随后通过PLI或DPI被输出至配置BFM(Config BFM),然后通过配置BFM总线被驱动至SEQ,提供了一个接口以设置SEQ或PHY配置寄存器,包括相位或帧设置,以建立DRAM链接。
图3示出了图2中的GDDR5验证系统中的示例性的自动调谐配置时序。
图3中示出的自动调谐配置时序采用自动调谐算法,其可以是基于C/C++或其他系统的函数。SEQ侧的延时设置必须与GDDR5数据通路中的全部延时相匹配。现在随着FIFO指针距离、时钟偏差、CAS延迟(CL)以及一些可能的可配置数据通路延时的值可被确定,如图1所示的从SEQ命令分配到读数据返回的数据通路中的延时可被计算出来。然后从计算结果中可确定如何设置SEQ和PHY,换句话说,可确定正确的相位和帧设置。
如图3中所示的自动调谐配置时序可在系统的初始化时运行也可在运行期间当系统环境改变时运行。
如图3所示,在根据本发明的相位和帧调谐之前,可调谐WCK至CK(wck2ck)。目的是为了确保WCK和CK可对齐。当wck2ck调谐完成后,配置时序包括确定接收RX时钟信号是否与数据队列对齐,如果没有对齐,调整接收RX时钟信号的相位使其与数据队列对齐。配置时序进一步包括确定发送TX时钟信号是否与数据队列对齐,如果没有对齐,调整发送TX时钟信号的相位使其与数据队列对齐。
最后,如图3所示,配置时序包括Tx帧和Rx帧。
用于Rx相位调谐和Rx帧的算法将结合图4(A)、图4(B)和图5进行详细描述。相似的算法应用于Tx相位和Tx帧调谐。
图4(A)给出了根据本发明的一个实施方式的Rx相位调谐的示例。所述调谐应该满足时序要求。参考图4(A),阴影部分表示一数据期间的有效数据窗口。如上所述,为了避免亚稳问题,有必要通过正确调谐在DQ处的接收相位的yclk对数据眼进行采样。数据眼是所述数据窗口的中心。
现在参考图4(B),为了获得最佳的信号完整性,Rx的yclk应该与DQ对齐,这意味着dly_rxyclk2dq和Rxphase的总和(如图4(B)所示)除以时钟周期后剩下的必须是半个时钟周期。即,
(dly_yclk2dq+rxphase)=(N+1/2)×yclk_period;
其中,“dly_yclk2dq”意思是yclk到dq的延时,且在图4(B)中指的是数据窗口的边缘和时钟边缘之间的距离。Rx相位在图4(B)中指的是时钟边缘与数据眼之间的距离。“yclk_period”代表1个yclk周期。“dly_yclk2dq”可以由下面的等式计算得到:
dly_yclk2dq=(dly_yclk2wck+ddr_wck2dqo);
其中,“dly_yclk2wck”意思是yclk到wck的延时,其由时钟偏差监测器获得;且“ddr_wck2dqo”是某种GDDR5的固定时序。因此,可获得相位调谐值(此处是rxphase),然后其被写入寄存器。
图5给出了根据本发明的一个实施方式的Rx帧(Rxframing)调谐的示例。Rx帧调谐的结果是获得如图5中所示的Rx帧。所述Rx帧调谐来自于读取延时的等式。即,
rxframing=cmd_txfifo_dly+dat_rxfifo_dly+ddr_cl+clk_sync_dly其中,“cmd_txfifo_dly”代表Tx FIFO上的指令延时;“dat_rxfifo_dly”代表Rx FIFO上的数据延时;“ddr_cl”代表DDR CL,以及“clk_sync_dly”代表时钟同步延时。“cmd_txfifo_dly”和“dat_rxfifo_dly”由FIFO指针监测器获得。“ddr_cl”由DRAM设置监测器获得。“clk_sync_dly”由时钟偏差监测器获得。SEQ侧的延时设置必须与读取数据通路上的实际延时相匹配。
如上文所述,本发明的在一般的GDDR5系统验证中设置DRAM链接的方法在仿真环境中使用了一种新的配置时序,其相比用于硅晶片的真实调试(real training)的配置时序更简单。因此,通过在功能验证中使用这种新的方法可省下大量计算资源。
本发明的方法相比真实调试可减少模拟周期和机器时间。没有对存储器的读/写操作以及将待测设计投入确定性状态,这种方法在零时间设置GDDR5链接。本发明需要大约~1000时钟时间(clocks)在验证系统中的新的配置时序中建立接口,这是之前的调试配置时序的150倍速。这种方法也是一种自适应测试设置,其可支持在测试激励内或运行期间的GDDR5链接的改变。本发明的方法不受验证方式的支配。这种方法也是稳健的并且可移植到IP级和SoC级验证环境,且容易随同待测设计(控制器、PHY、DRAM模型)的改变而执行和调整。
在本文的一个或多个实施例中,所述方法可在硬件、软件、固件或任何它们的组合中实行。如果通过软件执行,用于实现上述方法的步骤的函数的计算机可读代码可存储在计算机可读介质中。计算机可读介质例如可包括但不限于:磁性媒体如硬盘、软盘和磁带;光学媒体如CD-ROMs和全息装置;磁光介质如软磁光碟(floptical disks);以及硬件设备,所述硬件设备是专门地配置用于存储和执行程序代码,如专用集成电路(ASICs)、可编程的逻辑设备以及ROM和RAM设备。所述计算机可读代码可由一个或多个处理单元(如图像处理单元)来执行。
对于本领域的技术人员来说显而易见的是,上述实施方式只为了说明和描述目的并非为了限制本发明,可以在不背离本发明的精神和权利要求的范围的情况下对本发明作不同的修改和变型。因此,如果对本发明的修改和变型落入了权利要求和它们的等同物的范围内,那么应当认为本发明覆盖了对本发明所描述的不同实施例的修改和变型。

Claims (10)

1.一种用于DRAM系统的验证方法,其中系统中读和写数据在自由运行差分时钟的两边沿传输,所述方法包括:
在验证期间监测被测设计的数据通路中的延时值,其中所述被测设计是耦合到内存总线功能模型的存储控制器,
计算从指令分配到读数据的返回在数据通路中的延时的量,其中所述延时的量包括来自所述内存总线功能模型的数据的接收数据相位和接收数据帧,
在被测设计中设置延时配置以与数据通路中的全部延时相匹配,以及
基于延时设置配置被测设计的DRAM接口。
2.根据权利要求1所述的方法,其中监测被测设计在数据通路中的延时值包括监测物理层(PHY)中的RX接收和TX发送FIFO的写指针和读指针、监测数据通路中的时钟偏差,以及监测DRAM时序延迟。
3.根据权利要求2所述的方法,其中计算数据通路中的延时至少是基于RX/TX FIFO指针距离、数据通路中的时钟偏差的量、写等待延迟和CAS延迟。
4.根据权利要求3所述的方法,其中计算数据通路中的延时的量还基于可配置数据通路延时。
5.根据权利要求3所述的方法,包括调谐时钟信号的相位。
6.根据权利要求5所述的方法,其中调谐时钟信号的相位包括确定接收RX时钟信号是否与数据队列对齐,如果没有对齐,调整接收RX时钟信号的相位使其与数据队列对齐。
7.根据权利要求6所述的方法,还包括确定发送TX时钟信号是否与数据队列对齐,如果没有对齐,调整发送TX时钟信号的相位使其与数据队列对齐。
8.根据权利要求6或7所述的方法,进一步包括Rx帧(Rxframe)调谐和Tx帧(Txframe)调谐。
9.根据权利要求8所述的方法,其中Rxframing=cmd_txfifo_dly+dat_rxfifo_dly+ddr_cl+clk_sync_dly。
10.根据权利要求8所述的方法,其中用于DRAM系统的所述验证方法是一种用于GDDR5系统的验证方法。
CN201410064075.6A 2014-02-25 2014-02-25 用于dram系统的验证方法 Active CN104866638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410064075.6A CN104866638B (zh) 2014-02-25 2014-02-25 用于dram系统的验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410064075.6A CN104866638B (zh) 2014-02-25 2014-02-25 用于dram系统的验证方法

Publications (2)

Publication Number Publication Date
CN104866638A CN104866638A (zh) 2015-08-26
CN104866638B true CN104866638B (zh) 2019-11-15

Family

ID=53912464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410064075.6A Active CN104866638B (zh) 2014-02-25 2014-02-25 用于dram系统的验证方法

Country Status (1)

Country Link
CN (1) CN104866638B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649190A (zh) * 2015-10-29 2017-05-10 池州职业技术学院 一种电子产品一体化快速存储集成系统
CN105653409B (zh) * 2015-12-25 2019-02-01 北京时代民芯科技有限公司 一种基于数据类型转换的硬件仿真器验证数据提取系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102332309A (zh) * 2011-07-19 2012-01-25 山东华芯半导体有限公司 一种dram源同步的测试方法及其测试电路
CN102637155A (zh) * 2012-01-10 2012-08-15 江苏中科梦兰电子科技有限公司 通过训练加修正配置ddr3中数据选通信号延时的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877100B1 (en) * 2000-08-25 2005-04-05 Micron Technology, Inc. Adjustable timing circuit of an integrated circuit by selecting and moving clock edges based on a signal propagation time stored in a programmable non-volatile fuse circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102332309A (zh) * 2011-07-19 2012-01-25 山东华芯半导体有限公司 一种dram源同步的测试方法及其测试电路
CN102637155A (zh) * 2012-01-10 2012-08-15 江苏中科梦兰电子科技有限公司 通过训练加修正配置ddr3中数据选通信号延时的方法

Also Published As

Publication number Publication date
CN104866638A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
KR102222420B1 (ko) 메모리 물리 계층 인터페이스를 훈련하기 위한 통합 제어기
CN106104698B (zh) 用于产生具有可编程延迟的动态随机存取存储器(dram)命令的存储器物理层接口逻辑
JP5302325B2 (ja) プロトコル認識デジタルチャネル装置
TWI596352B (zh) 具有用於輸入/輸出(i/o)交流電(ac)時序之以工作週期爲基礎的時序界限之方法、電路裝置及系統
CN105723351A (zh) 对存储器控制器进行读训练
CN101692346B (zh) 一种存储器数据采样装置及一种采样控制器
KR101369963B1 (ko) 복수의 집적회로 장치를 포함하는 집적회로 모듈을테스트하기 위한 시스템 및 방법
US8489912B2 (en) Command protocol for adjustment of write timing delay
EP2446365B1 (en) Adjustment of write timing in a memory device
US8378699B2 (en) Self-test method for interface circuit
TWI514402B (zh) 記憶體測試系統以及記憶體測試方法
US7720107B2 (en) Aligning data in a wide, high-speed, source synchronous parallel link
CN105159853A (zh) 基于fpga的dfi标准ddr3控制器
CN104866638B (zh) 用于dram系统的验证方法
US8751853B2 (en) Quad-data rate controller and implementing method thereof
US20120110400A1 (en) Method and Apparatus for Performing Memory Interface Calibration
US8671304B2 (en) Adjustment of write timing based on a training signal
CN112017727A (zh) 接口测试方法、装置、处理器和电子设备
CN1627436B (zh) 操作半导体存储装置的方法及半导体存储装置

Legal Events

Date Code Title Description
C06 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