掌桥专利:专业的专利平台
掌桥专利
首页

一种终结阻抗参数的产生方法和测试系统

文献发布时间:2024-04-18 19:58:30


一种终结阻抗参数的产生方法和测试系统

技术领域

本公开涉及半导体存储器技术领域,尤其涉及一种终结阻抗参数的产生方法和测试系统。

背景技术

在动态随机存取存储器(Dynamic Random Access Memory,DRAM)中,存在片上终端电阻(On Die Termination,ODT),用于实现阻抗匹配,减少信号噪声。在不同的工作场景下,利用通过终结阻抗信号对片上终端电阻的阻抗进行控制,以适配不同的场景需求。然而,终结阻抗信号在不同的工作场景下的取值变化较为多样,在测试时没有固定的真值用于验证,测试难度较大。

发明内容

本公开提供了一种终结阻抗参数的产生方法和测试系统,能够确定不同工作场景下的终结阻抗信号的真值变化情况,降低终结阻抗信号测试的复杂性,提高测试效率。

本公开的技术方案是这样实现的:

第一方面,本公开实施例提供了一种终结阻抗参数的产生方法,应用于包含数据缓冲器的参数产生装置,所述方法包括:

在接收到第一操作指令时,将多个预设控制字写入到所述数据缓冲器中的第一数据队列;其中,所述第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数;

基于所述第一数据队列的数据,向所述数据缓冲器中的第三数据队列的对应位置写入数据;

按照预设时序,通过所述数据缓冲器对所述第三数据队列的数据进行输出,得到第一终结阻抗信号。

在一些实施例中,在接收到第一操作指令时,所述方法还包括:将多个预设状态标识写入到所述数据缓冲器中的第二数据队列;其中,所述第二数据队列中的数据用于指示操作指令的不同执行阶段,且所述第一数据队列、所述第二数据队列和所述第三数据队列呈现并行状态且保持同步移动。

在一些实施例中,在接收到第一操作指令之后,所述方法还包括:判断是否接收到第二操作指令;其中,所述第二操作指令是指所述第一操作指令的下一操作指令,且所述第二操作指令产生于所述第一操作指令被执行结束之前;若接收到第二操作指令,则对所述第一数据队列和所述第二数据队列进行数据更新,并根据更新前的所述第二数据队列、更新后的所述第二数据队列和更新后的所述第一数据队列中的至少两者,向所述第三数据队列中的对应位置写入数据;其中,所述第二操作指令和所述第一操作指令为同一类型的操作指令。

在一些实施例中,所述对所述第一数据队列和所述第二数据队列进行数据更新,包括:在接收到所述第二操作指令时,从队列首位将所述多个预设控制字依序写入所述第一数据队列,得到更新后的所述第一数据队列;以及,从队列首位将所述多个预设状态标识依序写入所述第二数据队列,得到更新后的所述第二数据队列。

在一些实施例中,将更新前的所述第二数据队列中的数据称为第一标识数据,将更新后的所述第二数据队列中的数据称为第二标识数据,将更新后的所述第一数据队列中的数据称为第二控制数据;所述参数产生装置还包括状态机;所述根据更新前的所述第二数据队列、更新后的所述第二数据队列和更新后的所述第一数据队列,向所述第三数据队列中的对应位置写入数据,包括:若第二标识数据在写入所述第一数据队列时覆盖第一标识数据,则将所述第二标识数据、所述第二标识数据覆盖的第一标识数据和所述第二标识数据对应的所述第二控制数据输入至所述状态机;根据所述状态机的输出数据,确定目标控制数据;其中,所述状态机的输出数据指示在两个写指令被同时执行的情况下不同执行阶段对应的终结阻抗参数;将所述目标控制数据写入到所述第三数据队列的对应位置。

在一些实施例中,所述根据更新后的所述第一数据队列、更新前的所述第二数据队列和更新后的所述第二数据队列,向所述第三数据队列中的对应位置写入数据,还包括:若第二标识数据在写入第二数据队列时未覆盖所述第一标识数据,则将所述第二标识数据对应的所述第二控制数据确定为所述目标控制数据;将所述目标控制数据写入到所述第三数据队列的对应位置。

在一些实施例中,所述数据缓冲器为先入先出FIFO数据缓冲器,且所述FIFO数据缓冲器包括读指针,所述读指针固定指向队列首位;所述通过所述数据缓冲器对所述第三数据队列的数据进行输出,得到第一终结阻抗信号,包括:通过所述数据缓冲器,根据所述读指针的位置将所述第三数据队列中的一个数据进行输出,并将所述第三数据队列中的其他数据向队列首位移动一位。

在一些实施例中,在根据所述读指针的位置将所述第三数据队列中的数据进行输出的过程中,所述方法还包括:通过所述数据缓冲器,根据所述读指针的位置将所述第一数据队列中的一个数据进行输出或者删除,并将所述第一数据队列中的其他数据向队列首位移动一位;以及,根据所述读指针的位置将所述第二数据队列中的一个数据进行输出或者删除,并将所述第二数据队列中的其他数据向队列首位移动一位,以使得所述第一数据队列、所述第二数据队列和所述第三数据队列保持同步移动。

在一些实施例中,所述FIFO数据缓冲器还包括写指针,所述写指针在初始位置时指向队列首位;所述方法还包括:每向所述第一数据队列写入一个数据,将所述写指针向队列末尾的方向移动一位;每输出所述第三数据队列的一个数据,将所述写指针向队列首位的方向移动一位。

在一些实施例中,所述方法还包括:在接收到所述第一操作指令或者所述第二操作指令时,控制所述写指针指向所述第一数据队列的队列首位。

在一些实施例中,所述第一操作指令和所述第二操作指令的类型为写指令或者为读指令,所述第三数据队列中的每一数据具有多位,且所述第三数据队列中的每一数据至少包括以下的其中一项:命令地址信号的终结阻抗参数、时钟信号的终结阻抗参数、片选信号的终结阻抗参数和数据掩码信号的终结阻抗参数;预设状态标识指示一个时钟周期对应的工作阶段;预设控制字包括一位数据;其中,所述预设控制字为第一值或第二值,所述第一值指示终结状态,所述第二值指示高阻态或中间缓冲状态;或者,所述预设控制字包括多位数据,且所述预设控制字为为第一组合值、第二组合值和第三组合值,所述第一组合值指示终结状态,所述第二组合值指示高阻态,所述第三组合值指示中间缓冲状态。

在一些实施例中,所述方法还包括:在所述第三数据队列中的一个数据被输出后,向所述第三数据队列的队列末位写入预设数据,所述预设数据指示高阻态。

第二方面,本公开实施例提供了一种测试系统,所述测试系统包括:

指令产生装置,用于输出多个操作指令;

参数产生装置,包括数据缓冲器,用于接收所述多个操作指令,并根据所述多个操作指令,利用所述数据缓冲器输出第一终结阻抗信号;

待检测电路,用于接收所述多个操作指令,并根据所述多个操作指令,输出第二终结阻抗信号;

其中,所述第一终结阻抗信号用于验证所述第二终结阻抗信号是否正确。

在一些实施例中,所述参数产生装置,还用于在接收到第一操作指令时,将多个预设控制字写入到所述数据缓冲器中的第一数据队列;其中,所述第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数;基于所述第一数据队列的数据,向所述数据缓冲器中的第三数据队列的对应位置写入数据;按照预设时序,通过所述数据缓冲器对所述第三数据队列的数据进行输出,得到所述第一终结阻抗信号。

在一些实施例中,所述参数产生装置,还用于在接收到第一操作指令时,将多个预设状态标识写入到所述数据缓冲器中的第二数据队列;其中,所述第二数据队列中的数据用于指示操作指令的不同执行阶段;以及,判断是否接收到第二操作指令;若接收到第二操作指令,则对所述第二数据队列和所述第一数据队列进行数据更新,并根据更新前的所述第二数据队列、更新后的所述第二数据队列和更新后的所述第一数据队列中的至少两者,向所述第三数据队列中的对应位置写入数据;其中,所述第一操作指令是指所述多个操作指令中的任意一个指令,所述第二操作指令是指所述第一操作指令的下一操作指令,且所述第二操作指令产生于所述第一操作指令被执行结束之前,所述第一数据队列、所述第二数据队列和所述第三数据队列呈现并行状态且保持同步移动。

本公开实施例提供了一种终结阻抗参数的产生方法和测试系统,该方法包括:在接收到第一操作指令时,将多个预设控制字写入到数据缓冲器中的第一数据队列;其中,第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数;基于第一数据队列的数据,向数据缓冲器中的第三数据队列的对应位置写入数据;按照预设时序,通过数据缓冲器对第三数据队列的数据进行输出,得到第一终结阻抗信号。这样,利用终结阻抗参数的产生方法,能够根据工作场景实时输出第一终结阻抗信号,作为终结阻抗信号测试的验证数据,降低测试的复杂性,提高测试效率。

附图说明

图1为一种半导体存储器的工作时序示意图;

图2为另一种半导体存储器的工作时序示意图;

图3为本公开实施例提供的一种参数产生装置的结构示意图;

图4为本公开实施例提供的一种数据缓冲器的工作过程示意图;

图5为本公开实施例提供的一种终结阻抗参数的产生方法的流程示意图;

图6为本公开实施例提供的另一种数据缓冲器的工作过程示意图;

图7为本公开实施例提供的一种数据缓冲器的数据队列示意图;

图8为本公开实施例提供的另一种数据缓冲器的数据队列示意图;

图9为本公开实施例提供的一种测试系统的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。需要指出,本公开实施例所涉及的术语“第一第二第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。

在半导体存储器中,终结阻抗信号用于控制片上终端电阻的阻抗,以适配不同的工作场景。具体来说,在数据写入(Write)和数据读取(Read)的过程中,均可能涉及利用终结阻抗信号来控制相应的片上终端电阻。

以数据写入为例,参见图1,其示出了一种半导体存储器的工作时序示意图。参见图2,其示出了另一种半导体存储器的工作时序示意图。在图1和图2中,T0、T1……用于标识不同的时钟周期,CK_c和CK_t是一对相位差为180度的时钟信号,CS为片选信号,CA为命令地址信号,COMMAND指示操作指令,DQS_c和DQS_t是一对相位差为180度的数据采样信号,DQ为数据信号。另外,由于不同厂商生产的半导体存储器存在一定差异性,因此该图1示出了两种可能的DQS_c、DQS_t和DQ变化,即情况一和情况二。图1和图2均是行业标准文件SPEC固定的标准时序,其中各信号的含义、相关变化的原理以及未经提及的部分名词缩写均可参照行业标准文件SPEC进行理解,且与本公开实施例的技术方案无关,不会影响技术人员对本公开实施例的理解,因此不作解释。

在图1和图2中,终结阻抗信号的取值表示为DRAM RTT,可以分为三种类型,即高阻态ODT Hi-Z、终结状态ODT On和中间缓冲状态Transition。其中,高阻态ODT Hi-Z指示片上终端电阻断开;终结状态ODT On指示片上终端电阻接通,其具体阻抗值由其他参数进行定义;中间缓冲状态Transition主要用于适应不同半导体存储器的差异性,即片上终端电阻从断开到接通或者从接通到断开均可。

图1为标准单Write指令的执行时序示意图。如图1所示,单Write指令的执行过程共占据T0~Ta21的时钟周期。终结阻抗信号的变化过程可以分为几个阶段:ODT LON阶段、ODTLoff阶段、tODTon Max阶段、tODTon Min阶段、tODToff Max阶段、tODToff Min阶段。tODTon Min用于指示终结阻抗的由高阻抗状态转为开启,tODTon Max用于指示终结阻抗完全开启,tODToff Min用于指示终结阻抗转为关闭,tODTon Max用于指示终结阻抗完全关闭为高阻态,ODTLon和ODTLoff均是同步参数,ODTLon是指写操作指令(或者写掩码操作指令)与tODTon之间的延迟,ODTLoff是指写操作指令(或者写掩码操作指令)与tODTon之间的延迟tODTon之间的延迟。

也就是说,如图1所示,在接收到写指令Write-1之后,终结阻抗信号存在固定的状态翻转时序,具体参见DRAM RTT的变化情况。如图2所示,如果在未完成写指令Write-1之前又接收到了Write-2,那么终结阻抗信号的翻转状态会产生一定的变化,即处于ODT On的时间会延长,具体的延长机制可以参见行业标准文件SPEC的定义。

然而,如图1和图2所示,终结阻抗信号的真值在不同的情况下存在相应的变化,导致很难确定统一且固定的真值表用于终结阻抗信号的测试,测试过程复杂且难度较高。

基于此,本公开实施例提供了一种终结阻抗参数的产生方法,该方法包括:在接收到第一操作指令时,将多个预设控制字写入到数据缓冲器中的第一数据队列;其中,第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数;基于第一数据队列的数据,向数据缓冲器中的第三数据队列的对应位置写入数据;按照预设时序,通过数据缓冲器对第三数据队列的数据进行输出,得到第一终结阻抗信号。这样,利用终结阻抗参数的产生方法,能够根据工作场景实时输出第一终结阻抗信号,作为终结阻抗信号测试的验证数据,降低测试的复杂性,提高测试效率。

下面将结合附图对本公开各实施例进行详细说明。

在本公开的一实施例中,参见图3,其示出了本公开实施例提供的一种参数产生装置10的结构示意图。如图3所示,该参数产生装置10至少可以包括数据缓冲器101。

在这里,数据缓冲器101又可称为先入先出(First in first out,Fifo)数据缓存器,具有读指针和写指针,分别用于指示读出数据的位置和写入数据的位置,以按照固定顺序读出数据或者写入数据。

如图4所示,其示出了本公开实施例提供的一种数据缓冲器101的工作过程示意图。如图4所示,数据缓冲器101包括多个数据队列(例如图4中的数据队列1、数据数列2……),读指针固定指示队列首位,写指针是可动的,且在每次读出一个数据后,多个数据队列中的所有数据与写指针一起向队列首位移动一位;在向队列中写入一个新数据的情况下,写指针向队列末位移动一位。除此之外,针对某些特殊情况写指针的变化情况还具有其他可能,请参见后续描述。

基于前述的参数产生装置10,参见图5,其示出了本公开实施例提供的一种终结阻抗参数的产生方法的流程示意图。如图5所示,该方法可以包括:

S201:在接收到第一操作指令时,将多个预设控制字写入到数据缓冲器中的第一数据队列。

在这里,第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数。

S202:基于第一数据队列的数据,向数据缓冲器中的第三数据队列的对应位置写入数据。

S203:按照预设时序,通过数据缓冲器对第三数据队列的数据进行输出,得到第一终结阻抗信号。

需要说明的是,本公开实施例提供的终结阻抗参数的产生方法应用于终结阻抗信号的测试过程,即第一终结阻抗信号用于验证待检测电路输出的第二终结阻抗信号是否正确。具体来说,第一操作指令是同时发给数据缓冲器和待检测电路的,对于数据缓冲器101来说,在接收到第一操作指令后,按照预设时序对应进行输出得到第一终结阻抗信号,即终结阻抗信号的真值;对于待检测电路来说,在接收到第一操作指令后,由待检测电路仿真输出第二终结阻抗信号。这样,如果第一终结阻抗信号和第二终结阻抗信号不同,说明待检测电路存在错误,完成终结阻抗信号的相关测试工作。

在本公开实施例中,数据缓冲器101中至少存在第一数据队列和第三数据队列。其中,第一数据队列包括多个预设控制字,用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数。第三数据队列的数据作为第一终结阻抗信号进行输出。

需要说明的是,步骤S201和步骤S202可以是同时执行的。也就是说,在接收到第一操作指令之后,基于多个预设控制字,分别向第一数据队列和第三数据队列写入数据。

在一些实施例中,在接收到第一操作指令时,该方法还可以包括:

将多个预设状态标识写入到在数据缓冲器中的第二数据队列;其中,第二数据队列中的数据用于指示操作指令的不同执行阶段,且第一数据队列、第二数据队列和第三数据队列呈现并行状态且保持同步移动。

参见图6,其示出了本公开实施例提供的另一种数据缓冲器101的工作过程示意图。如图6所示,数据缓冲器101中存在第二数据队列、第一数据队列和第三数据队列。其中,(1)第二数据队列用于存储预设状态标识,预设状态标识指示一个操作指令从发出到完成的时钟周期中对应的不同时序阶段,例如state0、state1……(2)第一数据队列用于存储预设控制字(在图5中用flag进行统一表示)。(3)第三数据队列用于存储终结阻抗信号的理论真值(在图5中用RTT进行统一表示),以便输出为第一终结阻抗信号。

在一种具体的实施例中,预设控制字包括一位数据;其中,预设控制字为第一值或第二值,第一值指示终结状态ODT On,第二值指示高阻态ODT Hi-Z或中间缓冲状态Transition。或者,在另一种具体的实施例中,预设控制字包括多位数据,且预设控制字为第一组合值、第二组合值和第三组合值,第一组合值指示终结状态ODT On,第二组合值指示高阻态ODT Hi-Z,第三组合值指示中间缓冲状态Transition。

需要说明的是,在电子设备中,多个不同的半导体存储器共用一套命令信号线Command Bus,用于传输命令地址信号CA、时钟信号CK、片选信号CS等等。为了避免反射噪声,需要利用片上终端电阻对命令地址信号CA、时钟信号CK、片选信号CS进行终结,而终结阻抗信号用于控制片上终端电阻的具体阻抗,以适应不同的工作场景。

相应的,在图6中,第三数据队列中的每一数据具有多位,且第三数据队列中的每一数据至少包括以下的其中一项:命令地址信号CA的终结阻抗参数、时钟信号CK的终结阻抗参数、片选信号CS的终结阻抗参数和数据掩码信号DQMS的终结阻抗参数。也就是说,在图6中,数据缓冲器101的数据宽度需要根据实际应用场景进行确定。

以第一操作指令为写指令为例,示例性的提供一种预设状态标识的具体定义方法。

请参考图1,将单Write指令的标准时序中的多个状态段(即ODTLon段、ODTLoff阶段、tODTon Max阶段、tODTon Min阶段、tODToff Max阶段、tODToff Min阶段)和关键时间点(Ta2、Ta3、Ta18、Ta20)进行编码。其中,状态段编码包括:T0~T3;T3~Ta1;Ta1~Ta2;Ta2~Ta4;Ta4~Ta17;Ta17~Ta18;Ta18~Ta20。关键时间点编码包括:Ta2,Ta4,Ta18,Ta20在这里,属于同一状态段的不同时钟周期可以共享同一个预设状态标识。特别地,如图1所示,T4与Ta0之间存在省略标记符号,说明T4与Ta0之间可能存在其他的时钟周期,为了方便,此处仅认为T4与Ta0之间为一个时钟周期。

表1

基于表1,在接收到第一操作指令(以Write为例)后,第一数据队列、第二数据队列和第三数据队列可以如图7所示。特别地,在图7中,第三数据队列的数据均以RTT进行指代,并未示出其具体取值。请注意,第三数据队列中的每一数据(RTT)实际上可以包括CA的终结阻抗参数、CS的终结阻抗参数、CK的终结阻抗参数等。

需要说明的是,以上写指令的状态分段编码方法仅仅是一种示例,但并不构成相关限制,比如,写指令的状态分段编码方法还可以为:(1)T0~Ta2,预设状态标识取state0,预设控制字取ODT Hi-Z;(2)Ta2~Ta4,预设状态标识取state1,预设控制字取Transition;(3)Ta4~Ta18,预设状态标识取state2,预设控制字取ODT On。

在一些实施例中,在接收到第一操作指令之后,该方法还可以包括:

判断是否接收到第二操作指令;其中,第二操作指令是指第一操作指令的下一操作指令,且第二操作指令产生于第一操作指令被执行结束之前;

若接收到第二操作指令,则对第一数据队列和第二数据队列进行数据更新,并根据更新前的第二数据队列、更新后的第二数据队列和更新后的第一数据队列中的至少两者,向第三数据队列中的对应位置写入数据。

需要说明的是,第二操作指令和第一操作指令为同一类型的操作指令,即第二操作指令和第一操作指令均为读指令或者写指令。

如果在第一操作指令还没有结束之前接收到了第二操作指令,此时终结阻抗信号的合法时序会产生相应的变化。因此,在参数产生装置10接收到第二操作指令后,需要对第一数据队列、第二数据队列进行更新,进而重新确定第三数据队列中的数据,以便数据缓冲器101输出的第一终结阻抗信号始终为终结阻抗信号的合法值,能够适应于不同的工作场景。

应理解,第一数据队列/第二数据队列/第三数据队列的长度至少应当大于操作指令的执行阶段的总数,且一般需要额外设置冗余区域以防止数据溢出。如图6所示,数据缓冲器101的数据深度包括标准区域和冗余区域两部分,标准区域是指操作指令的执行阶段,冗余区域用于防止数据溢出,一般可以补入预设数据如高阻态ODT Hi-Z。冗余区域的长度可以根据实际应用场景进行限定。

在前述说明中,在接收到第二操作指令的情况下,第三数据队列中的数据是根据更新前的第二数据队列、更新后的第二数据队列和更新后的第一数据队列确定的。除此之外,第三数据队列中的数据可以是根据更新前的第一数据队列、更新后的第一数据队列、更新前的第二数据队列和更新后的第二数据队列确定的;或者,第三数据队列中的数据也可以是根据更新前的第一数据队列、更新后的第一数据队列和更新后的第二数据队列确定的;或者,在又一些情况下,第三数据队列中的数据可以是根据更新前的第二数据队列和更新后的第二数据队列确定的。即,第三数据队列中的数据是可以是根据更新前后的第一数据队列和更新前后的第二数据队列的至少两者确定的。

在一些实施例中,所述对第一数据队列和第二数据队列进行数据更新,可以包括:

在接收到第二操作指令时,从队列首位将多个预设控制字依序写入第一数据队列,得到更新后的第一数据队列;以及,从队列首位将多个预设状态标识依序写入第二数据队列,得到更新后的第二数据队列。

需要说明的是,在第一操作指令和第二操作指令均为写指令的情况下,请参考图2,假设在接收到第一操作指令后的第8个时钟周期再次接收到第二操作指令,则以T7~T8为起始点,利用多个预设控制字和多个预设状态标识更新第一数据队列和第二数据队列。

应理解,在数据缓冲器101中,随着时钟周期的变化,第一数据队列/第二数据队列/第三数据队列也在不停的向前移动。换句话说,在接收到第二操作指令时,第一数据队列的队伍首位和第二数据队列的队伍首位均与T7~T8对应,从而直接将多个预设控制字依序覆盖写入到第一数据队列中,将多个预设状态标识依序覆盖写入到第二数据队列中,具体如图8所示。

为了方便说明,将更新前的第二数据队列中的数据称为第一标识数据,将更新后的第二数据队列中的数据称为第二标识数据,将更新后的第一数据队列中的数据称为第二控制数据。

相应的,在一些实施例中,参数产生装置10还包括状态机(图4中未示出)。所述根据更新前的第二数据队列、更新后的第二数据队列和更新后的第一数据队列,向第三数据队列中的对应位置写入数据,包括:

若第二标识数据在写入第一数据队列时覆盖第一标识数据,则将第二标识数据、第二标识数据覆盖的第一标识数据和第二标识数据对应的第二控制数据输入至状态机;根据状态机的输出数据,确定目标控制数据;其中,状态机的输出数据指示在两个写指令被同时执行的情况下不同执行阶段对应的终结阻抗参数;将目标控制数据写入到第三数据队列的对应位置。

需要说明的是,状态机是根据行业标准文件SPEC中对于两个操作指令被同时执行时终结阻抗信号的时序规则设定的。

结合图7和表1所示,对于接收到第一操作指令后的第8个时钟周期Ta2~Ta3,由于未接收到第二操作指令,第三数据队列的数据仅需要根据第一数据队列的数据确定,即Transition;如图8所示,对于接收到第一操作指令后的第8个时钟周期T7~T8,由于接收到第二操作指令,第一数据队列中的Transition被ODT Hi-Z(第二控制数据)覆盖,第二数据队列中的state4(第一标识数据)被state0(第二标识数据)覆盖,此时第一标识数据state4、第二标识数据state0、第二控制数据ODT Hi-Z中的至少两者将共同被送入状态机,得到目标控制数据RTT,并将目标控制数据ODT Hi-Z写入到第三数据队列中。

在一些实施例中,所述根据更新前的第二数据队列、更新后的第二数据队列和更新后的第一数据队列中的至少两者,向第三数据队列中的对应位置写入数据,包括:

若第二标识数据在写入第二数据队列时未覆盖所述第一标识数据,则将所述第二标识数据对应的所述第二控制数据确定为所述目标控制数据;将所述目标控制数据写入到所述第三数据队列的对应位置。

也就是说,在第一操作指令和第二操作指令的非重叠部分,第一终结阻抗信号是根据第一数据队列的数据确定出来的;在第一操作指令和第二操作指令重叠的部分,第一终结阻抗信号是由第一数据队列的原数据、第一数据队列的新数据和第二数据队列的新数据中的至少两者确定出来的。这样,通过参数产生装置能够产生终结阻抗信号在不同工作场景下的真值,以便验证待测试电路输出的第二终结阻抗信号是否正确。

还需要说明的是,在实际应用场景中,数据的覆盖与否并不容易判断,所以在接收到第二操作指令后,可以直接将第一标识数据、第二标识数据、第二控制数据中的至少两者直接送入状态机,从而获得目标控制数据。

在一些实施例中,如图4所示,数据缓冲器101为先入先出FIFO数据缓冲器,且FIFO数据缓冲器包括读指针,读指针固定指向队列首位;所述通过数据缓冲器对第三数据队列的数据进行输出,得到第一终结阻抗信号,可以包括:

通过数据缓冲器101,根据读指针的位置将第三数据队列中的一个数据进行输出,并将第三数据队列中的其他数据向队列首位移动一位。

在一些实施例中,在根据读指针的位置将第三数据队列中的数据进行输出的过程中,该方法还可以包括:

通过数据缓冲器101,根据读指针的位置将第一数据队列中的一个数据进行输出或者删除,并将第一数据队列中的其他数据向队列首位移动一位;以及,根据读指针的位置将第二数据队列中的一个数据进行输出或者删除,并将第二数据队列中的其他数据向队列首位移动一位,以使得第一数据队列、第二数据队列和第三数据队列保持同步移动。

这样,在数据缓冲器101中,读指针固定指向(第一数据队列/第二数据队列/第三数据队列)的队列首位,在输出一个数据后,第一数据队列/第二数据队列/第三数据队列将整体向队列首位移动一位。应理解,参数产生装置10仅需要第三数据队列中的数据,但是第一数据队列、第二数据队列需要和第三数据队列保持同步移动,所以在输出第三数据队列的数据时,第一数据队列和第二数据队列的数据可以删除或者输出。

在一些实施例中,如图4所示,FIFO数据缓冲器还包括写指针,写指针在初始位置时指向队列首位;该方法还可以包括:每向第一数据队列写入一个数据,将写指针向队列末尾的方向移动一位;每输出第三数据队列的一个数据,将写指针向队列首位的方向移动一位。

在一些实施例中,该方法还可以包括:在接收到所述第一操作指令或者所述第二操作指令时,控制所述写指针指向所述第一数据队列的队列首位。

这样,在接收到任何操作指令的时候,写指针被强制的置为队列首位,从而实现从队列首位的覆盖写入。

在一些实施例中,如图7或者图8所示,在第三数据队列中的一个数据被输出后,向第三数据队列的队列末位写入预设数据,预设数据指示高阻态。即冗余区域可以补入高阻态ODT Hi-Z对应的RTT。

本公开实施例提供了一种终结阻抗参数的产生方法,该方法包括:在接收到第一操作指令时,将多个预设控制字写入到数据缓冲器中的第一数据队列;其中,第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数;基于第一数据队列的数据,向数据缓冲器中的第三数据队列的对应位置写入数据;按照预设时序,通过数据缓冲器对第三数据队列的数据进行输出,得到第一终结阻抗信号;其中,第一终结阻抗信号用于验证待检测电路输出的第二终结阻抗信号是否正确。这样,利用终结阻抗参数的产生方法,能够根据工作场景实时输出第一终结阻抗信号,以便验证待检测电路是否能够输出正确的第二终结阻抗信号,降低了终结阻抗信号测试的复杂性,提高测试效率。

在本公开的一些实施例中,参见图9,其示出了本公开实施例提供的一种测试系统30的结构示意图。如图9所示,该测试系统30可以包括:

指令产生装置301,用于输出多个操作指令;

参数产生装置10,包括数据缓冲器101,用于接收多个操作指令,并根据多个操作指令,利用数据缓冲器输出第一终结阻抗信号;

待检测电路302,用于接收多个操作指令,并根据多个操作指令,输出第二终结阻抗信号;其中,第一终结阻抗信号用于验证第二终结阻抗信号是否正确。

这样,基于指令产生装置301输出的操作指令,参数产生装置10能够实时输出第一终结阻抗信号,以便验证待检测电路302输出的第二终结阻抗信号是否正确,降低了终结阻抗信号测试的复杂性,提高测试效率。

在一些实施例中,参数产生装置10,还用于在接收到第一操作指令时,将多个预设控制字写入到数据缓冲器101中的第一数据队列;其中,第一数据队列的数据用于指示在操作指令被执行的情况下不同执行阶段对应的终结阻抗参数;基于第一数据队列的数据,向数据缓冲器101中的第三数据队列的对应位置写入数据;按照预设时序,通过数据缓冲器101对第三数据队列的数据进行输出,得到第一终结阻抗信号。

在一些实施例中,参数产生装置10,还用于在接收到第一操作指令时,将多个预设状态标识写入到数据缓冲器101中的第二数据队列;其中,第二数据队列中的数据用于指示操作指令的不同执行阶段;以及,判断是否接收到第二操作指令;若接收到第二操作指令,则对第二数据队列和第一数据队列进行数据更新,并根据更新前的第二数据队列、更新后的第二数据队列和更新后的第一数据队列中的至少两者,向第三数据队列中的对应位置写入数据;其中,第一操作指令是指多个操作指令中的任意一个指令,第二操作指令是指第一操作指令的下一操作指令,且第二操作指令产生于第一操作指令被执行结束之前,第一数据队列、第二数据队列和第三数据队列呈现并行状态且保持同步移动。

具体来说,数据缓冲器101中存储有三类数据:(1)标准单Write(或者Read)指令的标准时序图分段标识,即第二数据队列中的预设状态标识;(2)指示是否启用片上终端电阻的控制字,即第一数据队列中的预设控制字;(3)终结阻抗信号的真值,即第三数据队列中的数据。

每调用一次Write(或者Read)指令均会调用数据缓冲器,向数据缓冲器中写入多个预设控制字和多个预设状态标识,建立第一数据队列和第二数据队列,进而生成终结阻抗信号的真值队列(即第三数据队列);如果在第一Write(或者Read)指令未执行结束之前接收到新的Write指令,将自动调整写指针的起始位置,再次写入多个预设控制字和多个预设状态标识,新的预设控制字和新的预设状态标识会自动覆盖原来的预设控制字和原来的预设状态标识,根据原来的预设控制字、新的预设控制字和新的预设状态标识,根据SPEC的定义通过状态机确定是否启用片上终端电阻(即终结阻抗信号的真值),存入第三数据队列。这样,根据合法时序,将数据缓冲器的101第三数据队列进行输出,就得到了第一终结阻抗信号,用于验证待检测电路302输出的第二终结阻抗信号是否正确。

本公开实施例提供了一种测试系统,该测试系统包括指令产生装置,用于输出多个操作指令;参数产生装置,包括数据缓冲器,用于接收所述多个操作指令,并根所述多个操作指令,利用所述数据缓冲器输出第一终结阻抗信号;待检测电路,用于接收所述多个操作指令,并根据所述多个操作指令,输出第二终结阻抗信号;其中,所述第一终结阻抗信号用于验证所述第二终结阻抗信号是否正确,降低了终结阻抗信号测试的复杂性,提高测试效率。

本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。本公开所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本公开所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

相关技术
  • 用于独立地调谐裸片上终结阻抗和输出驱动阻抗的方法和设备,以及相关的半导体装置和系统
  • 一种多通道阻抗测试控制系统及多通道阻抗测试系统
技术分类

06120116498977