CN116954192A - 总线控制器的功能测试方法、系统、装置及可读存储介质 - Google Patents
总线控制器的功能测试方法、系统、装置及可读存储介质 Download PDFInfo
- Publication number
- CN116954192A CN116954192A CN202310900722.1A CN202310900722A CN116954192A CN 116954192 A CN116954192 A CN 116954192A CN 202310900722 A CN202310900722 A CN 202310900722A CN 116954192 A CN116954192 A CN 116954192A
- Authority
- CN
- China
- Prior art keywords
- test
- operating frequency
- test signal
- bus controller
- bit width
- 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
- 238000010998 test method Methods 0.000 title description 4
- 238000012360 testing method Methods 0.000 claims abstract description 251
- 238000012795 verification Methods 0.000 claims abstract description 114
- 238000011990 functional testing Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000003993 interaction Effects 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 52
- 238000006243 chemical reaction Methods 0.000 claims description 42
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000013461 design Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 239000008187 granular material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种总线控制器的功能测试方法、系统、装置及可读存储介质,涉及芯片设计领域,该功能测试方法包括当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令;控制测试模块在响应测试指令时的运行频率为第一运行频率,并获取与待验证功能对应的第一测试信号;第一运行频率为满足原型验证装置的时序约束条件的运行频率;将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号,将第二测试信号输出给目标物理接口设备。本发明能够避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
Description
技术领域
本发明涉及芯片设计领域,特别涉及一种总线控制器的功能测试方法、系统、装置及可读存储介质。
背景技术
随着计算机技术的飞速发展,USB(Universal Serial Bus,通用串行总线)接口的应用越来越广泛,并且USB的通信速率及通信协议也在不断的变化,USB通信速率越来越高,USB协议越来越复杂。
在芯片设计领域,为了对USB控制器进行功能验证,通常需要将USB控制器的ASIC(Application Specific Integrated Circuit,专用集成电路)代码移植到FPGA(Field-Programmable Gate Array,现场可编程门阵列)平台下进行功能验证,但是FPGA芯片中通常没有USB的PHY(Physical,物理层)接口,需要在FPGA芯片的外部使用单独的USB PHY芯片与USB控制器接口进行连接,从而实现USB的整体功能测试。而现有的USB 3.0PHY芯片通常都是采用16bit的PIPE(Physical Interface for PCI Express,PCIE物理层接口)接口,为了实现USB 3.0控制器与16bit PIPE接口的USB 3.0PHY芯片连接,需要将USB 3.0控制器的PIPE接口设置为16bit,此时USB 3.0控制器将运行在较高的频率当中,而USB 3.0控制器的逻辑代码较为复杂,将整个USB 3.0控制器运行在较高的频率下,FPGA芯片的时序约束则很难满足需求,最终将导致无法在FPGA平台下验证USB 3.0控制器的ASIC码。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种总线控制器的功能测试方法、系统、装置及可读存储介质,能够避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
为解决上述技术问题,本发明提供了一种总线控制器的功能测试方法,应用于原型验证装置,所述原型验证装置包括测试模块,所述功能测试方法包括:
当所述原型验证装置与目标物理接口设备连接,获取功能测试信息,基于所述功能测试信息生成测试指令,所述测试指令用于确定待测总线控制器的待验证功能;
控制所述测试模块在响应所述测试指令时的运行频率为第一运行频率,并获取与所述待验证功能对应的第一测试信号;所述第一运行频率为满足所述原型验证装置的时序约束条件的运行频率;
将所述第一测试信号调整为满足所述目标物理接口设备的交互条件的第二测试信号,将所述第二测试信号输出给所述目标物理接口设备。
可选的,控制所述测试模块在响应所述测试指令时的运行频率为第一运行频率的过程包括:
确定所述第一运行频率对应的第一位宽;
将所述测试模块的交互接口配置为所述第一位宽,以使所述测试模块在响应所述测试指令时的运行频率为第一运行频率。
可选的,将所述第一测试信号调整为满足所述目标物理接口设备的交互条件的第二测试信号的过程包括:
确定所述目标物理接口设备的交互接口的第二位宽;所述第二位宽小于所述第一位宽;
基于所述第二位宽调整所述第一测试信号得到第二测试信号。
可选的,基于所述第二位宽调整所述第一测试信号得到第二测试信号的过程包括:
确定目标转换时钟;
基于所述目标转换时钟和所述第二位宽调整所述第一测试信号得到第二测试信号。
可选的,所述总线控制器为USB控制器或PCIE控制器。
为解决上述技术问题,本发明还提供了一种总线控制器的功能测试系统,应用于原型验证装置,所述原型验证装置包括测试模块,所述功能测试系统包括:
第一处理模块,用于当所述原型验证装置与目标物理接口设备连接,获取功能测试信息,基于所述功能测试信息生成测试指令,所述测试指令用于确定待测总线控制器的待验证功能;
第一控制模块,用于控制所述测试模块在响应所述测试指令时的运行频率为第一运行频率,并获取与所述待验证功能对应的第一测试信号;所述第一运行频率为满足所述原型验证装置的时序约束条件的运行频率;
第一转换模块,用于将所述第一测试信号调整为满足所述目标物理接口设备的交互条件的第二测试信号,将所述第二测试信号输出给所述目标物理接口设备。
为解决上述技术问题,本发明还提供了一种原型验证装置,包括第一处理器、虚拟总线控制器和转换模块,其中:
所述第一处理器,用于配置所述虚拟总线控制器的第一运行频率和所述转换模块的第二运行频率,当所述转换模块与目标物理接口设备连接后,基于接收到的功能测试信息输出功能测试指令,所述第一运行频率小于所述第二运行频率,所述测试指令用于确定待测虚拟总线控制器的待验证功能,所述第一运行频率为满足所述原型验证装置的时序约束条件的运行频率;
虚拟总线控制器,用于在所述第一运行频率下响应所述测试指令,并得到与所述待验证功能对应的第一测试信号;
转换模块,用于在所述第二运行频率下对所述第一测试信号进行转换得到满足所述目标物理接口设备的交互条件的第二测试信号,并将所述第二测试信号输出至所述目标物理接口设备。
可选的,所述第一处理器,用于配置所述虚拟总线控制器的交互接口的位宽为第一位宽,配置所述转换模块的交互接口的位宽为第二位宽,所述第一位宽大于所述第二位宽,当所述转换模块与目标物理接口设备连接后,基于接收到的功能测试信息输出功能测试指令,所述第一运行频率小于所述第二运行频率,所述测试指令用于确定待测虚拟总线控制器的待验证功能。
可选的,所述原型验证装置还包括:
内存控制器,用于将所述第一测试信号存储至外部存储设备的预设位置。
可选的,所述原型验证装置还包括:
互联总线,所述第一处理器、所述虚拟总线控制器及所述内存控制器均与所述互联总线连接。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被第一处理器执行时实现如上文任意一项所述的总线控制器的功能测试方法的步骤。
本发明提供了一种总线控制器的功能测试方法,在通过原型验证装置对实现待测总线控制器的待验证功能的代码进行测试时,控制测试模块运行上述代码时的运行频率满足原型验证装置的时序约束条件,从而避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。本发明还提供了一种总线控制器的功能测试系统、原型验证装置及计算机可读存储介质,具有和上述总线控制器的功能测试方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种总线控制器的功能测试方法的步骤流程图;
图2为本发明所提供的一种总线控制器的功能测试系统的结构示意图;
图3为本发明所提供的一种原型验证装置的结构示意图;
图4为本发明所提供的一种转换模块的信号处理示意图。
具体实施方式
本发明的核心是提供一种总线控制器的功能测试方法、系统、装置及可读存储介质,能够避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,请参照图1,图1为本发明所提供的一种总线控制器的功能测试方法的步骤流程图,该功能测试方法包括;
S101:当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能;
可以理解,为了对待测总线控制器进行功能验证,通常是需要将待测总线控制器的ASIC代码移植到原型验证装置中测试模块中进行测试验证,考虑到原型验证装置上可能没有设置与待测总线控制器相对应的物理接口,需要在原型验证装置的外部使用单独的目标物理接口设备与测试模块的接口进行连接,从而实现总线功能测试。当检测到原型验证装置与目标物理接口设备连接后,可基于获取到的功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能。其中,原型验证装置包括但不限于FPGA。
S102:控制测试模块在响应测试指令时的运行频率为第一运行频率,并获取与待验证功能对应的第一测试信号;第一运行频率为满足原型验证装置的时序约束条件的运行频率;
考虑到对待测总线控制器的功能进行原型验证是通过原型验证装置中的最小单元实现的,最小单元的运行频率会小于ASIC芯片的运行频率,因此,可能导致测试模块运行在与目标物理接口对应的较高的频率下时,会导致无法满足FPGA的时序约束,基于此,本步骤控制测试模块在响应测试指令时的运行频率为满足原型验证装置的时序约束条件的运行频率,从而解决测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题。
S103:将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号,将第二测试信号输出给目标物理接口设备。
可以理解,为了满足原型验证装置的时序约束,本发明控制测试模块运行在较低的频率,测试模块输出的第一测试信号无法满足目标物理接口设备的条件,为保证原型验证装置与目标物理接口设备的正常交互,本发明将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号后,再输出给目标物理接口。
相应的,当接收到目标物理接口设备输出的数据后,将该数据调整为满足测试模块处理条件的数据,再将其输出给测试模块。
其中,第一测试信号主要包括时钟/数据/命令/状态这四种类型的信号,其TX_PCLK、RX_PCLK为时钟信号,TX_DATA、RX_DATA为数据信号,其他信号则为命令和状态信号,RX_PCLK2由目标物理接口设备提供,TX_PCLK1由测试模块提供,TX_PCLK2的时钟频率是TX_PCLK1时钟频率的2倍,RX_PCLK2的时钟频率是RX_PCLK1时钟频率的2倍。
可见,本实施例中,在通过原型验证装置对实现待测总线控制器的待验证功能的代码进行测试时,控制测试模块运行上述代码时的运行频率满足原型验证装置的时序约束条件,从而避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
在上述实施例的基础上:
在一些实施例中,控制测试模块在响应测试指令时的运行频率为第一运行频率的过程包括:
确定第一运行频率对应的第一位宽;
将测试模块的交互接口配置为第一位宽,以使测试模块在响应测试指令时的运行频率为第一运行频率。
在一些实施例中,将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号的过程包括:
确定目标物理接口设备的交互接口的第二位宽;第二位宽小于第一位宽;
基于第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,基于第二位宽调整第一测试信号得到第二测试信号的过程包括:
确定目标转换时钟;
基于目标转换时钟和第二位宽调整第一测试信号得到第二测试信号。
本发明中,通过调整测试模块的交互接口的位宽的方式调整测试模块的运行频率,假设目标物理接口设备的交互接口的第二位宽为mbit,则可设置测试模块的交互接口的位宽为nbit,n大于m,通过增大位宽的方式降低测试模块的运行频率,以使测试模块运行时能够满足原型验证装置的时序约束,然后将测试模块输出的测试信号再转换为16bit的测试信号后再输出给目标物理接口。
示例性地,测试模块移植有USB 3.0控制器的ASIC代码、目标物理接口设备为USB3.0PHY芯片为例进行说明,由于USB 3.0PHY芯片采用16bit的PIPE接口,因此,本发明将测试模块的PIPE接口设置为32bit,通过增大PIPE接口的位宽的方式,使测试模块可以运行在较低的频率,从而保证能够在原型验证装置上验证USB 3.0控制器的ASIC代码。
在一些实施例中,总线控制器为USB控制器或PCIE控制器。
可以理解,由于USB 3.0控制器和PCIE控制器均使用PIPE接口,且USB 3.0控制器和PCIE控制器的功能架构有较多相近之处,因此本发明可用于USB 3.0控制器和PCIE控制器的FPGA原型验证。
第二方面,请参照图2,图2为本发明所提供的一种总线控制器的功能测试系统,应用于原型验证装置,原型验证装置包括测试模块,功能测试系统包括:
第一处理模块21,用于当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能;
第一控制模块22,用于控制测试模块在响应测试指令时的运行频率为第一运行频率,并获取与待验证功能对应的第一测试信号;第一运行频率为满足原型验证装置的时序约束条件的运行频率;
第一转换模块23,用于将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号,将第二测试信号输出给目标物理接口设备。
可以理解,为了对待测总线控制器进行功能验证,通常是需要将待测总线控制器的ASIC代码移植到原型验证装置中测试模块中进行测试验证,考虑到原型验证装置上可能没有设置与待测总线控制器相对应的物理接口,需要在原型验证装置的外部使用单独的目标物理接口设备与测试模块的接口进行连接,从而实现总线功能测试。当检测到原型验证装置与目标物理接口设备连接后,可基于获取到的功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能。其中,原型验证装置包括但不限于FPGA。
考虑到对待测总线控制器的功能进行原型验证是通过原型验证装置中的最小单元实现的,最小单元的运行频率会小于ASIC芯片的运行频率,因此,可能导致测试模块运行在与目标物理接口对应的较高的频率下时,会导致无法满足FPGA的时序约束,基于此,本步骤控制测试模块在响应测试指令时的运行频率为满足原型验证装置的时序约束条件的运行频率,从而解决测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题。
可以理解,为了满足原型验证装置的时序约束,本发明控制测试模块运行在较低的频率,测试模块输出的第一测试信号无法满足目标物理接口设备的条件,为保证原型验证装置与目标物理接口设备的正常交互,本发明将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号后,再输出给目标物理接口。
相应的,当接收到目标物理接口设备输出的数据后,将该数据调整为满足测试模块处理条件的数据,再将其输出给测试模块。
其中,第一测试信号主要包括时钟/数据/命令/状态这四种类型的信号,其TX_PCLK、RX_PCLK为时钟信号,TX_DATA、RX_DATA为数据信号,其他信号则为命令和状态信号,RX_PCLK2由目标物理接口设备提供,TX_PCLK1由测试模块提供,TX_PCLK2的时钟频率是TX_PCLK1时钟频率的2倍,RX_PCLK2的时钟频率是RX_PCLK1时钟频率的2倍。
可见,本实施例中,在通过原型验证装置对实现待测总线控制器的待验证功能的代码进行测试时,控制测试模块运行上述代码时的运行频率满足原型验证装置的时序约束条件,从而避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
在一些实施例中,控制测试模块在响应测试指令时的运行频率为第一运行频率的过程包括:
确定第一运行频率对应的第一位宽;
将测试模块的交互接口配置为第一位宽,以使测试模块在响应测试指令时的运行频率为第一运行频率。
在一些实施例中,将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号的过程包括:
确定目标物理接口设备的交互接口的第二位宽;第二位宽小于第一位宽;
基于第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,基于第二位宽调整第一测试信号得到第二测试信号的过程包括:
确定目标转换时钟;
基于目标转换时钟和第二位宽调整第一测试信号得到第二测试信号。
本发明中,通过调整测试模块的交互接口的位宽的方式调整测试模块的运行频率,假设目标物理接口设备的交互接口的第二位宽为mbit,则可设置测试模块的交互接口的位宽为nbit,n大于m,通过增大位宽的方式降低测试模块的运行频率,以使测试模块运行时能够满足原型验证装置的时序约束,然后将测试模块输出的测试信号再转换为16bit的测试信号后再输出给目标物理接口。
示例性地,测试模块移植有USB 3.0控制器的ASIC代码、目标物理接口设备为USB3.0PHY芯片为例进行说明,由于USB 3.0PHY芯片采用16bit的PIPE接口,因此,本发明将测试模块的PIPE接口设置为32bit,通过增大PIPE接口的位宽的方式,使测试模块可以运行在较低的频率,从而保证能够在原型验证装置上验证USB 3.0控制器的ASIC代码。
在一些实施例中,总线控制器为USB控制器或PCIE控制器。
第三方面,请参照图3,图3为本发明所提供的一种原型验证装置的结构示意图,包括第一处理器31、虚拟总线控制器32和转换模块33,其中:
第一处理器31,用于配置虚拟总线控制器32的第一运行频率和转换模块33的第二运行频率,当转换模块33与目标物理接口设备连接后,基于接收到的功能测试信息输出功能测试指令,第一运行频率小于第二运行频率,测试指令用于确定待测虚拟总线控制器32的待验证功能,第一运行频率为满足原型验证装置的时序约束条件的运行频率;
虚拟总线控制器32,用于在第一运行频率下响应测试指令,并得到与待验证功能对应的第一测试信号;
转换模块33,用于在第二运行频率下对第一测试信号进行转换得到满足目标物理接口设备的交互条件的第二测试信号,并将第二测试信号输出至目标物理接口设备。可以理解,第一处理器31能够实现整个ASIC内部模块的控制管理以及数据的处理功能,虚拟总线控制器32实现总线通信协议,与目标物理接口设备连接后,实现与外部的总线设备的数据传输功能,转换模块33实现PIPE接口的数据宽度及时钟转换。
示例性地,以原型验证装置为FPGA,虚拟总线控制器32为USB 3.0控制器,目标物理接口设备为USB 3.0PHY芯片为例进行说明,将USB 3.0控制器的PIPE接口设置为32bit,转换模块33与32bit PIPE接口的USB 3.0控制器和16bit PIPE接口的USB 3.0PHY芯片进行连接,用于实现32bit和16bit之间的转换,使得USB 3.0控制器可以运行在较低的频率,转换模块33运行在较高的频率,由于转换模块33相对于USB 3.0控制器逻辑功能简单,更加容易在FPGA上实现时序约束,从而使得USB 3.0控制器连接16bit PIPE接口的USB 3.0PHY可以实现工作运行,解决了USB 3.0控制器在FPGA芯片上进行原型验证的问题。
其中,转换模块33的PIPE接口信号处理如图4所示,图4中PIPE接口信号主要分为时钟/数据/命令/状态这四种类型,TX_PCLK、RX_PCLK为时钟信号,TX_DATA、RX_DATA为数据信号,其他信号则为命令和状态信号。RX_PCLK2由USB 3.0PHY芯片提供,TX_PCLK1由USB3.0控制器提供,TX_PCLK2的时钟频率是TX_PCLK1时钟频率的2倍,RX_PCLK2的时钟频率是RX_PCLK1时钟频率的2倍。转换模块33内部会对TX_DATA和RX_DATA数据进行缓存,缓存模块可以实现数据位宽32bit和16bit之间的转换以及发送/接收数据和发送/接收时钟频率之间的同步。命令和状态信号会在TX_PCLK1/RX_PCLK1和TX_PCLK2/RX_PCLK2之间进行同步处理。
可见,本实施例中,在通过原型验证装置对实现待测总线控制器的待验证功能的代码进行测试时,控制测试模块运行上述代码时的运行频率满足原型验证装置的时序约束条件,从而避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
在一些实施例中,第一处理器31,用于配置虚拟总线控制器32的交互接口的位宽为第一位宽,配置转换模块33的交互接口的位宽为第二位宽,第一位宽大于第二位宽,当转换模块33与目标物理接口设备连接后,基于接收到的功能测试信息输出功能测试指令,第一运行频率小于第二运行频率,测试指令用于确定待测虚拟总线控制器32的待验证功能。
转换模块33,还用于确定目标转换时钟,基于目标转换时钟和第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,总线控制器为USB控制器或PCIE控制器。
在一些实施例中,原型验证装置还包括:
内存控制器34,用于将第一测试信号存储至外部存储设备的预设位置。
其中,内存控制器34实现对ASIC外部DDR颗粒的控制功能,并将ASIC中的数据存储在DDR颗粒中。
在一些实施例中,原型验证装置还包括:
其他外设接口35,用于实现ASIC相关外设模块与ASIC外部接口之间的数据传输。
在一些实施例中,原型验证装置还包括:
PCIE EP控制器和PCIE PHY,用于实现PCIE EP功能,实现与外部PCIE RC设备的数据传输。
在一些实施例中,原型验证装置还包括:
互联总线36,第一处理器31、虚拟总线控制器32及内存控制器34、其他外设接口35、PCIE EP控制器和PCIE PHY均与互联总线36连接,通过互联总线36实现ASIC内部各个功能模块之间的数据传输。
综上所述,本发明解决了USB 3.0控制器使用16bit PIPE接口USB 3.0PHY芯片进行FPGA原型验证时USB 3.0控制器不能满足FPGA时序约束的问题,可以使用USB 3.0控制器与16bit PIPE接口USB 3.0PHY芯片进行连接,完成基于FPGA芯片的USB 3.0产品设计。
第四方面,本发明还提供了一种电子设备,电子设备包括:
存储器,用于存储计算机程序;
第二处理器,用于执行计算机程序时实现如上文任意一个实施例所描述的总线控制器的功能测试方法的步骤。
具体的,存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。第二处理器执行存储器中保存的计算机程序时,可以实现以下步骤:当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能;控制测试模块在响应测试指令时的运行频率为第一运行频率,并获取与待验证功能对应的第一测试信号;第一运行频率为满足原型验证装置的时序约束条件的运行频率;将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号,将第二测试信号输出给目标物理接口设备。
可见,本实施例中,在通过原型验证装置对实现待测总线控制器的待验证功能的代码进行测试时,控制测试模块运行上述代码时的运行频率满足原型验证装置的时序约束条件,从而避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
在一些实施例中,第二处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:确定第一运行频率对应的第一位宽;将测试模块的交互接口配置为第一位宽,以使测试模块在响应测试指令时的运行频率为第一运行频率。
在一些实施例中,第二处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:确定目标物理接口设备的交互接口的第二位宽;第二位宽小于第一位宽;基于第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,第二处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:确定目标转换时钟;基于目标转换时钟和第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,第二处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能;总线控制器为USB控制器或PCIE控制器。
在上述实施例的基础上,该电子设备还包括:
输入接口,与处理器相连,用于获取外部导入的计算机程序、参数和指令,经处理器控制保存至存储器中。该输入接口可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板。
显示单元,与处理器相连,用于显示处理器发送的数据。该显示单元可以为液晶显示屏或者电子墨水显示屏等。
网络端口,与处理器相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
第五方面,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被第一处理器执行时实现如上文任意一个实施例所描述的总线控制器的功能测试方法的步骤。
该计算机存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能;控制测试模块在响应测试指令时的运行频率为第一运行频率,并获取与待验证功能对应的第一测试信号;第一运行频率为满足原型验证装置的时序约束条件的运行频率;将第一测试信号调整为满足目标物理接口设备的交互条件的第二测试信号,将第二测试信号输出给目标物理接口设备。
可见,本实施例中,在通过原型验证装置对实现待测总线控制器的待验证功能的代码进行测试时,控制测试模块运行上述代码时的运行频率满足原型验证装置的时序约束条件,从而避免测试模块运行在较高的频率下不能满足原型验证装置的时序约束的问题,保证能够在原型验证装置中对待测总线控制器进行原型验证。
在一些实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:确定第一运行频率对应的第一位宽;将测试模块的交互接口配置为第一位宽,以使测试模块在响应测试指令时的运行频率为第一运行频率。
在一些实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:确定目标物理接口设备的交互接口的第二位宽;第二位宽小于第一位宽;基于第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:确定目标转换时钟;基于目标转换时钟和第二位宽调整第一测试信号得到第二测试信号。
在一些实施例中,计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:当原型验证装置与目标物理接口设备连接,获取功能测试信息,基于功能测试信息生成测试指令,测试指令用于确定待测总线控制器的待验证功能;总线控制器为USB控制器或PCIE控制器。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种总线控制器的功能测试方法,其特征在于,应用于原型验证装置,所述原型验证装置包括测试模块,所述功能测试方法包括:
当所述原型验证装置与目标物理接口设备连接,获取功能测试信息,基于所述功能测试信息生成测试指令,所述测试指令用于确定待测总线控制器的待验证功能;
控制所述测试模块在响应所述测试指令时的运行频率为第一运行频率,并获取与所述待验证功能对应的第一测试信号;所述第一运行频率为满足所述原型验证装置的时序约束条件的运行频率;
将所述第一测试信号调整为满足所述目标物理接口设备的交互条件的第二测试信号,将所述第二测试信号输出给所述目标物理接口设备。
2.根据权利要求1所述的总线控制器的功能测试方法,其特征在于,控制所述测试模块在响应所述测试指令时的运行频率为第一运行频率的过程包括:
确定所述第一运行频率对应的第一位宽;
将所述测试模块的交互接口配置为所述第一位宽,以使所述测试模块在响应所述测试指令时的运行频率为第一运行频率。
3.根据权利要求2所述的总线控制器的功能测试方法,其特征在于,将所述第一测试信号调整为满足所述目标物理接口设备的交互条件的第二测试信号的过程包括:
确定所述目标物理接口设备的交互接口的第二位宽;所述第二位宽小于所述第一位宽;
基于所述第二位宽调整所述第一测试信号得到第二测试信号。
4.根据权利要求3所述的总线控制器的功能测试方法,其特征在于,基于所述第二位宽调整所述第一测试信号得到第二测试信号的过程包括:
确定目标转换时钟;
基于所述目标转换时钟和所述第二位宽调整所述第一测试信号得到第二测试信号。
5.根据权利要求1-4任意一项所述的总线控制器的功能测试方法,其特征在于,所述总线控制器为USB控制器或PCIE控制器。
6.一种总线控制器的功能测试系统,其特征在于,应用于原型验证装置,所述原型验证装置包括测试模块,所述功能测试系统包括:
第一处理模块,用于当所述原型验证装置与目标物理接口设备连接,获取功能测试信息,基于所述功能测试信息生成测试指令,所述测试指令用于确定待测总线控制器的待验证功能;
第一控制模块,用于控制所述测试模块在响应所述测试指令时的运行频率为第一运行频率,并获取与所述待验证功能对应的第一测试信号;所述第一运行频率为满足所述原型验证装置的时序约束条件的运行频率;
第一转换模块,用于将所述第一测试信号调整为满足所述目标物理接口设备的交互条件的第二测试信号,将所述第二测试信号输出给所述目标物理接口设备。
7.一种原型验证装置,其特征在于,包括第一处理器、虚拟总线控制器和转换模块,其中:
所述第一处理器,用于配置所述虚拟总线控制器的第一运行频率和所述转换模块的第二运行频率,当所述转换模块与目标物理接口设备连接后,基于接收到的功能测试信息输出功能测试指令,所述第一运行频率小于所述第二运行频率,所述测试指令用于确定待测虚拟总线控制器的待验证功能,所述第一运行频率为满足所述原型验证装置的时序约束条件的运行频率;
所述虚拟总线控制器,用于在所述第一运行频率下响应所述测试指令,并得到与所述待验证功能对应的第一测试信号;
所述转换模块,用于在所述第二运行频率下对所述第一测试信号进行转换得到满足所述目标物理接口设备的交互条件的第二测试信号,并将所述第二测试信号输出至所述目标物理接口设备。
8.根据权利要求7所述的原型验证装置,其特征在于,所述第一处理器,用于配置所述虚拟总线控制器的交互接口的位宽为第一位宽,配置所述转换模块的交互接口的位宽为第二位宽,所述第一位宽大于所述第二位宽,当所述转换模块与目标物理接口设备连接后,基于接收到的功能测试信息输出功能测试指令,所述第一运行频率小于所述第二运行频率,所述测试指令用于确定待测虚拟总线控制器的待验证功能。
9.根据权利要求7所述的原型验证装置,其特征在于,所述原型验证装置还包括:
内存控制器,用于将所述第一测试信号存储至外部存储设备的预设位置。
10.根据权利要求9所述的原型验证装置,其特征在于,所述原型验证装置还包括:
互联总线,所述第一处理器、所述虚拟总线控制器及所述内存控制器均与所述互联总线连接。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1-5任意一项所述的总线控制器的功能测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310900722.1A CN116954192A (zh) | 2023-07-21 | 2023-07-21 | 总线控制器的功能测试方法、系统、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310900722.1A CN116954192A (zh) | 2023-07-21 | 2023-07-21 | 总线控制器的功能测试方法、系统、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116954192A true CN116954192A (zh) | 2023-10-27 |
Family
ID=88444024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310900722.1A Pending CN116954192A (zh) | 2023-07-21 | 2023-07-21 | 总线控制器的功能测试方法、系统、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116954192A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709253A (zh) * | 2024-02-01 | 2024-03-15 | 北京开源芯片研究院 | 芯片测试方法、装置、电子设备及可读存储介质 |
-
2023
- 2023-07-21 CN CN202310900722.1A patent/CN116954192A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709253A (zh) * | 2024-02-01 | 2024-03-15 | 北京开源芯片研究院 | 芯片测试方法、装置、电子设备及可读存储介质 |
CN117709253B (zh) * | 2024-02-01 | 2024-04-26 | 北京开源芯片研究院 | 芯片测试方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700732B (zh) | 用于传输触摸传感器信息的装置、系统和方法 | |
US10445270B2 (en) | Configuring optimal bus turnaround cycles for master-driven serial buses | |
US9575552B2 (en) | Device, method and system for operation of a low power PHY with a PCIe protocol stack | |
US20180329857A1 (en) | Hardware event priority sensitive programmable transmit wait-window for virtual gpio finite state machine | |
KR20180092969A (ko) | 메시징을 위한 최적의 레이턴시 패킷화기 유한 상태 머신 및 입력/출력 트랜스퍼 인터페이스들 | |
TWI515577B (zh) | 用於裝置中的單元之間通訊的方法及介面 | |
WO2018040016A1 (zh) | 一种协议转换器及协议转换方法 | |
US20180329837A1 (en) | Input/output direction decoding in mixed vgpio state exchange | |
CN108780436B (zh) | 用于功率优化的链路速度控制系统 | |
WO2022121199A1 (zh) | Qspi控制器,图像处理器及闪存访问方法 | |
WO2016095435A1 (zh) | 一种多芯片级联的方法、芯片和装置、存储介质 | |
CN116954192A (zh) | 总线控制器的功能测试方法、系统、装置及可读存储介质 | |
CN109344098A (zh) | 主从设备间的数据操作方法和装置 | |
US10733121B2 (en) | Latency optimized I3C virtual GPIO with configurable operating mode and device skip | |
US10684981B2 (en) | Fast termination of multilane single data rate transactions | |
CN111736792B (zh) | 可编程逻辑器件及其控制方法、控制系统和视频处理器 | |
CN112328523B (zh) | 传输双倍速率信号的方法、装置及系统 | |
US20140075063A1 (en) | Smart device with no AP | |
CN115733549A (zh) | Pcie网卡及其接口模式的切换方法、电子设备及存储介质 | |
US9367495B1 (en) | High speed integrated circuit interface | |
CN112416837B (zh) | 将数据从spi模块转发至uart模块的方法、电路和电子装置 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN111130678B (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
WO2014004767A1 (en) | Data interface sleep mode logic | |
TWI746983B (zh) | 讀寫控制系統及其方法 |
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 |