CN114237992A - I2c总线验证方法与验证系统 - Google Patents
I2c总线验证方法与验证系统 Download PDFInfo
- Publication number
- CN114237992A CN114237992A CN202111390656.5A CN202111390656A CN114237992A CN 114237992 A CN114237992 A CN 114237992A CN 202111390656 A CN202111390656 A CN 202111390656A CN 114237992 A CN114237992 A CN 114237992A
- Authority
- CN
- China
- Prior art keywords
- bus
- scl
- sda
- verification
- time
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Abstract
本发明公开了一种应用于所述验证系统的I2C总线的验证方法,其包括如下步骤:a.导入符合I2C总线规范的时序参数表;b.根据测试设定调整I2C总线验证环境输出的SCL信号的占空比;c.为I2C总线验证环境输出的SDA信号增加时序,检测待测案例中SDA信号的时序差;d.对比时序差与时序参数表。相应地,本发明还公开了一种I2C总线的验证系统。本发明的I2C总线验证方法与验证系统能动态的调节时钟信号的占空比,满足了更广泛的应用测试,且极大提高验证的可靠性。
Description
技术领域
本发明涉及总线接口技术验证领域,更具体地涉及一种I2C总线验证方法与验证系统。
背景技术
I2C总线是一种双线串行协议,在传统的验证过程中,激励的产生往往是根据主机产生的SCL(I2C总线的时钟信号)时钟信号沿来判断什么时候发送或采样SDA(I2C总线的数据信号)数据信号,从而实现协议通信。但在真实情况下时序往往没这么理想,SDA数据信号和SCL时钟信号都有建立和保持时间,而I2C总线处于不同工作模式标准模式(standard-mode)、快速模式(fast-mode)或高速模式(hs-mode)时,其对应的符合I2C总线规范(THEI2C-BUS SPECIFICATION)的时序参数表如表1与表2所示:
表1
表2
其中表1为高速模式下符合I2C总线规范的时序参数表,表2为标准模式与快速模式下符合I2C总线规范对应的时序参数表。
通过上述表1和表2可知,I2C总线处于不同工作模式标准模式(standard-mode)、快速模式(fast-mode)或高速模式(hs-mode)时,其对应的时序参数都不相同,因此验证环境的可重用性不高。传统方法也不会对时序进行自动检测,当在进行门级仿真(后仿)时我们需要关心时序问题,传统方法没有进行不同模式下的检测功能;实际情况下SCL时钟信号的抖动以及占空比不同也可能会影响到协议的通信。
在目前的验证过程中,时序参数设置单一化且不能改变,I2C处于不同工种模式(standard-mode、fast-mode或hs-mode)时需要重新手动修改参数,因为这些参数的改变会影响到信号的驱动输出,修改相当于重新搭建环境;也没有设置时序检测模块,时序检测时一般在门级仿真(后仿)才更加关注,前仿时不会考虑建立保持时间等;另外,SCL信号占空比不可控,无法模拟实际情况下SCL时钟抖动等问题,因为SCL信号很多设计都是50%的占空比,也没有明文规定,导致基本不会有人会注意到,而SCL时钟抖动这种问题很多时候设计者并不会在前仿时去关注,但是这并不代表对实际芯片没有影响,有时芯片可能时序没有违例,但是在某个极限占空比情况下依然不能正常工作,影响整个芯片的运行稳定性。
因此,有必要提供一种能实现I2C总线在各种模式下的验证环境的重用性、时序检测的自动化以及SCL信号占空比的可控性的I2C总线验证方法与验证系统。
发明内容
本发明的目的是提供一种I2C总线验证方法与验证系统,本发明的I2C总线验证方法与验证系统能动态的调节时钟信号的占空比,满足了更广泛的应用测试,且极大提高验证的可靠性。
为实现上述目的,本发明提供了一种I2C总线的验证系统,所述验证系统设置于I2C总线验证环境与待测案例之间,且在所述验证系统内设置有符合I2C总线规范的时序参数表,其包括:
SCL信号输出模块,所述SCL信号输出模块接收I2C总线验证环境输出的SCL信号并进行时序调整,将调整的后的SCL信号输出至待测案例;
SDA信号转接模块,所述SDA信号转接模块接收I2C总线验证环境输出的的SDA信号,并对接收的SDA信号增加时序,将增加过时序的SDA信号输出至待测案例,在测试时,待测案例的SDA信号通过所述SDA信号转接模块输入I2C总线验证环境;
时序检测模块,所述时序检测模块用以检测SCL信号输出模块输出至待测案例的SCL信号的时序及SDA信号转接模块与待测案例之间传输的SDA信号的时序是否满足I2C总线的规范要求。
较佳地,所述SCL信号输出模块对SCL信号的占空比进行调整。
较佳地,所述SDA信号转接模块按I2C总线的规范中的最小时序要求对接收的SDA信号增加时序。
相应地,本发明还提供一种应用于所述验证系统的I2C总线的验证方法,其包括如下步骤:a.导入符合I2C总线规范的时序参数表;b.根据测试设定调整I2C总线验证环境输出的SCL信号的占空比;c.为I2C总线验证环境输出的SDA信号增加时序,检测待测案例中SDA信号的时序差;d.对比时序差与时序参数表。
较佳地,在所述步骤a中具体还包括,将导入的时序参数的时间单位调整为统一的时间单位。
较佳地,所述步骤b包括:
根据I2C总线验证环境输出的SCL信号的周期,计算高电平持续时间T1和低电平持续时间T2,且T1和T2均大于I2C总线规范中对应的时间参数。
较佳地,在所述步骤c中还包括:输出至待测案例的SCL信号,当I2C总线验证环境输出的SDA信号下降沿结束后,等待时间达到高电平保持时间后将SCL驱动为低电平,并保持T2纳秒,再将SCL驱动为高电平并保持T1纳秒。
较佳地,为I2C总线验证环境输出的SDA信号增加时序具体为,按I2C总线的规范中的最小时序要求对接收的SDA信号增加时序。
较佳地,检测待测案例中SDA信号的时序差具体为,在每个SDA、SCL信号的下降沿和上升沿,分别记录下当前的仿真时间,SDA下降沿/上升沿记录的时间减去SCL上升沿/下降沿的时间为时序差。
较佳地,在所述步骤d中,对比时序差与时序参数表,当前时序差小于时序参数表中对应参数则打印相应违例信息及时间点。
与现有技术相比,本发明的I2C总线验证方法与验证系统在不修改原有I2C验证环境的情况下,能实现I2C工作模式可选,时钟占空比可调,时序自动检测的功能,所述I2C总线验证系统相当于一种接口,接口的两端分别连接验证环境和待测案例,在接口的内部对验证环境输入的信号加入时序参数,之后输出给待测案例,对待测案例输入的信号进行时序自动检查,输出给验证环境,极大提高验证的可靠性;同时在接口中根据测试需求,可以改变SCL时钟的占空比,输出给待测案例,在不同模式下只需改变该接口中的时序参数值就可实现不同的I2C工作模式,极大的提高了验证环境的可重用性。
通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。
附图说明
图1为本发明I2C总线验证系统的结构框图。
图2为本发明I2C总线验证方法的流程图。
图3为本发明I2C总线验证方法与验证系统中的SDA信号SCL信号的时序图。
具体实施方式
现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如上所述,本发明提供了一种I2C总线验证方法与验证系统,本发明的I2C总线验证方法与验证系统能动态的调节时钟信号的占空比,满足了更广泛的应用测试,且极大提高验证的可靠性。
请参考图1,图1为本发明I2C总线验证系统的结构框图。如图所示,本发明的I2C总线的验证系统,设置于I2C总线验证环境与待测案例之间,且在所述验证系统内设置有符合I2C总线规范的时序参数表,该时序参数表如表1与表2所示,其对应I2C总线在不同工作模式(标准模式、快速模式或高速模式)下各参数需满足的最低时序,以保证通信能正常进行。所述I2C总线验证系统包括:SCL信号输出模块,SDA信号转接模块及时序检测模块。具体地:
SCL信号输出模块,所述SCL信号输出模块接收I2C总线验证环境输出的SCL信号并进行时序调整,将调整的后的SCL信号输出至待测案例;其中,对所述SCL信号进行时序调整具体是指对SCL信号的占空比进行调整;SCL信号都是由I2C总线验证环境发出,其方向是确定的,而且时钟频率也是确定的,因此在I2C总线的验证系统中可以计算出SCL信号时钟的周期,根据占空比设置(可以在I2C总线的验证系统中直接定义修改所述SCL信号的时钟占空比,占空比可根据验证的具体情况而设定),从而计算出高电平持续时间T1和低电平所持续时间T2,其中,T1和T2均以纳秒计算;另外,在本发明中,为方便协调统一计算,其它各时间参数的单位均调整以纳秒为单位进行计算。
SDA信号转接模块,所述SDA信号转接模块接收I2C总线验证环境输出的的SDA信号,并对接收的SDA信号增加时序,将增加过时序的SDA信号输出至待测案例,在测试时,待测案例的SDA信号通过所述SDA信号转接模块输入I2C总线验证环境。其中,由于在所述验证系统内设置有符合I2C总线规范的时序参数表,而所述时序参数表对应的时序为满足规范的最低时序;因此,在本发明中,所述SDA信号转接模块按I2C总线的规范中的最小时序要求对接收的SDA信号增加时序;以使所述I2C总线验证环境与测试案例之间可通过SDA信号转接模块进行正常通信。
时序检测模块,所述时序检测模块用以检测SCL信号输出模块输出至待测案例的SCL信号的时序及SDA信号转接模块与待测案例之间传输的SDA信号的时序是否满足I2C总线的规范要求;其中,检测SCL信号输出模块输出至待测案例的SCL信号的时序主要用以判定SCL信号的占空比调整是否满足I2C总线的规范要求,若不满足,则需要重新进行调整或输出错误报告;而检测SDA信号转接模块与待测案例之间传输的SDA信号的时序,主要是在测试案例的SDA信号输入I2C总线验证环境之前对SDA信号进行检测,以确定其满足I2C总线规范,从而可进行正常的检测,如若不满足I2C总线规范,则输出错误报告,且中止该SDA信号继续输入至所述I2C总线验证环境;因此,提高了检测的效率与检测精度。
另外,本发明还提供了一种I2C总线的验证方法,该验证方法基于上述I2C总线的验证系统而实现,请再结合参考图2与图3。本发明的I2C总线的验证方法,包括如下步骤:
步骤S101,导入符合I2C总线规范的时序参数表;在本步骤中,导入的符合I2C总线规范的时序参数表为表1与表2所列参数,其对应I2C总线在不同工作模式(标准模式、快速模式或高速模式)下各参数需满足的最低时序;由表1与表2可得出,当I2C总线处于不同工作模式时,其对应的时序参数也分别不同,在本发明中,将I2C总线的三种工作模式对应的时序参数表均导入,使得后续在验证过程中可根据具体情况而灵活选择工作模式,从而在不同模式下只需改变该验证系统中的时序参数值就可实现不同的I2C总线的工作模式,极大的提高了I2C总线验证环境的可重用性;更进一步地,在本步骤中还包括,将导入的时序参数的时间单位调整为统一的时间单位,以便于进行统一计算,并减少计算误差,且在本发明的优选实施方式中,各时间参数的单位均调整以纳秒为单位进行计算,当然并不限于这一种方式。
步骤S102,根据测试设定调整I2C总线验证环境输出的SCL信号的占空比;在本步骤中,可以在I2C总线的验证系统中直接定义修改所述SCL信号的时钟占空比,且占空比可根据验证的具体情况而设定。具体地,在本步骤中,根据I2C总线验证环境输出的SCL信号的周期,计算高电平持续时间T1和低电平持续时间T2,且T1和T2均大于I2C总线规范中对应的时间参数;由于SCL信号均由I2C总线验证环境发出,因此方向是确定的,其时钟频率也可以确定,因此在I2C总线验证环境中可以计算出时钟的周期,再根据所设置的占空比,计算出高电平持续时间T1纳秒和低电平所持续时间T2纳秒;但是T1必须要大于等于I2C总线规范中的tHIGH(高电平保持时间),T2必须要大于等于I2C总线规范中的tLOW(低电平保持时间),且tHIGH和tHIGH均为最低标准,小于将会导致时序违例。
步骤S103,为I2C总线验证环境输出的SDA信号增加时序,检测待测案例中SDA信号的时序差;在本步骤中,具体地,输出至待测案例的SCL信号,当I2C总线验证环境输出的SDA信号下降沿结束后,等待时间达到高电平保持时间后将SCL驱动为低电平,并保持T2纳秒,再将SCL驱动为高电平并保持T1纳秒,T2必须要大于等于tHIGH,从而以实现设定好的占空比;而对于I2C总线验证环境输出的SDA信号,在上述输出给待测案例的SCL信号下降沿结束后,等待tHD_DAT(具体参见表1与表2)纳秒,之后将输出给待测案例的SDA信号驱动为不定态,保持T2-tHD_DAT-tSU_DAT(数据建立时间)纳秒之后,再将其驱动为原来的状态(直接将I2C总线验证环境输出的SDA信号转接输给待测案例);这样便完成了对SDA信号增加时序,因为在驱动出不定态的时候,如果设计不满足要求会采样到不定态,造成仿真错误。另外,在本步骤中,按I2C总线的规范中的最小时序要求对接收的SDA信号增加时序,因为满足了I2C总线的规范中的最小时序要求,所有数据的通信即可正常进行,不会存在通信失败的情况。检测待测案例中SDA信号的时序差具体为,在每个SDA、SCL信号的下降沿和上升沿,分别记录下当前的仿真时间,SDA下降沿/上升沿记录的时间减去SCL上升沿/下降沿的时间为时序差。
步骤S104,对比时序差与时序参数表;在本步骤中,当前时序差小于时序参数表中对应参数则打印相应违例信息及时间点,也即,当前时序差大于或等于时序参数表中对应参数,则表明待测案例的SDA信号通过时序调整与I2C总线验证环境匹配,可正常进行测试操作,反之则打印相应违例信息及时间点以提示进行相应修改或调整。
更进一步地,请再结合参考表1、表2及图3,描述对待测案例中SDA信号的时序差的检测及与时序参数表的对比过程:当SDA信号下降沿的时候,判断SCL信号为高,此时SDA下降沿记录的时间减去SCL上升沿的时机即可得到时间差,判断这个时间差小于tSU_STA的话就表明此处有时序问题,打印出对应的违例信息以及时间点。同样在SDA为低时,用SCL下降沿时间点减去SDA下降沿时间点的差值,判断出tHD_STA是否违例,违例则打印相应的违例信息及时间点。用SCL的上升沿时间减去SCL下降沿的时间即可判断出tLOW是否违例,违例则打印相应的违例信息及时间点。用SCL的下降沿时间减去SCL上升沿的时间即可判断出tHIGH是否违例,违例则打印相应的违例信息及时间点。在SDA的上升沿或下降沿,判断SCL为低电平,且SDA变化的时间点大于SCL时钟下降沿时间点,用SDA变化的时间点减去SCL下降沿时间点,即可判断出tHD_DAT是否违例,违例则打印相应的违例信息及时间点。在SCL上升沿时间点,若该时间点大于SDA变化的时间点,且SCL上升沿时间点减去SDA变化时间点小于tSU_DAT值,则报告时序违例并打印具体时间点。当SCL为高电平时,SDA的上升沿时间点大于SCL的上升沿时间点时,前者减去后者得到的值小于tSU_STO则表明时序违例,打印时序违例信息及相关时间点。当SCL为高电平,且SDA下降沿时间点大于SDA上升沿时间点时,后者减去前者的值若小于tBUF值,则表示时序违例,打印相应的违例信息及违例时间点。上述各参数具体参见表1与表2,其中,在表1和表2中的tf和tr由于数值太小可以忽略不计(本方案中不进行相应设置),Cb、VnL、VnH和时序无关,也没进行相关设置描述。综上所述,所有的时序违例情况均检测完成了。
综上所述,本发明的I2C总线的验证系统是一个数据信号接口,接口可以连接验证环境和待测设计,在接口内部可以对验证环境输出的信号增加时序参数,且可根据不同的工作模式增加不同的参数值,之后输出给待测设计,待测设计输出的信号进入接口后,接口中会根据不同的工作模式对信号进行时序检测,当不满足要求时,便会报错并结束仿真;另外在接口中可以动态的调节时钟信号的占空比,以满足更广泛的测试条件;从而使得,可以在同一验证环境下,实现I2C的三种工作模式,不需要搭建新的验证环境,节省时间;另外对待测设计输出信号的时序检测可以极大提高验证的可靠性。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
Claims (10)
1.一种I2C总线的验证系统,其特征在于,所述验证系统设置于I2C总线验证环境与待测案例之间,且在所述验证系统内设置有符合I2C总线规范的时序参数表,其包括:
SCL信号输出模块,所述SCL信号输出模块接收I2C总线验证环境输出的SCL信号并进行时序调整,将调整的后的SCL信号输出至待测案例;
SDA信号转接模块,所述SDA信号转接模块接收I2C总线验证环境输出的的SDA信号,并对接收的SDA信号增加时序,将增加过时序的SDA信号输出至待测案例,在测试时,待测案例的SDA信号通过所述SDA信号转接模块输入I2C总线验证环境;
时序检测模块,所述时序检测模块用以检测SCL信号输出模块输出至待测案例的SCL信号的时序及SDA信号转接模块与待测案例之间传输的SDA信号的时序是否满足I2C总线的规范要求。
2.如权利要求1所述的I2C总线的验证系统,其特征在于,所述SCL信号输出模块对SCL信号的占空比进行调整。
3.如权利要求1所述的I2C总线的验证系统,其特征在于,所述SDA信号转接模块按I2C总线的规范中的最小时序要求对接收的SDA信号增加时序。
4.一种应用于如权利要求1所述验证系统的I2C总线的验证方法,其特征在于,包括如下步骤:
a.导入符合I2C总线规范的时序参数表;
b.根据测试设定调整I2C总线验证环境输出的SCL信号的占空比;
c.为I2C总线验证环境输出的SDA信号增加时序,检测待测案例中SDA信号的时序差;
d.对比时序差与时序参数表。
5.如权利要求4所述的I2C总线的验证方法,其特征在于,在所述步骤a中具体还包括,将导入的时序参数的时间单位调整为统一的时间单位。
6.如权利要求5所述的I2C总线的验证方法,其特征在于,所述步骤b包括:
根据I2C总线验证环境输出的SCL信号的周期,计算高电平持续时间T1和低电平持续时间T2,且T1和T2均大于I2C总线规范中对应的时间参数。
7.如权利要求6所述的I2C总线的验证方法,其特征在于,在所述步骤c中还包括:输出至待测案例的SCL信号,当I2C总线验证环境输出的SDA信号下降沿结束后,等待时间达到高电平保持时间后将SCL驱动为低电平,并保持T2纳秒,再将SCL驱动为高电平并保持T1纳秒。
8.如权利要求4所述的I2C总线的验证方法,其特征在于,为I2C总线验证环境输出的SDA信号增加时序具体为,按I2C总线的规范中的最小时序要求对接收的SDA信号增加时序。
9.如权利要求4所述的I2C总线的验证方法,其特征在于,检测待测案例中SDA信号的时序差具体为,在每个SDA、SCL信号的下降沿和上升沿,分别记录下当前的仿真时间,SDA下降沿/上升沿记录的时间减去SCL上升沿/下降沿的时间为时序差。
10.如权利要求9所述的I2C总线的验证方法,其特征在于,在所述步骤d中,对比时序差与时序参数表,当前时序差小于时序参数表中对应参数则打印相应违例信息及时间点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390656.5A CN114237992A (zh) | 2021-11-23 | 2021-11-23 | I2c总线验证方法与验证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111390656.5A CN114237992A (zh) | 2021-11-23 | 2021-11-23 | I2c总线验证方法与验证系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237992A true CN114237992A (zh) | 2022-03-25 |
Family
ID=80750471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111390656.5A Pending CN114237992A (zh) | 2021-11-23 | 2021-11-23 | I2c总线验证方法与验证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237992A (zh) |
-
2021
- 2021-11-23 CN CN202111390656.5A patent/CN114237992A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6275077B1 (en) | Method and apparatus for programmable adjustment of bus driver propagation times | |
US20030110453A1 (en) | Method and system for use of a field programmable function within a chip to enable configurable I/O signal timing characteristics | |
US6535945B1 (en) | Method and apparatus for programmable adjustment of computer system bus parameters | |
JP2008234222A (ja) | Usbコントローラ及びusbコントローラ試験方法 | |
EP1518181B1 (en) | Method and apparatus for optimizing timing for a multi-drop bus | |
CN110647486B (zh) | 一种PCIe链路训练方法、端设备及通讯系统 | |
CN114237992A (zh) | I2c总线验证方法与验证系统 | |
US11023023B2 (en) | Start-and-stop detecting apparatus and method for I3C bus | |
CN110688815A (zh) | 一种基于访存码型的存储接口电路混合建模仿真方法 | |
CN111506461A (zh) | 一种基于总线、用于测试的反压模块及其实现方法 | |
CN113986600B (zh) | 一种用于芯片串行接口的测试方法、装置和芯片 | |
CN109165030A (zh) | 一种单片机的在线编程测试方法 | |
JP2004215128A (ja) | 終端抵抗装置、データ伝送装置及び終端抵抗回路の検査方法 | |
US7826402B2 (en) | Signal transfer systems and methods | |
CN115328708A (zh) | 串行外设接口时序的参数测试方法及测试装置 | |
CN1318853C (zh) | 跳变调整 | |
US20240129224A1 (en) | Verification system for i2s bus protocol | |
CN101645029A (zh) | 周边连接接口的测试系统及其测试方法 | |
US20210297283A1 (en) | Master slave communication system capable of reducing manufacturing cost, electronic device, control method for master slave communication system, and control method for electronic device | |
US20060117286A1 (en) | Method for correcting timing error when designing semiconductor integrated circuit | |
US6496544B1 (en) | Digital computing system having adaptive communication components | |
Cvetkovic et al. | I/sup 2/C-like communication for the power meter IC | |
US6581194B1 (en) | Method for reducing simulation overhead for external models | |
Luo et al. | A Development And Test Environment for Automotive LIN Network | |
JP2910658B2 (ja) | 試験端子生成方式 |
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 |