CN102402482A - 测试系统及测试方法 - Google Patents
测试系统及测试方法 Download PDFInfo
- Publication number
- CN102402482A CN102402482A CN2011103745949A CN201110374594A CN102402482A CN 102402482 A CN102402482 A CN 102402482A CN 2011103745949 A CN2011103745949 A CN 2011103745949A CN 201110374594 A CN201110374594 A CN 201110374594A CN 102402482 A CN102402482 A CN 102402482A
- Authority
- CN
- China
- Prior art keywords
- pci bus
- pci
- operational order
- test
- bus operational
- 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
Images
Abstract
本发明提供一种测试系统及测试方法。该系统包括:PCI仲裁模拟模块,用于完成第一测试状态与第二测试状态的切换;PCI主设备模拟模块,用于在所述第一测试状态下,接收激励文件,生成第一PCI总线操作指令并发送至待测设备,以使待测设备接收所述第一PCI总线操作指令并响应;PCI从设备模拟模块,用于在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应;监测模块,用于在所述第一测试状态下监测第一PCI总线操作指令和响应状态,在所述第二测试状态下监测所述第二PCI总线操作指令和响应状态,生成测试结果。
Description
技术领域
本发明涉及仿真测试技术,尤其涉及一种测试系统及测试方法,属于无线通信技术领域。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,FPGA)是一种集成度很高的新型高性能可编程芯片,其内部电路功能是可编程的,可以通过硬件描述语言(Hardware Description Language,HDL)和专用设计工具,在其内部灵活地实现极其复杂的电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。外部设备互联标准(Peripheral ComponentInterconnect,PCI)总线是一种不依附于某个具体处理器的局部总线。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能。PCI总线也支持总线主控技术,允许智能设备在需要时取得总线控制权,以加速数据传送,由于PCI总线可提供的优良特性,PCI接口已成为目前个人计算机中使用最为广泛的接口。随着PCI接口的广泛应用和FPGA技术的快速发展,越来越多的FPGA生产厂商开始研制基于PCI接口的FPGA设备,即将PCI用户逻辑和PCI核逻辑(PCI ipcore)集成到FPGA内部,以进一步提高FPGA的性能。
FPGA的仿真测试是FPGA开发极为重要的组成部分,针对这种基于PCI接口的FPGA设备,现有技术中通常是由一些主流的FPGA生产厂商针对其提供的PCI核逻辑配套提供配套的仿真模型,这种仿真模型仅适用于相应的PCI核逻辑测试,通用性差,并且仅能进行正常的数据流疏通测试。另外,虽然PCI核逻辑的设计者可根据项目应用的不同自行搭建PCI测试模型,但也仅是针对具体的逻辑实现部分进行有针对性的仿真,所以搭建的模型针对性强,也不具备通用性,并且这些仿真模型都无法实现对FPGA设备的全面、有效测试。
发明内容
针对上述缺陷,本发明提供一种测试系统及测试方法,用于实现对通用地、对具备PCI接口的FPGA设备进行全面、有效的测试。
根据本发明的一方面,提供一种测试系统,包括:
PCI仲裁模拟模块,用于完成第一测试状态与第二测试状态的切换;
PCI主设备模拟模块,用于在所述第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
PCI从设备模拟模块,用于在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令;
监测模块,用于在所述第一测试状态下监测所述第一PCI总线操作指令和所述待测设备对所述第一PCI总线操作指令的响应状态,在所述第二测试状态下监测所述第二PCI总线操作指令和所述PCI从设备模拟模块对所述第二PCI总线操作指令的响应状态,生成测试结果。
根据本发明的另一方面,还提供一种测试方法,包括:
PCI主设备模拟模块在第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
PCI仲裁模拟模块完成所述第一测试状态与第二测试状态的切换;
PCI从设备模拟模块在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令;
监测模块在所述第一测试状态下监测所述第一PCI总线操作指令和所述待测设备对所述第一PCI总线操作指令的响应状态,在所述第二测试状态下监测所述第二PCI总线操作指令和所述PCI从设备模拟模块对所述第二PCI总线操作指令的响应状态,生成测试结果。
根据本发明的测试系统及测试方法,通过PCI主设备模拟模块和PCI从设备模拟模块实现了PCI总线的模拟,从而在对待测设备进行测试时,通过将待测设备利用PCI接口接入模拟PCI总线,并利用PCI仲裁模拟模块对接入该模拟PCI总线的设备进行仲裁,即可实现对待测设备接入真实PCI总线环境时性能的全面测试,适用于任意具有PCI接口的待测设备。
附图说明
图1为本发明测试系统的系统架构图。
图2为利用本发明测试系统对待测设备进行测试的示意图。
图3为PCI主设备模拟模块的结构示意图。
图4为PCI从设备模拟模块的结构示意图。
图5为操作时序“断开连接-a”和“断开连接-b”的控制示意图。
图6为操作时序“无数据断开连接”的控制示意图。
图7为本发明测试系统的另一系统架构图。
图8为利用本发明测试系统对待测设备进行测试的另一示意图。
图9为命令调用管理流程图。
图10为本发明测试方法的流程示意图。
具体实施方式
图1为本发明测试系统的系统架构图。如图1所示,该测试系统包括:
PCI仲裁模拟模块11,用于完成第一测试状态与第二测试状态的切换;
PCI主设备模拟模块12,用于在所述第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
PCI从设备模拟模块13,用于在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令;
监测模块14,用于在第一测试状态下监测所述第一PCI总线操作指令和所述待测设备对所述第一PCI总线操作指令的响应状态,在第二测试状态下监测所述第二PCI总线操作指令和所述PCI从设备模拟模块对所述第二PCI总线操作指令的响应状态,以生成测试结果。
具体地,图2为利用本发明测试系统对待测设备进行测试的示意图。如图2所示,由于PCI主设备模拟模块用于在第一测试状态下模拟PCI主设备,PCI从设备模拟模块用于在第二测试状态下模拟PCI从设备,从而模拟出一条PCI总线,其中,PCI主设备模拟模块和PCI从设备模拟模块均为接入模拟总线的设备,当对待测设备进行测试时,还将待测设备通过自身的PCI接口接入该模拟PCI总线。PCI仲裁模拟模块用于对接入模拟PCI总线的全部设备进行仲载,以选定任意时刻通过该模拟PCI总线发起通信的PCI主设备和作为PCI主设备通信目标的PCI从设备。
图3为PCI主设备模拟模块的结构示意图。如图3所示,所述PCI主设备模拟模块包括第一子模块和第二子模块,其中第一子模块包括一级命令解析单元和二级数据采集单元,第二子模块包括二级命令解析单元和一级数据采集单元,其中:
所述一级命令解析单元用于在所述第一测试状态下,读取所述激励文件,根据所述激励文件生成内部控制命令,并将所述内部控制命令发送至所述二级命令解析单元;
所述二级命令解析单元用于根据所述内部控制命令生成所述第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
所述一级数据采集单元用于对所述第一PCI总线操作指令进行解析,获取所述待测设备对所述第一PCI总线操作指令的响应状态,并将解析后的第一PCI总线操作指令和所述第一PCI总线操作指令的响应状态发送至所述二级数据采集单元;
所述二级数据采集单元用于根据所述解析后的第一PCI总线操作指令和所述第一PCI总线操作指令的响应状态生成测试日志。
下面结合图3所示的PCI主设备模拟模块对第一测试状态的实现过程进行详细说明。具体地,第一测试状态用于测试待测设备作为PCI从设备时的性能指标,在第一测试状态下,PCI仲裁模拟模块将PCI主设备模拟模块设置为PCI主设备,并将待测设备设置为与PCI主设备模拟模块通信的PCI从设备,具体包括以下步骤:
步骤S1,测试人员根据待测设备需被测试的性能设置激励文件,该激励文件例如为TXT文本格式(例如命名为PCI_CMD.TXT),并且由若干激励设定向量组成,更为具体地,激励设定向量例如包括以下类型及具体参数:
(1)配置读:CFG_RD<ADDR><DATA><GAP>;
其中,ADDR为32位的16进制地址;DATA为32位的16进制数据;GAP为当前操作和下一操作的时间间隔;
(2)配置写:CFG_WR<ADDR><DATA><GAP>;
其中,ADDR为32位的16进制地址;DATA为32位的16进制数据;GAP为当前操作和下一操作的时间间隔;
(3)存储器(Memory)单次读:MRD<ADDR><DATA><GAP>;
其中,ADDR为32位的16进制地址;DATA为32位的16进制数据;GAP为当前操作和下一操作的时间间隔;
(4)Memory单次写:MWR<ADDR><DATA><GAP>;
其中,ADDR为32位的16进制地址;DATA为32位的16进制数据;GAP为当前操作和下一操作的时间间隔;
(5)Memory突发读:
BRD<ADDR><DATA_BYTE><BURST_BYTE><GAP>;
其中,ADDR为32位的16进制地址;DATA_BYTE为10进制数据,表示需要传送数据的总字节(byte)数;BURST_BYTE为10进制数据,表示每次突发读的字节数;GAP为当前操作和下一操作的时间间隔;
(6)Memory突发写:
BWR<ADDR><DATA_BYTE><BURST_BYTE><DATA><D_TYPE><GAP>
其中,ADDR为32位的16进制地址;DATA_BYTE为10进制数据,表示需要传送数据的总字节数;BURST_BYTE为10进制数据,表示每次突发写字节数;DATA为待发送的基数据;D_TYPE为待发送数据的模式,根据模式的不同,在上述基数据的基础上自增、自减、固定或者随机;GAP为当前操作和下一操作的时间间隔;
(7)插入等待的Memory突发读:
BRD<ADDR><DATA_BYTE><BURST_BYTE><INS_W><MAX><MIN><GAP>
其中,ADDR为32位的16进制地址;DATA_BYTE为10进制数据,表示需要传送数据的总字节数;BURST_BYTE:10进制数据,表示每次突发读的字节数;INS_W为设定每次突发读操作中,主设备插入等待次数的模式,提供自增、自减、固定和随机4种模式;MAX为设定插入等待最大时间;MIN为设定插入等待最小时间;GAP为当前操作和下一操作的时间间隔;
(8)插入等待的Memory突发写:
BWD<ADDR><DATA_BYTE><BURST_BYTE><DATA><D_TYPE><INS_W><MAX><MIN><GAP>
其中,ADDR为32位的16进制地址;DATA_BYTE为10进制数据,表示需要传送数据的总字节数;BURST_BYTE为10进制数据,表示每次突发写的字节数;DATA为待发送的基数据;D_TYPE为待发送数据的模式,根据模式的不同,在上述基数据的基础上自增、自减、固定或者随机;INS_W为设定每次突发写操作中,主设备插入等待次数的模式,提供自增、自减、固定和随机4种模式;MAX为设定插入等待最大时间;MIN为设定插入等待最小时间;GAP为当前操作和下一操作的时间间隔。
步骤S2,一级命令解析单元从PCI_CMD.TXT中读取激励设定向量,并对所读取的激励设定向量进行解析,以分解激励设定向量的需求,并根据不同的需求从第一操作集合(例如命名为INITIATOR APP TASK操作集合)中调用相应的操作,以形成内部控制命令。其中,第一操作集合中将各种内部控制操作以TASK集合的形式进行封装,具体操作类型如下表1所示,表1为第一操作集合操作类型列表:
表1
步骤S3,一级命令解析单元将所形成的内部控制命令发送给二级命令解析单元;
步骤S4,二级命令解析单元对内部控制命令进行解析,并根据通过解析获知的各种内部控制操作,从第二操作集合(例如命名为INITIATOR TASK操作集合)中调用相应的PCI总线操作,以形成第一PCI总线操作指令。其中,第二操作集合中将各种PCI总线操作以TASK集合的形式进行封装,具体操作类型如下表2所示,表2为第二操作集合操作类型列表:
表2
步骤S5,二级命令解析单元通过模拟PCI总线向待测设备发送第一PCI总线操作指令;
步骤S6,待测设备响应第一PCI总线操作指令;例如该第一PCI总线操作指令为Memory空间单次读操作指令,该Memory空间单次读操作指令中携带有用于指示读取哪个地址的数据的地址信息,则待测设备从该地址信息所对应的地址读取所存储的数据,并通过模拟PCI总线返回给一级数据采集单元;
步骤S7,一级数据采集单元除获取待测设备的响应信息,即响应读操作指令返回的读取的数据,还从模拟PCI总线获取二级命令解析单元发送的第一PCI总线操作指令,并对第一PCI总线操作指令进行解析,以获取例如表3所示的以下指示信号,表3为指示信号列表:
表3
rd_cfg_ren | PCI主设备配置读操作指示 |
rd_cfg_wen | PCI主设备配置写操作指示 |
rd_reg_ren | PCI主设备memory读操作指示 |
rd_reg_wen | PCI主设备memory写操作指示 |
rd_d_en | PCI主设备memory读写操作数据有效信号 |
rd_a_en | PCI主设备memory读写操作地址有效信号 |
rd_data[31:0] | PCI主设备memory读写操作数据信号 |
rd_addr[31:0] | PCI主设备memory读写操作地址信号 |
步骤S8,一级数据采集单元将解析得到的指示信号和待测设备的响应信息发送至二级数据采集单元;
步骤S9,二级数据采集单元根据指示信号和待测设备的响应信息生成测试日志,该测试日志包括与各条第一PCI总线操作指令对应的日志记录,各条日志记录例如包括PCI总线操作指令所对应的指示信号及待测设备对该PCI总线操作指令的响应信息;以上述Memory空间单次读操作指令为例,则日志记录包括“rd_cfg_wen”、“指令发起时间”和“待测设备返回的读取的数据”等。
通过上述测试日志,可直观获知待测设备对第一PCI总线操作指令的响应状况,从而判断响应逻辑是否正确等。
此外,监测模块还通过监测第一PCI总线操作指令和待测设备对第一PCI总线操作指令的响应状态,并根据用户设定的采样时间,来计算每个采样时间内的带宽使用情况,例如生成如下模拟PCI总线中带宽使用日志:
[49007]downlink rate:2MHZ uplink rate:14MHZ
[97023]downlink rate:2MHZ uplink rate:3MHZ
[145039]downlink rate:2MHZ uplink rate:2MHZ
[193055]downlink rate:1MHZ uplink rate:1MHZ
[241071]downlink rate:2MHZ uplink rate:2MHZ
[289087]downlink rate:2MHZ uplink rate:2MHZ
其中,“[49007]”和“[97023]”等为采样时间,通常以纳秒为单位;“downlinkrate”为下行数据传输速率,即PCI主设备模拟模块向待测设备发送数据的传输速率;“uplink rate”为上行数据传输速率,即待测设备向PCI主设备模拟模块发送数据的传输速率。技术人员或自动分析软件通过对上述带宽使用日志进行分析,即可获知当待测设备作为PCI从设备时的数据传输性能,这是对FPGA设备进行测量的重要性能。
图4为PCI从设备模拟模块的结构示意图。如图4所示,PCI从设备模拟模块包括PCI总线命令解析单元和PCI总线行为模拟单元,其中:
所述PCI总线命令解析单元用于在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,对所述第二PCI总线操作指令进行解析,并将解析后的第二PCI总线操作指令发送至所述PCI总线行为模拟单元;
所述PCI总线行为模拟单元用于获取所述模拟时序,并根据所述模拟时序响应解析后的第二PCI总线操作指令,进行相应的读操作和/或写操作。
下面结合图4所示的PCI从设备模拟模块对第二测试状态的实现过程进行详细说明。具体地,第二测试状态用于测试待测设备作为PCI主设备时的性能指标,在第二测试状态下,PCI仲裁模拟模块将待测设备设置为PCI主设备,并将PCI从设备模拟模块设置为与待测设备通信的PCI从设备,具体包括以下步骤:
步骤S1’,操作待测设备通过自身的PCI接口发送第二PCI总线操作指令,该第二PCI总线操作指令例如与第一PCI总线操作指令相同;
步骤S2’,PCI总线命令解析单元对模拟PCI总线上的时序进行解析,判断模拟PCI总线上的其他设备是否对PCI从设备模拟模块进行访问,即是否接收到第二PCI总线操作指令,输出是否命中的指示信号;当接收第二PCI总线操作指令时,对第二PCI总线操作指令进行解析,以获取PCI操作命令指示;
步骤S3’,PCI总线命令解析单元将解析后的第二PCI总线操作指令,即PCI操作命令指示发送给PCI总线行为模拟单元,以告知PCI总线行为模拟单元对其进行响应;
步骤S4’,PCI总线行为模拟单元模拟PCI从设备的总线行为,获取模拟时序,以根据模拟时序对从PCI总线命令解析单元接收的PCI操作命令指示进行响应,即根据PCI操作命令指示对模拟RAM进行相应的读操作和/或写操作等,该模拟RAM为PCI从设备模拟模块的存储空间,供PCI主设备进行读写访问。
具体地,模拟时序由用户设定,例如包括各种PCI从设备响应时序,例如包括“写重试(写retry)”、“读重试(读retry)”、“断开连接-a(disconnect-a)”、“断开连接-b (disconnect-b)”、“无数据断开连接(disconnect without data)”和“等待(wait)”等。PCI总线行为模拟单元例如根据用户的设定,自动控制各种时序在仿真时间段内的比重,并对各个操作的时序实现精确控制。更为具体地,对几种操作的时序控制具体说明如下:
图5为操作时序“断开连接-a”和“断开连接-b”的控制示意图。如图5所示,用户通过设定断开连接(disconnect)发生的时间,可以在数据传送过程中的任意时刻发起“STOP#”进行断开连接操作,对于断开连接的类型模型将通过随机的方式自动选择,从而达到对待测设备时序全覆盖检查。其中,类型模型(MODE)包括自增、自减、固定和随机四种模式,依次控制断开连接发生的时间,达到边界扫描的效果;用户可通过设置MAX字段来设定断开连接发生时间的最大值;还可通过设置MIN字段来设定断开连接发生时间的最小值。
图6为操作时序“无数据断开连接”的控制示意图。如图6所示,用户通过设定无数据断开连接发生的时间,可以在数据传送过程中的任意时刻发起“STOP#”以及“TRDY#”进行无数据断开连接操作,从而达到对待测设备时序边界的全覆盖检查。其中,MODE包括自增、自减、固定和随机四种模式,依次控制无数据断开连接发生的时间,达到边界扫描的效果;用户可通过设置MAX字段来设定无数据断开连接发生时间的最大值;还可通过设置MIN字段来设定无数据断开连接发生时间的最小值。
等待(wait)操作主要模拟的是PCI从设备的“TRDY#”在传送过程中变为无效、随后又变为有效的状况,主要提供随机的方式在传送过程中插入等待,无需用户进行特殊的配置。
PCI总线行为模拟单元通过对各种操作时序进行比重控制,可模拟真实PCI总线上的各种状态,从而对待测设备的性能进行全面评估。具体地,PCI总线行为模拟单元可按照为每种操作类型分配权值的方法,来控制每种操作类型在单位时间内的个数,从而实现对模拟PCI总线上各种操作的比重的控制。例如每种操作类型在单位时间内采用随机分布的方式,可利用随机($random)函数采用当前时间作为种子(seed),计算出当前操作类型,从而确保各种操作类型在单位时间内的随机性,具体实现例如表4所示,表4为模拟PCI总线上各操作类型关系表:
表4
通过表4中所示内容,并结合各种操作之间的互斥关系,例如写/读重试操作不可与断开连接操作共存等,可获知数值与操作类型存在以下关系:
数值为“0”时,正常操作;数值为“1”或“7”时,插入等待操作;数值为“2”或“3”时,无数据断开连接操作(包含插入等待的混合时序);数值为“4”或“5”时,断开连接-a/b操作(包含插入等待的混合时序);数值为“8”时,读重试操作;数值为“16”时,写重试操作。
进一步地,为实现各种操作类型的随机选择,基于上述关系生成如下数据与操作类型对应关系:
数值为“0”或“6”时,正常操作;数值为“1”或“7”时,插入等待操作;数值为“2”或“3”时,无数据断开连接操作(包含插入等待的混合时序);数值为“4”或“5”时,断开连接-a/b操作(包含插入等待的混合时序);数值为“8”或“9”时,读重试操作;数值为“10”或“11”时,写重试操作。
利用$random函数,同时使用当前仿真时间作为种子,在0-11之间做随机计算,获得一个0-11之间的随机数,从而基于上述数据与操作类型之间的对应关系,获得一个与该随机数对应的操作。之后,检查该操作是否还有权值可用,若是,则执行该操作,若否,则将种子加1,并重新计算随机数,直至获得一个可用的操作。
由于在实际PCI总线中,重试操作的数量较大,所以为了更真实地模拟PCI总线的操作,对重试操作(包括读重试和写重试)进行特殊处理,即针对读重试和写重试分开控制,并对读重试和写重试的次数进行控制,例如:设定读重试模式为固定、读重试最大次数为5、读重试最小次数为3,则PCI总线行为模拟单元针对每次读重试在单位时间内权值允许的发生范围内,对每个读操作进行3次重试之后,进行一次正常的传输。
步骤S5’,PCI总线行为模拟单元根据模拟时序和PCI操作命令指示进行响应后,向通过模拟PCI总线向待测设备返回响应信息;
步骤S6’,待测设备根据PCI总线行为模拟单元返回的响应信息,向PCI总线命令解析单元发送后续第二PCI总线操作指令,在测试停止前重复执行步骤S1’~S6’。
在第二测试状态下,监测模块监测第二PCI总线操作指令以及PCI从设备模拟模块对第二PCI总线操作指令的响应状态,例如生成如下操作日志:
通过对上述操作日志中进行分析,即可获知待测设备的响应逻辑是否正常。此外,监测模块还进一步生成在上述测试过程中各种操作再现次数和/或所占比例的统计信息,例如:
“WRITE OP:13 PROPORTION:13%
READ OP:87 PROPORTION:87%
W_RETRY OP:1 PROPORTION:7%
R_RETRY OP:53 PROPORTION:60%
DIS_A_B OP:1 PROPORTION:1%
DIS_D_N OP:1 PROPORTION:1%
INS_DATA OP:5 PROPORTION:5%”
其中,WRITE为模拟PCI总线上写操作的个数;READ为模拟PCI总线上读操作的个数;W_RETRY为模拟PCI总线上写重传操作的个数以及占写操作的比例;R_RETRY为模拟PCI总线上读重传操作的个数以及占读操作的比例;DIS_A_B为模拟PCI总线上disconnect-a/b的个数;DIS_D_N为模拟PCI总线上disconnect without data的个数;INS_DATA为模拟PCI总线上插入等待操作的个数。
此外,监测模块还通过监测第二PCI总线操作指令以及PCI从设备模拟模块对第二PCI总线操作指令的响应状态,并根据用户设定的采样时间,来计算每个采样时间内的带宽使用情况,例如生成如下模拟PCI总线中带宽使用日志:
[49007]downlink rate:0MHZ uplink rate:0MHZ
[97023]downlink rate:606MHZ uplink rate:156MHZ
[145039]downlink rate:474MHZ uplink rate:309MHZ
[193055]downlink rate:477MHZ uplink rate:322MHZ
[241071]downlink rate:466MHZ uplink rate:299MHZ
[289087]downlink rate:625MHZ uplink rate:265MHZ
其中,“[49007]”和“[97023]”等为采样时间,通常以纳秒为单位;“downlinkrate”为下行数据传输速率,即待测设备向PCI从设备模拟模块发送数据的传输速率;“uplink rate”为上行数据传输速率,即PCI从设备模拟模块向待测设备发送数据的传输速率。技术人员或自动分析软件通过对上述带宽使用日志进行分析,并进一步结合上述各种操作的统计信息,即可获知当待测设备作为PCI主设备时、且PCI总线上出现各种复杂情况时的数据传输性能。
根据上述实施例的测试系统,通过PCI主设备模拟模块和PCI从设备模拟模块实现了PCI总线的模拟,从而在对待测设备进行测试时,通过将待测设备利用PCI接口接入模拟PCI总线,并利用PCI仲裁模拟模块对接入该模拟PCI总线的设备进行仲裁,即可实现对待测设备接入真实PCI总线环境时性能的全面测试,适用于任意具有PCI接口的待测设备。
此外,在上述实施例的测试系统中,还可包括一个用于对模拟PCI总线进行外部上拉的外部上拉(PULL UP)模块(例如图2所示),以使得模拟PCI总线更贴近真实的PCI总线。进一步地,在上述实施例的测试系统中,还包括:
激励设定交互模块,用于通过人机交互界面获取所述激励文件,并将所述激励文件发送至所述PCI主设备模拟模块;
所述模拟RAM,用于存储所述PCI总线行为模拟单元进行读操作和/或写操作的相关数据;
应用层管理模块,用于对所述模拟RAM进行设置。
图7为本发明测试系统的另一系统架构图,如图7所示,将PCI仲裁模拟模块、PCI主设备模拟模块、PCI从设备模拟模块和监测模块设置在时序底层,此外还包括激励设定交互模块和应用层管理模块。其中,激励设定交互模块例如通过表格(Excel)提供用户激励设定界面,再通过宏语言“vba”对用户设定的内容进行转化,使得用户无需编写TXT文件即可实现对激励文件的设定。应用层管理模块用于实现应用层的某些特定功能,除对模拟RAM进行管理,此外,还可对PCI主设备模拟模块中的第一操作集合和第二操作集合进行设置和管理。通过独立设置应用层管理模块,可实现应用层与时序底层的分离,提高了测试系统的灵活性及易维护性。
进一步地,在上述实施例的测试系统中,所述PCI主设备模拟模块、所述PCI从设备模拟模块和所述监测模块的数量均为N,其中N为自然数;并且当所述N大于等于2时,所述仲裁模拟模块还用于控制所述PCI主设备模拟模块、所述PCI从设备模拟模块和所述监测模块的开关状态。
图8为利用本发明测试系统对待测设备进行测试的另一示意图。如图8所示,若测试系统包括多个子系统,其中各子系统分别包括一个PCI主设备模拟模块、一个PCI从设备模拟模块和一个监测模块,则通过由PCI仲裁模拟模块对当前通信的PCI主设备和PCI从设备进行设定,则可测试出模拟PCI上存在不同数量PCI设备时待测设备的真实性能。其中,任意时间内,模拟PCI总线上仅能存在一个PCI主设备,但可存在任意多个PCI从设备。
图9为命令调用管理流程图。如图9所示,当存在多个子系统时,多个子系统共用第一操作集合和第二操作集合,此时若存在多个模块同时调用第一操作集合或第二操作集合,则可通过以下流程进行命令调用管理:
步骤S901,PCI主设备模拟模块或PCI从设备模拟模块申请调用操作命令;
步骤S902,判断是否有已获取的可用令牌,其中该令牌例如由应用管理模块或任意其他可执行调用管理操作的模块下发;若是,则执行步骤S903,若否,则重复此步骤,直至判断结果为是;
步骤S903,获得命令队列号;
步骤S904,交回令牌;
步骤S905,查询可执行调用操作的当前命令号;
步骤S906,判断当前命令号是否等于自身的命令号;若是,则执行步骤S907,若否,则重复此步骤,直至判断结果为是;
步骤S907,执行调用操作;
步骤S908,释放命令号。
图10为本发明测试方法的流程示意图。如图10所示,该测试方法包括以下步骤:
步骤S101,PCI主设备模拟模块在第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
步骤S102,PCI仲裁模拟模块完成所述第一测试状态与第二测试状态的切换;
步骤S103,PCI从设备模拟模块在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令;
步骤S104,监测模块在所述第一测试状态下监测所述第一PCI总线操作指令和所述待测设备对所述第一PCI总线操作指令的响应状态,在所述第二测试状态下监测所述第二PCI总线操作指令和所述PCI从设备模拟模块对所述第二PCI总线操作指令的响应状态,生成测试结果。
上述实施例的测试方法的具体流程与前述实施例的测试设备对待测设备执行测试相同,故此处不再赘述。
根据上述实施例的测试方法,根据上述实施例的测试系统,通过PCI主设备模拟模块和PCI从设备模拟模块实现了PCI总线的模拟,从而在对待测设备进行测试时,通过将待测设备利用PCI接口接入模拟PCI总线,并利用PCI仲裁模拟模块对接入该模拟PCI总线的设备进行仲裁,即可实现对待测设备接入真实PCI总线环境时性能的全面测试,适用于任意具有PCI接口的待测设备。
进一步地,在上述实施例的测试方法中,所述PCI主设备模拟模块在第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备具体包括:
在所述第一测试状态下,读取所述激励文件,根据所述激励文件生成内部控制命令;
根据所述内部控制命令生成所述第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
对所述第一PCI总线操作指令进行解析,获取所述待测设备对所述第一PCI总线操作指令的响应状态;
根据所述解析后的第一PCI总线操作指令和所述第一PCI总线操作指令的响应状态生成测试日志。
进一步地,在上述实施例的测试方法中,PCI从设备模拟模块在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令具体包括:
在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,对所述第二PCI总线操作指令进行解析;
获取所述模拟时序,并根据所述模拟时序响应解析后的第二PCI总线操作指令,对所述模拟RAM进行相应的读操作和/或写操作。
进一步地,在上述实施例的测试方法中,还包括:
获取所述激励文件;
对所述模拟RAM进行设置。
进一步地,在上述实施例的测试方法中,还包括:
所述PCI仲裁模拟模块控制所述PCI主设备模拟模块、所述PCI从设备模拟模块和所述监测模块的开关状态。
根据上述实施例的测试方法,可通过设置多个PCI主设备模拟模块、PCI从设备模拟模块和监测模块来测试待测设备在不同PCI总线环境下的性能指标。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种测试系统,其特征在于,包括:
外部设备互联标准PCI仲裁模拟模块,用于完成第一测试状态与第二测试状态的切换;
PCI主设备模拟模块,用于在所述第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
PCI从设备模拟模块,用于在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令;
监测模块,用于在所述第一测试状态下监测所述第一PCI总线操作指令和所述待测设备对所述第一PCI总线操作指令的响应状态,在所述第二测试状态下监测所述第二PCI总线操作指令和所述PCI从设备模拟模块对所述第二PCI总线操作指令的响应状态,生成测试结果。
2.根据权利要求1所述的测试系统,其特征在于,所述PCI主设备模拟模块包括一级命令解析单元和二级命令解析单元,其中:
所述一级命令解析单元用于在所述第一测试状态下,读取所述激励文件,根据所述激励文件生成内部控制命令,并将所述内部控制命令发送至所述二级命令解析单元;
所述二级命令解析单元用于根据所述内部控制命令生成所述第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应。
3.根据权利要求2所述的测试系统,其特征在于,所述PCI主设备模拟模块还包括一级数据采集单元和二级数据采集单元,其中:
所述一级数据采集单元用于对所述第一PCI总线操作指令进行解析,获取所述待测设备对所述第一PCI总线操作指令的响应状态,并将解析后的第一PCI总线操作指令和所述第一PCI总线操作指令的响应状态发送至所述二级数据采集单元;
所述二级数据采集单元用于根据所述解析后的第一PCI总线操作指令和所述第一PCI总线操作指令的响应状态生成测试日志。
4.根据权利要求1所述的测试系统,其特征在于,所述PCI从设备模拟模块包括PCI总线命令解析单元和PCI总线行为模拟单元,其中:
所述PCI总线命令解析单元用于在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,对所述第二PCI总线操作指令进行解析,并将解析后的第二PCI总线操作指令发送至所述PCI总线行为模拟单元;
所述PCI总线行为模拟单元用于获取所述模拟时序,并根据所述模拟时序响应解析后的第二PCI总线操作指令,进行相应的读操作和/或写操作。
5.根据权利要求4所述的测试系统,其特征在于,还包括:
激励设定交互模块,用于通过人机交互界面获取所述激励文件,并将所述激励文件发送至所述PCI主设备模拟模块;
所述模拟随机存取存储器RAM,用于存储所述PCI总线行为模拟单元进行读操作和/或写操作的相关数据;
应用层管理模块,用于对所述模拟RAM进行设置。
6.根据权利要求1至5任一所述的测试系统,其特征在于,所述PCI主设备模拟模块、所述PCI从设备模拟模块和所述监测模块的数量均为N,其中N为自然数;并且当所述N大于等于2时,所述PCI仲裁模拟模块还用于控制所述PCI主设备模拟模块、所述PCI从设备模拟模块和所述监测模块的开关状态。
7.一种基于权利要求1-6中任一所述的测试系统的测试方法,其特征在于,包括:
PCI主设备模拟模块在第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应;
PCI仲裁模拟模块完成所述第一测试状态与第二测试状态的切换;
PCI从设备模拟模块在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令;
监测模块在所述第一测试状态下监测所述第一PCI总线操作指令和所述待测设备对所述第一PCI总线操作指令的响应状态,在所述第二测试状态下监测所述第二PCI总线操作指令和所述PCI从设备模拟模块对所述第二PCI总线操作指令的响应状态,生成测试结果。
8.根据权利要求7所述的测试方法,其特征在于,所述PCI主设备模拟模块在第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备具体包括:
在所述第一测试状态下,读取所述激励文件,根据所述激励文件生成内部控制命令;
根据所述内部控制命令生成所述第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备,以使所述待测设备接收所述第一PCI总线操作指令并响应。
9.根据权利要求8所述的测试方法,其特征在于,所述PCI主设备模拟模块在第一测试状态下,接收激励文件,根据所述激励文件生成第一PCI总线操作指令,并将所述第一PCI总线操作指令发送至待测设备还包括:
对所述第一PCI总线操作指令进行解析,获取所述待测设备对所述第一PCI总线操作指令的响应状态;
根据所述解析后的第一PCI总线操作指令和所述第一PCI总线操作指令的响应状态生成测试日志。
10.根据权利要求7所述的测试方法,其特征在于,PCI从设备模拟模块在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,并根据预设的模拟时序响应所述第二PCI总线操作指令具体包括:
在所述第二测试状态下,接收所述待测设备发送的第二PCI总线操作指令,对所述第二PCI总线操作指令进行解析;
获取所述模拟时序,并根据所述模拟时序响应解析后的第二PCI总线操作指令,进行相应的读操作和/或写操作。
11.根据权利要求10所述的测试方法,其特征在于,还包括:
通过人机交互界面获取所述激励文件,并将所述激励文件发送至所述PCI主设备模拟模块;
对模拟RAM进行设置,其中所述模拟RAM用于存储所述PCI总线行为模拟单元进行读操作和/或写操作的相关数据。
12.根据权利要求7-11任一所述的测试方法,其特征在于,还包括:
所述PCI仲裁模拟模块控制所述PCI主设备模拟模块、所述PCI从设备模拟模块和所述监测模块的开关状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103745949A CN102402482A (zh) | 2011-11-22 | 2011-11-22 | 测试系统及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103745949A CN102402482A (zh) | 2011-11-22 | 2011-11-22 | 测试系统及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102402482A true CN102402482A (zh) | 2012-04-04 |
Family
ID=45884706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103745949A Pending CN102402482A (zh) | 2011-11-22 | 2011-11-22 | 测试系统及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102402482A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688128A (zh) * | 2017-08-22 | 2018-02-13 | 广州得元电力科技有限公司 | 地铁直流保护装置的测试方法、装置、计算机可读存储介质及计算机设备 |
CN107992675A (zh) * | 2017-11-29 | 2018-05-04 | 中国电子科技集团公司第五十四研究所 | 一种eda验证阶段的仲裁电路测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122693A (en) * | 1997-11-14 | 2000-09-19 | Lucent Technologies, Inc. | PCI bus utilization diagnostic monitor |
CN1637684A (zh) * | 2003-12-30 | 2005-07-13 | 中国科学院空间科学与应用研究中心 | 一种通用fifo接口测试设备和系统 |
CN101262380A (zh) * | 2008-04-17 | 2008-09-10 | 中兴通讯股份有限公司 | 一种用于fpga仿真的装置及方法 |
CN101286126A (zh) * | 2008-06-13 | 2008-10-15 | 北京时代民芯科技有限公司 | 空间处理器单粒子试验自动化测试系统及方法 |
CN101290582A (zh) * | 2008-06-03 | 2008-10-22 | 浙江大学 | 组件化时钟精确的多核体系模拟器的实现方法 |
-
2011
- 2011-11-22 CN CN2011103745949A patent/CN102402482A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122693A (en) * | 1997-11-14 | 2000-09-19 | Lucent Technologies, Inc. | PCI bus utilization diagnostic monitor |
CN1637684A (zh) * | 2003-12-30 | 2005-07-13 | 中国科学院空间科学与应用研究中心 | 一种通用fifo接口测试设备和系统 |
CN101262380A (zh) * | 2008-04-17 | 2008-09-10 | 中兴通讯股份有限公司 | 一种用于fpga仿真的装置及方法 |
CN101290582A (zh) * | 2008-06-03 | 2008-10-22 | 浙江大学 | 组件化时钟精确的多核体系模拟器的实现方法 |
CN101286126A (zh) * | 2008-06-13 | 2008-10-15 | 北京时代民芯科技有限公司 | 空间处理器单粒子试验自动化测试系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688128A (zh) * | 2017-08-22 | 2018-02-13 | 广州得元电力科技有限公司 | 地铁直流保护装置的测试方法、装置、计算机可读存储介质及计算机设备 |
CN107992675A (zh) * | 2017-11-29 | 2018-05-04 | 中国电子科技集团公司第五十四研究所 | 一种eda验证阶段的仲裁电路测试方法 |
CN107992675B (zh) * | 2017-11-29 | 2020-12-15 | 中国电子科技集团公司第五十四研究所 | 一种eda验证阶段的仲裁电路测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368405B (zh) | 测试系统、测试方法、mock平台、拦截器和客户端 | |
CN109416639B (zh) | 用于在虚拟机上拟真网络流量模式的方法、系统以及计算机可读介质 | |
CN105738854A (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN109032879B (zh) | 多核处理器访存数据检测验证系统及方法 | |
US20110078350A1 (en) | Method for generating multiple serial bus chip selects using single chip select signal and modulation of clock signal frequency | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
CN113434355B (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
CN113887161A (zh) | 一种片上网络设计实例的验证方法、装置、设备及介质 | |
CN103376340A (zh) | 一种转接板、多平台串行测试系统及方法 | |
CN105095037A (zh) | 线卡、线卡的背板以及线卡测试方法 | |
CN109462495A (zh) | 一种船舶硬件与通信系统检测系统及方法 | |
CN112417798A (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN103810069A (zh) | Arinc659总线容错电路的验证平台及其验证方法 | |
CN113486625A (zh) | 芯片的验证方法与验证系统 | |
CN103530166B (zh) | 一种基于虚拟ram的面向多通道芯片的验证平台和验证方法 | |
CN101458305B (zh) | 嵌入式模块测试与维护总线系统 | |
CN117076330B (zh) | 一种访存验证方法、系统、电子设备及可读存储介质 | |
US20080288902A1 (en) | Circuit design verification method and apparatus and computer readable medium | |
CN102402482A (zh) | 测试系统及测试方法 | |
KR20170004849A (ko) | 프로토콜 기반 자동 테스터 자극 발생기 | |
CN116070564A (zh) | 基于芯片待测设计的仿真通信方法及装置 | |
CN113177388B (zh) | 用于ip核测试与验证的装置、系统及方法 | |
US9547568B2 (en) | Method and apparatus for verifying circuit design | |
CN109032947A (zh) | 用于操作系统的测试方法、装置、设备和存储介质 | |
CN114328045A (zh) | 一种bmc的i2c调试方法、系统、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120404 |