CN117762707B - 一种验证串口通信的装置、方法、介质及电子设备 - Google Patents

一种验证串口通信的装置、方法、介质及电子设备 Download PDF

Info

Publication number
CN117762707B
CN117762707B CN202311774411.1A CN202311774411A CN117762707B CN 117762707 B CN117762707 B CN 117762707B CN 202311774411 A CN202311774411 A CN 202311774411A CN 117762707 B CN117762707 B CN 117762707B
Authority
CN
China
Prior art keywords
data
verified
clock
bit
module
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
CN202311774411.1A
Other languages
English (en)
Other versions
CN117762707A (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.)
Beijing Zhongke Haoxin Technology Co ltd
Original Assignee
Beijing Zhongke Haoxin Technology Co ltd
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 Beijing Zhongke Haoxin Technology Co ltd filed Critical Beijing Zhongke Haoxin Technology Co ltd
Priority to CN202311774411.1A priority Critical patent/CN117762707B/zh
Publication of CN117762707A publication Critical patent/CN117762707A/zh
Application granted granted Critical
Publication of CN117762707B publication Critical patent/CN117762707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本申请实施例提供一种验证串口通信模块的装置及方法,所述装置包括:数据产生单元,被配置为为待传输数据自动配置至少一位冗余数据,得到待验证数据,其中,所述待传输数据是需要由待验证串口所传输的有效数据;数据传输单元,被配置为将所述待验证数据按照设定的时钟周期进行传输;数据比较模块,被配置为接收由所述数据传输单元提供的所述待验证数据,并对比所述待验证数据和串口通信数据,其中,所述串口通信数据是通过UVM验证平台所构建的针对所述待验证串口的双机验证方式得到的。采用本申请实施例不仅可以验证收发数据的准确性还可以验证待验证串口通信模块是否满足相关的串口通信协议。

Description

一种验证串口通信的装置、方法、介质及电子设备
技术领域
本申请涉及芯片或模块验证领域,具体而言本申请实施例涉及一种验证串口通信的装置、方法、介质及电子设备。
背景技术
近年来,随着数字集成电路设计规模的不断扩大,芯片验证工作对于芯片设计的成功具有非常大的作用。这是由于没有经过细致的验证的芯片,是不能够安心流片的,而在芯片验证过程中,一个好的验证平台和方法又是非常必要的。
在以往的验证工作中,对于串口通讯(例如,I2C、PMBUS或SCI等)的验证,目前主流使用的验证平台是UVM(Universal Verification Methodology),该方法采用双机验证的方式对待验证芯片进行验证。例如,在UVM框架下搭建双机环境,而双机验证也是验证串口通讯类模块的通用方法,即将待验证串口通讯模块例化成2个,其中,一个为主模块而另一个为从模块,然后通过信号线将这两个模块设备进行连接,之后验证平台通过接口interface与主模块和从模块连接以获取串口通信数据之后再验证这些数据的准确性进而确定对应串行通信的准确性,如图1所示,该验证平台包括第一验证环境模块101、第一接口101、待验证串口对应主设备103、第二验证环境104、第二接口105以及待验证串口对应从设备106。
在图1的验证框架下,可以通过验证平台配置主模块和从模块,从而让主模块发送数据,让从模块接收数据;也可以让从模块发送数据,让主模块接收数据,或者同时进行收发(比如SCI)。本申请的发明人在研究中发现图1的这种技术方案会存在如下技术问题:即只能验证串口通讯模块发送的有效数据的准确性,而无法对该串口通讯模块所采用的串口协议的其它性能(例如,是否添加了有效冗余位或者是否或者是否在发送数据过程中需要暂时拉低时钟等)进行验证。
也就是说,本申请的发明人在研究中发现采用图1相关技术方案即使能够确认主模块能够正常的发送数据,从模块接收到的数据也正确,也仅仅只是检查收发数据的准确性并不能完全保证待验证串口通信模块通信协议的正确性,因此需要一种更准确的方法来检查串口通信模块更多的性能。
发明内容
本申请实施例的目的在于提供一种验证串口通信模块的装置及方法,采用本申请实施例不仅可以验证收发数据的准确性还可以验证待验证串口通信模块是否满足相关的串口通信协议。
第一方面,本申请实施例提供一种验证串口通信的装置,所述装置包括:数据产生单元,被配置为为待传输数据自动配置至少一位冗余数据,得到待验证数据,其中,所述待传输数据是需要由待验证串口所传输的有效数据;数据传输单元,被配置为将所述待验证数据按照设定的时钟周期进行传输;数据比较模块,被配置为接收由所述数据传输单元提供的所述待验证数据,并对比所述待验证数据和串口通信数据,其中,所述串口通信数据是通过UVM验证平台所构建的针对所述待验证串口的双机验证方式得到的。
本申请的一些实施例通过数据产生单元和数据传输单元来合成需要待验证串口借助相应串口通信协议所传输的待验证数据,之后再对比该待验证数据和串口通信数据,这样不仅能确定串口通信数据的准确性(即确认图1的构建的主模块和从模块之间能够传输正确的有效数据)而且还能够验证主模块和从模块传输的数据是否满足相应的串口通信协议(例如,是否为有效数据按照相应串口通信协议添加了冗余位或者是否拉低了时钟位等)。
在一些实施例中,所述数据产生单元被配置为根据串口通信协议类型为所述待传输数据添加所述至少一位冗余数据。
本申请的一些实施例通过串口通信协议为待传输数据添加冗余位,进而可以对UVM平台获取的串口通信数据进行冗余位验证,提升对串口通信功能验证的范围。
在一些实施例中,所述串口通信协议类型为电源管理总线PMBUS协议(PowerManagement Bus)且所述有效数据包括多位地址数据和多位数据位数据,其中,所述数据产生单元被配置为在所述多位地址数据的最后一位地址位后面添加R/W位以及第一ACK位,在所述多位数据位数据的最后一位数据位后面添加第二ACK位。
本申请的一些实施例针对采用电源管理总线协议的串口通信会对有效数据添加满足协议要求的冗余位,进而可以验证UVM验证平台的双机验证方式下主模块和从模块之间传输的串口通信数据是否包含准确的冗余位,提升对串口通信验证的范围。
在一些实施例中,所述数据传输单元进一步包括:第一时钟模块,被配置为具有第一分频系数,包括第一类时钟GCLK和第二类时钟DCLK,所述第一类时钟GCLK和所述第二类时钟DCLK分别具有多个独立时钟,且各个独立时钟的相位可被单独配置;第二时钟模块,被配置为具有第二分频系数,包括所述第一类时钟GCLK和所述第二类时钟DCLK1所述第一类时钟GCLK和所述第二类时钟DCLK分别具有多个独立时钟,且各个独立时钟的相位可被单独配置;信号产生模块,被配置为可接收由所述第一时钟模块或所述第二时钟模块传输的时钟信号,加载所述待验证数据,若需要进行数据传输时打开使能,在时钟上升沿时,将所述待验证数据的第一个数据驱动出去,同时将所述待验证数据进行移动/旋转,等到第二个时钟上升沿,将所述待验证数据的第二个数据驱动出去,以此类推,直到所述待验证数据全部传输完成则停止产生时钟信号。
本申请的实施例通过可配置不同分频系数的时钟模块,以及可独立配置相位的独立时钟来生成发送待验证数据的时钟驱动信号,这样可以更好的由数据传输模块模拟尽可能多种类的串口通信协议的类型,进而更好的验证UVM验证平台的主模块和从模块是否满足串口通信协议。本申请的实施例还可以代替串口通信模块,对待测模块进行传输数据,不仅可以发送正确格式的数据,也可以发送错误格式的数据,从而模拟在发送过程中发生可能出错的情况,比如在发送过程中,特意发送冗余数据错误的情况,从而查看待测模块是否有正确的反应。
在一些实施例中,所述串口通信协议类型为电源管理总线PMBUS协议,其中,所述信号产生模块还被配置为:在传输所述待验证数据过程中,通过关闭使能,使得由所述第一时钟模块或所述第二时钟模块生成的所述时钟信号被拉低,等到使能信号再次被打开后,继续产生所述时钟信号从而继续传输所述待验证数据中的至少部分数据。
本申请的实施例通过关闭数据传输模块上的使能信号可以模拟时钟信号被拉低的串口通信协议,进而可以验证基于UVM验证平台进行的串口通信数据是否也满足该串口通信协议所规定的一定条件下的时钟信号被拉低的特征,进而更充分的验证被验证的串口通信过程。
在一些实施例中,所述串口通信数据是直接从UVM验证平台为验证所述待验证串口所构建的主设备和从设备之间的连接线中获取的。
本申请的一些实施例通过比较在UVM验证平台上构建的主设备和从设备(或称为主模块和从模块)来获取待验证串口所需要验证的数据。
在一些实施例中,所述至少一个冗余位还包括校验位。
第二方面,本申请的一些实施例提供一种验证串口通信模块的方法,应用于如第一方面任意一个实施例所述的装置中,所述待验证串口通信模块采用PMBUS串口通信协议,所述方法包括:获取与待传输数据对应的有效数据,其中,所述有效数据包括多位地址位数据和多位数据位数据;在所述多位地址位数据中最后一位地址位后面依次添加一位R/W数据和一位第一ACK数据,在所述多位数据位数据后面添加一位第二ACK数据,并将添加所述第二ACK数据的所述多位数据位数据拼接在所述第一ACK数据之后,得到待验证数据;将所述待验证数据提供至所述数据传输单元中的信号产生模块SIGGEN0,为所述数据传输单元中的时钟模块配置时钟频率,打开使能开启传输;随着时钟的产生通过所述信号产生模块将所述待验证数据驱动出去,其中,通过对选中的一个时钟延迟处理,使得数据和时钟信号存在半个周期的相位差;在所述地址位数据全部传输完成后,将使能关闭,停止传输,等到所述多位数据位数据对应的信号后才重新打开使能开启数据传输;将所述信号产生模块输出的所有数据与串口通信数据进行比较,从而判断传输的准确性,其中,所述串口通信数据是直接从为验证所述待验证串口模块所构建的主从设备的连接线中获取的。
在一些实施例中,所述待验证数据是将拼接后的数据进行翻转处理后得到的。
在一些实施例中,所述方法还包括从时钟模块中选取一个GCLK时钟传入所述信号产生模块中。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术提供的UVM验证平台所构建的验证串口通讯的双机验证架构图;
图2为本申请实施例提供的验证串口通信的装置的组成框图之一;
图3为本申请实施例提供的验证串口通信的装置的组成框图之二;
图4为本申请实施例提供的数据传输模块的组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
与相关技术方案通过UVM验证平台构建的双机验证模式不同,本申请的实施例还借助数据产生模块、数据传输模块来生成满足相应串口通信协议的串口数据,并将这些属于与UVM验证平台双机模式下的串口通信数据进行比较,不仅可以解决如何确保串口通讯在收发过程中数据的准确性,而且能否监测待验证串口是否满足对应串口通信协议本身的要求。
请参看图2,与图1不同的是本申请实施例提供的验证串口通信的装置如图2所示,在图2中验证串口通信的装置还包括:数据产生单元110、数据传输单元120以及数据比较模块130。
数据产生单元,被配置为为待传输数据自动配置至少一位冗余数据,得到待验证数据,其中,所述待传输数据是需要由待验证串口所传输的有效数据。也就是说,由数据产生单元根据验证串口协议的不同,通过脚本语言,自动对需要发送的数据(即待传输数据)添加一些额外的数据。
数据传输单元,被配置为将所述待验证数据按照设定的时钟周期进行传输。
数据比较模块,被配置为接收由所述数据传输单元提供的所述待验证数据,并对比所述待验证数据和串口通信数据,其中,所述串口通信数据是通过UVM验证平台所构建的针对所述待验证串口的双机验证方式得到的。
需要说明的是,本申请的一些实施例对待测模块进行传输数据,这里不仅可以发送正确格式的数据,也可以发送错误格式的数据,从而模拟在发送过程中发生可能出错的情况,比如在发送过程中,特意发送冗余数据错误的情况,从而查看待测模块是否有正确的反应。
本申请的一些实施例通过数据产生单元和数据传输单元来合成需要待验证串口借助相应串口通信协议所传输的待验证数据,之后再对比该待验证数据和串口通信数据,这样不仅能确定串口通信数据的准确性(即确认图1的构建的主模块和从模块之间能够传输正确的有效数据)而且还能够验证主模块和从模块传输的数据是否满足相应的串口通信协议(例如,是否为有效数据按照相应串口通信协议添加了冗余位或者是否拉低了时钟位等)。可以理解的是,本申请的一些实施例可以直接使用数据产生单元和数据传输单元合成的数据充当主机对待测模块进行验证,不仅可以发送正确的数据,也可以发送错误的数据,从而检测待测模块是否有正确的相应。
下面示例性阐述图2的相关模块。
在本申请的一些实施例中,数据产生单元110被配置为根据串口通信协议类型为所述待传输数据添加所述至少一位冗余数据。例如,在本申请的一些实施例中,所述串口通信协议类型为电源管理总线PMBUS协议(Power Management Bus)且所述有效数据包括多位地址数据和多位数据位数据,其中,所述数据产生单元被配置为在所述多位地址数据的最后一位地址位后面添加R/W位以及第一ACK位,在所述多位数据位数据的最后一位数据位后面添加第二ACK位。例如,在本申请的一些实施例中,所述至少一个冗余位还包括奇偶校验位。也就是说,本申请的一些实施例针对采用电源管理总线协议的串口通信会对有效数据添加满足协议要求的冗余位,进而可以验证UVM验证平台的双机验证方式下主模块和从模块之间传输的串口通信数据是否包含准确的冗余位,提升对串口通信验证的范围。
不难理解的是,本申请的一些实施例通过串口通信协议为待传输数据添加冗余位,进而可以对UVM平台获取的串口通信数据进行冗余位验证,提升对串口通信功能验证的范围。
在本申请的一些实施例中,图2的数据传输单元进一步包括:第一时钟模块、第二时钟模块以及信号产生模块,图中未示出。
第一时钟模块,被配置为具有第一分频系数,包括第一类时钟GCLK和第二类时钟DCLK,所述第一类时钟GCLK和所述第二类时钟DCLK分别具有多个独立时钟,且各个独立时钟的相位可被单独配置。
第二时钟模块,被配置为具有第二分频系数,包括所述第一类时钟GCLK和所述第二类时钟DCLK,所述第一类时钟GCLK和所述第二类时钟DCLK分别具有多个独立时钟,且各个独立时钟的相位可被单独配置。
信号产生模块,被配置为可接收由所述第一时钟模块或所述第二时钟模块传输的时钟信号,加载所述待验证数据,若需要进行数据传输时打开使能,在时钟上升沿时,将所述待验证数据的第一个数据驱动出去,同时将所述待验证数据进行移动/旋转,等到第二个时钟上升沿,将所述待验证数据的第二个数据驱动出去,以此类推,直到所述待验证数据全部传输完成则停止产生时钟信号。例如,在本申请的一些实施例中,所述串口通信协议类型为电源管理总线PMBUS协议,其中,所述信号产生模块还被配置为:在传输所述待验证数据过程中,通过关闭使能,使得由所述第一时钟模块或所述第二时钟模块生成的所述时钟信号被拉低,等到使能信号再次被打开后,继续产生所述时钟信号从而继续传输所述待验证数据中的至少部分数据。也就是说,本申请的实施例通过关闭数据传输模块上的使能信号可以模拟时钟信号被拉低的串口通信协议,进而可以验证基于UVM验证平台进行的串口通信数据是否也满足该串口通信协议所规定的一定条件下的时钟信号被拉低的特征,进而更充分的验证被验证的串口通信过程。
不难理解是,本申请的实施例通过可配置不同分频系数的时钟模块,以及可独立配置相位的独立时钟来生成发送待验证数据的时钟驱动信号,这样可以更好的由数据传输模块模拟尽可能多种类的串口通信协议的类型,进而更好的验证UVM验证平台的主模块和从模块是否满足串口通信协议。
需要说明的是,本申请的一些实施例中所述串口通信数据是直接从UVM验证平台为验证所述待验证串口所构建的主设备和从设备之间的连接线中获取的。本申请的一些实施例通过比较在UVM验证平台上构建的主设备和从设备(或称为主模块和从模块)来获取待验证串口所需要验证的数据。
下面结合图3和图4示例性阐述本申请一些实施例提供的验证串口通信的方法所涉及的各模块以及工作过程。
为了实现对串口通信全面的检测,本申请的一些实施例提供一种验证串口通讯(或通信)的方法,该方法克服了相关技术的串口通讯验证方法无法在仿真验证中对一些特殊位进行检测的缺陷(例如,例如,针对SCI(Serial Communications Interface)它对冗余数据的是否正确是有检测的,但是由于一些因素,相关技术只关注了传输数据是否正确,而忽略了这些冗余位的检测,造成错误的遗留。而对于是否满足时序要求,比如PMBUS/I2C(Inter-Integrated Circuit)这类,在发送数据的过程中,可能需要等待从机的回应才会发送下一笔数据,这种从机是没有办法检测的),且本申请的一些实施例的验证串口通讯的方法还可以检验串口数据通信过程中需要被拉低的时钟信号是否进行了拉低处理等,而相关技术显然不能验证串口通讯过程中的这些特征,而仅用于验证收发设备之间是否可以正确传输有效数据。
如图3所示,本申请一些实施例的验证串口通信的方法示例性包括:数据产生单元,该单元可根据待验证串口通信模块的传输协议,自动的配置一些冗余数据,从而能够更加高效的配置数据。数据传输单元,至少用于将数据产生单元产生的数据按照一定的时钟周期发送出去。数据比较模块,至少用于将数据传输单元输出的数据和串口通讯的数据进行比较,从而准确的验证待测模块是否满足协议。结合图3可知,该串口通信数据是从图1的UVM验证平台构建的主设备和从设备之间的连线上获取的。
数据比较模块的工作过程可以包括:在验证时,在双机的验证环境下,主机给从机发送数据,CPU可能此时在处理其它事情,从而使得从机无法处理数据,那么就会将SCL线拉低,阻止主机继续发送数据。等到从机回应时,才继续传输数据。对于信号模块,在从机没有回应之前,会将使能拉低,从而停止传输,等到回应之后,继续传输。这样就会得到双机验证的数据以及信号模块产生的数据。在数据比较模块中,本申请的一些实施例可以使用快时钟(对于串口通信,一般有两种,一种快时钟,主要是用于配置串口通信;一种慢时钟,来源于快时钟的分频,作用是串口通信发送数据时的时钟)分别对这两组数据进行采样,比较数据是否一致。
需要说明的是,图3的数据传输单元也可以直接指向串口通讯数据,从而可以代替设备对另一个设备发送数据,这个数据是可以构造一些正确或者错误的数据,从而可以检测待验证设备检测错误的能力。
下面以电源管理总线PMBUS协议作为串口通讯的验证对象,对本申请实施例的验证串口通信的方法进行示例性阐述。
数据产生模块,被配置为根据PMBUS协议对于原始数据处理,在地址位数据后添加R/W位和ACK位,在数据位后添加ACK位,以及根据一些配置,例如,增加PEC(Packet ErrorCheck)校验。
数据传输模块分为时钟模块和信号产生模块,如图4所示,在数据传输模块中有两个相同的时钟模块,即图4的第一时钟模块CLKGEN0以及第二时钟模块CLKGEN1,每个时钟模块可以配置不同的分频系数,而且在同一个时钟模块中,会有两种不一样的时钟,其中,一个为GCLK,另一个为DCLK,每种时钟有4个独立时钟(即图4的4个独立时钟DCLK0-3以及4个独立时钟GCLK0-3),它们的时钟相位是可以配置的。本申请的一些实施例可以选取一个GCLK时钟传入到信号产生模块(例如,借助图4的时钟信号选择模块GCLK_MUX进行时钟信号选取),然后将数据产生模块的数据加载到信号产生模块。当需要传输时,需要打开使能,时钟就会开始产生。在时钟上升沿时,将数据产生模块输出的数据中的第一个数据驱动出去,同时将数据进行移动/旋转,等到第二个时钟上升沿,会将第二个数据驱动出去,以此类推。直到传输完成后,时钟停止产生。由于PMBUS的使用流程,在传输过程中,涉及时钟拉低使得停止传输,本申请的实施例为了验证该特征,会在数据传输模块中通过关闭使能,使得时钟信号被拉低,等到使能信号打开后,时钟继续产生,从而继续传输。
数据比较模块,至少用于对数据的检查。本申请的一些实施例可以直接从待验证串口通信模块的主从设备连接的线中获取串口通信数据。在一般情况下,SCL会周期性的产生,SDA数据也会跟随SCL的变化而变化(SCL和SDA是两个常用的标识符,通常用于表示PMBUS总线上的两根信号线;SCL:SCL代表"Serial Clock Line",即串行时钟线。SDA:SDA代表"Serial Data Line",即串行数据线,SDA用于在PMBUS总线上传输实际的数据位),直到传输完成。在这种情况下,本申请的一些实施例可以在从机设备上进行检测,从而可以检查待验串口通信模块是否正确。本申请的一些实施例也可以通过数据比较模块,将数据传输模块的数据和主从设备连接线上的串口通信数据进行比较,来判断传输是否正确。
可以理解的是,在一般情况下会得到相同的结果,但是在一些特殊情况下,数据比较模块会得到不一样的验证结果。例如,本申请的发明人在验证过程中发现,SCL线在需要拉低的情况下,并没有拉低,而是正常的传输。这样虽然从机能够得到正确的数据,但是它们并不满足传输的协议,而这时采用图1的方案根本无法验证,然而如果采用图2的装置就可以借助数据传输模块所输出的数据,将其与待验证串口通信模块实际的数据(即串口通信数据)进行对比,从而进行判断。这在一些回归验证中,是非常有必要的。
需要说明的是,本申请实施例的数据传输模块只是对所输入的数据进行发送,并不会自动产生数据。因此,本申请的实施例在数据传输模块前面,添加了一个数据产生模块,此模块需要根据写入的数据,能够自动化的对传输的数据进行处理。这个需要根据具体的串口通讯协议讨论。比如根据PMBUS协议,需要在地址位后面添加R/W位以及ACK位,需要在数据位后面添加ACK位,以及还需要根据配置是否添加PEC校验位。此模块可以直接通过(SV)SystemVerilog或者其它的脚本语言实现,这里直接使用SV里的字符进行拼接完成。然后将数据产生模块产生的数据给到数据传输模块。数据传输模块有两个时钟模块以及一个信号发生模块(信号发生模块个数可以进行配置)。两个时钟都可以单独的配置时钟分频,而且每个时钟有4个DCLK时钟,此时钟跟时钟信号类似,也可以对它的相位差进行配置;有4个GCLK时钟,此时钟与DCLK类似,只是占空比不同,它的作用是给到信号产生模块SIGGEN模块,开启SIGGEN模块的传输。图中的SIGGEN_OUT模块是一个输出MUX,该模块可以将时钟模块或则SIGGEN0产生的数据选择输出。本申请一些实施例可以选取一个GCLK时钟,传入到信号产生模块SIGGEN0中,在这模块中会随着时钟的产生将数据驱动出去(从低位开始传输),需要注意的是刚加载进去的第一个数是没有配套时钟产生的,可以将第一个数据设置一个不需要的数。
例如,在本申请的一些实施例中,待传输的串口数据包括采用PMBUS协议的多位地址数据和多位数据位数据,其中,多位地址位数据为7’h55,多位数据位数据为8’h22。在多位地址位数据和多位数据位数据之间需要等待一段时间才会开启传输,那么在配置数据时,可以通过本申请实施例的数据产生模块将多位地址位数据前面添加1bit 0,后面添加3bit 0(R/W,ACK和等待位),然后再在多位数据位数据后面拼接8’h22,之后再拼接1bit0,最后将数据翻转后得到数据,即19’h2205a。将得到的数据给到数据传输模块中的信号产生模块SIGGEN0,配置时钟频率,打开使能开启传输。因为PMBUS的时钟信号与数据信号存在半个周期的相位差,因此本申请的一些实施例可以选取一个GCLK时钟,传入到SIGGEN0中,在这模块中会随着时钟的产生将数据驱动出去。另外,通过选择一个时钟,对它做延迟处理,使得数据和时钟信号存在半个周期的相位差,这样就能够模拟PMBUS的信号。在地址传输完成后,可以将使能关闭,停止传输,等到信号后才重新打开使能开启数据传输。最后将数据传输模块得到的数据与待验证串口通信模块的串口通信数据进行比较,从而判断传输的准确性。
本申请的一些实施例提供一种验证串口通信模块的方法,应用于如图2所示的装置中,所述待验证串口通信模块采用PMBUS串口通信协议,所述方法包括:获取与待传输数据对应的有效数据,其中,所述有效数据包括多位地址位数据和多位数据位数据;在所述多位地址位数据中最后一位地址位后面依次添加一位R/W数据和一位第一ACK数据,在所述多位数据位数据后面添加一位第二ACK数据,并将添加所述第二ACK数据的所述多位数据位数据拼接在所述第一ACK数据之后,得到待验证数据;将所述待验证数据提供至所述数据传输单元中的信号产生模块SIGGEN0,为所述数据传输单元中的时钟模块配置时钟频率,打开使能开启传输;随着时钟的产生通过所述信号产生模块将所述待验证数据驱动出去,其中,通过对选中的一个时钟延迟处理,使得数据和时钟信号存在半个周期的相位差(也就是说,在信号产生模块SIGGEN0中,数据是在时钟上升延驱动出去的(这里的时钟是前面两个时钟模块中的任意一个GCLK时钟,GCLK与同名的DCLK时钟只有占空比的差异,其余都是相同的),但是在PMBUS协议里,它的时钟信号和数据信号不是同步变化的,有半个周期的相位差,因此本申请的实施例可以选取另外的时钟产生相位差,来满足PMBUS协议要求。在设计思路中,这里有两个时钟模块,一个信号产生模块(需要时可扩充到多个),这样可以根据不同的协议要求,来灵活的产生需要的数据);在所述地址位数据全部传输完成后,将使能关闭,停止传输,等到所述多位数据位数据对应的信号后才重新打开使能开启数据传输;将所述数据传输模块输出的所有数据与串口通信数据进行比较,从而判断传输的准确性,其中,所述串口通信数据是直接从为验证所述待验证串口模块所构建的主从设备的连接线中获取的。
在本申请的一些实施例中,所述待验证数据是将拼接后的数据进行翻转处理后得到的。
在本申请的一些实施例中,所述方法还包括从时钟模块中选取一个GCLK时钟传入所述信号产生模块中。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种验证串口通信的装置,其特征在于,所述装置包括:
数据产生单元,被配置为为待传输数据自动配置至少一位冗余数据,得到待验证数据,其中,所述待传输数据是需要由待验证串口所传输的有效数据;
数据传输单元,被配置为将所述待验证数据按照设定的时钟周期进行传输;
数据比较模块,被配置为接收由所述数据传输单元提供的所述待验证数据,并对比所述待验证数据和串口通信数据,其中,所述串口通信数据是通过UVM验证平台所构建的针对所述待验证串口的双机验证方式得到的;
所述数据传输单元进一步包括:
第一时钟模块,被配置为具有第一分频系数,包括第一类时钟GCLK和第二类时钟DCLK,所述第一类时钟GCLK和所述第二类时钟DCLK分别具有多个独立时钟,且各个独立时钟的相位可被单独配置;
第二时钟模块,被配置为具有第二分频系数,包括所述第一类时钟GCLK和所述第二类时钟DCLK,所述第一类时钟GCLK和所述第二类时钟DCLK分别具有多个独立时钟,且各个独立时钟的相位可被单独配置;
信号产生模块,被配置为可接收由所述第一时钟模块或所述第二时钟模块传输的时钟信号,加载所述待验证数据,若需要进行数据传输时打开使能,在时钟上升沿时,将所述待验证数据的第一个数据驱动出去,同时将所述待验证数据进行移动/旋转,等到第二个时钟上升沿,将所述待验证数据的第二个数据驱动出去,以此类推,直到所述待验证数据全部传输完成则停止产生时钟信号。
2.如权利要求1所述的装置,其特征在于,所述数据产生单元被配置为根据串口通信协议类型为所述待传输数据添加所述至少一位冗余数据。
3.如权利要求2所述的装置,其特征在于,所述串口通信协议类型为电源管理总线PMBUS协议且所述有效数据包括多位地址位数据和多位数据位数据,其中,
所述数据产生单元被配置为在所述多位地址位数据的最后一位地址位后面添加R/W位以及第一ACK位,在所述多位数据位数据的最后一位数据后面添加第二ACK位。
4.如权利要求2所述的装置,其特征在于,所述串口通信协议类型为电源管理总线PMBUS协议,其中,
所述信号产生模块还被配置为:在传输所述待验证数据过程中,通过关闭使能,使得由所述第一时钟模块或第二时钟模块生成的所述时钟信号被拉低,等到使能信号再次被打开后,继续产生所述时钟信号从而继续传输所述待验证数据中的至少部分数据。
5.如权利要求1所述的装置,其特征在于,所述串口通信数据是直接从所述UVM验证平台为验证所述待验证串口所构建的主设备和从设备之间的连接线中获取的。
6.如权利要求3所述的装置,其特征在于,所述至少一位冗余位还包括奇偶校验位。
7.一种验证串口通信的方法,应用于如权利要求1-6中的任意一个装置中,待验证串口采用PMBUS串口通信协议,所述方法包括:
获取与待传输数据对应的有效数据,其中,所述有效数据包括多位地址位数据和多位数据位数据;
在所述多位地址位数据中最后一位地址位后面依次添加一位R/W数据和一位第一ACK数据,在所述多位数据位数据后面添加一位第二ACK数据,并将添加所述第二ACK数据的所述多位数据位数据拼接在所述第一ACK数据之后,得到待验证数据;
将所述待验证数据提供至所述数据传输单元中的信号产生模块SIGGEN0,为所述数据传输单元中的时钟模块配置时钟频率,打开使能开启传输;随着时钟的产生通过所述信号产生模块将所述待验证数据驱动出去,其中,通过对选中的一个时钟延迟处理,使得数据信号和时钟信号存在半个周期的相位差;
在所述多位地址位数据全部传输完成后,将使能关闭,停止传输,等到所述多位数据位数据对应的信号后才重新打开使能开启数据传输;
将所述信号产生模块输出的所有数据与串口通信数据进行比较,从而判断传输的准确性,其中,所述串口通信数据是直接从为验证所述待验证串口模块所构建的主从设备的连接线中获取的。
8.如权利要求7所述的方法,其特征在于,所述待验证数据是将拼接后的数据进行翻转处理后得到的。
9.如权利要求7所述的方法,其特征在于,所述方法还包括从时钟模块中选取一个GCLK时钟传入所述信号产生模块中。
CN202311774411.1A 2023-12-21 2023-12-21 一种验证串口通信的装置、方法、介质及电子设备 Active CN117762707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311774411.1A CN117762707B (zh) 2023-12-21 2023-12-21 一种验证串口通信的装置、方法、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311774411.1A CN117762707B (zh) 2023-12-21 2023-12-21 一种验证串口通信的装置、方法、介质及电子设备

Publications (2)

Publication Number Publication Date
CN117762707A CN117762707A (zh) 2024-03-26
CN117762707B true CN117762707B (zh) 2024-05-28

Family

ID=90315855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311774411.1A Active CN117762707B (zh) 2023-12-21 2023-12-21 一种验证串口通信的装置、方法、介质及电子设备

Country Status (1)

Country Link
CN (1) CN117762707B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012170921A2 (en) * 2011-06-10 2012-12-13 Intersil Americas LLC System and method for operating a one-wire protocol slave in a two-wire protocol bus environment
CN112579381A (zh) * 2020-12-28 2021-03-30 杭州德旺信息技术有限公司 一种基于uvm的uart总线的uvm验证系统及方法
CN113434355A (zh) * 2021-08-26 2021-09-24 苏州浪潮智能科技有限公司 模块验证方法、uvm验证平台、电子设备及存储介质
CN117093529A (zh) * 2023-07-31 2023-11-21 四川和芯微电子股份有限公司 I2s总线协议验证系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012170921A2 (en) * 2011-06-10 2012-12-13 Intersil Americas LLC System and method for operating a one-wire protocol slave in a two-wire protocol bus environment
CN112579381A (zh) * 2020-12-28 2021-03-30 杭州德旺信息技术有限公司 一种基于uvm的uart总线的uvm验证系统及方法
CN113434355A (zh) * 2021-08-26 2021-09-24 苏州浪潮智能科技有限公司 模块验证方法、uvm验证平台、电子设备及存储介质
CN117093529A (zh) * 2023-07-31 2023-11-21 四川和芯微电子股份有限公司 I2s总线协议验证系统

Also Published As

Publication number Publication date
CN117762707A (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
TWI273259B (en) Built-in test architecture
KR101149270B1 (ko) 집적 회로 디바이스를 테스트하는 시스템 및 방법
KR101369963B1 (ko) 복수의 집적회로 장치를 포함하는 집적회로 모듈을테스트하기 위한 시스템 및 방법
KR101848741B1 (ko) 온 칩 지연 발생을 활용하는 디바이스들에 대한 입/출력 지연 검사
EP2705432A1 (en) Control circuit and method for testing a memory element
JP4594896B2 (ja) 被試験デバイスを、被試験デバイスのクロック及びデータ信号をサンプリングすることによって試験すること
KR20150094112A (ko) 반도체 메모리 장치 및 동작 방법
KR20120062870A (ko) 에러 검출 기법들에 의거한 메모리 쓰기 타이밍의 조정
CN113821399A (zh) 安全装置及维护数据安全的方法
US6959257B1 (en) Apparatus and method to test high speed devices with a low speed tester
US6477659B1 (en) Measuring timing margins in digital systems by varying a programmable clock skew
CN117762707B (zh) 一种验证串口通信的装置、方法、介质及电子设备
US8484546B2 (en) Information processing apparatus, information transmitting method, and information receiving method
US9158609B2 (en) Universal serial bus testing device
US9837170B2 (en) Systems and methods for testing performance of memory modules
CN110646723A (zh) 总线接口测试电路和方法
US20120054391A1 (en) Apparatus and method for testing smnp cards
US11023023B2 (en) Start-and-stop detecting apparatus and method for I3C bus
US7363565B2 (en) Method of testing apparatus having master logic unit and slave logic unit
CN115904849B (zh) Pcie链路信号测试方法、系统、计算机设备及介质
US7168029B2 (en) Method for testing a universal serial bus host controller
US10476658B1 (en) Method and system for implementing high speed source synchronous clock alignment
CN113986600A (zh) 一种用于芯片串行接口的测试方法、装置和芯片
CN115328708A (zh) 串行外设接口时序的参数测试方法及测试装置
KR20220082533A (ko) 직렬 통신 장치 및 방법

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
GR01 Patent grant
GR01 Patent grant