CN111366834B - 信号延时控制方法及装置、测试系统 - Google Patents
信号延时控制方法及装置、测试系统 Download PDFInfo
- Publication number
- CN111366834B CN111366834B CN202010042255.XA CN202010042255A CN111366834B CN 111366834 B CN111366834 B CN 111366834B CN 202010042255 A CN202010042255 A CN 202010042255A CN 111366834 B CN111366834 B CN 111366834B
- Authority
- CN
- China
- Prior art keywords
- delay
- delay value
- signal
- value
- initial
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2882—Testing timing characteristics
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
Abstract
一种信号延时控制方法及装置、测试系统。该信号延时控制方法包括:获取第一初始延时值,并且根据第一初始延时值进行调制,得到第一绝对延时值;从测试平台获取第一时钟信号以及第一输入信号;将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号;基于第一延时时钟信号和第一延时输入信号,向待测试装置提供激励信号。该方法可以为待测试装置提供测试所需的激励信号(例如延时时钟信号和延时输入信号),便于在功能验证(即前仿真)阶段引入延时信息,可以提高验证效率。
Description
技术领域
本公开的实施例涉及一种信号延时控制方法及装置、测试系统。
背景技术
集成电路(Integrated Circuit,IC)是一种微型电子器件或部件。通过一定的工艺,把电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,并制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管芯内,从而成为具有所需电路功能的微型结构。集成电路中所有元件在结构上已组成一个整体,使得电子元件向着微小型化、低功耗、智能化和高可靠性方面迈进了一大步。
发明内容
本公开至少一个实施例提供了一种信号延时控制方法,包括:获取第一初始延时值,并且根据所述第一初始延时值进行调制,得到第一绝对延时值;从测试平台获取第一时钟信号以及第一输入信号;将所述第一时钟信号延时所述第一绝对延时值以得到第一延时时钟信号,将所述第一输入信号延时所述第一绝对延时值以得到第一延时输入信号;以及基于所述第一延时时钟信号和所述第一延时输入信号,向待测试装置提供激励信号。
例如,本公开至少一个实施例提供的一种信号延时控制方法,还包括:获得延时周期数量、调制参数、第一延时值及第二延时值。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,所述调制参数包括时间精度。
例如,本公开至少一个实施例提供的一种信号延时控制方法,还包括:根据所述第一延时值、所述第二延时值以及所述延时周期数量获得调制精度。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,获取所述第一初始延时值,并且根据所述第一初始延时值进行调制,得到所述第一绝对延时值,包括:根据随机算法或预设值设定目标延时值,并设定延时调制范围;基于所述目标延时值和所述延时调制范围,根据所述第一初始延时值得到所述第一绝对延时值;其中,所述目标延时值处于所述延时调制范围内。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,基于所述目标延时值和所述延时调制范围,根据所述第一初始延时值得到所述第一绝对延时值,包括:将所述第一初始延时值作为所述第一绝对延时值;判断所述第一初始延时值是否处于所述延时调制范围内;当所述第一初始延时值处于所述延时调制范围内时,将所述目标延时值作为所述第一绝对延时值;当所述第一初始延时值未处于所述延时调制范围内时,将所述调制精度作为步长,根据所述步长改变所述第一初始延时值以得到第三延时值,将所述第三延时值作为所述第一绝对延时值,直至所述第三延时值处于所述延时调制范围内;当所述第三延时值处于所述延时调制范围内时,将所述目标延时值作为所述第一绝对延时值。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,将所述调制精度作为所述步长,根据所述步长改变所述第一初始延时值以得到所述第三延时值,将所述第三延时值作为所述第一绝对延时值,直至所述第三延时值处于所述延时调制范围内,包括:比较所述第一初始延时值与所述目标延时值;当所述第一初始延时值小于所述目标延时值时,每隔一个所述时间精度的时间,将所述第一初始延时值增加一个所述步长以得到所述第三延时值,直至所述第三延时值处于所述延时调制范围内;当所述第一初始延时值大于所述目标延时值时,每隔一个所述时间精度的时间,将所述第一初始延时值减小一个所述步长以得到所述第三延时值,直至所述第三延时值处于所述延时调制范围内。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,所述调制参数还包括调制使能与调制暂停。
例如,本公开至少一个实施例提供的一种信号延时控制方法,还包括:获得调制方向。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,基于所述目标延时值和所述延时调制范围,根据所述第一初始延时值得到所述第一绝对延时值,包括:响应于所述调制使能,对所述第一初始延时值进行调制;将所述第一初始延时值作为所述第一绝对延时值;判断所述第一初始延时值是否处于所述延时调制范围内;当所述第一初始延时值未处于所述延时调制范围内时,将所述调制精度作为步长,根据所述步长改变所述第一初始延时值以得到第四延时值,将所述第四延时值作为所述第一绝对延时值,直至所述第四延时值处于所述延时调制范围内,将处于所述延时调制范围内的所述第四延时值作为第三初始延时值;当所述第一初始延时值处于所述延时调制范围内时,将所述第一初始延时值作为所述第三初始延时值;根据所述调制方向,每隔一个所述时间精度的时间,将所述第三初始延时值增加或减少一个所述步长以得到第五延时值,将所述第五延时值作为所述第一绝对延时值;其中,多个所述第五延时值均处于所述延时调制范围。
例如,本公开至少一个实施例提供的一种信号延时控制方法,还包括:响应于所述调制暂停,停止对所述第一初始延时值的调制。
例如,在本公开至少一个实施例提供的一种信号延时控制方法中,基于所述第一延时时钟信号和所述第一延时输入信号,向所述待测试装置提供所述激励信号,包括:获取延时循环;当延时循环为偶数时,将所述第一延时时钟信号作为第二延时时钟信号;当延时循环为奇数时,将所述第一延时时钟信号反相,得到所述第二延时时钟信号;根据所述延时循环在所述第一延时输入信号上插入一个或多个激励周期,以得到第二延时输入信号;以及将所述第二延时时钟信号和所述第二延时输入信号作为所述激励信号提供给所述待测试装置;其中,所述激励周期为第二延时时钟周期的1/2。
例如,本公开至少一个实施例提供的一种信号延时控制方法,还包括:获取第二初始延时值,并且根据所述第二初始延时值进行调制,得到第二绝对延时值;从所述测试平台获取第二时钟信号及第二输入信号,其中,所述第一时钟信号与所述第二时钟信号来自不同的两个时钟域,所述第一输入信号与所述第二输入信号来自不同的两个时钟域;将所述第二时钟信号延时所述第二绝对延时值以得到第三延时时钟信号,将所述第二输入信号延时所述第二绝对延时值以得到第三延时输入信号;以及将所述第三延时时钟信号和所述第三延时输入信号作为所述激励信号提供给所述待测试装置。
本公开至少一个实施例还提供了一种信号延时控制装置,包括:绝对延时值确定单元,配置为获取第一初始延时值,并且根据所述第一初始延时值进行调制,得到第一绝对延时值;信号获取单元,配置为从测试平台获取第一时钟信号以及第一输入信号;延时插入单元,配置为将所述第一时钟信号延时所述第一绝对延时值以得到第一延时时钟信号,将所述第一输入信号延时所述第一绝对延时值以得到第一延时输入信号;以及延时提供单元,配置为基于所述第一延时时钟信号和所述第一延时输入信号,向待测试装置提供激励信号。
本公开至少一个实施例还提供了一种测试系统,包括:测试平台;一个或多个上述信号延时控制装置。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开一实施例提供的一种信号延时控制方法的流程图;
图2为本公开另一实施例提供的一种信号延时控制方法的流程图;
图3为本公开一实施例提供的一种信号延时控制方法的信号时序图;
图4为本公开又一实施例提供的一种信号延时控制方法的流程图;
图5为本公开又一实施例提供的一种信号延时控制方法的流程图;
图6为本公开又一实施例提供的一种信号延时控制方法的流程图;
图7为本公开一实施例提供的一种信号延时控制装置的示意框图;
图8为本公开一实施例提供的一种测试系统的示意框图;以及
图9为本公开另一实施例提供的一种测试系统的示意框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同。
信号时序很大程度上决定了集成电路(Integrated Circuit,IC)的性能。IC中时钟信号与输入信号的传输是有延时的,可以通过控制时钟信号与输入信号使两者的延时相等,从而使时钟信号与输入信号在延时后仍具有对应的时序关系。然而,信号延时受到电路制造工艺、温度、电源噪声等诸多因素的影响,具有很大的不确定性,无法完全消除。该信号延时会使IC的信号时序发生变化,进而会对IC的性能产生不利影响。随着IC的复杂度不断提升,集成系统中的时钟数目不断增加,集成系统的数据吞吐量不断增大,集成系统内各信号的延时分布也变得愈发复杂。一旦集成系统内不同时钟域中的信号延时不同,集成系统内各时钟域的信号时序发生改变,有可能导致IC无法正确实现其设计功能。为了确保IC能够正确实现其设计功能,需要对IC中信号延时的情况进行仿真,验证不同的信号时序对IC产生的影响。
通常的IC仿真验证包括功能验证(即前仿真)与时序验证(即后仿真)两类,功能验证对IC的设计功能进行验证,时序通常被默认为理想情况,不包含延迟信息;时序验证利用标准延时文件(Standard delay file,SDF)记录IC布局布线过程中的器件延时和线延时,通过对SDF反标对信号产生延时的情况进行仿真。但是,时序验证效率低,执行时间长,往往无法对所有功能验证的测试用例进行时序验证。另外,由于时序验证一般开展于IC仿真验证的中后期,一旦发现问题,如果无法通过工程变更命令(Engineering Change Order,ECO)进行修改,就会增加流片时间,导致项目成本上升。
本公开至少一实施例提供了一种信号延时控制方法。该方法包括:获取第一初始延时值,并且根据第一初始延时值进行调制,得到第一绝对延时值;从测试平台获取第一时钟信号以及第一输入信号;将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号;以及,基于第一延时时钟信号和第一延时输入信号,向待测试装置提供激励信号。该方法可以为待测试装置提供测试所需的激励信号(例如延时时钟信号和延时输入信号),便于在功能验证(即前仿真)阶段引入延时信息,可以提高验证效率。
本公开至少一实施例还提供了一种信号延时控制装置和测试系统。
本公开至少一实施例提供了一种信号延时控制方法,图1为本公开一实施例提供的一种信号延时控制方法的流程图。
如图1所示,该方法包括步骤S110~步骤S140。
步骤S110:获取第一初始延时值,并且根据第一初始延时值进行调制,得到第一绝对延时值。
例如,在一些示例中,第一初始延时值可根据随机算法或预设值获取,第一绝对延时值可以与第一初始延时值相同,也可以与第一初始延时值不同。例如,第一绝对延时值和第一初始延时值均为表示时间的参数,例如单位为微秒、毫秒、纳秒等。步骤S110的示例将在图2至图5中进行详细描述。
步骤S120:从测试平台获取第一时钟信号以及第一输入信号。
例如,在一些示例中,第一时钟信号为具有周期性的脉冲信号,例如,50%占空比的方波信号。当然,本公开的实施例不限于此,第一时钟信号还可以为三角波信号、正弦波信号等任意适用的时钟信号,第一时钟信号的占空比也可以为任意数值,例如20%、80%等,这可以根据实际需求而定。例如,测试平台可以为仿真环境中的信号产生模块,例如为testbench,该testbench可以在ModelSim、Matlab、Simulink等仿真平台中实现。
例如,在一些示例中,测试平台还提供第一初始延时值,步骤S110可从测试平台中获取第一初始延时值。
步骤S130:将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号。
在本示例中,第一时钟信号以及第一输入信号具有相对应的时序关系,第一时钟信号以及第一输入信号被延时第一绝对延时值后,第一延时时钟信号与第一延时输入信号仍然具有相对应的时序关系。
步骤S140:基于第一延时时钟信号和第一延时输入信号,向待测试装置(Deviceunder Test,DUT)提供激励信号。
例如,在一些示例中,可以将第一延时时钟信号和第一延时输入信号作为激励信号直接提供给待测试装置。
例如,在一些示例中,待测试装置可以是功能模块、处理单元等,可以实现为IC等形式,例如实现为现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程阵列逻辑(Programmable Array Logic,PAL)、通用逻辑阵列(Generic Array Logic,GAL)等。本公开的实施例对待测试装置的具体类型不做限制。例如,待测试装置中储存有程序,结合提供给待测试装置的第一延时时钟信号和第一延时输入信号,通过运行该程序可以实现预期的功能。
例如,在一些示例中,待测试装置可以包括一个或多个时钟域(例如2个以上),也即是,待测试装置所需要的时钟信号为一个或多个。
在本示例中,由测试平台提供的第一时钟信号与第一输入信号为待测试装置中某一时钟域的理想(无延时)时钟信号与理想(无延时)输入信号。第一延时时钟信号与第一延时输入信号被提供至待测试装置中的该时钟域。
例如,在一些示例中,可以通过ModelSim、Matlab、Simulink等仿真平台实现该信号延时控制方法。
根据本公开的实施例提供的信号延时控制方法可为待测试装置提供测试所需的第一延时时钟信号和第一延时输入信号,第一延时时钟信号和第一延时输入信号具有对应的时序关系,第一延时时钟信号和第一延时输入信号含有延时信息,基于第一延时时钟信号和第一延时输入信号可以对待测试装置的功能进行验证。该方法可用于功能验证(即前仿真)阶段,若在该信号时序下待测试装置无法正确完成其设计功能,可以直接修改寄存器传输级(Register Transfer Level,RTL)代码完善IC设计,或通过ECO对IC设计进行修改,提高了验证效率,进而缩短了开发周期,降低了成本。
图2为本公开另一实施例提供的一种信号延时控制方法的流程图。如图2所示,该方法包括步骤S210~步骤S290。
步骤S210:获得第一初始延时值。
例如,在一些示例中,第一初始延时值可根据随机算法或预设值获取,可由测试平台提供。例如,随机算法可采用通常的用于引入随机性的算法,预设值可以根据实际需求设置,本公开的实施例对此不作限制。
步骤S220:从测试平台获取第一时钟信号以及第一输入信号。
例如,在一些示例中,第一时钟信号为具有周期性的脉冲信号。
在本示例中,第一时钟信号例如为50%占空比的方波信号。
步骤S230:获得延时周期数量、调制参数、第一延时值及第二延时值。
例如,在一些示例中,第一延时值与第二延时值不同,且第一延时值小于第二延时值。
在本示例中,第一延时值为信号的最小延时值,第二延时值为信号的最大延时值,由第一延时值与第二延时值(即最小延时值与最大延时值)可确定信号延时值的变化区间。例如,最小延时值与最大延时值可根据IC电路设计预估获取。
例如,在一些示例中,在每个延时周期中对第一初始延时值进行一次延时调制,根据第一初始延时值调制得到第一绝对延时值的过程可由一个或多个延时周期完成。
在本示例中,延时周期数量代表调制过程经历的延时周期的数量,延时周期数量为大于等于1的正整数,可以动态改变,可由测试平台提供。
例如,在一些示例中,调制参数包括时间精度,时间精度为每个延时周期的时长,可动态改变,可由测试平台提供。
例如,在一些示例中,对第一初始延时值进行调制的周期为振荡周期,每个振荡周期包括一个或多个延时周期,每个延时周期的时长为时间精度。振荡周期可由如下公式计算获得:
Oscperiod=Moinverval×delayperiod
其中,Oscperiod为振荡周期,Moinverval为时间精度,delayperiod为延时周期数量。
例如,在一些示例中,调制参数还包括调制使能(Enable)与调制暂停,该方法响应调制使能开始对第一初始延时值进行调制,响应于调制暂停停止对第一初始延时值进行调制。
步骤S240:根据第一延时值、第二延时值以及延时周期数量获得调制精度。
例如,在一些示例中,调制精度为每个延时周期中对第一初始延时值进行一次延时调制改变的步长,调制精度可根据第一延时值、第二延时值以及延时周期数量获取,调制精度的计算公式如下:
例如,在一些示例中,可利用向上、向下、四舍五入等取整逻辑对STEP取整,使得STEP为大于或等于1正整数。
其中,STEP为调制精度,delaymin为第一延时值(即最小延时值),delaymax为第二延时值(即最大延时值),delayperiod为延时周期数量。
步骤S250:根据第一初始延时值进行调制,得到第一绝对延时值。
在本示例中,步骤S250包括步骤S251与步骤S252。
步骤S251:根据随机算法或预设值设定目标延时值,并设定延时调制范围。
例如,在一些示例中,目标延时值处于由第一延时值与第二延时值(即最小延时值与最大延时值)确定的延时区间内,可根据随机算法或预设值获取。目标延时值同时处于延时调制范围内。目标延时值与延时调制范围可由测试平台提供。
步骤S252:基于目标延时值和延时调制范围,根据第一初始延时值得到第一绝对延时值。
例如,在一些示例中,当第一初始延时值处于延时调制范围内时,将第一初始延时值作为第一绝对延时值。
例如,在一些示例中,当第一初始延时值未处于延时调制范围内时,在每个延时周期中基于调制精度对第一初始延时值进行调制,得到第三延时值,直至第三延时值处于延时调制范围内,将处于延时调制范围内的第三延时值作为第一绝对延时值。
步骤S260:将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号。
例如,在一些示例中,第一延时时钟信号相比于第一时钟信号有所延迟,且延迟的时间等于第一绝对延时值。类似地,第一输入延时信号相比于第一输入信号有所延迟,且延迟的时间等于第一绝对延时值。
例如,在一些示例中,可先对每一时刻的第一时钟信号与第一输入信号进行判断。若某一时刻第一时钟信号与第一输入信号有变化,则获取当前时刻的第一绝对延时值,将第一时钟信号与第一输入信号延时当前时刻的第一绝对延时值;若某一时刻第一时钟信号与第一输入信号无变化,则不需获取当前时刻的第一绝对延时值,保持之前的延时。
步骤S270:获取延时循环,得到第二延时时钟信号和第二延时输入信号。
例如,在一些示例中,延时循环为振荡周期的循环次数,延时循环为大于或等于1的正整数,可以改变,可由测试平台提供。
例如,在一些示例中,在第一延时时钟信号和第一延时输入信号上插入的激励周期的数量为大于或等于0的正整数,可以改变,可由测试平台提供。
例如,在一些示例中,若激励周期数量为0,将第一延时时钟信号作为第二延时时钟信号,将第一延时输入信号作为第二延时输入信号。
例如,在一些示例中,当延时循环为偶数时,将第一延时时钟信号作为第二延时时钟信号;当延时循环为奇数时,将第一延时时钟信号取反,得到第二延时时钟信号。
在本示例中,在第一延时输入信号上插入一个或多个激励周期,得到第二延时输入信号。
在本示例中,激励周期为第二延时时钟周期的1/2,第二延时时钟周期为第二延时时钟信号的周期。
步骤S280:将第二延时时钟信号和第二延时输入信号作为激励信号提供给待测试装置。
在本示例中,由测试平台提供的第一时钟信号与第一输入信号为待测试装置中某一时钟域的理想(无延时)时钟信号与理想(无延时)输入信号。第二延时时钟信号与第二延时输入信号被提供至待测试装置中的该时钟域。
根据本公开的实施例提供的信号延时控制方法可用于功能验证(即前仿真)阶段,调制过程执行时间短,调制范围可控。
以下参考图3所示信号时序图来说明图2所示的信号延时控制方法的工作原理,在图3中共示出三组信号,也即第一组信号a、第二组信号b和第三组信号c,详细过程说明如下。
在第一组信号a中,第一时钟信号In_CLK与第一输入信号In_I具有对应的时序关系,第一时钟信号In_CLK为50%占空比的方波信号。
第一时钟信号In_CLK与第一输入信号In_I被延时第一绝对延时值D1,得到第二组信号b,也即得到第一延时时钟信号D_CLK1与第一延时输入信号D_I1。例如,第一延时时钟信号D_CLK1与第一延时输入信号D_I1的时序关系与第一时钟信号In_CLK与第一输入信号In_I的时序关系相同。
在本示例中,延时循环为3,当延时循环为奇数时,对第一延时时钟信号D_CLK1取反得到第二延时时钟信号D_CLK2。插入的激励周期的数量为3,在第一延时输入信号D_I1上插入3个激励周期(即1.5个第二延时时钟周期)D2,得到第三组信号c,也即得到第二延时时钟信号D_CLK2和第二延时输入信号In_I2。例如,第二延时时钟信号D_CLK2和第二延时输入信号In_I2的时序关系与第一延时时钟信号D_CLK1与第一延时输入信号D_I1的时序关系相同,并且与第一时钟信号In_CLK与第一输入信号In_I的时序关系相同。
图4为本公开另一实施例提供的一种信号延时控制方法的流程图。如图4所示,该方法包括步骤S301~步骤S318。
步骤S301:获得第一初始延时值。
例如,在一些示例中,第一初始延时值可根据随机算法或预设值获取,可由测试平台提供。
步骤S302:将第一初始延时值作为第一绝对延时值。
步骤S303:从测试平台获取第一时钟信号以及第一输入信号。
例如,在一些示例中,第一时钟信号为具有周期性的脉冲信号。
在本示例中,第一时钟信号为50%占空比的方波信号。
步骤S304:获得延时周期数量、调制参数、第一延时值及第二延时值。
例如,在一些示例中,第一延时值与第二延时值不同,且第一延时值小于第二延时值。
在本示例中,第一延时值为信号的最小延时值,第二延时值为信号的最大延时值,由第一延时值与第二延时值(即最小延时值与最大延时值)可确定信号延时值的变化区间。最小延时值与最大延时值可根据IC电路设计预估获取。
例如,在一些示例中,每个延时周期中对第一初始延时值进行一次延时调制,根据第一初始延时值调制得到第一绝对延时值的过程可由一个或多个延时周期完成。
在本示例中,延时周期数量代表调制过程经历的延时周期的数量,延时周期数量为大于或等于1的正整数,可以改变,可由测试平台提供。
在本示例中,调制参数包括时间精度,时间精度为对第一初始延时值进行每一次延时调制的时间间隔(即,每个延时周期的时长),可动态改变,可由测试平台提供。
步骤S305:根据第一延时值、第二延时值以及延时周期数量获得调制精度。
例如,在一些示例中,调制精度为每个延时周期中对第一初始延时值进行一次延时调制改变的步长,调制精度可根据第一延时值、第二延时值以及延时周期数量获取,调制精度的计算公式如下:
例如,在一些示例中,可利用向上、向下、四舍五入等取整逻辑对STEP取整,使得STEP为大于或等于1正整数。
其中,STEP为调制精度,delaymin为第一延时值(即最小延时值),delaymax为第二延时值(即最大延时值),delayperiod为延时周期数量。
步骤S306:设定目标延时值和延时调制范围。
例如,在一些示例中,目标延时值处于由第一延时值与第二延时值(即最小延时值与最大延时值)确定的延时区间内,可根据随机算法或预设值获取。目标延时值同时处于延时调制范围内。目标延时值与延时调制范围可由测试平台提供。
在本示例中,延时调制范围的下限等于目标延时值减少一个调制精度,延时调制范围的上限等于目标延时值增加一个调制精度确定,也即是,延时调制范围可表示为:
Delaytarget-STEP≤Delayrange≤Delaytarget+STEP
其中,Delaytarget为目标延时值,STEP为调制精度,Delayrange为延时调制范围。
步骤S307:判断第一初始延时值是否处于延时调制范围内。
在本示例中,若在步骤S307中得到第一初始延时值处于延时调制范围内,则进入步骤S308。
若在步骤S307中得到第一初始延时值未处于延时调制范围内,则进入步骤S309。
步骤S308:将目标延时值作为第一绝对延时值。
在本示例中,若第一初始延时值处于延时调制范围内,则在此后的每一个延时周期(即每隔一个时间精度)都将目标延时值作为第一绝对延时值。
步骤S309:比较第一初始延时值与目标延时值。
在本示例中,若在步骤S309中得到第一初始延时值大于目标延时值,则进入步骤S310。
若在步骤S309中得到第一初始延时值小于目标延时值,则进入步骤S312。
步骤S310:将调制精度作为步长,每隔一个时间精度的时间,将第一初始延时值减小一个步长,以得到第三延时值,并将第三延时值作为第一绝对延时值。
步骤S311:判断第三延时值是否处于延时调制范围内。
在本示例中,若在步骤S311中得到第三延时值处于延时调制范围内,则进入步骤S314。
若在步骤S311中得到第三延时值未处于延时调制范围内,则将第三延时值作为第一初始延时值,返回至步骤S310。
步骤S312:将调制精度作为步长,每隔一个所述时间精度的时间,将第一初始延时值增加一个步长,以得到第三延时值,并将第三延时值作为第一绝对延时值。
步骤S313:判断第三延时值是否处于延时调制范围内。
在本示例中,若在步骤S313中得到第三延时值处于延时调制范围内,则进入步骤S314。
若在步骤S313中得到第三延时值未处于延时调制范围内,则将第三延时值作为第一初始延时值,返回至步骤S312。
步骤S314:将第三延时值作为第一绝对延时值。
在本示例中,每隔一个时间精度的时间得到一个第三延时值,将第三延时值作为第一绝对延时值,直至第三延时值处于延时调制范围内,则进入步骤S315。
步骤S315:将目标延时值作为第一绝对延时值。
在本示例中,若第三延时值处于延时调制范围内,则在此后的每一个延时周期(即每隔一个时间精度)都将目标延时值作为第一绝对延时值。
步骤S316:将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号。
在本示例中,根据测试系统运行时间不同,第一绝对延时值在不同时刻可以为第一初始延时值、第三延时值或目标延时值。
在本示例中,第一时钟信号与第一输入信号具有相对应的时序关系,第一时钟信号以及第一输入信号被延时第一绝对延时值后,第一延时时钟信号与第一延时输入信号仍然具有相对应的时序关系。
在本示例中,将第一时钟信号与第一输入信号延时对应时刻的第一绝对延时值。例如,在时刻T1获取的第一绝对延时值为目标延时值,则将T1时刻下的第一时钟信号与第一输入信号延时目标延时值。
例如,在一些示例中,可先对每一时刻的第一时钟信号与第一输入信号进行判断。若某一时刻第一时钟信号与第一输入信号有变化,则获取当前时刻的第一绝对延时值,将第一时钟信号与第一输入信号延时当前时刻的第一绝对延时值;若某一时刻第一时钟信号与第一输入信号无变化,则无需获取当前时刻的第一绝对延时值,保持之前的延时。
步骤S317:获取延时循环,得到第二延时时钟信号和第二延时输入信号。
例如,在一些示例中,延时循环为振荡周期的循环次数,延时循环为大于或等于1的正整数,可以改变,可由测试平台提供。
例如,在一些示例中,在第一延时时钟信号和第一延时输入信号上插入的激励周期的数量为大于或等于0的正整数,可以改变,可由测试平台提供。
例如,在一些示例中,若激励周期数量为0,将第一延时时钟信号作为第二延时时钟信号,将第一延时输入信号作为第二延时输入信号。
例如,在一些示例中,当延时循环为偶数时,将第一延时时钟信号作为第二延时时钟信号;当延时循环为奇数时,将第一延时时钟信号取反,得到第二延时时钟信号。
在本示例中,在第一延时输入信号上插入一个或多个激励周期,得到第二延时输入信号。
在本示例中,激励周期为第二延时时钟周期的1/2,第二延时时钟周期为第二延时时钟信号的周期。
步骤S318:将第二延时时钟信号和第二延时输入信号作为激励信号提供给待测试装置。
在本示例中,由测试平台提供的第一时钟信号与第一输入信号为待测试装置中某一时钟域的理想(无延时)时钟信号与理想(无延时)输入信号。第二延时时钟信号与第二延时输入信号被提供至待测试装置中的该时钟域。
根据本公开的实施例提供的信号延时控制方法根据随机算法或预设值获取目标延时值,可得到随机的或在预设范围内的第一绝对延时值,进而可全面验证各种信号时序对电路的影响。该方法可用于功能验证(即前仿真)阶段,可在引入延时信息的基础上充分对所有前仿测试用例进行时序验证,提高时序验证效率。
图5为本公开另一实施例提供的一种信号延时控制方法的流程图。如图5所示,该方法包括步骤S401~步骤S421。
步骤S401:获得第一初始延时值。
例如,在一些示例中,第一初始延时值可根据随机算法或预设值获取,可由测试平台提供。
步骤S402:将第一初始延时值作为第一绝对延时值。
步骤S403:获得延时周期数量、调制参数、第一延时值及第二延时值。
例如,在一些示例中,第一延时值与第二延时值不同,且第一延时值小于第二延时值。
在本示例中,第一延时值为信号的最小延时值,第二延时值为信号的最大延时值,由第一延时值与第二延时值(即最小延时值与最大延时值)可确定信号延时值的变化区间。最小延时值与最大延时值可根据IC电路设计预估获取。
例如,在一些示例中,每个延时周期中对第一初始延时值进行一次延时调制,根据第一初始延时值调制得到第一绝对延时值的过程可由一个或多个延时周期完成。
在本示例中,延时周期数量代表调制过程经历的延时周期的数量,延时周期数量为大于或等于1的正整数,可以动态改变,可由测试平台提供。
在本示例中,调制参数包括时间精度、调制使能与调制暂停。时间精度为每个延时周期的时长,可动态改变,可由测试平台提供,该方法响应于调制使能开始对第一初始延时值进行调制,响应于调制暂停停止对第一初始延时值进行调制。
例如,在一些示例中,对第一初始延时值进行调制的周期为振荡周期,每个振荡周期包括一个或多个延时周期,每个延时周期的时长为时间精度。振荡周期可由如下公式计算获得:
Oscperiod=Moinverval×delayperiod
其中,Oscperiod为振荡周期,Moinverval为时间精度,delayperiod为延时周期数量。
步骤S404:根据第一延时值、第二延时值以及延时周期数量获得调制精度。
例如,在一些示例中,调制精度为每个延时周期中对第一初始延时值进行一次延时调制改变的步长,调制精度可根据第一延时值、第二延时值以及延时周期数量获取,调制精度的计算公式如下:
例如,在一些示例中,可利用向上、向下、四舍五入等取整逻辑对STEP取整,使得STEP为大于或等于1正整数。
其中,STEP为调制精度,delaymin为第一延时值(即最小延时值),delaymax为第二延时值(即最大延时值),delayperiod为延时周期数量。
步骤S405:设定目标延时值和延时调制范围。
例如,在一些示例中,目标延时值处于由第一延时值与第二延时值(即最小延时值与最大延时值)确定的延时区间内,可根据随机算法或预设值获取。目标延时值同时处于延时调制范围内。目标延时值与延时调制范围可由测试平台提供。
在本示例中,延时调制范围的下限等于最小延时值,延时调制范围的上限等于最大延时值,也即是,延时调制范围可表示为:
delaymin≤Delayrange≤delaymax
其中,delaymin为第一延时值(即最小延时值),delaymax为第二延时值(即最大延时值),STEP为调制精度,Delayrange为延时调制范围。
步骤S406:比较第一初始延时值与目标延时值,获得调制方向。
在本示例中,若在步骤S406中得到第一初始延时值小于目标延时值,则以正向(增加步长)为调制方向。
若在步骤S406中得到第一初始延时值大于目标延时值,则以负向(减少步长)为调制方向。
若在步骤S406中得到第一初始延时值等于目标延时值,则可随机获取调制方向,可由测试平台提供。
步骤S407:响应于调制使能,对第一初始延时值进行调制。
步骤S408:判断第一初始延时值是否处于延时调制范围内。
在本示例中,若在步骤S408中得到第一初始延时值处于延时调制范围内,则进入步骤S409。
若在步骤S408中得到第一初始延时值未处于延时调制范围内,则进入步骤S410。
步骤S409:将第一初始延时值作为第三初始延时值。
在本示例中,若第一初始延时值处于延时调制范围内,将第一初始延时值作为第三初始延时值,进入步骤S414。
步骤S410:比较第一初始延时值与目标延时值,将调制精度作为步长,根据步长改变第一初始延时值以得到第四延时值。
步骤S411:将第四延时值作为第一绝对延时值。
在本示例中,比较第一初始延时值与目标延时值,若得到第一初始延时值大于目标延时值,将调制精度作为步长,每隔一个时间精度的时间,将第一初始延时值减小一个步长,以得到对应时刻的第四延时值;若得到第一初始延时值小于目标延时值,将调制精度作为步长,每隔一个时间精度的时间,将第一初始延时值增加一个步长,以得对应时刻的到第四延时值。
在本示例中,将第四延时值作为第一绝对延时值。
步骤S412:判断第四延时值是否处于延时调制范围内。
在本示例中,若在步骤S412中得到第四延时值处于延时调制范围内,则进入步骤S411与S413。
若在步骤S412中得到第四延时值未处于延时调制范围内,则将第四延时值作为第一初始延时值,返回至步骤S410。
步骤S413:将第四延时值作为第三初始延时值。
在本示例中,第三初始延时值为处于延时调制范围内的第一初始延时值或由第一初始延时值调制至延时调制范围内的第四延时值。
步骤S414:根据调制方向,每隔一个时间精度的时间,将第三初始延时值增加或减少一个步长以得到第五延时值。
若调制方向为正向,每隔一个时间精度的时间,将第三初始延时值增加一个步长以得到第五延时值,当第五延时值大于delaymax-STEP,将调制方向反相为负向。
若调制方向为负向,每隔一个时间精度的时间,将第三初始延时值减少一个步长以得到第五延时值,当第五延时值小于delaymin+STEP,将调制方向反相为正向。
步骤S415:将第五延时值作为第一绝对延时值。
步骤S416:停止对第三初始延时值的调制。
例如,在一些示例中,当完成延时周期数量设定的延时调制次数后,停止对第三初始延时值的调制。
在本示例中,该方法响应于调制暂停停止对第三初始延时值的调制。在停止对第三初始延时值的调制的过程中,可以改变延时周期数量、延时循环等变量。
在停止对第三初始延时值的调制的过程中,将停止调制前得到的最后一个第五延时值作为第一绝对延时值,即,在停止对第三初始延时值的调制的过程中,每隔延时周期(即每隔一个时间精度)都将停止调制前得到的最后一个第五延时值作为第一绝对延时值。
步骤S417:响应于停止调制暂停,继续对第三初始延时值进行调制,得到第一绝对延时值。
在本示例中,若停止调制暂停,可继续对第三初始延时值进行调制,得到第一绝对延时值。
步骤S418:从测试平台获取第一时钟信号以及第一输入信号。
例如,在一些示例中,第一时钟信号为具有周期性的脉冲信号。
在本示例中,第一时钟信号为50%占空比的方波信号。
步骤S419:将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号。
在本示例中,根据测试系统运行时间不同,第一绝对延时值在不同时刻可以为第一初始延时值、第四延时值或第五延时值。
在本示例中,将第一时钟信号与第一输入信号延时对应时刻的第一绝对延时值。例如,在时刻T1获取的第一绝对延时值为第五延时值,则将T1时刻下的第一时钟信号与第一输入信号延时第五延时值。
步骤S420:获取延时循环,得到第二延时时钟信号和第二延时输入信号。
例如,在一些示例中,延时循环为振荡周期的循环次数,延时循环为大于或等于1的正整数,可以改变,可由测试平台提供。
例如,在一些示例中,在第一延时时钟信号和第一延时输入信号上插入的激励周期的数量为大于或等于0的正整数,可以改变,可由测试平台提供。
例如,在一些示例中,若激励周期数量为0,将第一延时时钟信号作为第二延时时钟信号,将第一延时输入信号作为第二延时输入信号。
例如,在一些示例中,当延时循环为偶数时,将第一延时时钟信号作为第二延时时钟信号;当延时循环为奇数时,将第一延时时钟信号取反,得到第二延时时钟信号。
在本示例中,在第一延时输入信号上插入一个或多个激励周期,得到第二延时输入信号。
在本示例中,激励周期为第二延时时钟周期的1/2,第二延时时钟周期为第二延时时钟信号的周期。
步骤S420:将第二延时时钟信号和第二延时输入信号作为激励信号提供给待测试装置。
在本示例中,由测试平台提供的第一时钟信号与第一输入信号为待测试装置中某一时钟域的理想(无延时)时钟信号与理想(无延时)输入信号。第二延时时钟信号与第二延时输入信号被提供至待测试装置中的该时钟域。
根据本公开的实施例提供的信号延时控制方法可用于功能验证(即前仿真)阶段,可充分对所有前仿测试用例进行时序验证,提高时序验证效率。
图6为本公开另一实施例提供的一种信号延时控制方法的流程图。如图6所示,该方法包括步骤S510~步骤S540。
步骤S510:获取第一初始延时值及第二初始延时值,并且根据第一初始延时值及第二初始延时值,得到第一绝对延时值和第二绝对延时值。
例如,在一些示例中,第一初始延时值与第二初始延时值可根据随机算法或预设值获取。可根据上述任一实施例提供的调制方法对第一初始延时值与第二初始延时值分别进行调制,从而得到第一绝对延时值和第二绝对延时值。
步骤S520:从测试平台获取第一时钟信号、第一输入信号、第二时钟信号以及第二输入信号。
例如,在一些示例中,第一时钟信号为具有周期性的脉冲信号,例如,50%占空比的方波信号。例如,第二时钟信号也为具有周期性的脉冲信号,第二时钟信号的波形和占空比可以与第一时钟信号相同或不同。
在本示例中,第一时钟信号以及第一输入信号具有相对应的时序关系,第二时钟信号以及第二输入信号具有相对应的时序关系,第一时钟信号及第一输入信号的时序关系与第二时钟信号及第二输入信号的时序关系可以相同,也可以不同。
步骤S530:将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号;将第二时钟信号延时第二绝对延时值以得到第三延时时钟信号,将第二输入信号延时第二绝对延时值以得到第三延时输入信号。
步骤S540:将第一延时时钟信号、第一延时输入信号、第三延时时钟信号和第三延时输入信号作为激励信号提供给待测试装置。
例如,在一些示例中,待测试装置可以是IC,例如FPGA、PAL、GAL等。本公开的实施例对待测试装置的具体类型不做限制。
例如,在一些示例中,待测试装置可以包括一个或多个时钟域(例如2个以上)。
例如,在本示例中,待测试装置可以包括至少2个时钟域,该方法为待测试装置中的2个时钟域提供延时时钟信号与延时输入信号。测试平台提供的第一时钟信号与第一输入信号为待测试装置中一时钟域的理想(无延时)时钟信号与理想(无延时)输入信号,第一延时时钟信号与第一延时输入信号被提供至待测试装置中的该时钟域。由测试平台提供的第二时钟信号与第二输入信号为待测试装置中另一时钟域的理想(无延时)时钟信号与理想(无延时)输入信号,第二延时时钟信号与第二延时输入信号被提供至待测试装置中的该时钟域。
例如,在一些示例中,可以对两个时钟域的信号进行相关调制,也即,使第一延时时钟信号与第二延时时钟信号的相位差固定,且使第一延时输入信号与第二延时输入信号的相位差固定。当然,本公开的实施例不限于此,也可以对两个时钟域的信号进行非相关调制,也即,使两个时钟域的信号的相位差随时间变化。又例如,该两个时钟域彼此独立,即不具有相关性。
根据本公开的实施例提供的信号延时控制方法可用于包括多个时钟域的待测试装置的跨时钟域信号时序验证。在其他示例中,该信号延时控制方法可用于待测试装置中的多个时钟域,而不限于两个时钟域,例如,可以对待测试装置中的3个、4个或5个时钟域的信号时序进行验证。
图7为本公开一实施例提供的一种信号延时控制装置的示意框图。
如图7所示,信号延时控制装置10包括绝对延时确定单元110、信号获取单元120、延时插入单元130及延时提供单元140。绝对延时值确定单元110与延时插入单元130信号连接,被配置为获取第一初始延时值,并且根据第一初始延时值进行调制,得到第一绝对延时值,从而将第一绝对延时值提供至延时插入单元130。信号获取单元120与延时插入单元130信号连接,被配置为从测试平台获取第一时钟信号以及第一输入信号,并将第一时钟信号以及第一输入信号提供至延时插入单元130。延时插入单元130与延时提供单元140信号连接,被配置为将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号。延时提供单元140被配置为从延时插入单元130中获取第一延时时钟信号与第一延时输入信号,并基于第一延时时钟信号与第一延时输入信号,向待测试装置提供激励信号。需要说明的是,上述“信号连接”可以指物理上的信号连接,也可以指逻辑上(程序上)的信号连接,本公开的实施例对此不作限制。
例如,在一些示例中,待测试装置可以是IC,例如FPGA、PAL、GAL等。本公开的实施例对待测试装置的具体类型不做限制。
例如,在一些示例中,待测试装置可以包括一个或多个时钟域(例如2个以上)。
例如,在一些示例中,测试平台可以为仿真环境中的信号产生模块,例如为testbench,该testbench可以在ModelSim、Matlab、Simulink等仿真平台中实现。测试平台被配置为向信号获取单元120提供第一时钟信号、第一输入信号、延时周期数量、调制参数、第一延时值、第二延时值与调制方向等。
需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该信号延时控制装置10的全部组成单元。为实现信号延时控制装置10的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。例如,该信号延时控制装置10中的各个单元可用于实现上述信号延时控制方法中的各个步骤,该信号延时控制装置10中的各个单元可以利用ModelSim、Matlab、Simulink等仿真平台实现。该信号延时控制装置10的技术效果和详细说明可参考上文中关于信号延时控制方法的描述,此处不再赘述。
图8为本公开一实施例提供的一种测试系统的示意框图。
如图8所示,该测试系统包括测试平台20和上述实施例提供的信号延时控制装置10。测试平台20与信号延时控制装置10信号连接,被配置为向信号延时控制装置10提供第一时钟信号、第一输入信号、延迟周期、调制参数、第一延时值、第二延时值与调制方向等。信号延时控制装置10接收第一时钟信号、第一输入信号、延时周期数量、调制参数、第一延时值、第二延时值、调制方向与第一初始延时值,根据第一初始延时值进行调制,得到第一绝对延时值,将第一时钟信号延时第一绝对延时值以得到第一延时时钟信号,将第一输入信号延时第一绝对延时值以得到第一延时输入信号,并基于第一延时时钟信号和第一延时输入信号向待测试装置提供激励信号。例如,可以直接将第一延时时钟信号和第一延时输入信号作为激励信号提供给待测试装置。
例如,在一些示例中,测试平台20可以为仿真环境中的信号产生模块,例如为testbench,该testbench可以在ModelSim、Matlab、Simulink等仿真平台中实现。
例如,在一些示例中,待测试装置可以是IC,例如FPGA、PAL、GAL等。本公开的实施例对待测试装置的具体类型不做限制。
例如,在一些示例中,待测试装置可以包括一个或多个时钟域(例如2个以上)。
例如,在一些示例中,测试系统还包括用于控制信号延时控制装置10的控制单元,该控制单元例如可以为仿真环境中实现的控制选项,该控制选项可以接收用户的输入以处于开启或关闭的状态。当控制选项开启时,信号延时控制装置10开启,对第一时钟信号和第一输入信号进行延时处理后,将第一延时时钟信号和第一延时输入信号提供至待测试装置;当控制选项关闭时,信号延时控制装置10关闭,信号延时控制装置10不对第一时钟信号和第一输入信号进行延时处理,而直接将第一时钟信号与第一输入信号提供至待测试装置。
图9为本公开另一实施例提供的一种测试系统的示意框图。
如图9所示,该测试系统包括测试平台30、信号延时控制装置A1、信号延时控制装置A2、信号延时控制装置B1及信号延时控制装置B2。测试平台30与信号延时控制装置A1、信号延时控制装置A2、信号延时控制装置B1及信号延时控制装置B2信号连接,被配置为向信号延时控制装置A1提供第一时钟信号CLK1与第一输入信号I1,向信号延时控制装置A2提供第一时钟信号CLK1与第二输入信号I2,向信号延时控制装置B1提供第二时钟信号CLK2与第三输入信号I3,向信号延时控制装置B2提供第二时钟信号CLK2与第四输入信号I4。信号延时控制装置A1获取第一初始延时值Del1,根据Del1进行调制,得到第一绝对延时值,将CLK1与I1延时第一绝对延时值,得到第一延时时钟信号DCLK1-1和第一延时输入信号DI1,信号延时控制装置A2获取第二初始延时值Del2,根据Del2进行调制,得到第二绝对延时值,将CLK1与I2延时第二绝对延时值,得到第二延时时钟信号DCLK1-2和第二延时输入信号DI2,将DCLK1-1和DI1、DCLK1-2和DI2提供至待测试装置的时钟域A。信号延时控制装置B1获取第三初始延时值Del3,根据Del3进行调制,得到第三绝对延时值,将CLK2与I3延时第三绝对延时值,得到第三延时时钟信号DCLK2-1和第三延时输入信号DI3,信号延时控制装置B2获取第四初始延时值Del4,根据Del4进行调制,得到第四绝对延时值,将CLK2与I4延时第四绝对延时值,得到第四延时时钟信号DCLK2-2和第四延时输入信号DI4,将DCLK2-1和DI3、DCLK2-2和DI4提供至待测试装置的时钟域B。
例如,第一初始延时值Del1、第二初始延时值Del2、第三初始延时值Del3、第四初始延时值Del4可以相同,也可以不同,本公开的实施例对此不作限制。
例如,在一些示例中,测试平台30可以为仿真环境中的信号产生模块,例如为testbench,该testbench可以在ModelSim、Matlab、Simulink等仿真平台中实现。
例如,在一些示例中,待测试装置可以是IC,例如FPGA、PAL、GAL等。本公开的实施例对待测试装置的具体类型不做限制。
在本示例中,待测试装置包括2个时钟域,即A时钟域与B时钟域。在其他示例中,该测试系统可用于待测试装置中的多个时钟域,不限于2个时钟域,例如,对待测试装置中的3个、4个或5个时钟域的信号时序进行延时处理。
在本示例中,用2个信号延时控制装置对同一个时钟域的信号进行延时控制。在其他示例中,也可用一个或多个(例如,1个、3个、4个)信号延时控制装置对同一个时钟域的信号进行延时控制,这可以根据实际需求而定。
例如,在一些示例中,信号延时控制装置A1与信号延时控制装置A2的调制精度与调制周期相同,则信号延时控制装置A1与信号延时控制装置A2对接收到的时钟信号与输入信号进行相关调制,使得第一延时时钟信号DCLK1-1与第二延时时钟信号DCLK1-2保持固定的相位差。
例如,在一些示例中,信号延时控制装置A1与信号延时控制装置A2的调制精度与调制周期不同,则信号延时控制装置A1与信号延时控制装置A2对接收到的时钟信号与输入信号进行非相关调制,使得第一延时时钟信号DCLK1-1与第二延时时钟信号DCLK1-2的相位差随时间变化。
例如,在一些示例中,信号延时控制装置B1与信号延时控制装置B2的调制精度与调制周期相同,则信号延时控制装置B1与信号延时控制装置B2对接收到的时钟信号与输入信号进行相关调制,使得第三延时时钟信号DCLK2-1与第四延时时钟信号DCLK2-2保持固定的相位差。
例如,在一些示例中,信号延时控制装置B1与信号延时控制装置B2的调制精度与调制周期不同,则信号延时控制装置B1与信号延时控制装置B2对接收到的时钟信号与输入信号进行非相关调制,使得第三延时时钟信号DCLK2-1与第四延时时钟信号DCLK2-2的相位差随时间变化。
该测试系统的技术效果和详细说明可参考上文中关于信号延时控制方法和信号延时控制装置的描述,此处不再赘述。
需要说明的是,测试系统可基于上述任意一种信号延时控制方法实现,并不限于利用上述信号延时控制装置。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种信号延时控制方法,包括:
获取第一初始延时值,并且根据所述第一初始延时值进行调制,得到第一绝对延时值;
从测试平台获取第一时钟信号以及第一输入信号,所述第一时钟信号以及所述第一输入信号具有相对应的时序关系;
将所述第一时钟信号延时所述第一绝对延时值以得到第一延时时钟信号,将所述第一输入信号延时所述第一绝对延时值以得到第一延时输入信号,所述第一延时时钟信号以及所述第一延时输入信号具有所述相对应的时序关系;以及
基于所述第一延时时钟信号和所述第一延时输入信号,向待测试装置提供激励信号。
2.根据权利要求1所述的信号延时控制方法,还包括:
获得延时周期数量、调制参数、第一延时值及第二延时值。
3.根据权利要求2所述的信号延时控制方法,其中,所述调制参数包括时间精度。
4.根据权利要求3所述的信号延时控制方法,还包括:
根据所述第一延时值、所述第二延时值以及所述延时周期数量获得调制精度。
5.根据权利要求4所述的信号延时控制方法,其中,获取所述第一初始延时值,并且根据所述第一初始延时值进行调制,得到所述第一绝对延时值,包括:
根据随机算法或预设值设定目标延时值,并设定延时调制范围;
基于所述目标延时值和所述延时调制范围,根据所述第一初始延时值得到所述第一绝对延时值;
其中,所述目标延时值处于所述延时调制范围内。
6.根据权利要求5所述的信号延时控制方法,其中,基于所述目标延时值和所述延时调制范围,根据所述第一初始延时值得到所述第一绝对延时值,包括:
将所述第一初始延时值作为所述第一绝对延时值;
判断所述第一初始延时值是否处于所述延时调制范围内;
当所述第一初始延时值处于所述延时调制范围内时,将所述目标延时值作为所述第一绝对延时值;
当所述第一初始延时值未处于所述延时调制范围内时,将所述调制精度作为步长,根据所述步长改变所述第一初始延时值以得到第三延时值,将所述第三延时值作为所述第一绝对延时值,直至所述第三延时值处于所述延时调制范围内;
当所述第三延时值处于所述延时调制范围内时,将所述目标延时值作为所述第一绝对延时值。
7.根据权利要求6所述的信号延时控制方法,其中,将所述调制精度作为所述步长,根据所述步长改变所述第一初始延时值以得到所述第三延时值,将所述第三延时值作为所述第一绝对延时值,直至所述第三延时值处于所述延时调制范围内,包括:
比较所述第一初始延时值与所述目标延时值;
当所述第一初始延时值小于所述目标延时值时,每隔一个所述时间精度的时间,将所述第一初始延时值增加一个所述步长以得到所述第三延时值,直至所述第三延时值处于所述延时调制范围内;
当所述第一初始延时值大于所述目标延时值时,每隔一个所述时间精度的时间,将所述第一初始延时值减小一个所述步长以得到所述第三延时值,直至所述第三延时值处于所述延时调制范围内。
8.根据权利要求5所述的信号延时控制方法,其中,所述调制参数还包括调制使能与调制暂停。
9.根据权利要求8所述的信号延时控制方法,还包括:获得调制方向。
10.根据权利要求9所述的信号延时控制方法,其中,基于所述目标延时值和所述延时调制范围,根据所述第一初始延时值得到所述第一绝对延时值,包括:
响应于所述调制使能,对所述第一初始延时值进行调制;
将所述第一初始延时值作为所述第一绝对延时值;
判断所述第一初始延时值是否处于所述延时调制范围内;
当所述第一初始延时值未处于所述延时调制范围内时,将所述调制精度作为步长,根据所述步长改变所述第一初始延时值以得到第四延时值,将所述第四延时值作为所述第一绝对延时值,直至所述第四延时值处于所述延时调制范围内,将处于所述延时调制范围内的所述第四延时值作为第三初始延时值;
当所述第一初始延时值处于所述延时调制范围内时,将所述第一初始延时值作为所述第三初始延时值;
根据所述调制方向,每隔一个所述时间精度的时间,将所述第三初始延时值增加或减少一个所述步长以得到第五延时值,将所述第五延时值作为所述第一绝对延时值;
其中,多个所述第五延时值均处于所述延时调制范围。
11.根据权利要求10所述的信号延时控制方法,还包括:
响应于所述调制暂停,停止对所述第一初始延时值的调制。
12.根据权利要求5所述的信号延时控制方法,其中,基于所述第一延时时钟信号和所述第一延时输入信号,向所述待测试装置提供所述激励信号,包括:
获取延时循环;
当延时循环为偶数时,将所述第一延时时钟信号作为第二延时时钟信号;
当延时循环为奇数时,将所述第一延时时钟信号反相,得到所述第二延时时钟信号;
根据所述延时循环在所述第一延时输入信号上插入一个或多个激励周期,以得到第二延时输入信号;以及
将所述第二延时时钟信号和所述第二延时输入信号作为所述激励信号提供给所述待测试装置;
其中,所述激励周期为第二延时时钟周期的1/2。
13.根据权利要求1-12任一所述的信号延时控制方法,还包括:
获取第二初始延时值,并且根据所述第二初始延时值进行调制,得到第二绝对延时值;
从所述测试平台获取第二时钟信号及第二输入信号,其中,所述第一时钟信号与所述第二时钟信号来自不同的两个时钟域,所述第一输入信号与所述第二输入信号来自所述不同的两个时钟域;
将所述第二时钟信号延时所述第二绝对延时值以得到第三延时时钟信号,将所述第二输入信号延时所述第二绝对延时值以得到第三延时输入信号;以及
将所述第三延时时钟信号和所述第三延时输入信号作为所述激励信号提供给所述待测试装置。
14.一种信号延时控制装置,包括:
绝对延时值确定单元,配置为获取第一初始延时值,并且根据所述第一初始延时值进行调制,得到第一绝对延时值;
信号获取单元,配置为从测试平台获取第一时钟信号以及第一输入信号,所述第一时钟信号以及所述第一输入信号具有相对应的时序关系;
延时插入单元,配置为将所述第一时钟信号延时所述第一绝对延时值以得到第一延时时钟信号,将所述第一输入信号延时所述第一绝对延时值以得到第一延时输入信号,所述第一延时时钟信号以及所述第一延时输入信号具有所述相对应的时序关系;以及
延时提供单元,配置为基于所述第一延时时钟信号和所述第一延时输入信号,向待测试装置提供激励信号。
15.一种测试系统,包括:
测试平台;
一个或多个如权利要求14所述的信号延时控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042255.XA CN111366834B (zh) | 2020-01-15 | 2020-01-15 | 信号延时控制方法及装置、测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042255.XA CN111366834B (zh) | 2020-01-15 | 2020-01-15 | 信号延时控制方法及装置、测试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111366834A CN111366834A (zh) | 2020-07-03 |
CN111366834B true CN111366834B (zh) | 2021-09-14 |
Family
ID=71209962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010042255.XA Active CN111366834B (zh) | 2020-01-15 | 2020-01-15 | 信号延时控制方法及装置、测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111366834B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880137B1 (en) * | 2001-08-03 | 2005-04-12 | Inovys | Dynamically reconfigurable precision signal delay test system for automatic test equipment |
CN101729240A (zh) * | 2009-11-13 | 2010-06-09 | 北京中创信测科技股份有限公司 | 一种实现时间同步的方法和装置 |
CN104199341A (zh) * | 2014-08-11 | 2014-12-10 | 福州瑞芯微电子有限公司 | 电路信号相位自适应系统、装置和方法 |
CN105159374A (zh) * | 2015-08-31 | 2015-12-16 | 东南大学 | 面向超宽电压的在线监测单元及监测窗口自适应调节系统 |
CN105842610A (zh) * | 2016-03-31 | 2016-08-10 | 复旦大学 | 基于tdc的fpga电路传输延迟测试系统和方法 |
CN105930241A (zh) * | 2016-05-05 | 2016-09-07 | 福州瑞芯微电子股份有限公司 | Emmc接口和nand接口的相位调整方法及装置 |
CN107171666A (zh) * | 2017-04-20 | 2017-09-15 | 南京德睿智芯电子科技有限公司 | 一种数模转换器的内部时钟时序矫正控制系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4893052B2 (ja) * | 2006-03-24 | 2012-03-07 | 日本電気株式会社 | レシーバ回路及びレシーバ回路試験方法 |
-
2020
- 2020-01-15 CN CN202010042255.XA patent/CN111366834B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880137B1 (en) * | 2001-08-03 | 2005-04-12 | Inovys | Dynamically reconfigurable precision signal delay test system for automatic test equipment |
CN101729240A (zh) * | 2009-11-13 | 2010-06-09 | 北京中创信测科技股份有限公司 | 一种实现时间同步的方法和装置 |
CN104199341A (zh) * | 2014-08-11 | 2014-12-10 | 福州瑞芯微电子有限公司 | 电路信号相位自适应系统、装置和方法 |
CN105159374A (zh) * | 2015-08-31 | 2015-12-16 | 东南大学 | 面向超宽电压的在线监测单元及监测窗口自适应调节系统 |
CN105842610A (zh) * | 2016-03-31 | 2016-08-10 | 复旦大学 | 基于tdc的fpga电路传输延迟测试系统和方法 |
CN105930241A (zh) * | 2016-05-05 | 2016-09-07 | 福州瑞芯微电子股份有限公司 | Emmc接口和nand接口的相位调整方法及装置 |
CN107171666A (zh) * | 2017-04-20 | 2017-09-15 | 南京德睿智芯电子科技有限公司 | 一种数模转换器的内部时钟时序矫正控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111366834A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5682390A (en) | Pattern generator in semiconductor test system | |
US7725744B2 (en) | Method and apparatus to generate circuit energy models with multiple clock gating inputs | |
EP1785906A2 (en) | Semiconductor apparatus with protective measure against power consumption analysis | |
DE602005009659D1 (de) | Prüfung von schaltungen mit mehreren taktdomänen | |
CN101464658B (zh) | 模拟信号的时域微分比较的方法和装置 | |
US6998893B2 (en) | Circuit and method for inducing jitter to a signal | |
CN115542131B (zh) | 一种芯片测试方法及电路 | |
US7865795B2 (en) | Methods and apparatuses for generating a random sequence of commands for a semiconductor device | |
US20080052584A1 (en) | Test apparatus and test method | |
CN111366834B (zh) | 信号延时控制方法及装置、测试系统 | |
US7346866B2 (en) | Method and apparatus to generate circuit energy models with clock gating | |
JP4322808B2 (ja) | 遅延の予測に基づく適応データ処理スキーム | |
JP3953250B2 (ja) | 非同期回路の検証方法 | |
CN109342917A (zh) | 时钟信号的验证方法和装置 | |
EP1482395B1 (en) | Transfer clocks for a multi-channel architecture | |
US6891421B2 (en) | Method and apparatus for on die clock shrink burst mode | |
CN111208867B (zh) | 一种基于ddr读数据整数时钟周期的同步电路及同步方法 | |
KR100592188B1 (ko) | 에스디램 엑세스를 위한 데이터 인터페이스장치 | |
JP2837469B2 (ja) | Ic試験装置 | |
RU2261527C1 (ru) | Формирователь импульсов случайной длительности | |
CN117408222A (zh) | 时序单元的仿真测试电路及其仿真测试方法 | |
JPH0580118A (ja) | 回路異常検出装置 | |
Bulakh et al. | ADOPTATION OF THE PETRI NETS ALGORITHM AS THE BASIS FOR SIMULATION OF BEHAVIORAL DESCRIPTION OF DIGITAL CIRCUITS | |
JP3726752B2 (ja) | 半導体集積回路の試験回路およびその試験方法 | |
US9460249B2 (en) | Verification of asynchronous clocking systems |
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 | ||
CB02 | Change of applicant information |
Address after: 300384 North 2-204 industrial incubation-3-8, No. 18, Haitai West Road, Huayuan Industrial Zone, Tianjin Applicant after: Haiguang Information Technology Co., Ltd Address before: 300384 North 2-204 industrial incubation-3-8, No. 18, Haitai West Road, Huayuan Industrial Zone, Tianjin Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |