一种模拟USB传输过程中链路指令出错的方法技术

技术编号:11005454 阅读:102 留言:0更新日期:2015-02-05 11:54
本发明专利技术公开了一种模拟USB传输过程中链路指令出错的方法。该方法通过设置错误编码来模拟实现对USB3.0/3.1传输过程中各种链路指令的干扰。本发明专利技术能够对USB3.0/3.1协议中各种类型的链路指令进行全字段加错,可用于USB3.0/3.1主机/设备控制器IP的功能验证中。

【技术实现步骤摘要】
-种模拟USB传输过程中链路指令出错的方法
本专利技术涉及一种模拟USB传输过程中链路指令出错的方法。
技术介绍
USB是由Intel、肥C、Microsoft等公司发起的用于连接外部设备的一个串口总 线标准。其发展经过USBl. 0、USBL 1、USB2. 0、USB3. 0和USB3. 1五个阶段,USBL 0支持 1. 5Mbps 带宽,USBL 1 支持 12Mbps 带宽,USB2. 0 支持 480Mbps 带宽,USB3. 0 支持 5抓PS 带 宽,目前最新的USB3. 1支持IOGbps带宽。 USB采用分层体系结构,从上到下分别为协议层(Protoco 1 Layer )、链接层化ink Layer)、物理层(Physical Layer)。其中链路层用于维护链路的连通性,W保证链路双方数 据的正确传输。 USB3. 0/3. 1链路层共有22个链路指令,当接收端收到一个头包(Header 化cket),需要发送LG00D_x(x为大于等于0且小于等于7的整数)用于通知对方收到化ader Packet ;当收到不正确的头包,接收端需要发送LBAD通知对方重发包;当接收端接收到一 个LBAD,需要先发送LRTY,然后将LBAD对应的包重新发送;当接收端的头包处理完,则需 要清空其缓冲区(Rx Header Buffer)并按序发送LO?_x (X为A,B,C,D中的一个);LG0_ Ux (X为1,2, 3中的一个)为低功耗请求链路指令,当接收端同意进入低功耗则发送LAU给 对方,对方接收到LAU后发送LPMA,如果接收端处于事物处理过程,不同意进入低功耗状态 则发送LXU给对方;在UO状态,只有下游端口才可W发送LDN,用于通知上游端口其存在状 态,只有上游端口才可W发送LUP,用于通知下游端口其存在状态。 USB的应用非常广泛,很多集成电路设计公司都致力于USB主机/设备控制器IP 的开发,验证作为设计过程中的一个重要组成部分约占整个设计周期的70%,所W寻找较好 的验证方法对提高IP核的设计效率和正确性有很大意义。 链路指令在实际USB3. 0/3. 1传输过程中会出现各种错误情况,如开端有序集错 误、类型错误、CRC5校验错误等。因此在USB3. 0/3. 1主机/设备控制器IP核进行功能验 证时,需要提供一种简易的方法来模拟所有错误情况从而提高IP的功能验证覆盖率。
技术实现思路
本专利技术所要解决的技术问题是针对
技术介绍
的不足提供了一种采用错误编码方 式配置寄存器,能够模拟USB3. 0/3. 1传输过程中链路指令出错的方法。 本专利技术为解决上述技术问题采用W下技术方案 一种模拟USB传输过程中链路指令出错的方法,包含如下步骤: 1) 由验证平台初始化模块对链路指令错误编码寄存器进行配置,寄存器的个数等于需 要加错的链路指令的数量; 2) 链路指令产生模块根据链路指令错误编码寄存器的内容产生相应的链路指令并将 其发送给USBIP核。 优选的,所述步骤I)中,具体包括W下步骤: 1-1)同时对data和datak进行加错; 1-2)重排链路指令顺序; 1- 3)设置了序号位,用于对指定的链路指令进行加错,序号位的位宽可W根据实际测 试需求而定。 优选的,在步骤2)中,所述链路指令产生模块具体包括W下步骤: 2- 1)如果当前链路指令序号不在错误编码寄存器中,则不对该指令进行加错; 2-2)如果错误编码寄存器中DK_EN=l'bl,则将化taj(字段的内容输出到PIPE接口的 datak,否则按照原来正确的结果进行输出; 2-3)如果DS_EN=r bl,则将DataS中比特位为1对应的字节内容清空输出; 2-4)将原来正确的字段进行加1操作作为加错后的字段进行输出; 2-5)发送正确的乱序链路指令。 优选的,在步骤1-1)中,所述加错包含开端序集和链路指令字。 优选的,所述步骤1-1)具体包含;使用1比特DK_EN来标志是否对datak进行加 错和使用2比特Lcw_EN表示是否对链路指令字进行加错。 本专利技术采用W上技术方案与现有技术相比,具有W下技术效果: 本专利技术采用简单的错误编码方式配置寄存器,使链路指令产生模块能够根据寄存器内 容产生各种类型的错误链路指令,有助于提高USB3. 0/3. 1主机/设备控制器IP核的功能 验覆盖率。 【附图说明】 图1是本专利技术链路指令加错框图; 图2是错误指令编码格式图; 图3是本专利技术实施例2中的流程图; 图4是本专利技术实施例3中的链路指令产生模块框图。 【具体实施方式】 下面结合附图对本专利技术的技术方案做进一步的详细说明: 一种模拟USB传输过程中链路指令出错的方法,包含如下步骤: 1) 由验证平台初始化模块对链路指令错误编码寄存器进行配置,寄存器的个数等于需 要加错的链路指令的数量; 2) 链路指令产生模块根据链路指令错误编码寄存器的内容产生相应的链路指令并将 其发送给USBIP核。 其中,所述步骤1)中,具体包括W下步骤: 1-1)同时对data和datak进行加错; 1-2)重排链路指令顺序; 1-3)设置了序号位,用于对指定的链路指令进行加错,序号位的位宽可W根据实际测 试需求而定。 其中,在步骤1-2)中,所述链路指令产生模块具体包括W下步骤: 2-1)如果当前链路指令序号不在错误编码寄存器中,则不对该指令进行加错; 2-2)如果错误编码寄存器中DK_EN=l'bl,则将化taj(字段的内容输出到PIPE接口的 datak,否则按照原来正确的结果进行输出; 2-3)如果DS_EN=r bl,则将DataS中比特位为1对应的字节内容清空输出; 2-4)将原来正确的字段进行加1操作作为加错后的字段进行输出; 2-5)发送正确的乱序链路指令。 其中,在步骤1-1)中,所述加错包含开端序集和链路指令字。 其中,所述步骤1-1)具体包含;使用1比特DK_EN来标志是否对datak进行加错 和使用2比特Lcw_EN表示是否对链路指令字进行加错。 实施例1 ;基于链路指令加错的验证平台 本专利技术的验证方式是一种模拟USB3. 0/3. 1传输过程中链路指令出错的方法,使用该 方法实现的链路指令加错模块作为USB3. 0/3. 1主机/设备控制器IP核的功能验证测试平 台的一部分,能够实现各种链路指令加错,W验证设计能够正确处理该些情况。如图1所 示,首先在初始化模块中配置指令错误编码寄存器,然后链路指令产生模块根据指令错误 编码寄存器产生相应的链路指令,最后链路指令加错检测模块对IP的反馈结果进行检查。 图2为本专利技术的错误指令编码格式,包括Seq_Num、DS_EN、DataS、DK_EN、Data_K、 Lcw_EN、Class、Type、SubType、CRC日 W及 DisO。 表I为各种错误编码字段的具体含义。 [002引实施例2 ;错误编码寄存器配置。 图3为错误编码寄存器配置过程图,具体步骤如下所示: 步骤31 ;设置链路指令的序号。链路指令产生模块中有一个计数器,初始化时为零,工 作过程中每发送一个链本文档来自技高网
...

【技术保护点】
一种模拟USB传输过程中链路指令出错的方法,其特征在于:包含如下步骤:1)由验证平台初始化模块对链路指令错误编码寄存器进行配置,寄存器的个数等于需要加错的链路指令的数量;2)链路指令产生模块根据链路指令错误编码寄存器的内容产生相应的链路指令并将其发送给USB的IP核。

【技术特征摘要】
1. 一种模拟USB传输过程中链路指令出错的方法,其特征在于:包含如下步骤: 1) 由验证平台初始化模块对链路指令错误编码寄存器进行配置,寄存器的个数等于需 要加错的链路指令的数量; 2) 链路指令产生模块根据链路指令错误编码寄存器的内容产生相应的链路指令并将 其发送给USB的IP核。2. 根据权利要求1所述模拟USB传输过程中链路指令出错的方法,其特征在于:所述 步骤1)中,具体包括以下步骤: 卜1)同时对data和datak进行加错; 1-2)重排链路指令顺序; 1- 3)设置了序号位,用于对指定的链路指令进行加错,序号位的位宽可以根据实际测 试需求而定。3. 根据权利要求1所述模拟USB传输过程中链路指令出错的方法,其特征在于,在步骤 2)中,所述链路指令产生模块具体包括以下步骤: 2- 1)如果当前链路...

【专利技术属性】
技术研发人员:李冰黄平赵霞刘勇董乾王刚陈德斌陆清茹许立峰
申请(专利权)人:东南大学成贤学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1