CN105511992A - 一种用于节点互连芯片验证的全局检测模块方法 - Google Patents

一种用于节点互连芯片验证的全局检测模块方法 Download PDF

Info

Publication number
CN105511992A
CN105511992A CN201510901922.4A CN201510901922A CN105511992A CN 105511992 A CN105511992 A CN 105511992A CN 201510901922 A CN201510901922 A CN 201510901922A CN 105511992 A CN105511992 A CN 105511992A
Authority
CN
China
Prior art keywords
message
qpi
module
cpu
node interconnection
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
Application number
CN201510901922.4A
Other languages
English (en)
Inventor
陈继承
史宏志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201510901922.4A priority Critical patent/CN105511992A/zh
Publication of CN105511992A publication Critical patent/CN105511992A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2236Detection 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 CPU or processors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2236Detection 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 CPU or processors
    • G06F11/2242Detection 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 CPU or processors in multi-processor systems, e.g. one processor becoming the test master

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于节点互连芯片验证的全局检测模块方法,属于节点互连芯片模块检测方法,本发明要解决的技术问题为逻辑分析仪价格昂贵,且由于逻辑分析仪针脚有限,无法抓取太多信号,存储的数据也无法快速简单的查找定位关键信息。技术方案为:步骤如下:(1)以独立模块的形式嵌入节点互连芯片逻辑,随节点互连逻辑同时运行,监听各个信道交互的报文信息,按照相应协议规则进行错误检测,报出超时和报文错误信息,全自动运行;(2)将CPU发出的主动QPI报文存储,当有QPI报文从NC端返回时,与相对应的已经存储下来的源QPI报文进行比较,确定是否为所期望的报文。

Description

一种用于节点互连芯片验证的全局检测模块方法
技术领域
本发明涉及一种节点互连芯片模块检测方法,具体地说是一种用于节点互连芯片验证的全局检测模块方法。
背景技术
随着FPGA验证工作的深入,出现了一些验证工作上瓶颈,主要是随着多CPU多线程正常工作后,数据包大量并发,而限于软件采样频率和数据量的缘由,无法简单的使用Chipscope抓取相应信号。这种情况下会出现CPU宕机后,无法利用传统简单方法进行查询消息报文,无法对FPGA代码进行实时调试。所以现阶段迫切需要一种更好的NC平台调试手段,能够做到监测由CPU发出以及由NC返回的各种消息报文。鉴于XilinxFPGA软件ISE自带的调试工具Chipscope存储资源有限且采样频率的限制,以及逻辑分析仪虽然可以保存远超Chipscope保存数据量的数据,但是相比于复杂的试验环境,仍然捉襟见肘,且无法从存储的的大量数据中简单快速的查找到关键信息,加之采买价格颇贵。
发明内容
本发明的技术任务是提供一种用于节点互连芯片验证的全局检测模块方法,来解决逻辑分析仪价格昂贵,且由于逻辑分析仪针脚有限,无法抓取太多信号,存储的数据也无法快速简单的查找定位关键信息的问题。
本发明解决其技术问题所采用的技术方案是:一种用于节点互连芯片验证的全局检测模块方法,步骤如下:
(1)以独立模块的形式嵌入节点互连芯片逻辑,随节点互连逻辑同时运行,监听各个信道交互的报文信息,按照相应协议规则进行错误检测,报出超时和报文错误信息,全自动运行;
(2)将CPU发出的主动QPI报文存储,当有QPI报文从NC端返回时,与相对应的已经存储下来的源QPI报文进行比较,确定是否为所期望的报文;同时每个CPU发出的报文都会加一时间戳(Timestamp)用来判断是否超时。
作为优选,所述步骤(1)中的模块包括一下模块:
(1)存储模块设计:该模块负责存储所有由CPU发起的主动QPI报文,以方便对由NC返回的QPI报文进行检测;在应用中,所有的发送和回复报文都是乱序传输的,而RAM存储器又具有随机读写的功能,故采用RAM作为存储介质;
(2)存储器控制信号产生模块:在有CPU发送请求报文头抵达时,根据报文头的messageclass位区分六个信道的报文类型,按照优先级分别存储,即优先级高的先存储,优先级低的延后存储,以报头的RTID为Addr,写使能置位,将报头写入输入端口;在没有CPU发送请求报文的空闲状态,将读使能置位,以RTID为地址将报文头读出,这样既不会出现覆盖写入的问题,同时也可以针对返回的包RTID快速查找到对应的存储报文头包;
(3)超时处理模块:当在CPU收取回复报文的时间阈值之内没有对应的协议报文回复,本模块进行这种情况判定,并产生Timeout报警信号;具体行为如下:使用循环计算的计数器作为local时钟,当CPU的请求报文到达时,将当时的local时钟的数值作为时间戳,写入到报文头包的相应位置,并将处理过的报文头包写入存储器中;当存储器没有被动的写入和读出的时候,要对存储器中各个报文头包的时间戳遍历;与local时钟比较,若超过设定阈值则报警;
(4)错误处理模块:本模块的功能是判定NC返回的响应报文是否为CPU锁期望的正确回复类型,即宽松判定;具体行为如下:
每当NC返回一个QPI响应报文的时,根据报文中的RTID[5:0],即可提取出存储器中对应的源QPI报文头包。依据从QPI协议提取的判定算法,判定NC所返回的报文是否为满足协议要求的正确报文,如果满足要求则擦除存储的报文头包,反之即可产生Error信号报警。
本发明的一种用于节点互连芯片验证的全局检测模块方法和现有技术相比,具有以下有益效果:
(1)本发明具有实现简单,效果优秀的特点,可以方便的移植到需要大量报文交互的FPGA验证平台。根据验证平台交互报文的宽度定义存储位宽,根据报文格式定义分类和存储算法。检测算法需要依据相关的节点互连协议,本发明基于Intel公司的QPI协议开发,但可根据具体环境少量修改代码实现其他互连协议的支持,其主旨思想不变,符合自动化检测的思想,可大大提高验证人员工作效率。
(2)本发明中设置有独立模块,需要验证人员将其集成到需要进行相应验证的主体工作模块中,将需要验证的数据接口接入。本发明设计的检测模块较精炼,占用FPGA芯片资源较小,在资源允许的情况下可升级检测算法,支持更复杂的错误检测。
(3)本发明实现的全自动化的可潜入NC逻辑的全局检测模块,可用来实时对NC平台QPI报文进行监听检测并遇错报警。本发明已模块化,可以方便地嵌入到NC平台的各个部分中,可轻松移植到类似的FPGA验证平台,提高验证人员效率。
本发明具有设计合理、结构简单、使用方便、一物多用等特点,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种用于节点互连芯片验证的全局检测模块方法的工作流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明的一种用于节点互连芯片验证的全局检测模块方法,步骤如下:
(1)以独立模块的形式嵌入节点互连芯片逻辑,随节点互连逻辑同时运行,监听各个信道交互的报文信息,按照相应协议规则进行错误检测,报出超时和报文错误信息,全自动运行;
(2)将CPU发出的主动QPI报文存储,当有QPI报文从NC端返回时,与相对应的已经存储下来的源QPI报文进行比较,确定是否为所期望的报文;同时每个CPU发出的报文都会加一时间戳(Timestamp)用来判断是否超时。
作为优选,所述步骤(1)中的模块包括一下模块:
(1)存储模块设计:该模块负责存储所有由CPU发起的主动QPI报文,以方便对由NC返回的QPI报文进行检测;在应用中,所有的发送和回复报文都是乱序传输的,而RAM存储器又具有随机读写的功能,故采用RAM作为存储介质;
(2)存储器控制信号产生模块:在有CPU发送请求报文头抵达时,根据报文头的messageclass位区分六个信道的报文类型,按照优先级分别存储,即优先级高的先存储,优先级低的延后存储,以报头的RTID为Addr,写使能置位,将报头写入输入端口;在没有CPU发送请求报文的空闲状态,将读使能置位,以RTID为地址将报文头读出,这样既不会出现覆盖写入的问题,同时也可以针对返回的包RTID快速查找到对应的存储报文头包;
(3)超时处理模块:当在CPU收取回复报文的时间阈值之内没有对应的协议报文回复,本模块进行这种情况判定,并产生Timeout报警信号;具体行为如下:使用循环计算的计数器作为local时钟,当CPU的请求报文到达时,将当时的local时钟的数值作为时间戳,写入到报文头包的相应位置,并将处理过的报文头包写入存储器中;当存储器没有被动的写入和读出的时候,要对存储器中各个报文头包的时间戳遍历;与local时钟比较,若超过设定阈值则报警;
(4)错误处理模块:本模块的功能是判定NC返回的响应报文是否为CPU锁期望的正确回复类型,即宽松判定;具体行为如下:
每当NC返回一个QPI响应报文的时,根据报文中的RTID[5:0],即可提取出存储器中对应的源QPI报文头包。依据从QPI协议提取的判定算法,判定NC所返回的报文是否为满足协议要求的正确报文,如果满足要求则擦除存储的报文头包,反之即可产生Error信号报警。
如附图1所示,具体工作流程如下:
(1)块开始工作,判定是否为空闲状态(IDLE),不是就转到(2),是则跳转到(8)。
(2)定发送的报文是否为CPU发往NC的报文(QPI_si_pd),是则转到(3),不是则跳转到(4)。
(3)据QPI报文中的RHNID[4:0]来区分是哪个CPU的报文以便送其所对应的0-3号处理模块。进入对应处理模块,将该QPI报文中RTID[5:0]数值,作为存储地址Addr。将时间戳(Timestamp)打入报文中,即将10bit计数器(循环计数)的当时数据写入报文中RHNID[4:0]和RTID[5:0]位置,并将处理后的报文存储在以Addr为地址的Rom空间中。存储结束后跳转到(1)。
(4)定发送的报文是否为NC发往CPU的报文(QPI_pd_si),是则跳转到(5),不是则跳转到(1)。
(5)据NC返回报文中的DNID来确定是要返回给哪个CPU,从而进入该CPU对应的处理模块中。再根据该报文的RTID,以其作为地址,从存储空间取出所对应存储的报文。转到(6)。
(6)定是返回的报文是否满足发出的报文的期望回复。是则跳转到□1,不是则跳转到(7)。
(7)发Error报警,跳转到(11)。
(8)历Rom中的报文,取出其中的Timestamp,与计数器的值做减法运算取得差值绝对值A。跳转到(9)。
(9)A与timeout阈值相比较,是否超过该阈值,是则跳转到(10),不是则跳转到(1)。
(10)timeout报警,跳转到(11)。
(11)系统运行。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

Claims (2)

1.一种用于节点互连芯片验证的全局检测模块方法,其特征在于:步骤如下:
(1)以独立模块的形式嵌入节点互连芯片逻辑,随节点互连逻辑同时运行,监听各个信道交互的报文信息,按照相应协议规则进行错误检测,报出超时和报文错误信息,全自动运行;
(2)将CPU发出的主动QPI报文存储,当有QPI报文从NC端返回时,与相对应的已经存储下来的源QPI报文进行比较,确定是否为所期望的报文;同时每个CPU发出的报文都会加一时间戳(Timestamp)用来判断是否超时。
2.根据权利要求1所述的一种用于节点互连芯片验证的全局检测模块方法,其特征在于:所述步骤(1)中的模块包括一下模块:
(1)存储模块设计:该模块负责存储所有由CPU发起的主动QPI报文,以方便对由NC返回的QPI报文进行检测;在应用中,所有的发送和回复报文都是乱序传输的,而RAM存储器又具有随机读写的功能,故采用RAM作为存储介质;
(2)存储器控制信号产生模块:在有CPU发送请求报文头抵达时,根据报文头的messageclass位区分六个信道的报文类型,按照优先级分别存储,即优先级高的先存储,优先级低的延后存储,以报头的RTID为Addr,写使能置位,将报头写入输入端口;在没有CPU发送请求报文的空闲状态,将读使能置位,以RTID为地址将报文头读出,这样既不会出现覆盖写入的问题,同时也可以针对返回的包RTID快速查找到对应的存储报文头包;
(3)超时处理模块:当在CPU收取回复报文的时间阈值之内没有对应的协议报文回复,本模块进行这种情况判定,并产生Timeout报警信号;具体行为如下:使用循环计算的计数器作为local时钟,当CPU的请求报文到达时,将当时的local时钟的数值作为时间戳,写入到报文头包的相应位置,并将处理过的报文头包写入存储器中;当存储器没有被动的写入和读出的时候,要对存储器中各个报文头包的时间戳遍历;与local时钟比较,若超过设定阈值则报警;
(4)错误处理模块:本模块的功能是判定NC返回的响应报文是否为CPU锁期望的正确回复类型,即宽松判定;具体行为如下:
每当NC返回一个QPI响应报文的时,根据报文中的RTID[5:0],即可提取出存储器中对应的源QPI报文头包;依据从QPI协议提取的判定算法,判定NC所返回的报文是否为满足协议要求的正确报文,如果满足要求则擦除存储的报文头包,反之即可产生Error信号报警。
CN201510901922.4A 2015-12-09 2015-12-09 一种用于节点互连芯片验证的全局检测模块方法 Pending CN105511992A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510901922.4A CN105511992A (zh) 2015-12-09 2015-12-09 一种用于节点互连芯片验证的全局检测模块方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510901922.4A CN105511992A (zh) 2015-12-09 2015-12-09 一种用于节点互连芯片验证的全局检测模块方法

Publications (1)

Publication Number Publication Date
CN105511992A true CN105511992A (zh) 2016-04-20

Family

ID=55719994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510901922.4A Pending CN105511992A (zh) 2015-12-09 2015-12-09 一种用于节点互连芯片验证的全局检测模块方法

Country Status (1)

Country Link
CN (1) CN105511992A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239376A (zh) * 2017-06-23 2017-10-10 郑州云海信息技术有限公司 一种服务器互联芯片的自动化调试方法及装置
CN111460745A (zh) * 2020-03-31 2020-07-28 深圳市风云实业有限公司 一种设备芯片间连通性检测方法
CN114860519A (zh) * 2022-04-08 2022-08-05 中国人民解放军国防科技大学 一种面向大规模asic芯片的多芯片联合验证方法及装置
CN117082010A (zh) * 2023-10-17 2023-11-17 北京汤谷软件技术有限公司 一种基于大数据的芯片原型验证报文传输管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970634A (zh) * 2014-04-24 2014-08-06 浪潮电子信息产业股份有限公司 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法
CN104598430A (zh) * 2015-02-09 2015-05-06 浪潮电子信息产业股份有限公司 一种cpu互联扩展系统的网络接口互联设计与控制系统
CN104714870A (zh) * 2015-03-26 2015-06-17 浪潮集团有限公司 一种基于bfm验证大型互连芯片的方法
CN104767658A (zh) * 2015-04-17 2015-07-08 浪潮电子信息产业股份有限公司 一种在线检测报文传输错误的方法与装置
CN104917645A (zh) * 2015-04-17 2015-09-16 浪潮电子信息产业股份有限公司 一种在线检测报文传输超时的方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970634A (zh) * 2014-04-24 2014-08-06 浪潮电子信息产业股份有限公司 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法
CN104598430A (zh) * 2015-02-09 2015-05-06 浪潮电子信息产业股份有限公司 一种cpu互联扩展系统的网络接口互联设计与控制系统
CN104714870A (zh) * 2015-03-26 2015-06-17 浪潮集团有限公司 一种基于bfm验证大型互连芯片的方法
CN104767658A (zh) * 2015-04-17 2015-07-08 浪潮电子信息产业股份有限公司 一种在线检测报文传输错误的方法与装置
CN104917645A (zh) * 2015-04-17 2015-09-16 浪潮电子信息产业股份有限公司 一种在线检测报文传输超时的方法与装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239376A (zh) * 2017-06-23 2017-10-10 郑州云海信息技术有限公司 一种服务器互联芯片的自动化调试方法及装置
CN107239376B (zh) * 2017-06-23 2020-12-01 苏州浪潮智能科技有限公司 一种服务器互联芯片的自动化调试方法及装置
CN111460745A (zh) * 2020-03-31 2020-07-28 深圳市风云实业有限公司 一种设备芯片间连通性检测方法
CN114860519A (zh) * 2022-04-08 2022-08-05 中国人民解放军国防科技大学 一种面向大规模asic芯片的多芯片联合验证方法及装置
CN114860519B (zh) * 2022-04-08 2022-12-23 中国人民解放军国防科技大学 一种面向大规模asic芯片的多芯片联合验证方法及装置
CN117082010A (zh) * 2023-10-17 2023-11-17 北京汤谷软件技术有限公司 一种基于大数据的芯片原型验证报文传输管理方法及系统
CN117082010B (zh) * 2023-10-17 2024-02-06 北京汤谷软件技术有限公司 一种基于大数据的芯片原型验证报文传输管理方法及系统

Similar Documents

Publication Publication Date Title
Su et al. Redundant rule detection for software-defined networking
CN103532940B (zh) 网络安全检测方法及装置
CN105511992A (zh) 一种用于节点互连芯片验证的全局检测模块方法
US7836359B2 (en) Time stamping transactions to validate atomic operations in multiprocessor systems
CN103440196B (zh) 一种操作系统资源问题检测方法
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
TW201913522A (zh) 風險特徵篩選、描述報文產生方法、裝置以及電子設備
CN104504103B (zh) 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型
CN105446934B (zh) 一种基于多核dsp的动目标及恒虚警检测系统
CN111181800B (zh) 测试数据处理方法、装置、电子设备及存储介质
CN104699735A (zh) 企业级数据中心的数据处理方法及装置
CN104917645A (zh) 一种在线检测报文传输超时的方法与装置
CN105117369B (zh) 一种基于异构平台的多种并行错误检测系统
CN104050193B (zh) 生成报文的方法和实现该方法的数据处理系统
CN109726091A (zh) 一种日志管理方法及相关装置
CN115357629A (zh) 用于金融数据流的处理方法、系统、电子装置及存储介质
CN102437959B (zh) 基于双超时网络报文的组流方法
CN109447553A (zh) 一种库存的稽查方法、系统及终端设备
CN105530153A (zh) 网络内的从设备通信方法、通信网络、主设备及从设备
CN104780123A (zh) 一种网络包收发处理装置及其设计方法
CN106161339B (zh) 获取ip访问关系的方法及装置
CN101895426B (zh) 一种网络资源评估中的数据采集方法及系统
CN101634939B (zh) 一种快速寻址装置和方法
CN115730546A (zh) 一种片上网络协议的软硬件协同监测方法及装置
CN112579552A (zh) 日志存储及调用方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160420

RJ01 Rejection of invention patent application after publication