一种可编程逻辑的信息处理方法、装置和系统的制作方法

文档序号:6582159阅读:134来源:国知局
专利名称:一种可编程逻辑的信息处理方法、装置和系统的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种可编程逻辑的信息处理方法、装置和系统。
背景技术
在上板测试过程中,测试人员需要知道可编程逻辑(field programmablegate array, FPGA)的内部信息。FPGA作为处理器的外设,FPGA的内部状态信息会映射到处理器 的外设地址空间。现有技术中,应用GT3000作为串口界面,测试人员通过该界面手动输入 查看内存(上述处理器的外设地址空间)信息的命令,由处理器通过外设输入/输出总线 (Peripherals Input/OutputBus)接口访问处理器的外设地址空间,实现显示FPGA内部信 息的目的。例如输入d 0x12345678, 32和m 0x12345678, 4显示地址0x12345678处的值, 同时还可以设置该地址的值。 发明人在实现本发明的过程中发现FPGA的内部信息需要在人工查询后才能读 取到,这样在FPGA出现异常的时候不能及时将表示异常的内部信息显示给测试人员,测试 效率低。另外,随着系统的规模越来越大,处理器查询获取到的FPGA内部信息将会越来越 多,在出现异常的时候,需要分析海量的FPGA内部信息才能发现异常的信息,从而导致难 以迅速的定位问题。

发明内容
本发明实施例要解决的技术问题是提供一种可编程逻辑的信息处理方法、装置和 系统,实现迅速定位问题。 为解决上述技术问题,本发明所提供的可编程逻辑的信息处理方法实施例可以通 过以下技术方案实现 判断可编程逻辑内的模块在运行过程中是否出现异常; 若出现异常,则通过可编程逻辑与显示设备连接的接口将所述异常信息上报给所 述显示设备。
本发明实施例还提供了一种可编程逻辑的信息处理装置,包括 可编程逻辑,用于判断可编程逻辑内的模块在运行过程中是否出现异常;若出现
异常,则将所述异常信息发送给与显示设备连接的接口; 接口 ,用于将接收到的所述异常信息上报给所述显示设备。 本发明实施例还提供了一种可编程逻辑的信息处理系统,包括本发明实施例提 供的可编程逻辑的信息处理装置,以及显示设备,所述显示设备用于接收并显示所述异常 信息。 上述技术方案具有如下有益效果FPGA判断FPGA内的模块在运行过程中是否出 现了异常,在出现异常的时候主动上报异常信息给显示设备。这样,在FPGA出现异常的时 候,能够及时将异常信息发送给显示设备从而显示给测试人员,提高了效率。另外,由于上报的是异常信息,测试人员免去了分析海量的FPGA内部信息的工作,实现迅速定位问题。


为了更清楚地说明本发明实施例中的技术方案,下面的实施例仅仅是本发明的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这 些附图获得其他的附图。 图1为本发明实施例一方法流程示意图;
图2为本发明实施例二装置结构示意图;
图3a为本发明实施例二装置结构示意图;
图3b为本发明实施例二装置结构示意图;
图4为本发明实施例三系统结构示意图;
图5为本发明实施例四系统结构示意图;
图6为本发明实施例四系统结构示意图;
图7为本发明实施例四系统结构示意图;
图8为本发明实施例四FPGA内部结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 实施例一,如图1所示,本发明实施例提供了一种可编程逻辑的信息处理方法,包 括 步骤101 :判断可编程逻辑内的模块在运行过程中是否出现异常;若出现异常,则 执行步骤102,否则可以不用上报模块的内部信息; 具体地,上述步骤101可以为可编程逻辑内的模块在运行过程中判断本模块是 否出现异常,若出现异常,则向可编程逻辑的控制单元发送异常信息; 具体地,上述异常信息可以通过预定义的编号表示;上述将异常信息上报给上述 显示设备包括将上述异常信息对应的编号上报给上述显示设备。当然可以理解的是上述 异常信息也可以是描述异常的具体信息,在此不予限定。若上报异常信息的编号,显示设备 一端可以在收到异常信息的编号后,根据接收到的编号和存储的编号与异常信息的对应关 系表来获取异常信息。 上述实施方式,采用预先定义的编号表示异常信息能够减少信息的发送量,并且 能够减少发送过程中异常信息的存储占用的空间。 在可编程逻辑内部,可以根据状态寄存器的值来决定上报什么状态。比如,当异常 上报寄存器设置为1时,此时可以上报异常状态;如果正常上报寄存器也为l,则正常信息 也可以上报;如果异常上报寄存器和正常上报寄存器都设置为O,则没有任何信息上报。相
应的,伪代码举例如下
swtich (count)Lf (abnormal_en)
Lf(模块A帧头有误)
send_to_com_buf(0);
else if(normal_en)
send_tu_com_buf (curr—status) ;//for example send_tu_com— { case 0 ; {










buf (5)



break ; case 1 ;〃以下省略 {
}
} 步骤102 :通过可编程逻辑与显示设备连接的接口将上述异常信息上报给上述显 示设备。 上述显示设备可以是计算机,也可以是具有显示功能的单板,至于具有显示功能 的显示设备具体是什么本发明实施例不予限定。 若步骤101判断模块在运行过程中是否出现异常的执行主体为可编程逻辑内的 模块,那么步骤102具体可以为控制单元将接收到的异常信息通过可编程逻辑与显示设 备连接的接口将所述异常信息上报给所述显示设备。 以显示设备为计算机为例,计算机可以解析接收到的状态信息。比如接收到O,对 应着模块A的帧头有误,接收到9时,对应模块B的当前状态为释放缓存。相应的,伪代码 如下 void display—status(unsigned char status)
{ char化tr[] = { 〃模块A帧头有误〃 , 〃模块B FIFO发生溢出",
6ls6
〃模块C的状态机到达异常状态〃 , 〃模块D参数有误〃 , 〃模块E状态机挂死〃 , 〃模块A当前状态等待帧头〃 , 〃模块A当前状态处理中〃 , 〃模块B当前状态处理结束〃 , 〃模块B当前状态等待条件〃 , 〃模块B当前状态释放缓存〃 }; printf (〃 % 02d% s〃 , status, str[status]); display—time (); } 以下是FPGA上报状态信息后显示设备的显示的示例,只上报异常状态,如表1所 示 表1
01才莫块B FIFO发生溢出Wed Nov1122:13:15 2009
02模块C的状态机到达异常状态Wed Nov1122:13:20 2009
04模块E状态机挂死Wed Nov1122:13:26 2009
00模块A帧头有误Wed Nov1122:13:32 2009
04模块E状态机挂死Wed Nov1122:13:38 2009
04模块E状态机挂死Wed Nov1122:13:43 2009
03模块D参数有误Wed Nov1122:13:49 2009
03模块D参数有误Wed Nov1122:13:52 2009
02 .模块C的状态机到达异常状态Wed Nov1122:13:55 2009
04模块E状态机挂死Wed Nov1122:14:00 2009
00模块A帧头有误Wed Nov1122:14:05 2009
00模块A帧头有误Wed Nov1122:14:10 2009
01模块B FIFO发生溢出Wed Nov1122:14:13 2009
02模块C的状态机到达异常状态Wed Nov1122:14:15 2009
01才莫块B FIFO发生溢出Wed Nov1122:14:17 2009 以下是FPGA上报状态信息后显示设备的显示的示例,上报所有状态,如表2所 示 表2
01模块B FIFO发生溢出Wed Nov1122:14:18 2009
05模块A当前状态等待帧头Wed Nov1122:14:19 2009
02模块C的状态机到达异常状态Wed Nov1122:14:22 2009
07模块B当前状态处理结束Wed Nov1122:14:22 2009
06模块A当前状态处理中Wed Nov1122:14:23 2009
01模块B FIFO发生溢出Wed Nov1122:14:24 2009
04模块E状态机挂死Wed Nov1122:14:25 2009
02模块C的状态机到达异常状态Wed Nov1122:14:26 2009
03模块D参数有误Wed Nov1122:14:27 2009
02模块C的状态机到达异常状态Wed Nov1122:14:27 2009
02模块C的状态机到达异常状态Wed Nov1122:14:28 2009
01模块B FIFO发生溢出Wed Nov1122:14:29 2009
06模块A当前状态处理中Wed Nov1122:14:29 2009
08模块B当前状态等待条件Wed Nov1122:14:29 2009
05模块A当前状态等待帧头Wed Nov1122:14:30 2009 进一步地,上述判断本模块是否出现异常之前还可以包括 可编程逻辑的控制单元接收测试用例,并将上述测试用例发送给上述可编程逻辑的模块运行。 上述测试用例的发送方可以是计算机等能够向可编程逻辑发送测试用例的设备,具体是什么设备不影响本发明实施例的实现,本发明实施例不予限定。采用测试用例的方式能够实现硬件加速,从而更好地验证算法逻辑的正确性。 具体地,上述通过可编程逻辑与显示设备连接的接口将上述异常信息上报给上述显示设备包括 将上述异常信息发送给可编程逻辑的串口收发器,然后通过电平转换芯片以及与显示设备相连的串口到达显示设备;或 将上述异常信息发送给可编程逻辑的网口收发器,然后通过与显示设备连接的网口到达显示设备;或 将上述异常信息发送给可编程逻辑的串口收发器,由串口收发器发送给处理器,由处理器通过处理器与显示设备连接的串口发送给显示设备。 上述实施方式,给出了几种FPGA与显示设备的连接方式,可以理解的是上述举例
不是FPGA与显示设备连接方式的穷举,不应理解为对本发明实施例的限定。 进一步地,上述通过可编程逻辑与显示设备连接的接口将异常信息上报给显示设
备之前还可以包括 控制单元将上述异常信息输入可编程逻辑的缓冲队列;该缓冲队列可以为一段存储空间,按照可编程逻辑的模块上报的异常信息的次序顺序存储。 上述通过可编程逻辑与显示设备连接的接口将异常信息上报给显示设备包括
控制单元将先进入上述缓冲队列的异常信息优先通过可编程逻辑与显示设备连接的接口上报给显示设备,即上报的方式为先入先出。 上述实施方式,采用了缓冲队列的方式,能够更好的管理异常信息的上报。
上述实施例中步骤101和步骤102的执行主体可以为FPGA, FPGA判断FPGA内的模块在运行过程中是否出现了异常,在出现异常的时候主动上报异常信息给显示设备。这样,在FPGA出现异常的时候,能够及时将异常信息发送给显示设备从而显示给测试人员,提高了测试效率。另外,由于上报的是异常信息,测试人员免去了分析海量的FPGA内部信息的工作,实现迅速定位问题。 实施例二,如图2所示,本发明实施例还提供了一种可编程逻辑的测试装置,包括 可编程逻辑201,用于判断可编程逻辑内的模块在运行过程中是否出现异常;若
出现异常,则将上述异常信息发送给与显示设备连接的接口 ; 接口 202,用于将接收到的上述异常信息上报给上述显示设备。 如图3a所示,所述可编程逻辑201可以包括 第一模块301,用于在运行过程中判断本模块是否出现异常,若出现异常,则向控制单元302发送异常信息; 控制单元302,用于将所述异常信息发送给与显示设备连接的接口 202。 进一步地,上述接口 202,还用于接收测试用例;并将上述测试用例发送给控制单
元302 ; 上述控制单元302,还用于将接收到的测试用例发送给上述第一模块301运行。
具体地,上述接口 202为串口收发器,相应的,异常信息的发送方式为串口收发器将上述异常信息发送给电平转换芯片,电平转换芯片将上述异常信息发送给与显示设备相连的串口,由上述串口将上述异常信息发送给上述显示设备;或 上述接口 202为网口收发器,相应的,异常信息的发送方式为网口收发器将上述异常信息发送给与显示设备连接的网口 ,由上述网口将上述异常信息发送给上述显示设备;或 上述接口 202为串口收发器,相应的,异常信息的发送方式为串口收发器将上述异常信息发送给处理器,由处理器通过处理器与显示设备连接的串口发送给显示设备。
进一步地,如图3b所示,上述控制单元302还可以用于,将上述异常信息发送给与显示设备连接的接口 202之前,将上述异常信息输入可编程逻辑201的缓冲队列303 ;
相应的,上述控制单元302将上述异常信息发送给与显示设备连接的接口 202包括 将先进入上述缓冲队列303的异常信息优先发送给与显示设备连接的接口 202。
可选地,上述异常信息通过预定义的编号表示。 实施例三,如图4所示,本发明实施例还提供了一种可编程逻辑的信息处理系统,包括 可编程逻辑401,可编程逻辑401可以是实施例二中的任意一种装置;
显示设备402,用于接收并显示可编程逻辑401发送来的异常信息。 实施例二和实施例三的技术方案中,FPGA判断FPGA内的模块在运行过程中是否
出现了异常,在出现异常的时候主动上报异常信息给显示设备。这样,在FPGA出现异常的
时候,能够及时将异常信息发送给显示设备从而显示给测试人员,提高了测试效率。另外,
由于上报的是异常信息,测试人员免去了分析海量的FPGA内部信息的工作,实现迅速定位问题。 实施例四,本发明实施例还提供了另外一种可编程逻辑的信息处理系统。
如图5所示在可编程逻辑501内嵌一个串口收发器5011(通用异步收发器(universal asynchronous receiver/transmitter, UART(简禾尔串口 )),串口收发器5011具有串口的收发(receive/transmit, R/T)功能,UART的对外引脚通过电平转换芯片502(例如MAX232)连接串口 503,串口 503再通过串口线与显示设备504的串口 5041连接。"串口 "是接口的一种,用于连接串口线。"串口收发器5011 "可以实现可编程逻辑501的串口功能,可以用硬体记述语言(Verilog)或超高速集成电路硬件描述语言(VHDL)代码编程实现,也可以直接利用FPGA产商提供的IP核来实现。MAX232是一个电平转换芯片,实现体管-晶体管逻辑(Transistor-Transistor Logic,TTL)电平和异步传输标准接口 (RS232)电平转换。 图5中的系统,信息的流向为FPGA(501)的模块上报FPGA (501)内部信息给FPGA(501)的控制单元,上述内部信息可以为FPGA(501)的模块检测到自身出现了异常时,上报给FPGA(501)的描述上述异常的异常信息,也可以是正常信息,或同时包括异常信息和正常信息;FPGA(501)的模块(比如控制单元)将上述内部信息发送给串口收发器5011,串口收发器5011将上述内部信息发送给电平转换芯片502 ;电平转换芯片502将上述内部信息发送给串口 503,串口 503通过与显示设备504连接的串口线发送上述内部信息给显示设备504的串口 5041,从而将上述内部信息发送到显示设备504。可以理解的是,显示设备504侧的信息可以按照上述内部信息的逆向发送给FPGA(501)。 如图6所示,FPGA(601)内嵌一个网口收发器6011,网口收发器6011与网口 602连接,网口 602再与显示设备603的网口 6031连接。 图6中的系统,信息的流向为FPGA (601)的模块上报FPGA (601)内部信息给FPGA(601),上述内部信息可以为FPGA(601)的模块检测到自身出现了异常,上报给FPGA(601)的描述上述异常的异常信息;FPGA(601)将上述内部信息发送给网口收发器6011 ;网口收发器6011将上述内部信息发送给网口 602,网口 602再通过与显示设备603的网口 6031连接的网口连接线将上述内部信息发送给显示设备603。可以理解的是,显示设备603侧的信息可以按照上述内部信息的逆向发送给FPGA(601)。 如图7所示,FPGA(701)内嵌一个串口收发器7011 ;串口收发器7011与处理器702连接,上述处理器702可以为网络处理器(Network Processor, NP);处理器702再通过处理器702的串口 7021与显示设备703的串口 7031连接。该系统中串口收发器7011可以与外设输入/输出总线(Peripherals Input/Output Bus,IOBUS)并用,保留原来的IOBUS功能不变。IOBUS为连接处理器702与FPGA(701)的总线。也可以将该系统中处理器702和FPGA (701)之间的接口由IOBUS替换为串口 ,进一步节省处理器702和FPGA (701)之间的连线资源(去掉IOBUS)。
图7中的系统,信息的流向为FPGA(701)的模块上报FPGA (701)内部信息 给FPGA(701),上述内部信息可以为FPGA(701)的模块检测到自身出现了异常,上报给 FPGA(701)的描述上述异常的异常信息;FPGA(701)将上述内部信息发送给串口收发器 7011 ;串口收发器7011将上述内部信息发送给处理器702 ;处理器702将上述内部信息通 过与显示设备703的串口 7031连接的处理器702的串口 7021发送给显示设备703。可以 理解的是,显示设备703侧的信息可以按照上述内部信息的逆向发送给FPGA(701)。
进一步地,如图8所示,在FPGA内部存在多个模块801,各个模块801的内部状态 信息发送给控制单元802,控制单元802可以不用立刻发送给显示设备,而是先发送到缓冲 队列803(该缓冲队列可以设置在FPGA的控制单元802中,也可以是FPGA内的其它存储空 间),控制单元802按照先进先出(First-InFirst-Out, fifo)的规则,将存储在缓冲队列 803中的内部状态信息发送给显示设备。而显示设备侧下达的配置信息,也可以由控制单元 802先发送给缓冲队列803,然后由控制单元802按照fifo的规则,将存储在缓冲队列803 中的配置信息发送给各个模块801。进一步的,FPGA里面每个一级模块801内部也可以带 有缓冲队列,用于缓存将要发送给控制单元的异常信息。 在显示设备侧,可以用串口调试助手(串口调试助手是一种能够通过串口收发数 据的软件),接收FPGA的内部的状态信息;也可以用VC( —种程序编译软件)制作一个界 面,接收这些信息。接收到这些信息后,可以根据实际需要确定是否解析这些信息。
可选地,异常的状态(异常信息)可以通过编号来表示,例如,模块0共有10个异 常状态,分别用0 9来表示(0到9之间任何一个数值具体表示什么信息由设计该模块时 定义),模块1共有15个状态,分别用10 24来表示。所有这些信息可以写入逻辑用户手 册里面。在FPGA上报异常信息的时候可以直接上报编号,显示设备侧可以根据编号与编号 的对应关系来获知是什么样的异常。 在测试的场景下,使用硬件加速对于一些算法逻辑的验证更为高效。具体可以为
在上位机(例如计算机)上构造测试用例,通过串口或网口下发到FPGA进行处理,FPGA将
处理结果反馈到计算机。而测试用例,可以是计算机构造的各种不同的数据包。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以
通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上
述提到的存储介质可以是只读存储器,磁盘或光盘等。 以上对本发明实施例所提供的一种可编程逻辑的信息处理方法、装置和系统进行 了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本发明的限制。
权利要求
一种可编程逻辑的信息处理方法,其特征在于,包括判断可编程逻辑内的模块在运行过程中是否出现异常;若出现异常,则通过可编程逻辑与显示设备连接的接口将所述异常信息上报给所述显示设备。
2. 根据权利要求1所述方法,其特征在于,所述判断可编程逻辑内的模块在运行过程 中是否出现异常,包括可编程逻辑内的模块在运行过程中判断本模块是否出现异常,若出现异常,则向可编 程逻辑的控制单元发送异常信息;所述通过可编程逻辑与显示设备连接的接口将所述异常信息上报给所述显示设备,包括所述可编程逻辑的控制单元将接收到的异常信息通过可编程逻辑与显示设备连接的 接口将所述异常信息上报给所述显示设备。
3. 根据权利要求2所述方法,其特征在于,所述判断本模块是否出现异常之前还包括 所述可编程逻辑的控制单元接收测试用例,并将所述测试用例发送给所述可编程逻辑内的模块运行。
4. 根据权利要求1至3任意一项所述方法,其特征在于,所述通过可编程逻辑与显示设 备连接的接口将所述异常信息上报给所述显示设备包括将所述异常信息发送给可编程逻辑的串口收发器,然后通过电平转换芯片以及与显示 设备相连的串口到达显示设备;或将所述异常信息发送给可编程逻辑的网口收发器,然后通过与显示设备连接的网口到 达显示设备;或将所述异常信息发送给可编程逻辑的串口收发器,由串口收发器发送给处理器,由处 理器通过处理器与显示设备连接的串口发送给显示设备。
5. 根据权利要求2或3所述方法,其特征在于,所述通过可编程逻辑与显示设备连接的 接口将所述异常信息上报给所述显示设备之前还包括所述控制单元将所述异常信息输入可编程逻辑的缓冲队列;所述通过可编程逻辑与显示设备连接的接口将所述异常信息上报给所述显示设备包括所述控制单元以先入先出的方式,将所述缓冲队列中的异常信息通过可编程逻辑与显 示设备连接的接口上报给显示设备。
6. —种可编程逻辑的信息处理装置,其特征在于,包括可编程逻辑,用于判断可编程逻辑内的模块在运行过程中是否出现异常;若出现异常, 则将所述异常信息发送给与显示设备连接的接口;接口,用于将接收到的所述异常信息上报给所述显示设备。
7. 根据权利要求6所述装置,其特征在于,所述可编程逻辑包括第一模块,用于在运行过程中判断本模块是否出现异常,若出现异常,则向控制单元发 送异常信息;控制单元,用于将所述异常信息发送给与显示设备连接的接口。
8. 根据权利要求7所述装置,其特征在于,所述接口 ,还用于接收测试用例,并将所述测试用例发送给控制单元; 所述控制单元,还用于将接收到的测试用例发送给所述第一模块运行。
9. 根据权利要求8所述装置,其特征在于,所述接口为串口收发器,所述串口收发器将所述异常信息发送给电平转换芯片,电平 转换芯片将所述异常信息发送给与显示设备相连的串口,由所述串口将所述异常信息发送 给所述显示设备;或所述接口为网口收发器,所述网口收发器将所述异常信息发送给与显示设备连接的网 口,由所述网口将所述异常信息发送给所述显示设备;或所述接口为串口收发器,所述串口收发器将所述异常信息发送给处理器,由处理器通 过处理器与显示设备连接的串口发送给显示设备。
10. 根据权利要求7至9任意一项所述装置,其特征在于,所述装置还包括缓冲队列, 所述控制单元,还用于将所述异常信息发送给与显示设备连接的接口之前,将所述异常信息输入控制单元的缓冲队列;所述控制单元将所述异常信息发送给与显示设备连接的接口包括 所述控制单元将先进入所述缓冲队列的异常信息优先发送给与显示设备连接的接口。
11. 一种可编程逻辑的信息处理系统,其特征在于,包括如权利要求6至IO任一项所 述的装置,以及显示设备,所述显示设备用于接收并显示所述异常信息。
全文摘要
本发明实施例公开了一种可编程逻辑的信息处理方法、装置和系统。其中方法的实现包括判断可编程逻辑内的模块在运行过程中是否出现异常;若出现异常,则通过可编程逻辑与显示设备连接的接口将所述异常信息上报给所述显示设备。FPGA判断FPGA内的模块在运行过程中是否出现了异常,在出现异常的时候主动上报异常信息给显示设备。这样,在FPGA出现异常的时候,能够及时将异常信息发送给显示设备从而显示给测试人员,提高了效率。另外,由于上报的是异常信息,测试人员免去了分析海量的FPGA内部信息的工作,实现迅速定位问题。
文档编号G06F11/32GK101706747SQ20091019886
公开日2010年5月12日 申请日期2009年11月13日 优先权日2009年11月13日
发明者陈继德 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1