CN106371954B - 基于10位从机地址的i2c总线验证的方法及系统 - Google Patents
基于10位从机地址的i2c总线验证的方法及系统 Download PDFInfo
- Publication number
- CN106371954B CN106371954B CN201610694619.6A CN201610694619A CN106371954B CN 106371954 B CN106371954 B CN 106371954B CN 201610694619 A CN201610694619 A CN 201610694619A CN 106371954 B CN106371954 B CN 106371954B
- Authority
- CN
- China
- Prior art keywords
- slave
- tested
- bus interface
- bit
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012795 verification Methods 0.000 title claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 53
- 230000005284 excitation Effects 0.000 claims abstract description 41
- 238000013461 design Methods 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于10位从机地址的I2C总线验证的方法,包括:测试激励层将测试激励输入到主机模型的输入端口;主机模型根据测试激励创建读写过程任务到待测I2C总线接口;待测I2C总线接口通过SDA线向从机模型发送读写过程任务;从机模型响应读写过程任务,测试激励层判断从机模型响应结果是否正确,若正确则待测I2C总线接口验证通过;该验证模型结构简单验证方法简练,兼容性好适用于不同内核总线,符合I2C协议能够准确验证I2C总线读写的有效性及边界性等功能点;本发明还公开了一种基于10位从机地址的I2C总线验证的系统,具有上述有益效果。
Description
技术领域
本发明涉及总线接口技术领域,特别涉及一种基于10位从机地址的I2C总线验证的方法及系统。
背景技术
I2C总线是一种两线式串行总线,用于连接微控制器与外围设备,主机Master初始化数据的传输并产生允许传输的时钟信号,任何被寻址的器件为从机Slave。标准情况下寻址7位从机地址,随着系统规模的增大有10位地址的需求,但是现有技术中I2C总线验证模型往往不支持10位地址的从机,且适用范围较窄。因此,如何对基于10位从机地址的I2C总线验证,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种基于10位从机地址的I2C总线验证的方法及系统,该验证模型结构简单验证方法简练,兼容性好适用于不同内核总线,符合I2C协议能够准确验证I2C总线读写的有效性及边界性等功能点。
为解决上述技术问题,本发明提供一种基于10位从机地址的I2C总线验证的方法,包括:
测试激励层将测试激励输入到主机模型的输入端口;其中,所述测试激励包括写入待测I2C总线接口的10位从机地址,寄存器地址,数据信息;
所述主机模型根据所述测试激励创建读写过程任务到所述待测I2C总线接口;
所述待测I2C总线接口通过SDA线向从机模型发送所述读写过程任务;
所述从机模型响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息;
所述主机模型将所述返回数据信息通过输出端口发送给所述测试激励层;
所述测试激励层判断所述返回数据信息与所述数据信息是否一致,若一致,则所述待测I2C总线接口验证成功;若不一致,则所述待测I2C总线接口验证失败。
其中,测试激励层将测试激励输入到主机模型的输入端口之前,还包括:
所述主机模型根据所述待测I2C总线接口的内核端协议信息,创建端口及读写过程,并初始化端口。
其中,测试激励层将测试激励输入到主机模型的输入端口之前,还包括:
所述从机模型根据所述待测I2C总线接口的I2C协议构成状态机。
其中,所述主机模型根据所述测试激励创建读写过程任务到所述待测I2C总线接口,包括:
根据所述待测I2C总线接口支持的10位从机地址协议,在产生写开始信号后按照顺序依次写入带有写标记的前8位地址、写入后8位地址、写入寄存器地址、写入数据信息,产生写停止信号;
产生重读开始信号,写入带有读标记的前8位地址,当读到返回数据信息时,产生读停止信号。
其中,所述从机模型响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息,包括:
接收SDA线上的前8位地址slave_addr1,判断slave_addr1[2:1]与slave_addr[9:8]是否一致;
若不一致,则从机不匹配;若一致,则判断slave_addr1中的第8位;
当第8位为写时,接收SDA线上的后8位地址slave_addr2,判断slave_addr2[7:0]与slave_addr[7:0]是否一致;若不一致,则从机不匹配;若一致,则接收SDA线上的寄存器地址,数据信息,并将数据信息存储到寄存器地址对应的寄存器中;
当第8位为读时,接收SDA线上的寄存器地址,并将寄存器地址对应的寄存器中的数据信息传输到SDA线上作为返回数据信息发送到主机模型。
本发明还提供一种基于10位从机地址的I2C总线验证的系统,包括:待测I2C总线接口,与所述待测I2C总线接口的内核端相连的主机模型,与所述待测I2C总线接口的SCL、SDA两条线相连的从机模型,测试激励层;其中,
所述测试激励层,用于将测试激励输入到所述主机模型的输入端口;其中,所述测试激励包括写入待测I2C总线接口的10位从机地址,寄存器地址,数据信息;判断所述返回数据信息与所述数据信息是否一致,若一致,则所述待测I2C总线接口验证成功;若不一致,则所述待测I2C总线接口验证失败;
所述主机模型,用于根据所述测试激励创建读写过程任务到所述待测I2C总线接口;将所述返回数据信息通过输出端口发送给所述测试激励层;
所述待测I2C总线接口,用于通过SDA线向从机模型发送所述读写过程任务;
所述从机模型,用于响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息。
其中,所述主机模型还用于根据所述待测I2C总线接口的内核端协议信息,创建端口及读写过程,并初始化端口。
其中,所述从机模型还用于根据所述待测I2C总线接口的I2C协议构成状态机。
其中,所述主机模型,包括:
主机写过程单元,用于根据所述待测I2C总线接口支持的10位从机地址协议,在产生写开始信号后按照顺序依次写入带有写标记的前8位地址、写入后8位地址、写入寄存器地址、写入数据信息,产生写停止信号;
主机读过程单元,用于产生重读开始信号,写入带有读标记的前8位地址,当读到返回数据信息时,产生读停止信号。
其中,所述从机模型,包括:
第一判断单元,用于接收SDA线上的前8位地址slave_addr1,判断slave_addr1[2:1]与slave_addr[9:8]是否一致;
第二判断单元,用于slave_addr1[2:1]与slave_addr[9:8]一致,则判断slave_addr1中的第8位;
从机写过程单元,用于当第8位为写时,接收SDA线上的后8位地址slave_addr2,判断slave_addr2[7:0]与slave_addr[7:0]是否一致;若不一致,则从机不匹配;若一致,则接收SDA线上的寄存器地址,数据信息,并将数据信息存储到寄存器地址对应的寄存器中;
从机读过程单元,用于当第8位为读时,接收SDA线上的寄存器地址,并将寄存器地址对应的寄存器中的数据信息传输到SDA线上作为返回数据信息发送到主机模型。
本发明所提供的基于10位从机地址的I2C总线验证的方法,该验证模型结构简单验证方法简练,兼容性好适用于不同内核总线,符合I2C协议能够准确验证I2C总线读写的有效性及边界性等功能点;本发明还提供了一种基于10位从机地址的I2C总线验证的系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的基于10位从机地址的I2C总线验证的系统的结构示意图;
图2为本发明实施例所提供的基于10位从机地址的I2C总线验证的方法的流程图。
具体实施方式
本发明的核心是提供一种基于10位从机地址的I2C总线验证的方法及系统,该验证模型结构简单验证方法简练,兼容性好适用于不同内核总线,符合I2C协议能够准确验证I2C总线读写的有效性及边界性等功能点。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的基于10位从机地址的I2C总线验证的系统的结构示意图;该系统可以包括:待测I2C总线接口(后续可以用DUT表示)40,与所述待测I2C总线接口(DUT)40的内核端相连的主机模型(后续可以用Master_model表示)20,与所述待测I2C总线接口(DUT)40的SCL、SDA两条线相连的从机模型(后续可以用Slave_model表示)30,测试激励层(后续可以用Testbench top表示)10;其中,时钟线SCL和数据线SDA。根据DUT中的I2C协议规范完成Master_model到Slave_model的地址以及数据传输。
所述测试激励层10,用于将测试激励输入到所述主机模型20的输入端口;其中,所述测试激励包括写入待测I2C总线接口40的10位从机地址,寄存器地址,数据信息;判断所述返回数据信息与所述数据信息是否一致,若一致,则所述待测I2C总线接口40验证成功;若不一致,则所述待测I2C总线接口40验证失败;
具体的,测试激励,用于构建整体验证环境,对I2C总线速率的配置,读写模式的输入等所需功能点。其中,测试激励层基于testbench实现,testbench是一种验证的手段,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。即在这个平台上可以对设计从软件层面上进行分析和校验。其链接Master_model,Slave_model及DUT;从输入端口输入要写入I2C总线的从机地址,寄存器地址,数据信息,从输出端口输出读出数据信息。并根据输入和输出数据信息的对比,判定验证结果。
所述主机模型20,用于根据所述测试激励创建读写过程任务到所述待测I2C总线接口40;将所述返回数据信息通过输出端口发送给所述测试激励层10;
具体的,用于I2C总线验证的主设备模型,连接于I2C总线的内核端。根据I2C内核端所用接口类型进行端口的定义,端口的初始化以及读写过程,model的定义灵活,不同的内核端口可依据其协议创建不同的端口及读写,增强适用性,其基于协议规范。
所述待测I2C总线接口40,用于通过SDA线向从机模型30发送所述读写过程任务;即待验证I2C总线接口设计。其包含I2C总线设计文件,支持类型较多,原始rtl代码,综合网表,中间工程文件均支持,需要内部各控制寄存器的信息。DUT即被验证的I2C设计,设计需提供必要的控制寄存器信息,例如写地址寄存器,读地址寄存器,控制寄存器,状态寄存器等。
所述从机模型30,用于响应所述读写过程任务,并向所述待测I2C总线接口40的SDA线向主机模型20发送返回数据信息。
具体的,用于I2C总线验证的从设备模型,连接于I2C总线的SCL、SDA两条线,从机地址支持10位Slave_model(10bit),数据空间最大支持256,基于I2C协议规范。包含从机的若干存储器用于存储数据,根据I2C协议构成不同状态机。
基于上述技术方案,本发明实施例提供的基于10位从机地址的I2C总线验证的系统,支持10位的从机地址。根据Master_model定义读写模式作用于DUT实现主机端的写入与读出;根据Slave_model用于接收DUT的数据,存储以及发出相应响应信号;Testbench top链接起整个验证环境,提供测试激励的输入;这种验证模型结构简单,适用于不同内核总线,能够准确验证I2C总线读写的有效性及边界性等功能点。
基于上述实施例,所述主机模型创建的读写过程需要根据10位地址传输协议进行读写过程的控制,具体包括:
主机写过程单元,用于根据所述待测I2C总线接口支持的10位从机地址协议,在产生写开始信号后按照顺序依次写入带有写标记的前8位地址、写入后8位地址、写入寄存器地址、写入数据信息,产生写停止信号;
主机读过程单元,用于产生重读开始信号,写入带有读标记的前8位地址,当读到返回数据信息时,产生读停止信号。
下面通过具体例子说明上述过程:
Master_model是主机模型,定义主机的端口信息(input oroutput),根据所需协议创建读写过程任务:task write,task read,任务属性为write(addr,data),分别表示寄存器地址与数据信息即数据,例如写入write(写寄存器地址xx,数据xx)。在测试环境Testbench top中连接起主从模块,调用主模型中的读写任务函数(创建读写任务可以使用读写任务函数实现),分别可以实现主机端口的读写。
写入:根据DUT支持的10位从机地址协议,首先产生开始信号,之后写入前8位地址slave_addr1(11110xx0/1),11110为10位地址定义位,xx为10位地址的前两位,第8位0/1为读写判断位,0表示写,1表示读;然后写入后8位地址slave_addr2(xxxxxxxx),xxxxxxxx为10位地址的后八位;之后写入8位的寄存器地址mem_addr,表示要写入从机的哪一个寄存器;然后写入8位数据data,产生停止信号。
读出:读过程应首先写入slave_addr1(11110xx0),slave_addr2和mem_addr,之后产生重复开始信号,给出slave_addr1(11110xx1),这时的读写判断为置为1,之后读出数据。传输完成时给出停止信号stop。
这里的写读分别用0、1表示,也可以反之,总之第8位为表示读写的判定位,通过打8位内容知道该从机是要进行读操作还是写操作即可,具体设置要求可以根据传输协议进行设置。
基于上述实施例,根据从机模型发起的读写任务,从机进行相应的具体过程可以如下:
第一判断单元,用于接收SDA线上的前8位地址slave_addr1,判断slave_addr1[2:1]与slave_addr[9:8]是否一致;
第二判断单元,用于slave_addr1[2:1]与slave_addr[9:8]一致,则判断slave_addr1中的第8位;
从机写过程单元,用于当第8位为写时,接收SDA线上的后8位地址slave_addr2,判断slave_addr2[7:0]与slave_addr[7:0]是否一致;若不一致,则从机不匹配;若一致,则接收SDA线上的寄存器地址,数据信息,并将数据信息存储到寄存器地址对应的寄存器中;
从机读过程单元,用于当第8位为读时,接收SDA线上的寄存器地址,并将寄存器地址对应的寄存器中的数据信息传输到SDA线上作为返回数据信息发送到主机模型。
主要即根据接收到到数据线中的数据进行相应的操作,其准确与否与DUT的准确定和可靠性直接相关。
下面通过具体例子说明上述响应的具体流程:
Slave_model有10位的从机地址slave_addr(xxxxxxxxxx),完成初始化操作后进入空闲(idle)状态,总线SDA上传来slave_addr1,判断slave_addr1[2:1]是否与slave_addr[9:8]位一致,一致则进入读写判断,否则从机不匹配,总线会进入高阻状态;之后判断slave_addr1的第8位读写位,若是写则进入slave_addr2的判断,若是读则进入寄存器地址mem_addr接收;slave_addr2判断,检测SDA线上传来的slave_addr2[7:0]是否与slave_addr[7:0]一致,一致则进入寄存器地址接收,否则从机不匹配,总线会进入高阻状态;寄存器地址mem_addr接收,接收SDA线上传来的mem_addr并保存,之后进入数据data读写状态,若写过程则将SDA线上传来的数据存储进对应mem_addr的存储器中,若读过程则从机占有总线,将对应mem_addr的存储器中的数据传到SDA线上,进而传送到主机;传输完成,接收主机发出的stop信号停止。
基于上述技术方案,本发明实施例提供的基于10位从机地址的I2C总线验证的系统,Master_model可以灵活定义,针对不同的接口(例如APB,AHB,wishbone等)可根据其具体协议修改其读写过程即可,有很好的兼容性;Slave_model支持10位的地址,与I2C协议准确对应,内部的寄存器地址可根据需要灵活定义,经测试可以成功验证I2C总线读写的有效性及边界性等功能点。
下面对本发明实施例提供的基于10位从机地址的I2C总线验证的方法进行介绍,下文描述的基于10位从机地址的I2C总线验证的方法与上文描述的基于10位从机地址的I2C总线验证的系统可相互对应参照。
请参考图2,图2为本发明实施例所提供的基于10位从机地址的I2C总线验证的方法的流程图;该方法可以包括:
S1、测试激励层将测试激励输入到主机模型的输入端口;其中,所述测试激励包括写入待测I2C总线接口的10位从机地址,寄存器地址,数据信息;
S2、所述主机模型根据所述测试激励创建读写过程任务到所述待测I2C总线接口;
S3、所述待测I2C总线接口通过SDA线向从机模型发送所述读写过程任务;
S4、所述从机模型响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息;
S5、所述主机模型将所述返回数据信息通过输出端口发送给所述测试激励层;
S6、所述测试激励层判断所述返回数据信息与所述数据信息是否一致,若一致,则所述待测I2C总线接口验证成功;若不一致,则所述待测I2C总线接口验证失败。
基于上述实施例,可选的,测试激励层将测试激励输入到主机模型的输入端口之前,还包括:
所述主机模型根据所述待测I2C总线接口的内核端协议信息,创建端口及读写过程,并初始化端口。
基于上述实施例,可选的,测试激励层将测试激励输入到主机模型的输入端口之前,还包括:
所述从机模型根据所述待测I2C总线接口的I2C协议构成状态机。
通过上述过程完成验证之前的主机模型和从机模型的初始化。
基于上述实施例,可选的,所述主机模型根据所述测试激励创建读写过程任务到所述待测I2C总线接口,包括:
根据所述待测I2C总线接口支持的10位从机地址协议,在产生写开始信号后按照顺序依次写入带有写标记的前8位地址、写入后8位地址、写入寄存器地址、写入数据信息,产生写停止信号;
产生重读开始信号,写入带有读标记的前8位地址,当读到返回数据信息时,产生读停止信号。
基于上述实施例,可选的,所述从机模型响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息,包括:
接收SDA线上的前8位地址slave_addr1,判断slave_addr1[2:1]与slave_addr[9:8]是否一致;
若不一致,则从机不匹配;若一致,则判断slave_addr1中的第8位;
当第8位为写时,接收SDA线上的后8位地址slave_addr2,判断slave_addr2[7:0]与slave_addr[7:0]是否一致;若不一致,则从机不匹配;若一致,则接收SDA线上的寄存器地址,数据信息,并将数据信息存储到寄存器地址对应的寄存器中;
当第8位为读时,接收SDA线上的寄存器地址,并将寄存器地址对应的寄存器中的数据信息传输到SDA线上作为返回数据信息发送到主机模型。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的基于10位从机地址的I2C总线验证的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种基于10位从机地址的I2C总线验证的方法,其特征在于,包括:
测试激励层将测试激励输入到主机模型的输入端口;其中,所述测试激励包括写入待测I2C总线接口的10位从机地址,寄存器地址,数据信息;所述测试激励层还用于构建整体验证环境,对I2C总线速率的配置,读写模式的输入;
所述主机模型根据所述测试激励创建读写过程任务到所述待测I2C总线接口;
所述待测I2C总线接口通过SDA线向从机模型发送所述读写过程任务;所述待测I2C总线接口包含I2C总线设计文件以及内部各控制寄存器的信息,其中,所述待测I2C总线接口支持原始rtl代码,综合网表,中间工程文件类型的I2C总线设计文件;
所述从机模型响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息;
所述主机模型将所述返回数据信息通过输出端口发送给所述测试激励层;
所述测试激励层判断所述返回数据信息与所述数据信息是否一致,若一致,则所述待测I2C总线接口验证成功;若不一致,则所述待测I2C总线接口验证失败;
测试激励层将测试激励输入到主机模型的输入端口之前,还包括:
所述主机模型根据所述待测I2C总线接口的内核端协议信息,创建端口及读写过程,并初始化端口。
2.根据权利要求1所述的方法,其特征在于,测试激励层将测试激励输入到主机模型的输入端口之前,还包括:
所述从机模型根据所述待测I2C总线接口的I2C协议构成状态机。
3.根据权利要求2所述的方法,其特征在于,所述主机模型根据所述测试激励创建读写过程任务到所述待测I2C总线接口,包括:
根据所述待测I2C总线接口支持的10位从机地址协议,在产生写开始信号后按照顺序依次写入带有写标记的前8位地址、写入后8位地址、写入寄存器地址、写入数据信息,产生写停止信号;
产生重读开始信号,写入带有读标记的前8位地址,当读到返回数据信息时,产生读停止信号。
4.根据权利要求3所述的方法,其特征在于,所述从机模型响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向主机模型发送返回数据信息,包括:
接收SDA线上的前8位地址slave_addr1,判断slave_addr1[2:1]与slave_addr[9:8]是否一致;
若不一致,则从机不匹配;若一致,则判断slave_addr1中的第8位;
当第8位为写时,接收SDA线上的后8位地址slave_addr2,判断slave_addr2[7:0]与slave_addr[7:0]是否一致;若不一致,则从机不匹配;若一致,则接收SDA线上的寄存器地址,数据信息,并将数据信息存储到寄存器地址对应的寄存器中;
当第8位为读时,接收SDA线上的寄存器地址,并将寄存器地址对应的寄存器中的数据信息传输到SDA线上作为返回数据信息发送到主机模型。
5.一种基于10位从机地址的I2C总线验证的系统,其特征在于,包括:待测I2C总线接口,与所述待测I2C总线接口的内核端相连的主机模型,与所述待测I2C总线接口的SCL、SDA两条线相连的从机模型,测试激励层;其中,
所述测试激励层,用于将测试激励输入到所述主机模型的输入端口;其中,所述测试激励包括写入待测I2C总线接口的10位从机地址,寄存器地址,数据信息;判断返回数据信息与所述数据信息是否一致,若一致,则所述待测I2C总线接口验证成功;若不一致,则所述待测I2C总线接口验证失败;所述测试激励层还用于构建整体验证环境,对I2C总线速率的配置,读写模式的输入;
所述主机模型,用于根据所述测试激励创建读写过程任务到所述待测I2C总线接口;将所述返回数据信息通过输出端口发送给所述测试激励层;
所述待测I2C总线接口,用于通过SDA线向从机模型发送所述读写过程任务;所述待测I2C总线接口包含I2C总线设计文件以及内部各控制寄存器的信息,其中,所述待测I2C总线接口支持原始rtl代码,综合网表,中间工程文件类型的I2C总线设计文件;
所述从机模型,用于响应所述读写过程任务,并向所述待测I2C总线接口的SDA线向所述主机模型发送返回数据信息;
所述主机模型还用于根据所述待测I2C总线接口的内核端协议信息,创建端口及读写过程,并初始化端口。
6.根据权利要求5所述的系统,其特征在于,所述从机模型还用于根据所述待测I2C总线接口的I2C协议构成状态机。
7.根据权利要求6所述的系统,其特征在于,所述主机模型,包括:
主机写过程单元,用于根据所述待测I2C总线接口支持的10位从机地址协议,在产生写开始信号后按照顺序依次写入带有写标记的前8位地址、写入后8位地址、写入寄存器地址、写入数据信息,产生写停止信号;
主机读过程单元,用于产生重读开始信号,写入带有读标记的前8位地址,当读到返回数据信息时,产生读停止信号。
8.根据权利要求7所述的系统,其特征在于,所述从机模型,包括:
第一判断单元,用于接收SDA线上的前8位地址slave_addr1,判断slave_addr1[2:1]与slave_addr[9:8]是否一致;
第二判断单元,用于slave_addr1[2:1]与slave_addr[9:8]一致,则判断slave_addr1中的第8位;
从机写过程单元,用于当第8位为写时,接收SDA线上的后8位地址slave_addr2,判断slave_addr2[7:0]与slave_addr[7:0]是否一致;若不一致,则从机不匹配;若一致,则接收SDA线上的寄存器地址,数据信息,并将数据信息存储到寄存器地址对应的寄存器中;
从机读过程单元,用于当第8位为读时,接收SDA线上的寄存器地址,并将寄存器地址对应的寄存器中的数据信息传输到SDA线上作为返回数据信息发送到主机模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610694619.6A CN106371954B (zh) | 2016-08-19 | 2016-08-19 | 基于10位从机地址的i2c总线验证的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610694619.6A CN106371954B (zh) | 2016-08-19 | 2016-08-19 | 基于10位从机地址的i2c总线验证的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371954A CN106371954A (zh) | 2017-02-01 |
CN106371954B true CN106371954B (zh) | 2020-02-04 |
Family
ID=57879515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610694619.6A Active CN106371954B (zh) | 2016-08-19 | 2016-08-19 | 基于10位从机地址的i2c总线验证的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371954B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844271A (zh) * | 2017-03-13 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种系统验证平台及方法 |
CN106997318B (zh) * | 2017-04-10 | 2020-03-03 | 广东浪潮大数据研究有限公司 | 一种支持多从机的peci总线验证方法及系统 |
CN107861893B (zh) * | 2017-10-16 | 2019-05-03 | 广东高云半导体科技股份有限公司 | I3c验证从设备、主从设备的通信验证系统及方法 |
CN108829626A (zh) * | 2018-04-26 | 2018-11-16 | 常州新途软件有限公司 | 一种用于汽车控制系统的通信方法 |
CN109697310B (zh) * | 2018-12-07 | 2020-07-21 | 天津津航计算技术研究所 | 一种应用于ahb总线矩阵设计的功能验证方法与系统 |
CN112306867B (zh) * | 2020-10-26 | 2022-11-11 | 苏州浪潮智能科技有限公司 | 一种基于层序遍历自动检测系统i2c地址异常的方法 |
CN112463662B (zh) * | 2020-12-16 | 2024-04-05 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
CN114564427B (zh) * | 2022-03-01 | 2023-06-23 | 四川创安微电子有限公司 | 一种ahb总线到i2c总线的总线桥、系统及方法 |
CN114328358A (zh) * | 2022-03-04 | 2022-04-12 | 山东华翼微电子技术股份有限公司 | 一种7位寻址模式i2c控制器访问任意容量存储器的方法 |
CN116501680B (zh) * | 2023-06-21 | 2023-09-12 | 苏州浪潮智能科技有限公司 | I2c总线通信方法、从器件、主器件及i2c网络系统 |
CN117459276B (zh) * | 2023-10-26 | 2024-08-23 | 齐鲁中科新动能创新研究院 | 一种应用于主从式通信系统的调试装置 |
CN117376221A (zh) * | 2023-12-07 | 2024-01-09 | 上海矽朔微电子有限公司 | 通信协议的自动化验证方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996022572A1 (de) * | 1995-01-21 | 1996-07-25 | Zf Friedrichshafen Ag | Fehlererkennung und fehlerbeseitigung bei einem seriellen datenbussystem |
CN100458722C (zh) * | 2005-12-12 | 2009-02-04 | 深圳艾科创新微电子有限公司 | 一种通过pc对i2c接口器件进行调试的系统及方法 |
EP2431778A1 (en) * | 2010-09-17 | 2012-03-21 | GigOptix-Helix AG | Flexibly configurable optical sub-assembly |
CN104572382A (zh) * | 2013-10-14 | 2015-04-29 | 昆达电脑科技(昆山)有限公司 | I2c总线测试治具 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8667204B2 (en) * | 2011-01-24 | 2014-03-04 | Rpx Corporation | Method to differentiate identical devices on a two-wire interface |
-
2016
- 2016-08-19 CN CN201610694619.6A patent/CN106371954B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996022572A1 (de) * | 1995-01-21 | 1996-07-25 | Zf Friedrichshafen Ag | Fehlererkennung und fehlerbeseitigung bei einem seriellen datenbussystem |
CN100458722C (zh) * | 2005-12-12 | 2009-02-04 | 深圳艾科创新微电子有限公司 | 一种通过pc对i2c接口器件进行调试的系统及方法 |
EP2431778A1 (en) * | 2010-09-17 | 2012-03-21 | GigOptix-Helix AG | Flexibly configurable optical sub-assembly |
CN104572382A (zh) * | 2013-10-14 | 2015-04-29 | 昆达电脑科技(昆山)有限公司 | I2c总线测试治具 |
Non-Patent Citations (1)
Title |
---|
支持十位寻址和高速模式的I2C控制器设计;艾刁 等;《微电子学与计算机》;20140331;第31卷(第3期);第94-97页,图1、2、4(a)、4(b)、5 * |
Also Published As
Publication number | Publication date |
---|---|
CN106371954A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371954B (zh) | 基于10位从机地址的i2c总线验证的方法及系统 | |
CN108763743B (zh) | 验证平台、方法及电子设备 | |
CN113076227B (zh) | Mcu验证方法、系统和终端设备 | |
CN108572823B (zh) | 基于接口引擎的前后端开发管理方法及系统 | |
CN106997318B (zh) | 一种支持多从机的peci总线验证方法及系统 | |
CN106844271A (zh) | 一种系统验证平台及方法 | |
CN111859832B (zh) | 一种芯片仿真验证方法、装置及相关设备 | |
CN114003445B (zh) | Bmc的i2c监控功能测试方法、系统、终端及存储介质 | |
CN113835945A (zh) | 芯片的测试方法、装置、设备及系统 | |
CN114330177A (zh) | 芯片寄存器的系统级验证方法、系统、设备及存储介质 | |
CN107293330B (zh) | 对随机存取存储器ram进行仿真验证的方法和仿真验证系统 | |
CN101923494B (zh) | 一种存储器控制器验证系统、方法及记分板 | |
CN112286750A (zh) | 一种gpio验证方法、装置、电子设备和介质 | |
CN114968864A (zh) | 验证环境的搭建方法、芯片的验证方法及系统 | |
CN114912397A (zh) | 可编程逻辑器件、原型验证系统、方法、设备及存储介质 | |
CN113535578B (zh) | 一种cts测试方法、装置及测试设备 | |
CN111897582B (zh) | 一体机以太网刷新方法、装置、存储介质及一体机设备 | |
CN114218882A (zh) | 一种SoC芯片检验方法、装置及相关设备 | |
CN109992556A (zh) | 一种i2c驱动方法和装置 | |
TW201730774A (zh) | 使用具有動態及可組態回應之兩記憶體級之串列裝置仿真器 | |
CN111447121B (zh) | Pcie控制器的测试方法、装置、设备及存储介质 | |
CN109697310B (zh) | 一种应用于ahb总线矩阵设计的功能验证方法与系统 | |
CN113760751B (zh) | 生成测试用例的方法、电子设备及存储介质 | |
CN114513436B (zh) | Sdio设备传输速率的检测方法、系统及存储介质 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191220 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: Suzhou Wave Intelligent Technology Co., Ltd. Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C Applicant before: Tide (Beijing) Electronic Information Industry Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |