实现通讯接口时序自动检测的装置和方法 【技术领域】
本发明属于通讯领域,具体涉及一种实现通讯接口时序自动检测的装置和方法。
背景技术
大规模逻辑仿真验证一般采用向逻辑发送激励数据,然后接收经过该逻辑处理后的数据,再检查接收到的数据是否正确,来达到验证逻辑处理正确性的目的。在仿真中,数据的接收和发送都需要通过BFM(BusFunction Model:总线功能模型)来进行,BFM进行接口时序的产生和识别,从而完成数据的传送。BFM一般只关注标准的、正常的时序,只关注能够正常地传送的数据。但是由于通信接口协议的复杂性,BFM(或逻辑)接收到了正确的数据并不代表逻辑接口时序完全符合协议标准,其中可能有违反协议标准之处。另外,当有缺陷地逻辑接口与其它公司芯片对接时,可能在长时间运行过程中出现错误,且原因很难查。而且,其它公司的芯片接口设计中也可能存在缺陷,在硬件产品对接测试中,如何有效地检查接口时序的正确性就显得极为重要。
目前,在逻辑仿真验证中,现有技术中通用的解决方法有如下两种:
一种方法仅仅检查被测接口传送的数据,认为只要传送的数据正确了,就确定接口时序是正确的。但是,这种检测方法是不充分的,因为接口时序不完全符合标准时序时不一定会导致传送数据错误,而一旦出现传送数据错误,定位问题很困难;
另一种方法是在仿真器上带有脚本功能,通过编写脚本来实现检测时序功能。但是,这种检测方法的不足之处是其依赖于特定的仿真器,不通用。
【发明内容】
本发明提出了一种实现通讯接口时序自动检测的装置和方法,以解决现有技术中存在的检测不充分、定位困难和不通用的问题。
为实现上述目的,本发明的解决方案是:
一种实现通讯接口时序自动检测的装置,该装置包括:
输入模块,用于接收被检测接口上的接口信号;
信号处理模块,用于处理由输入模块接收的接口信号;
信号检测触发模块,用于触发相应时序,进而检测由信号处理模块处理后得到的加工后的信号和相关数据;
存储及控制模块,用于将信号检测触发模块检测后的结果信息存储和上报;
CPU接口模块,用于完成CPU接口时序和检测信息的传送;
被测接口上的接口信号经由输入模块进入信号处理模块处理后得到所需加工后的信号和其他相关数据,通过信号检测触发模块触发时序进行检测,将检测后的结果存储到存储及控制模块,并由CPU接口模块将检测信息传送出去。
所述的信号检测触发模块,还可用于判断所述的信号和其他相关数据是否是关键时刻,若是则输出相关信息。
所述的关键时刻即为正常仿真过程中比较具有标志意义的时刻,可以是信元或以太网帧传送的开始或完成时刻。
本发明也提出了一种实现通讯接口时序自动检测的方法,包含以下步骤:
a、接收被检测接口上的接口信号;
b、处理已经接收的接口信号,得到加工后的信号和相关数据;
c、触发相应时序,进而检测所述加工后的信号和相关数据;
d、判断检测后的结果,若符合要求,则继续仿真和正常检测过程,若不符合要求,则停止仿真和检测过程或等待时序恢复后继续仿真和检测过程。
所述步骤c中的触发相应时序进行检测前更进一步包含:判断所述加工后的信号和其他相关数据是否是关键时刻,若是则输出相关信息。
采用本发明所述的技术方案制造的检测装置在仿真验证中不依赖特定仿真器,具有良好的通用性、高效性、可移值性和可重用性,其可广泛应用于任何采用接口的逻辑测试中,且不会对原仿真过程造成任何干扰。另外,对时序的检测不再需要人工干预,完全实现了自动化,只需在仿真结束后查看输出的检测信息即可。
【附图说明】
图1是本发明实施例所述装置的模块结构示意图;
图2是本发明实施例所述方法的流程图;
图3是本发明实施例所述方法的具体实现流程图。
【具体实施方式】
下面结合如图1、2、3所示的具体实施例情形来详细描述本发明。
本实施例是针对包括:多端口Utopial2接口(level2 ATM通用测试和操作物理接口)这种特定的标准接口设计的一个独立的检测装置,其外挂在接口总线上,用作对接口时序的检测。
如图1所示为本发明实施例的装置模块结构示意图,其组成包括:
输入模块(2),用于接收被检测接口上的接口信号;
信号处理模块(3),用于处理由输入模块接收的接口信号;
信号检测触发模块(4),用于触发相应时序,进而检测由信号处理模块处理后得到的加工后的信号和相关数据;
存储及控制模块(5),用于将信号检测触发模块检测后的结果信息存储和上报;
CPU接口模块(6),用于完成CPU接口时序和检测信息的传送;
被测接口上的接口信号经由输入模块(2)进入信号处理模块(3)处理后得到所需加工后的信号和其他相关数据,通过信号检测触发模块(4)触发相应时序进行检测,将检测后的结果存储到存储及控制模块(5),并由CPU接口模块(6)将检测信息传送出去。
下面分别对各模块进行具体阐述:
1、输入模块(2)
在逻辑仿真开始后,输入模块(2)接收接口信号,其接口信号具体为接口时序,如信元数据等,然后将其送到信号处理模块(3)。
2、信号处理模块(3)
处理由输入模块(2)接收的接口信号,得到后面所需的加工后的信号和其他相关数据,具体来讲,加工后的信号是与原来某一个信号相对应的、经过简单处理的一个电平值;而其他相关数据并不是与原来某一个输入信号对应,而是根据多个信号值计算出的对后面过程起辅助作用的数据,例如在多端口Utopial2接口的监控中,输入信号中并没有端口号值,需要将地址缓存一拍后,利用使能信号enb值和缓存后的地址值来计算被选中的端口号。
3、信号检测触发模块(4)
由信号处理模块(3)处理后得到的加工后的信号和相关数据输入到信号检测触发模块(4),一旦出现某种特定情况,例如某个信号出现特定值,或者是出现某种信号组合情况,这些情况在正常仿真过程中往往会导致某种时序出现,例如在对多端口的Utopial2接口的监控中,一旦enb信号出现有效低电平,则往往会导致信元传送过程的开始,此时则通过判断语句触发相应时序的检测,用相应接口时序和标准接口时序比较,完成对此特定时序过程的检测。
4、存储及控制模块(5)
将信号检测触发模块(4)检测后的结果信息,如错误信息、时间信息和其他相关信息,通过寄存器实现存储和上报。可以采用上报中断方式或者是CPU轮询方式实现。
5、CPU接口模块(6)
由该模块将检测信息传送到CPU总线(7),完成CPU接口时序和检测信息的传送。
所述的信号检测触发模块(4),还可用于判断所述的信号和其他相关数据是否是关键时刻,即:正常仿真过程中比较具有标志意义的时刻,可以自行定义关键时刻,如信元、以太网帧传送开始、完成时刻等等,若是,则输出相关信息。相关信息通过上述方式上报,用来掌握逻辑运行过程、协助定位错误等。
本发明实施例前述的一种实现通讯接口时序自动化检测的装置,其采用硬件描述语言Verilog或VHDL编写,如图3所示为整个系统的工作流程图。将上述的一种实现通讯接口时序自动化检测的装置外挂在接口总线上,接口信号作为该装置的输入,这样,在正常工作过程中,该装置不会对接口信号引入任何干扰。
如图2和图3所示,本实施例所述装置的工作过程包含以下步骤:
一、接收被检测接口(1)上的接口信号。
在逻辑仿真开始后,由输入模块(2)接收接口信号,然后将其送到信号处理模块(3)。
二、处理接收的接口信号,并将其处理后得到的所需加工后的信号和其他相关数据。
由信号处理模块(3)将接收的接口信号进行处理后,得到加工后的信号,即与原来某一个信号相对应的、经过简单处理的一个电平值,和不是与原来某一个输入信号对应,而是根据多个信号值计算出的对后面过程起辅助作用的相关数据。
三、触发相应时序,进而检测所述加工后的信号和相关数据。
然后根据加工后的信号和相关数据,判断是否是关键时刻,即正常仿真过程中比较具有标志意义的时刻,可以自行定义关键时刻,如信元、以太网帧传送开始、完成时刻等等。若是则显示信息并打印文件。
当出现某个信号出现特定值,或者是出现某种信号组合某种特定情况时,在正常仿真过程中往往会导致某种时序出现,此时则通过判断语句触发相应时序的检测,用相应接口时序和标准接口时序比较,进而完成对此特定时序过程的检测。
四、判断检测后的结果,若符合要求,则继续仿真和正常检测过程,若不符合要求,则停止仿真和检测过程或等待时序恢复后继续仿真和检测过程。
若结果符合要求,则继续上述过程,重新处理接口信号,进行仿真和检测过程,若结果不符合要求,则停止仿真和检测过程或等待时序恢复后继续仿真和检测过程,并由存储及控制模块(5)将信号检测触发模块(4)检测后的结果信息通过寄存器实现存储和上报,同时由CPU接口模块(6)将检测信息传送到CPU总线(7),从而完成CPU接口时序和检测信息的传送。
综上所述,是本发明实施例所述方法和装置的具体实施方式。其优点为:本实施例外挂在接口总线上,不依赖特定的仿真器,而且不会对原仿真过程造成任何干扰。另外,对被测接口的时序信号的检测不再需要人工干预,完全实现了自动化,只需在仿真结束后查看输出的检测信息即可。本实施例能够实时地、全自动地检测被测接口时序的协议符合性,具有良好的通用性、高效性、可移值性和可重用性,其可广泛应用于任何采用接口的逻辑测试中。