CN107656882A - 一种通用串行总线控制器验证方法、系统及设备 - Google Patents
一种通用串行总线控制器验证方法、系统及设备 Download PDFInfo
- Publication number
- CN107656882A CN107656882A CN201610592334.1A CN201610592334A CN107656882A CN 107656882 A CN107656882 A CN 107656882A CN 201610592334 A CN201610592334 A CN 201610592334A CN 107656882 A CN107656882 A CN 107656882A
- Authority
- CN
- China
- Prior art keywords
- fpga chip
- mode
- fpga
- usb controller
- chip
- 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.)
- Withdrawn
Links
- 238000012795 verification Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims abstract description 140
- 238000012360 testing method Methods 0.000 claims abstract description 89
- 238000001514 detection method Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种通用串行总线(USB)控制器验证系统,包括上位机、现场可编程逻辑阵列(FPGA)验证板;FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接两个芯片的控制开关;上位机,用于将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;第一FPGA芯片和第二FPGA芯片,分别工作于第一工作模式和第二工作模式,用于在控制开关闭合后,按指定传输模式对数据进行传输测试,并将测试结果返回给上位机。本发明还公开了两种USB控制器验证方法及设备。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种通用串行总线(Universal SerialBus,USB)控制器验证方法、系统及设备。
背景技术
在系统芯片(System-on-Chip,SoC)的开发过程中,SoC原型的测试验证是芯片在流片之前不可或缺的环节。随着集成电路应用需求的不断提升,SoC的设计规模与日俱增,功能日趋复杂,且性能要求也越来越高,这使得芯片的开发时间会相应延长。其中,芯片的验证阶段占据了整个芯片开发的大部分时间。因此,如何提高验证效率和质量以缩短芯片的开发时间成为当今SoC设计领域中最为关注的课题之一。
现有的芯片原型验证手段,主要包括有以软件驱动验证(Software Drivenverification,SDV)、总线功能模型(Bus Function Model,BFM)等为代表的软件验证技术,以及基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)的原型验证技术。基于FPGA的原型验证比软件验证的速度高出4至6个数量级,而且还可以及时发现芯片设计中的缺陷和错误,从而提高流片成功率;同时,FPGA验证平台还可作为软件开发的硬件平台,能够加速软件开发速度,以缩短产品的开发周期。
USB接口因具有可热插拔、可总线供电、支持设备多、易扩展、方便设备互联等优点,深受广大芯片厂商的喜爱,几乎成为集成有处理器核的SoC芯片的必备接口。然而,USB接口的易用性的代价是USB控制器的复杂度的增加,即增加了对USB控制器的测试验证的复杂度。
目前,针对USB控制器的测试,主要是以FPGA验证平台结合USB设备的方式进行。但是,由于USB控制器区分主机(HOST)模式和设备(DEVICE)模式,且在测试过程中需要覆盖USB的中断传输、控制传输、等时传输、批量传输等四种传输模式,现有的验证平台及验证方法存在明显不足。
例如,当USB控制器处于HOST模式时,当前一般采用USB设备与USB控制器相连接的方式进行测试,但当USB设备枚举之后,HOST侧的处理器需要运行对应USB设备的驱动程序才能与所述USB设备进行数据传输;此外,一种USB设备往往只能覆盖一种或两种传输模式,无法覆盖完全USB的四种传输模式;并且,在对数据进行传输测试的过程中,无法修改数据包长度,导致无法进行精细测试。当USB控制器处于DEVICE模式时,当前一般采用USB设备对接个人计算机(Personal Computer,PC)的方式进行测试,即USB控制器所在的SoC芯片作为一个USB设备连接到PC,在USB设备枚举之后,PC侧需要运行对应USB设备的驱动程序才能与所述USB设备进行数据传输。然而,开发PC侧的驱动程序将会使芯片开发增加额外的工作量,并且同一个驱动程序对于不同的操作系统可能不具有适应性,还需进行实时维护。
发明内容
有鉴于此,本发明实施例提供了一种USB控制器验证方法、系统及设备,能够同时覆盖测试USB控制器的两种工作模式和四种传输模式。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种USB控制器验证系统,所述系统包括:上位机、现场可编程逻辑阵列FPGA验证板;所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;其中,
所述上位机,用于将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
所述第一FPGA芯片和第二FPGA芯片,分别工作于所述第一工作模式和所述第二工作模式,用于在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
上述方案中,所述上位机,还用于将集成有USB控制器的系统芯片SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
上述方案中,所述第一FPGA芯片,还用于对所述第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
上述方案中,所述FPGA验证板还包括第一调试接口、第二调试接口及第三调试接口;
所述第一调试接口与所述第一FPGA芯片连接,所述第二调试接口与所述第二FPGA芯片连接,所述第三调试接口与所述上位机连接且分别与所述第一调试接口、第二调试接口串联;
所述第一调试接口,用于将所述上位机需要写入到所述第一FPGA芯片的所述第一SoC逻辑版本发送至所述第一FPGA芯片;
所述第二调试接口,用于将所述上位机需要写入到所述第二FPGA芯片的所述第二SoC逻辑版本发送至所述第二FPGA芯片;
所述FPGA验证板还包括第一路传输接口、第二路传输接口;所述第一路传输接口与所述第一FPGA芯片连接,所述第二路传输接口与所述第二FPGA芯片连接;
所述第一路传输接口,用于将所述上位机发送的USB控制器第一工作模式的测试程序传输给所述第一FPGA芯片;
所述第二路传输接口,用于将所述上位机发送的USB控制器第二工作模式的测试程序传输给所述第二FPGA芯片。
上述方案中,所述第一FPGA芯片和第二FPGA芯片之间通过串行解串器连接,用于第一FPGA芯片和第二FPGA芯片之间的数据交互;
所述第一FPGA芯片和第二FPGA芯片分别连接有第一复位电路、第二复位电路,用于对所述第一FPGA芯片和第二FPGA芯片分别进行复位。
本发明提供了一种USB控制器验证方法,所述方法包括:
将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
上述方案中,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
本发明提供了一种上位机,所述上位机包括:发送单元、接收单元;其中,
所述发送单元,用于将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
所述接收单元,用于接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
上述方案中,所述上位机还包括:写入单元,用于将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
本发明提供了一种USB控制器验证方法,所述方法包括:
第一FPGA芯片和第二FPGA芯片分别接收上位机发送的USB控制器第一工作模式的测试程序、USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;
所述第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和第二工作模式,在所述第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
上述方案中,所述方法还包括:第一FPGA芯片对第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
本发明提供了一种FPGA验证板,所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;
所述第一FPGA芯片和第二FPGA芯片,用于分别接收上位机发送的USB控制器第一工作模式的测试程序和USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;还用于分别工作于所述第一工作模式和第二工作模式,在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
上述方案中,所述第一FPGA芯片,还用于对所述第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
本发明实施例提供的USB控制器验证方法、系统及设备,所述系统包括上位机、现场可编程逻辑阵列FPGA验证板;所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和第二FPGA芯片的控制开关;其中,所述上位机,用于将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;所述第一FPGA芯片和第二FPGA芯片,分别工作于所述第一工作模式和所述第二工作模式,用于在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。可见,本发明实施例通过在FPGA验证板上同时设置第一FPGA芯片和第二FPGA芯片,使所述第一FPGA芯片模拟集成USB控制器HOST模式的SoC芯片,而使所述第二FPGA芯片模拟集成USB控制器DEVICE模式的SoC芯片,然后测试在四种传输模式下的数据传输结果,克服了现有的验证平台无法同时覆盖测试USB控制器的两种工作模式和四种传输模式的不足,并能够满足精细化测试的需求。
此外,能够避免USB控制器在HOST模式下开发USB设备驱动程序的过程、以及避免USB控制器在DEVICE模式下,上位机开发USB设备驱动程序的过程;本发明实施例的验证系统的工作性能稳定可靠、适用范围广,验证方法操作简单、快捷。
附图说明
图1为本发明实施例一USB控制器验证系统的组成结构示意图;
图2为本发明实施例一USB控制器验证方法的实现流程示意图;
图3为本发明实施例一USB控制器验证方法的具体实现流程示意图;
图4为本发明实施例二USB控制器验证方法的实现流程示意图;
图5为本发明实施例二上位机的组成结构示意图;
图6为本发明实施例三USB控制器验证方法的实现流程示意图;
图7为本发明实施例三FPGA验证板的组成结构示意图。
具体实施方式
实施例一
本发明实施例一一种USB控制器验证系统的组成结构示意图,如图1所示,该系统包括:上位机1、FPGA验证板2;FPGA验证板2包括第一FPGA芯片201、第二FPGA芯片202、以及连接第一FPGA芯片201和第二FPGA芯片202的控制开关203;
上位机1,用于将USB控制器第一工作模式的测试程序发送至第一FPGA芯片201、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片202;还用于分别向第一FPGA芯片201和第二FPGA芯片202发送执行指定传输模式的指令;
第一FPGA芯片201和第二FPGA芯片202,分别工作于所述第一工作模式和所述第二工作模式,用于在控制开关203闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机1。
其中,上位机1,具体用于将USB控制器第一工作模式的测试程序发送至第一FPGA芯片201,以使第一FPGA芯片201模拟集成USB控制器第一工作模式的SoC芯片;将USB控制器第二工作模式的测试程序发送至第二FPGA芯片202,以使第二FPGA芯片202模拟集成USB控制器第二工作模式的SoC芯片;分别向第一FPGA芯片201和第二FPGA芯片202发送执行指定传输模式的指令,以使第一FPGA芯片201和第二FPGA芯片202工作于所述指定传输模式。
这里,上位机1具体将何种工作模式分配给第一FPGA芯片201和第二FPGA芯片202可根据实际情况进行设定,即当所述第一工作模式为HOST模式时,则所述第二工作模式为DEVICE模式;当所述第一工作模式为DEVICE模式时,则所述第二工作模式为HOST模式;本实施例中以所述第一工作模式为HOST模式、所述第二工作模式为DEVICE模式为例进行说明。
这里,所述指定传输模式包括中断传输、控制传输、等时传输、批量传输等四种传输模式;在实际操作中,可由用户在FPGA的功能测试程序提供的菜单中选择任意一种传输模式,然后由上位机1通过串口通信将用户所选择的传输模式发送给第一FPGA芯片201和第二FPGA芯片202,以使第一FPGA芯片201和第二FPGA芯片202工作于所述指定传输模式对数据进行传输测试。
第一FPGA芯片201,具体用于:根据上位机1发送的模拟USB控制器HOST模式的测试程序,模拟集成USB控制器HOST模式的SoC芯片;在控制开关203闭合后,根据上位机1发送的执行指定传输模式的指令,工作于所述指定传输模式对数据进行传输测试,并将所述HOST模式的测试结果返回给上位机1。
第二FPGA芯片202,具体用于:根据上位机1发送的模拟USB控制器DEVICE模式的测试程序,模拟集成了USB控制器DEVICE模式的SoC芯片;在控制开关203闭合后,根据上位机1发送的执行指定传输模式的指令,工作于所述指定传输模式对数据进行传输测试,并将所述DEVICE模式的测试结果返回给上位机1。
这里,上位机1会将所述四种传输模式中的每一种传输模式所对应的执行指令发送给第一FPGA芯片201和第二FPGA芯片202,直至第一FPGA芯片201和第二FPGA芯片202遍历执行完所述四种传输模式。
进一步地,第一FPGA芯片201,还用于在控制开关203闭合后,工作于所述指定传输模式对数据进行传输测试之前,对所述第二FPGA芯片202进行枚举操作。
所述枚举操作,包括:第一FPGA芯片201对第二FPGA芯片202进行设备识别检测;第一FPGA芯片201获取第二FPGA芯片202的设备描述符信息;第一FPGA芯片201对第二FPGA芯片202进行设备地址设定;第一FPGA芯片201获取第二FPGA芯片202配置描述符;第一FPGA芯片201对第二FPGA芯片202进行设备配置。
这里,第一FPGA芯片201对第二FPGA芯片202进行枚举操作,是因为第一FPGA芯片201模拟集成USB控制器HOST模式,而第二FPGA芯片202模拟集成USB控制器DEVICE模式;在控制开关203闭合后,模拟集成USB控制器HOST模式的第一FPGA芯片201检测到模拟集成USB控制器DEVICE模式的第二FPGA芯片202的接入,则通过枚举操作获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
进一步地,上位机1,还用于在将模拟USB控制器第一工作模式的测试程序发送至第一FPGA芯片201、将模拟USB控制器第二工作模式的测试程序发送至第二FPGA芯片202之前,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
上位机1,具体用于:在将模拟USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片201、以及将模拟USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片202之前,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片201,以使第一FPGA芯片201成为SoC芯片;将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片202,以使第二FPGA芯片202成为SoC芯片。
这里,第一FPGA芯片201和第二FPGA芯片202在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内,使FPGA芯片成为SoC芯片;第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
进一步地,FPGA验证板2还包括第一调试接口204、第二调试接口205及第三调试接口206。
第一调试接口204与第一FPGA芯片201连接,第二调试接口205与第二FPGA芯片202连接,第三调试接口206与上位机1连接且分别与第一调试接口204、第二调试接口205串联;
第一调试接口204和第二调试接口205,分别用于将上位机1需要写入到第一FPGA芯片201、第二FPGA芯片202的所述第一SoC逻辑版本、第二SoC逻辑版本发送至对应的第一FPGA芯片201、第二FPGA芯片202。
具体地,与上位机1连接的第三调试接口206接收到上位机1通过下载器下载到的所述第一SoC逻辑版本、第二SoC逻辑版本后,通过第一调试接口204将所述第一SoC逻辑版本发送至第一FPGA芯片201,通过第二调试接口205将所述第二SoC逻辑版本发送至第二FPGA芯片202。
这里,第一调试接口204、第二调试接口205可以为FPGA JTAG接口,第三调试接口206可以为菊花链FPGA JTAG接口。
进一步地,FPGA验证板2还包括拨码开关207。
这里,通过控制拨码开关207的开闭状态,第一调试接口204、第二调试接口205、第三调试接口206还可构成菊花链;本实施例中通过对拨码开关207进行合理的设置,使得拨码开关207分别可单独控制第三调试接口206和第一调试接口204之间的连接状态、第三调试接口206和第二调试接口205之间的连接状态、第一调试接口204和第二调试接口205之间的连接状态;当控制拨码开关207的状态以保持第一调试接口204、第二调试接口205、第三调试接口206互相串联连接时,第一调试接口204、第二调试接口205及第三调试接口206则构成菊花链;当第一调试接口204、第二调试接口205及第三调试接口206构成菊花链后,上位机1可将通过下载器下载获得的所述第一SoC逻辑版本和所述第二SoC逻辑版本直接发送给第三调试接口206,而第三调试接口206可将第一SoC逻辑版本和第二SoC逻辑版本依次分别通过菊花链发送至第一FPGA芯片201和第二FPGA芯片202。
这里,上位机1可通过下载器与FPGA验证板2上的第三调试接口206相连。
进一步地,FPGA验证板2还包括第一路传输接口208、第二路传输接口209;
第一路传输接口208与第一FPGA芯片201连接,第二路传输接口209与第二FPGA芯片202连接;
第一路传输接口208,用于将上位机1发送的USB控制器第一工作模式的测试程序传输给第一FPGA芯片201;
第二路传输接口209,用于将上位机1发送的模拟USB控制器第二工作模式的测试程序传输给第二FPGA芯片202。
这里,第一路传输接口208、第二路传输接口209还分别与上位机1相连;第一路传输接口208、第二路传输接口209可以是SoC JTAG接口。
进一步地,第一FPGA芯片和第二FPGA芯片之间通过串行解串器(SerDes)210连接,用于第一FPGA芯片201和第二FPGA芯片202之间的数据交互;所述串行解串器210可以是八路串行解串器;
第一FPGA芯片201连接有第一复位电路211,用于对第一FPGA芯片201进行复位;第二FPGA芯片202连接有第二复位电路212,用于对第二FPGA芯片202进行复位。
进一步地,第一FPGA芯片201还连接有第一USB物理层芯片213,第二FPGA芯片202还连接有第二USB物理层芯片214,第一USB物理层芯片213和第二USB物理层芯片214之间连接有控制开关203。
这里,当控制开关203闭合后,第一USB物理层芯片213的出口和第二USB物理层芯片214的出口相连,则相当于第二USB物理层芯片214的出口连接至第一USB物理层芯片213的入口,以使第二FPGA芯片202模拟USB设备的插入。
进一步地,第一USB物理层芯片213还连接有第一USB连接器215,第二USB物理层芯片214还连接有第二USB连接器216,用于连接USB设备或个人计算机。
这里,如果用户不希望用第二FPGA芯片202作为模拟USB设备的插入,则可断开控制开关203,并通过第一USB连接器215连接外部USB设备进行HOST模式的测试,以及第二USB连接器216连接外部USB设备进行DEVICE模式的测试。
进一步地,第一FPGA芯片201还连接有第一串口217,第二FPGA芯片202还连接有第二串口218,用于在数据测试时,向上位机1发送测试结果;在同一个传输模式下,第一串口217将第一FPGA芯片201工作在HOST模式时对数据的测试结果发送给上位机1,第二串口218将第二FPGA芯片202工作在DEVICE模式时对数据的测试结果发送给上位机1。
进一步地,第一FPGA芯片201和第二FPGA芯片202还都分别连接至各自对应的八倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,DDR3SDRAM)的接口、Nand-flash内存的接口以及网口;FPGA验证板2还包括复位电路、时钟电路、电源电路;所述复位电路,用于对FPGA验证板2进行复位;所述时钟电路,用于产生振荡电路或产生使FPGA验证板2正常工作的时钟信号;所述电源电路,用于为FPGA验证板2正常工作提供电源。
这里,利用所述USB控制器验证系统进行数据传输测试的具体操作过程,举例说明如下:接通拨码开关207,以使第一调试接口204、第二调试接口205、第三调试接口206构成菊花链;上位机1通过第三调试接口206将集成有USB控制器的SoC处理器的第一SoC逻辑版本烧写到FPGA验证板2上的第一FPGA芯片201内、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本烧写到FPGA验证板2上的第二FPGA芯片202内;上位机1通过第一路传输接口208将USB控制器主机模式的测试软件版本下载到第一FPGA芯片201、以及通过第二路传输接口209将USB控制器设备模式的测试软件版本下载到第二FPGA芯片202;接通控制开关203,将第一USB物理层芯片213出口与第二USB物理层芯片214出口相连,使第二FPGA芯片202模拟USB设备的插入;第一FPGA芯片201对第二FPGA芯片202进行枚举操作,从而获知第二FPGA芯片202所模拟的USB设备的类型,并为第二FPGA芯片202分配对应的驱动程序;
上位机1通过第一串口217、第二串口218分别将用户选择的执行指定传输模式的指令发送给第一FPGA芯片201、第二FPGA芯片202,使第一FPGA芯片201和第二FPGA芯片202工作在一致的传输模式进行数据传输测试;通过第一串口217获取第一FPGA芯片201模拟USB主机模式时的测试结果、以及通过第二串口218获取第二FPGA芯片202模拟USB设备模式时的测试结果,并将两者的测试结果返回给上位机1;按照上述过程,直至第一FPGA芯片201和第二FPGA芯片202遍历执行完所有的四种传输模式,则测试结束。
基于以上系统,本发明实施例一还提供了一种USB控制器验证方法,如图2所示,包括以下步骤:
步骤301:上位机将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;
具体地,上位机将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片,以使第一FPGA芯片模拟集成USB控制器第一工作模式的SoC芯片;上位机将USB控制器第二工作模式的测试程序发送至第二FPGA芯片,以使第二FPGA芯片模拟集成USB控制器第二工作模式的SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片具体工作于哪一种工作模式可根据实际情况进行设定,即当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
进一步地,在步骤301之前,所述方法还包括:
上位机将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
具体地,上位机将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;上位机将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内;所述第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
步骤302:第一FPGA芯片和第二FPGA芯片分别工作于第一工作模式和第二工作模式,在第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机。
具体地,第一FPGA芯片根据步骤301中上位机发送的USB控制器主机模式的测试程序,模拟工作在USB控制器主机模式;第二FPGA芯片根据步骤301中上位机发送的USB控制器设备模式的测试程序,模拟工作在USB控制器设备模式;当第一FPGA芯片和第二FPGA芯片连通,则使得第二FPGA芯片模拟的USB设备插入至第一FPGA芯片所模拟的USB主机,第一FPGA芯片对第二FPGA芯片进行枚举操作,获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备;第一FPGA芯片和第二FPGA芯片按步骤301中上位机所发送的指定传输模式对数据进行传输测试,第一FPGA芯片将主机模式的测试结果返回给上位机,第二FPGA芯片将设备模式的测试结果返回给上位机,直至遍历执行完所有的四种传输模式。
下面以一个具体的实施例对所述USB控制器验证方法进行举例说明,所述USB控制器验证方法的具体实现流程示意图,如图3所示,包括:
步骤401:上位机下载两个SoC逻辑版本至第一FPGA芯片和第二FPGA芯片;
具体地,上位机下载集成有USB控制器的SoC处理器的第一SoC逻辑版本至第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;上位机下载集成有USB控制器的SoC处理器的第二SoC逻辑版本至第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
步骤402:上位机将两种测试程序下载到第一FPGA芯片和第二FPGA芯片;
具体地,上位机将USB控制器主机模式的测试程序下载到第一FPGA芯片、以及将USB控制器设备模式的测试程序下载到第二FPGA芯片。
步骤403:接通连接第一FPGA芯片和第二FPGA芯片的控制开关;
具体地,接通连接第一FPGA芯片和第二FPGA芯片的控制开关,使第一FPGA芯片和第二FPGA芯片连通,即第一FPGA芯片连接的第一USB物理层芯片的出口与第二FPGA芯片连接的第二USB物理层芯片的入口相连接,第二FPGA芯片模拟USB设备的插入。
步骤404:第一FPGA芯片对第二FPGA芯片进行枚举操作;
具体地,第一FPGA芯片对第二FPGA芯片进行设备识别检测;第一FPGA芯片获取第二FPGA芯片的设备描述符信息;第一FPGA芯片对第二FPGA芯片进行设备地址设定;第一FPGA芯片获取第二FPGA芯片配置描述符;第一FPGA芯片对第二FPGA芯片进行设备配置,从而获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
步骤405:上位机将制定传输模式发送至第一FPGA芯片和第二FPGA芯片;
具体地,上位机将用户选择的指定传输模式通过串口通信分别发送至第一FPGA芯片、第二FPGA芯片。
这里,所述指定传输模式可以是USB的中断传输、控制传输、等时传输、批量传输等四种传输模式中的任意一种。
步骤406:第一FPGA芯片和第二FPGA芯片将测试结果分别返回给上位机;
具体地,第一FPGA芯片和第二FPGA芯片根据上位机在步骤405中发送的指定传输模式对数据进行测试,第一FPGA芯片将主机模式的测试结果返回给上位机,第二FPGA芯片将设备模式的测试结果返回给上位机。
步骤407:判断是否已遍历所有传输模式,若是,则结束测试,否则返回步骤405;
具体地,判断第一FPGA芯片和第二FPGA芯片是否已遍历执行完所有传输模式,若是,则结束测试,否则返回步骤405继续执行测试。
实施例二
本发明实施例二一种USB控制器验证方法的实现流程示意图,如图4所示,该方法包括以下步骤:
步骤501:将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;
具体地,将USB控制器第一工作模式的测试程序发送至第一FPGA芯片,以使第一FPGA芯片模拟集成USB控制器第一工作模式的SoC芯片;将USB控制器第二工作模式的测试程序发送至第二FPGA芯片,以使第二FPGA芯片模拟集成USB控制器第二工作模式的SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片具体工作于哪一种工作模式可根据实际情况进行设定,即当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
进一步地,在步骤501之前,该方法还包括:
将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
具体地,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内;所述第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
步骤502:接收第一FPGA芯片和第二FPGA芯片分别工作于第一工作模式和第二工作模式时,在第一FPGA芯片和第二FPGA芯片连通后,第一FPGA芯片和第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
具体地,第一FPGA芯片根据步骤501中所接收到的USB控制器主机模式的测试程序,模拟工作在USB控制器主机模式;第二FPGA芯片根据步骤501中所接收到的USB控制器设备模式的测试程序,模拟工作在USB控制器设备模式;当第一FPGA芯片和第二FPGA芯片连通,则使得第二FPGA芯片所模拟的USB设备插入至第一FPGA芯片所模拟的USB主机;第一FPGA芯片对第二FPGA芯片进行枚举操作,获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备;第一FPGA芯片和第二FPGA芯片按步骤501中接收到的指定传输模式对数据进行传输测试,第一FPGA芯片返回主机模式的测试结果,第二FPGA芯片返回设备模式的测试结果,直至第一FPGA芯片和第二FPGA芯片遍历执行完所有的四种传输模式。
为实现上述方法,本发明实施例二还提供了一种上位机,如图5所示,该上位机包括:发送单元22、接收单元23;其中,
发送单元22,用于将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;
接收单元23,用于接收第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在第一FPGA芯片和第二FPGA芯片连通后,第一FPGA芯片和第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
进一步地,该上位机还包括:写入单元21,用于将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
其中,写入单元21,具体用于:将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内;所述第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
发送单元22,具体用于:将USB控制器第一工作模式的测试程序发送至第一FPGA芯片,以使第一FPGA芯片模拟集成USB控制器第一工作模式的SoC芯片;将USB控制器第二工作模式的测试程序发送至第二FPGA芯片,以使第二FPGA芯片模拟集成USB控制器第二工作模式的SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片具体工作于哪一种工作模式可根据实际情况进行设定,即当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
接收单元23,具体用于:当第一FPGA芯片根据发送单元22发送的USB控制器主机模式的测试程序时,则模拟工作在USB控制器主机模式;当第二FPGA芯片根据发送单元22发送的USB控制器设备模式的测试程序时,则模拟工作在USB控制器设备模式;当第一FPGA芯片和第二FPGA芯片连通,使得第二FPGA芯片所模拟的USB设备插入至第一FPGA芯片所模拟的USB主机,则第一FPGA芯片对第二FPGA芯片进行枚举操作,获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备;第一FPGA芯片和第二FPGA芯片按发送单元22所发送的指定传输模式对数据进行传输测试,第一FPGA芯片将主机模式的测试结果返回给接收单元23,第二FPGA芯片将设备模式的测试结果返回给接收单元23,直至第一FPGA芯片和第二FPGA芯片遍历执行完所有的四种传输模式。
在实际应用中,所述写入单元21、发送单元22、接收单元23均可由位于上位机中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
实施例三
本发明实施例三一种USB控制器验证方法的实现流程示意图,如图6所示,该方法包括以下步骤:
步骤601:第一FPGA芯片和第二FPGA芯片分别接收上位机发送的USB控制器第一工作模式的测试程序、USB控制器第二工作模式的测试程序,并接收上位机发送的执行指定传输模式的指令;
具体地,第一FPGA芯片接收上位机发送的USB控制器第一工作模式的测试程序以及执行指定传输模式的指令;第二FPGA芯片接收上位机发送的USB控制器第二工作模式的测试程序以及执行指定传输模式的指令。
这里,当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
步骤602:第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和第二工作模式,在第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机。
具体地,第一FPGA芯片根据步骤601中上位机发送的USB控制器第一工作模式的测试程序,模拟工作在USB控制器第一工作模式;第二FPGA芯片根据步骤601中上位机发送的USB控制器第二工作模式的测试程序,模拟工作在USB控制器第二工作模式;在第一FPGA芯片和第二FPGA芯片连通后,第一FPGA芯片和第二FPGA芯片都按上位机发送的所述指定传输模式对数据进行传输测试,第一FPGA芯片将第一工作模式的测试结果返回给上位机,第二FPGA芯片将第二工作模式的测试结果返回给上位机。
这里,由于本实施例中所述第一工作模式为主机模式、所述第二工作模式为设备模式,则第一FPGA芯片模拟工作在USB控制器主机模式,第二FPGA芯片模拟工作在USB控制器设备模式。
进一步地,该方法还包括:第一FPGA芯片对第二FPGA芯片进行枚举操作。
具体地,第一FPGA芯片对第二FPGA芯片进行设备识别检测;第一FPGA芯片获取第二FPGA芯片的设备描述符信息;第一FPGA芯片对第二FPGA芯片进行设备地址设定;第一FPGA芯片获取第二FPGA芯片配置描述符;第一FPGA芯片对第二FPGA芯片进行设备配置,从而获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
本实施例中,由于第一FPGA芯片模拟工作在USB控制器主机模式,而第二FPGA芯片模拟工作在USB控制器设备模式,因此,第一FPGA芯片需要对第二FPGA芯片进行枚举操作。当第一FPGA芯片模拟工作在USB控制器设备模式,而第二FPGA芯片模拟工作在USB控制器主机模式时,则由第二FPGA芯片对第一FPGA芯片进行枚举操作。
为实现上述方法,本发明实施例三还提供了一种FPGA验证板,如图7所示,该FPGA验证板包括第一FPGA芯片201、第二FPGA芯片202、以及连接第一FPGA芯片201和第二FPGA芯片202的控制开关203;其中,
第一FPGA芯片201和第二FPGA芯片202,用于分别接收上位机发送的USB控制器第一工作模式的测试程序和USB控制器第二工作模式的测试程序,并接收上位机发送的执行指定传输模式的指令;还用于分别工作于所述第一工作模式和第二工作模式,在控制开关203闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机。
这里,第一FPGA芯片201接收上位机发送的USB控制器第一工作模式的测试程序,并根据所述USB控制器第一工作模式的测试程序,模拟工作在USB控制器第一工作模式;第二FPGA芯片202接收上位机发送的USB控制器第二工作模式的测试程序,并根据所述USB控制器第二工作模式的测试程序,模拟工作在USB控制器第二工作模式;当连接第一FPGA芯片201和第二FPGA芯片202的控制开关203闭合后后,第一FPGA芯片201和第二FPGA芯片202都按所述指定传输模式对数据进行传输测试,第一FPGA芯片201将第一工作模式的测试结果返回给上位机,第二FPGA芯片202将第二工作模式的测试结果返回给上位机。
这里,当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明,则第一FPGA芯片201模拟工作在USB控制器主机模式,第二FPGA芯片202模拟工作在USB控制器设备模式。
进一步地,第一FPGA芯片201,还用于对第二FPGA芯片202进行枚举操作;所述枚举操作,包括:第一FPGA芯片201对第二FPGA芯片202进行设备识别检测;第一FPGA芯片201获取第二FPGA芯片202的设备描述符信息;第一FPGA芯片201对第二FPGA芯片202进行设备地址设定;第一FPGA芯片201获取第二FPGA芯片202配置描述符;第一FPGA芯片201对第二FPGA芯片202进行设备配置,从而获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
本实施例中,由于第一FPGA芯片201模拟工作在USB控制器主机模式,而第二FPGA芯片202模拟工作在USB控制器设备模式,因此,第一FPGA芯片201需要对第二FPGA芯片202进行枚举操作。当第一FPGA芯片201模拟工作在USB控制器设备模式,而第二FPGA芯片202模拟工作在USB控制器主机模式时,则由第二FPGA芯片202对第一FPGA芯片201进行枚举操作。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (18)
1.一种通用串行总线USB控制器验证系统,其特征在于,所述系统包括上位机、现场可编程逻辑阵列FPGA验证板;所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;其中,
所述上位机,用于将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
所述第一FPGA芯片和第二FPGA芯片,分别工作于所述第一工作模式和所述第二工作模式,用于在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
2.根据权利要求1所述的系统,其特征在于,所述上位机,还用于将集成有USB控制器的系统芯片SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
3.根据权利要求1或2所述的系统,其特征在于,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
4.根据权利要求3所述的系统,其特征在于,所述第一FPGA芯片,还用于对所述第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
5.根据权利要求2所述的系统,其特征在于,所述FPGA验证板还包括第一调试接口、第二调试接口及第三调试接口;
所述第一调试接口与所述第一FPGA芯片连接,所述第二调试接口与所述第二FPGA芯片连接,所述第三调试接口与所述上位机连接且分别与所述第一调试接口、第二调试接口串联;
所述第一调试接口,用于将所述上位机需要写入到所述第一FPGA芯片的所述第一SoC逻辑版本发送至所述第一FPGA芯片;
所述第二调试接口,用于将所述上位机需要写入到所述第二FPGA芯片的所述第二SoC逻辑版本发送至所述第二FPGA芯片;
所述FPGA验证板还包括第一路传输接口、第二路传输接口;所述第一路传输接口与所述第一FPGA芯片连接,所述第二路传输接口与所述第二FPGA芯片连接;
所述第一路传输接口,用于将所述上位机发送的USB控制器第一工作模式的测试程序传输给所述第一FPGA芯片;
所述第二路传输接口,用于将所述上位机发送的USB控制器第二工作模式的测试程序传输给所述第二FPGA芯片。
6.根据权利要求1或2所述的系统,其特征在于,
所述第一FPGA芯片和第二FPGA芯片之间通过串行解串器连接,用于第一FPGA芯片和第二FPGA芯片之间的数据交互;
所述第一FPGA芯片和第二FPGA芯片分别连接有第一复位电路、第二复位电路,用于对所述第一FPGA芯片和第二FPGA芯片分别进行复位。
7.一种通用串行总线USB控制器验证方法,其特征在于,所述方法包括:
将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
9.根据权利要求7或8所述的方法,其特征在于,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
10.一种上位机,其特征在于,所述上位机包括:发送单元、接收单元;其中,
所述发送单元,用于将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
所述接收单元,用于接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
11.根据权利要求10所述的上位机,其特征在于,所述上位机还包括:写入单元,用于将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
12.根据权利要求10或11所述的上位机,其特征在于,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
13.一种通用串行总线USB控制器验证方法,其特征在于,所述方法包括:
第一FPGA芯片和第二FPGA芯片分别接收上位机发送的USB控制器第一工作模式的测试程序、USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;
所述第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和第二工作模式,在所述第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
14.根据权利要求13所述的方法,其特征在于,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
15.权利要求14所述的方法,其特征在于,所述方法还包括:第一FPGA芯片对第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
16.一种现场可编程逻辑阵列FPGA验证板,其特征在于,所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;
所述第一FPGA芯片和第二FPGA芯片,用于分别接收上位机发送的USB控制器第一工作模式的测试程序和USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;还用于分别工作于所述第一工作模式和第二工作模式,在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
17.根据权利要求16所述的FPGA验证板,其特征在于,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
18.根据权利要求17所述的FPGA验证板,其特征在于,所述第一FPGA芯片,还用于对所述第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592334.1A CN107656882A (zh) | 2016-07-25 | 2016-07-25 | 一种通用串行总线控制器验证方法、系统及设备 |
PCT/CN2017/082626 WO2018018978A1 (zh) | 2016-07-25 | 2017-04-28 | 一种通用串行总线控制器验证方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592334.1A CN107656882A (zh) | 2016-07-25 | 2016-07-25 | 一种通用串行总线控制器验证方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107656882A true CN107656882A (zh) | 2018-02-02 |
Family
ID=61015717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610592334.1A Withdrawn CN107656882A (zh) | 2016-07-25 | 2016-07-25 | 一种通用串行总线控制器验证方法、系统及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107656882A (zh) |
WO (1) | WO2018018978A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595900A (zh) * | 2018-07-04 | 2018-09-28 | 珠海市微半导体有限公司 | 一种pd协议芯片的fpga验证系统 |
CN110175050A (zh) * | 2019-05-29 | 2019-08-27 | 深圳创龙智新科技有限公司 | 外围设备控制方法、装置、系统、电子设备及存储介质 |
CN112084736A (zh) * | 2020-08-17 | 2020-12-15 | 武汉汇迪森信息技术有限公司 | 一种基于fpga的usb3.0物理层收发装置 |
CN112231264A (zh) * | 2019-07-15 | 2021-01-15 | 唐健 | 一种嵌入式PXIe总线控制器 |
CN112989757A (zh) * | 2021-05-10 | 2021-06-18 | 芯华章科技股份有限公司 | 用于对多个原型验证板进行编号的方法及存储介质 |
WO2022088542A1 (zh) * | 2020-11-02 | 2022-05-05 | 芯启源(上海)半导体科技有限公司 | 一种基于fpga的usb3.0/3.1控制系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684152B (zh) * | 2018-12-25 | 2023-03-24 | 广东浪潮大数据研究有限公司 | 一种risc-v处理器指令下载方法及其装置 |
CN110362521B (zh) * | 2019-06-30 | 2022-11-18 | 中国船舶重工集团公司第七一六研究所 | Mcu+fpga架构的双路串行数据通信系统及方法 |
CN112364397B (zh) * | 2020-11-27 | 2023-01-13 | 天津七所精密机电技术有限公司 | 一种基于fpga的异步串口安全通信系统及方法 |
CN113132168B (zh) * | 2021-04-29 | 2023-02-24 | 上海阵量智能科技有限公司 | 一种基于PCIe的网络传输配置方法和装置 |
CN118295605B (zh) * | 2024-06-06 | 2024-09-10 | 芯启源(上海)半导体科技有限公司 | SPI Flash后门读写操作系统、方法及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165834A (ja) * | 2003-12-04 | 2005-06-23 | Canon Inc | Usbデバイスループバックテスト制御装置およびその方法 |
CN101373453A (zh) * | 2007-08-22 | 2009-02-25 | 株式会社御牧工程 | 数据传输装置的制造方法、测试方法以及数据传输装置 |
CN101996121A (zh) * | 2009-08-12 | 2011-03-30 | 鸿富锦精密工业(深圳)有限公司 | Usb端口测试装置及测试方法 |
CN102087624A (zh) * | 2009-12-02 | 2011-06-08 | 上海摩波彼克半导体有限公司 | 基于fpga模块实现usb接口功能验证测试的电路结构及其方法 |
CN103885868A (zh) * | 2014-04-16 | 2014-06-25 | 福州瑞芯微电子有限公司 | 模拟usb热插拔过程的测试系统及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770817A (zh) * | 2010-01-18 | 2010-07-07 | 华东师范大学 | 基于fpga的多接口存储器验证系统 |
CN102201267A (zh) * | 2010-03-26 | 2011-09-28 | 上海摩波彼克半导体有限公司 | 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法 |
CN102981116B (zh) * | 2012-11-02 | 2015-05-20 | 北京创毅讯联科技股份有限公司 | 一种验证专用集成电路的装置和方法 |
CN104331282B (zh) * | 2014-10-28 | 2017-10-31 | 电子科技大学 | 一种无线电产品可重构综合开发测试系统 |
-
2016
- 2016-07-25 CN CN201610592334.1A patent/CN107656882A/zh not_active Withdrawn
-
2017
- 2017-04-28 WO PCT/CN2017/082626 patent/WO2018018978A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165834A (ja) * | 2003-12-04 | 2005-06-23 | Canon Inc | Usbデバイスループバックテスト制御装置およびその方法 |
CN101373453A (zh) * | 2007-08-22 | 2009-02-25 | 株式会社御牧工程 | 数据传输装置的制造方法、测试方法以及数据传输装置 |
CN101996121A (zh) * | 2009-08-12 | 2011-03-30 | 鸿富锦精密工业(深圳)有限公司 | Usb端口测试装置及测试方法 |
CN102087624A (zh) * | 2009-12-02 | 2011-06-08 | 上海摩波彼克半导体有限公司 | 基于fpga模块实现usb接口功能验证测试的电路结构及其方法 |
CN103885868A (zh) * | 2014-04-16 | 2014-06-25 | 福州瑞芯微电子有限公司 | 模拟usb热插拔过程的测试系统及装置 |
Non-Patent Citations (1)
Title |
---|
陈方: ""专用USB接口仿真与测试"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595900A (zh) * | 2018-07-04 | 2018-09-28 | 珠海市微半导体有限公司 | 一种pd协议芯片的fpga验证系统 |
CN110175050A (zh) * | 2019-05-29 | 2019-08-27 | 深圳创龙智新科技有限公司 | 外围设备控制方法、装置、系统、电子设备及存储介质 |
CN112231264A (zh) * | 2019-07-15 | 2021-01-15 | 唐健 | 一种嵌入式PXIe总线控制器 |
CN112084736A (zh) * | 2020-08-17 | 2020-12-15 | 武汉汇迪森信息技术有限公司 | 一种基于fpga的usb3.0物理层收发装置 |
CN112084736B (zh) * | 2020-08-17 | 2024-04-05 | 武汉汇迪森信息技术有限公司 | 一种基于fpga的usb3.0物理层收发装置 |
WO2022088542A1 (zh) * | 2020-11-02 | 2022-05-05 | 芯启源(上海)半导体科技有限公司 | 一种基于fpga的usb3.0/3.1控制系统 |
CN112989757A (zh) * | 2021-05-10 | 2021-06-18 | 芯华章科技股份有限公司 | 用于对多个原型验证板进行编号的方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018018978A1 (zh) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656882A (zh) | 一种通用串行总线控制器验证方法、系统及设备 | |
US10288681B2 (en) | Test architecture with a small form factor test board for rapid prototyping | |
US9152520B2 (en) | Programmable interface-based validation and debug | |
US8639981B2 (en) | Flexible SoC design verification environment | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
US20170140082A1 (en) | Target Capture And Replay In Emulation | |
KR20000034907A (ko) | 전자 회로 설계 검증 장치 및 방법 | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
TW201341811A (zh) | 主機板測試裝置及其轉接模組 | |
CN104407882B (zh) | 一种板卡装置 | |
CN115146568B (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
CN114064458A (zh) | 接口可扩展的通用性的jtag调试方法及系统 | |
US10664563B2 (en) | Concurrent testbench and software driven verification | |
CN114444422A (zh) | 芯片验证系统、方法及存储介质 | |
CN113282439A (zh) | eMMC测试方法、装置、可读存储介质及电子设备 | |
US10664637B2 (en) | Testbench restoration based on capture and replay | |
US20080126862A1 (en) | System and Method for Testing Software Code for Use on a Target Processor | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
US9581643B1 (en) | Methods and circuits for testing partial circuit designs | |
CN115495136B (zh) | 一种基于国产飞腾平台的bmc快速在线升级方法 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN114253784A (zh) | 芯片测试模式的配置方法、装置、soc芯片及电子设备 | |
JP2002288002A (ja) | エミュレータ装置及びエミュレーション方法 | |
Johnson | Implementing serial bus interfaces using general purpose digital instrumentation | |
AbdElSalam | NVMe solid state drive verification solution using HW emulation and virtual device technologies |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180202 |