CN104363141A - 一种基于处理器系统的fpga验证方法及系统 - Google Patents
一种基于处理器系统的fpga验证方法及系统 Download PDFInfo
- Publication number
- CN104363141A CN104363141A CN201410687270.4A CN201410687270A CN104363141A CN 104363141 A CN104363141 A CN 104363141A CN 201410687270 A CN201410687270 A CN 201410687270A CN 104363141 A CN104363141 A CN 104363141A
- Authority
- CN
- China
- Prior art keywords
- processor
- protocol
- mistake
- interface module
- monitoring module
- 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.)
- Granted
Links
Abstract
本发明公开一种基于处理器系统的现场可编程门阵列(FPGA)验证方法及系统。上述方法包括以下步骤:监控模块根据配置的待监控的协议特征字,监控特征协议的处理情况,若监控到所述特征协议的处理发生错误时,所述监控模块锁定出现错误的处理器的当前状态,在向量表中标记出现错误的处理器对应的向量位置,并发送错误报告信息至接口模块;所述接口模块根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析。本发明公开的基于处理器系统的FPGA验证方法及系统,能够解决现有技术中处理器系统的FPGA验证难以有效调试及定位故障的问题。
Description
技术领域
本发明涉及芯片设计领域,尤其涉及一种基于处理器系统的现场可编程门阵列(Field-Programmable Gate Array,FPGA)验证方法及系统。
背景技术
随着服务器应用领域的不断发展,高端服务器的应用需求已经进入了一个重要阶段。复杂的体系结构支持高端服务器系统实现高性能指标、高安全性、高可用性、高可靠性等特点。这就需要网络控制类芯片控制多路处理器系统,使系统内部报文传输达到高效可靠、安全稳定。而对于该类的控制芯片的验证来说,多芯片系统的FPGA验证是必不可少的。这种情况下的多芯片FPGA验证存在两个重要问题:一是芯片之间的复杂报文传输是通过有限的接口来进行,如果想在接口端确认报文传输情况,需要对二进制信号进行观察分析抽象出对应的报文信息,当报文量巨大的时候,这部分工作靠FPGA的传统调试手段基本无法观测;二是FPGA系统验证中往往与仿真验证的理想环境想去甚远,实际FPGA系统中芯片间的互连通路存在不确定的延时和错误翻转等问题,而理想化仿真环境无法验证出在这些问题下芯片能否正常工作。
常用的解决此类问题的方式为使用FPGA内嵌的信号获取逻辑或者逻辑分析仪将需要观测的逻辑信号加以指定输出观测,从而判断定位设计故障。但这样方式具有很大的局限性,受限于FPGA本身和逻辑分析仪资源和速度,难以对大尺度时间范围内大数据量的信号进行实时观测,只能对于很短时间范围内的信号进行触发条件设置观测,一旦出现是由于长时间范围的故障导致的当前状态错误时,此种调试方式就会束手无册。
发明内容
本发明提供一种基于处理器系统的FPGA验证方法及系统,用来解决现有技术中基于处理器系统的FPGA验证难以有效调试及定位故障的问题。
为了解决上述问题,本发明提供一种基于处理器系统的FPGA验证方法,包括以下步骤:监控模块根据配置的待监控的协议特征字,监控特征协议的处理情况,若监控到所述特征协议的处理发生错误时,所述监控模块锁定出现错误的处理器的当前状态,在向量表中标记出现错误的处理器对应的向量位置,并发送错误报告信息至接口模块;所述接口模块根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析。
进一步地,所述监控模块根据配置的待监控的协议特征字,监控特征协议的处理情况的过程为:通过所述接口模块将待监控的协议特征字配置在所述监控模块内,所述监控模块根据所述协议特征字判断相应的特征协议的正确性。
进一步地,所述向量表的长度与所述处理器的数量一致。
进一步地,所述错误报告信息包括出现错误的处理器的向量信息。
进一步地,所述接口模块根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析的过程为:所述接口模块根据接收的所述错误报告信息,读取所述监控模块中的向量表,根据向量表的内容进行地址译码,根据译码地址直接从处理器系统读取所述协议处理内容。
进一步地,所述监控模块的时钟配置为系统时钟。
本发明还提供一种基于处理器系统的FPGA验证系统,与所述处理器系统连接,包括监控模块及接口模块。所述监控模块,用于根据配置的待监控的协议特征字,监控特征协议的处理情况,若监控到所述特征协议的处理发生错误时,所述监控模块,用于锁定出现错误的处理器的当前状态,在向量表中标记出现错误的处理器对应的向量位置,并发送错误报告信息至接口模块;所述接口模块,用于根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析。
进一步地,所述监控模块包括特征检测单元、系统控制单元、向量保存单元及向量输出单元。所述特征检测单元,用于通过所述接口模块配置待监控的协议特征字,并监控特征协议的处理情况;所述向量保存单元,用于在所述特征检测单元监控到所述特征协议的处理发生错误时,在向量表中标记出现错误的处理器对应的向量位置;所述系统控制单元,用于锁定出现错误的处理器的当前状态;所述向量输出单元,用于将错误报告信息发送至所述接口模块。
进一步地,所述向量表的长度与所述处理器的数量一致。
进一步地,所述错误报告信息包括出现错误的处理器的向量信息。
本发明使用构建的监控模块比起FPGA和逻辑分析仪自动构建的模块更加优化和节省资源,实现了对芯片系统设计的监测与控制的双向交互,满足了大规模网络系统中多芯片互连环境的FPGA验证需求。此外,构建的监控模块与接口模块相连接,可以与片外灵活配置与交互,为其他FPGA验证功能提供了丰富的可扩展性。
本发明较佳实施例提供的基于处理器系统的FPGA验证方法及系统,通过监控模块与接口模块的方式能够准确追踪特征协议处理的大时间尺度上的运行轨迹,巧妙地使用了当前系统设计本身所使用的资源,加以共享利用而不影响系统的其他协议处理的正常运行,并能够准确快速地获取当前状态的大数据量的信息内容进行分析。
附图说明
图1所示为本发明较佳实施例提供的基于处理器系统的FPGA验证方法的流出图;
图2所示为本发明较佳实施例提供的基于处理器系统的FPGA验证系统的示意图;
图3所示为本发明较佳实施例中向量表的示意图。
具体实施方式
下面结合附图对本发明的内容进行详细说明。
图1所示为本发明较佳实施例提供的基于处理器系统的FPGA验证方法的流出图。图2所示为本发明较佳实施例提供的基于处理器系统的FPGA验证系统的示意图。请一并参考图1及图2。
如图1所示,本发明较佳实施例提供的基于处理器系统的FPGA验证方法包括以下步骤:S1:监控模块根据配置的待监控的协议特征字,监控特征协议的处理情况,若监控到所述特征协议的处理发生错误时,所述监控模块锁定出现错误的处理器的当前状态,在向量表中标记出现错误的处理器对应的向量位置,并发送错误报告信息至接口模块;S2:所述接口模块根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析。
如图2所示,本发明较佳实施例提供的基于处理器系统的FPGA验证系统包括相互连接的监控模块12与接口模块10。其中,监控模块12包括特征检测单元120、系统控制单元121、向量保存单元122以及向量输出单元123。特征检测单元120连接接口模块10、向量保存单元122及系统控制单元121。向量输出单元123连接向量保存单元122及接口模块10。系统控制单元121连接处理器系统14。其中,监控模块12的时钟配置为系统时钟,使得信号的监控与处理器系统14同步。
下面以验证的高速网络协议芯片为例对本实施例进行说明。
首先,通过接口模块将需要监控的协议特征字配置进入监控模块中的特征检测单元。系统协议处理过程如图2中处理器系统所示,需要处理的协议进入处理器(于此,例如为条目处理器)进行缓存和处理,当多个条目处理器处于处理状态时,需要处理的协议分别进入不同的条目处理器进行缓存并处理。比如条目处理器A正在处理中时,新进入的协议可以进入条目处理器B进行处理,依次类推。于此,可以灵活配置需要监控的协议类型,可以同时监控一种或者多种甚至全部类型的协议处理。
当监控模块的特征检测单元监控到条目处理器A处理的协议有错误的时候(例如包括校验错误、条目入口错误、超时错误等),会通过向量保存单元在向量表中标记发生错误的条目处理器对应的向量位置。如图2及图3所示,向量长度与条目处理器数量一致。例如,当对应的条目处理器A出现错误时,在向量表中标记对应A位置为E状态。同时,特征检测单元会通过系统控制单元锁定出现错误的条目处理器的当前状态,使此条目处理器挂起,其内部各状态保持,直到此错误被外部处理为止。于此,在该条目处理器挂起过程中,其他条目处理器可以继续接收新进入的协议进行处理。
其中,当有多个协议发生错误时,以向量方式可以同时保存多个出现错误的条目处理器的状态,如图3所示,条目处理器A及条目处理器D的向量位置均被标记为E状态,即条目处理器A及条目处理器D均出现了错误。换言之,条目处理器A及条目处理器D处理的协议发生了错误。
于此,向量输出单元将保存的错误报告信息输出至接口模块。其中,错误报告信息包括出现错误的条目处理器的向量信息。接口模块在接收到错误报告信息后,主动向监控模块读取向量表内容,并根据向量表的内容进行译码,再根据译码地址读取处理器系统中出现错误的条目处理器的详细协议处理内容。以图3所示的向量表为例,接口模块根据向量表内容,向系统发起读取条目处理器A的请求,条目处理器A可通过接口模块,将锁定的当前状态输出至外部。同理,可以继续发送对条目处理器D的读操作。这些详细的协议处理当前状态就这样被完整输出到片外进行分析,在不影响其他协议处理的情况下,完成了对出现错误的协议处理大量信息的获取,从而能够便捷的分析定位错误原因。
综上所述,本发明的监控模块主要针对现在对高端服务器的需求影响,导致复杂协议类芯片的性能和可靠性都不断提升,复杂的协议支持和系统规模的不断扩大使系统级的FPGA验证环境与仿真系统的差异越来越大,同时基于FPGA也越来越难以进行有效的调试与故障定位的问题。本发明提供的FPGA验证方法实现了通过在芯片内部构建的监控模块,通过灵活且可配置的检测办法,准备快速的定位协议错误,并巧妙的利用系统中原有的设计资源,保存了大量数据的当前运行错误的协议状态,与此同时,还能保证其他协议的正常处理功能。此外,使用向量标示的错误标记,通过二次读取与地址译码,可以快速便捷地读取任意错误条目的详细内容。从而有效解决了FPGA对于大尺度时间上的大规模数据获取的问题。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (10)
1.一种基于处理器系统的现场可编程门阵列(FPGA)验证方法,其特征在于,包括以下步骤:
监控模块根据配置的待监控的协议特征字,监控特征协议的处理情况,若监控到所述特征协议的处理发生错误时,所述监控模块锁定出现错误的处理器的当前状态,在向量表中标记出现错误的处理器对应的向量位置,并发送错误报告信息至接口模块;
所述接口模块根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析。
2.如权利要求1所述的基于处理器系统的FPGA验证方法,其特征在于:所述监控模块根据配置的待监控的协议特征字,监控特征协议的处理情况的过程为:通过所述接口模块将待监控的协议特征字配置在所述监控模块内,所述监控模块根据所述协议特征字判断相应的特征协议的正确性。
3.如权利要求1所述的基于处理器系统的FPGA验证方法,其特征在于:所述向量表的长度与所述处理器的数量一致。
4.如权利要求1所述的基于处理器系统的FPGA验证方法,其特征在于:所述错误报告信息包括出现错误的处理器的向量信息。
5.如权利要求1所述的基于处理器系统的FPGA验证方法,其特征在于:所述接口模块根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析的过程为:所述接口模块根据接收的所述错误报告信息,读取所述监控模块中的向量表,根据向量表的内容进行地址译码,根据译码地址直接从处理器系统读取所述协议处理内容。
6.如权利要求1所述的基于处理器系统的FPGA验证方法,其特征在于:所述监控模块的时钟配置为系统时钟。
7.一种基于处理器系统的FPGA验证系统,与所述处理器系统连接,其特征在于,包括监控模块及接口模块,
所述监控模块,用于根据配置的待监控的协议特征字,监控特征协议的处理情况,若监控到所述特征协议的处理发生错误时,所述监控模块,用于锁定出现错误的处理器的当前状态,在向量表中标记出现错误的处理器对应的向量位置,并发送错误报告信息至接口模块;
所述接口模块,用于根据接收的所述错误报告信息,获取并输出出现错误的处理器的协议处理内容以供分析。
8.如权利要求7所述的基于处理器系统的FPGA验证系统,其特征在于:所述监控模块包括特征检测单元、系统控制单元、向量保存单元及向量输出单元,
所述特征检测单元,用于通过所述接口模块配置待监控的协议特征字,并监控特征协议的处理情况,
所述向量保存单元,用于在所述特征检测单元监控到所述特征协议的处理发生错误时,在向量表中标记出现错误的处理器对应的向量位置,
所述系统控制单元,用于锁定出现错误的处理器的当前状态,
所述向量输出单元,用于将错误报告信息发送至所述接口模块。
9.如权利要求7所述的基于处理器系统的FPGA验证系统,其特征在于:所述向量表的长度与所述处理器的数量一致。
10.如权利要求7所述的基于处理器系统的FPGA验证系统,其特征在于:所述错误报告信息包括出现错误的处理器的向量信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410687270.4A CN104363141B (zh) | 2014-11-25 | 2014-11-25 | 一种基于处理器系统的fpga验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410687270.4A CN104363141B (zh) | 2014-11-25 | 2014-11-25 | 一种基于处理器系统的fpga验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104363141A true CN104363141A (zh) | 2015-02-18 |
CN104363141B CN104363141B (zh) | 2017-12-12 |
Family
ID=52530368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410687270.4A Active CN104363141B (zh) | 2014-11-25 | 2014-11-25 | 一种基于处理器系统的fpga验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104363141B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919748A (zh) * | 2017-02-24 | 2017-07-04 | 郑州云海信息技术有限公司 | 提高fpga原型验证效率的装置及方法 |
CN111240908A (zh) * | 2019-12-31 | 2020-06-05 | 西安翔腾微电子科技有限公司 | 处理器接口的验证方法、验证系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212940A1 (en) * | 2001-10-16 | 2003-11-13 | Dale Wong | Interface architecture for embedded field programmable gate array cores |
CN101063979A (zh) * | 2006-04-28 | 2007-10-31 | 中国科学院计算技术研究所 | 一种支持随机指令测试的微处理器fpga验证装置 |
CN102103186A (zh) * | 2009-12-18 | 2011-06-22 | 上海贝尔股份有限公司 | 一种fpga调试方法及其设备 |
US20120007634A1 (en) * | 2008-06-02 | 2012-01-12 | Kabushiki Kaisha Toshiba | Digital processing monitoring device |
CN103970634A (zh) * | 2014-04-24 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法 |
-
2014
- 2014-11-25 CN CN201410687270.4A patent/CN104363141B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212940A1 (en) * | 2001-10-16 | 2003-11-13 | Dale Wong | Interface architecture for embedded field programmable gate array cores |
CN101063979A (zh) * | 2006-04-28 | 2007-10-31 | 中国科学院计算技术研究所 | 一种支持随机指令测试的微处理器fpga验证装置 |
US20120007634A1 (en) * | 2008-06-02 | 2012-01-12 | Kabushiki Kaisha Toshiba | Digital processing monitoring device |
CN102103186A (zh) * | 2009-12-18 | 2011-06-22 | 上海贝尔股份有限公司 | 一种fpga调试方法及其设备 |
CN103970634A (zh) * | 2014-04-24 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919748A (zh) * | 2017-02-24 | 2017-07-04 | 郑州云海信息技术有限公司 | 提高fpga原型验证效率的装置及方法 |
CN106919748B (zh) * | 2017-02-24 | 2021-01-22 | 苏州浪潮智能科技有限公司 | 提高fpga原型验证效率的装置及方法 |
CN111240908A (zh) * | 2019-12-31 | 2020-06-05 | 西安翔腾微电子科技有限公司 | 处理器接口的验证方法、验证系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104363141B (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9135130B2 (en) | Debugging method, chip, board, and system | |
CN105138495B (zh) | 内嵌微控制器的arinc659总线控制器 | |
US8683269B2 (en) | Protocol software component and test apparatus | |
CN108768730B (zh) | 用于操作智能网卡的方法和装置 | |
US7971110B2 (en) | System and method for testing a serial attached small computer system interface | |
CN109218407B (zh) | 基于日志监控技术的代码管控方法及终端设备 | |
CN109508295B (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
CN105897652A (zh) | 一种基于标准协议的异构终端动态接入方法 | |
CN107508727B (zh) | 一种自动化网卡信息检查方法及装置 | |
US20130159588A1 (en) | Computing device and method for testing sol function of a motherboard of the computing device | |
US11709767B2 (en) | Method and apparatus for verifying operation state of application | |
US20230068811A1 (en) | Lockstep comparators and related methods | |
CN107124335A (zh) | 一种基于云海操作系统平台测试方法及系统 | |
CN102694692A (zh) | 一种分布式设备的故障检测方法和装置 | |
WO2021134418A1 (zh) | 一种数据校验方法及装置 | |
CN109710479B (zh) | 一种处理方法及第一设备、第二设备 | |
CN104363141A (zh) | 一种基于处理器系统的fpga验证方法及系统 | |
CN105550103B (zh) | 一种基于自定义测试脚本的自动化测试方法 | |
CN104780123B (zh) | 一种网络包收发处理装置及其设计方法 | |
US9088594B2 (en) | Providing to a parser and processors in a network processor access to an external coprocessor | |
WO2016202085A1 (zh) | 绘制光模块星座图的方法、装置及虚拟矢量分析仪 | |
CN116192534A (zh) | 列控数据通信传输方法、装置、设备及存储介质 | |
CN106919748B (zh) | 提高fpga原型验证效率的装置及方法 | |
CN112580016B (zh) | 一种工控防火墙的登录权限配置方法及装置 | |
US10846162B2 (en) | Secure forking of error telemetry data to independent processing units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |