一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法

文档序号:6225152阅读:256来源:国知局
一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法
【专利摘要】本发明提出了一种基于加检测逻辑的背靠背环回验证方式来仿真验证和FPGA原型验证NC互连逻辑的验证。本发明针对NC报文可以分类型和通道传递的特点,提出了可以采用分模块背靠背环回验证和加检测逻辑验证的方式,解决了大规模互连逻辑的仿真验证和FPGA原型的中数据量大,人工验证成效率低和问题难以定位的问题,保证了验证结果和效率。
【专利说明】—种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法
[0001]【技术领域】
本发明属于计算机体系结构范畴,涉及大型互连芯片的验证方法的【技术领域】,具体地说是一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法。
【背景技术】
[0002]为实现大规模的CC-NUMA (Cache Coherence Non-Uniform Memory Access-
非一致内存访问)多处理器系统,需借助节点互连芯片NC (Node Controller)扩大一致性域空间。在NC仿真验证和FPGA验证的过程中,由于基于扩展型Cache Coherence协议的多级一致性域CC-NUMA系统协议往往相对比较复杂,在大量测例验证的过程中,具有大量数据量的数据报文传递。在仿真验证的过程中,尤其是FPGA验证的过程中,由于某一时刻数据包的类型无法预测,完全由CPU自主行为决定。如果此时出现由于NC互连逻辑导致的CPU不能进入SHELL或OS的情况,很难通过人工检测或上板调试抓取信号进行比对的方式来确定问题的时刻和发生原因。另外,由于NC逻辑规模较大,级联模块很多,各个模块在充分验证前,将整个逻辑一起进行验证,存在不确定因素的叠加,使得通过仿真验证或FPGA原型验证来debug互连逻辑的难度加大,甚至使整个验证过程失控。

【发明内容】

[0003]为了解决上述两个问题,首先采取按照NC互连芯片内部各个模块与CPU连接的信号传递顺序,先验证与CPU直接相连模块,再逐次添加后续模块的思路,以解决互连逻辑中各模块不确定因素叠加的问题。其次,为了达到方便验证的目的采取互连逻辑背靠背环回验证和添加检测逻辑的方式,替代人工检测和上板抓取信号进行分析的方式,提高工作效率。
[0004]本发明的目的是提供一种通过添加检测逻辑模块和背靠背验证的方式来验证大型互连芯片的仿真测试和FPGA原型验证的方法。
[0005]本发明的实现首先满足三个前提条件:
I)每个CPU/BFM (1-0,1-1)发送的报文可以分为不同的类型,且所能发送未经处理的同类型报文数量必须在某个范围以内。首先避免通道堵塞,另外,未经处理的报文数据量太多,会使检测模块(3)逻辑倍增,在FPGA原型验证中占用太多逻辑资源和布线资源,难以满足布线的时序要求。
[0006]2)每条报文穿过被检测模块的时间必须满足小于某一固定值,该固定值通过延迟实验确定,否则检测模块认为报文超时,向系统报告错误。
[0007]3)被检测模块的输入输出报文的格式和数据相同或有固定的逻辑关系,这样检测模块才能将输入被检测模块的数据保存后,与被检测模块的输出报文进行比对。
[0008]本检测模块的具体实现方式为:
该加检测逻辑的背靠背系统验证方法的组成包括,CPU0/BFM0 (1-0)、CPU1/BFM1 (1-1)组成的CPU/BFM (I冲央控制逻辑,包括物理层(2-0,2-1)、链路层(2_2,2_3 )、路由层(2_4,2-5),协议层(2-6,2-7 )等模块组成的NC互连逻辑(2 ),由存储器/触发器(3-0 )、比较逻辑(3-1)、控制模块逻辑(3-2)组成检测模块逻辑(3)组成。
[0009]所述的加检测逻辑背靠背系统验证方法,其CPU/BFM中央控制逻辑(I ),在FPGA原型验证的过程中,采用CPU,首发处理报文。仿真验证的过程中,采用的是BFM替代CPU与互连逻辑建立连接,产生,发送报文。
[0010]所述的加检测逻辑背靠背系统验证方法,其NC互连逻辑(2)在验证的过程中采用背靠背的验证方式来按照与CPU/BFM中央控制逻辑(I)的连接顺序,逐次验证NC各逻辑模块的功能。即将CPU/BFM中央控制逻辑(I) 一侧的CPU/BFM的报文传递到另外一侧,两侧的发送报文与接收报文一致。
[0011]所述的加检测逻辑背靠背系统验证方法,其NC互连逻辑(2)的被检测模块的不同类型报文处理顺序可以乱序,同类型报文的处理既可以乱序执行,也可以安装CPU/BFM中央控制逻辑(I)的要求顺序执行。但每个CPU/BFM中央控制逻辑(I)的一端CPU产生的最大同类型且未得到处理响应的报文的数量必须在某个特定的范围内,比如N。
[0012]所述的加检测逻辑背靠背系统验证方法,其检测模块逻辑(3)所检测的数据报文可以根据报文的类型按通道分未不同类型的报文,假定报文类型的数量为M,每个报文给定的存储宽度为W,对应同类型报文的深度不小于N,则检测模块逻辑(3)所开的存储器和触发器(3-0)的容量不小于M*N*W。
[0013]所述的加检测逻辑背靠背系统验证方法,检测模块逻辑(3)实现检测功能的步骤是:
I) CPU/BFM中央控制逻辑(I)的报文发送到NC互连逻辑(2)的被检测模块的输入端口,同时也送入检测模块逻辑(3)的输入端口,检测模块逻辑(3)根据该输入报文的通道类型指示信号和报文的序列号存入检测模块逻辑(3)所开的存储器或触发器(3-0)的相应通道的指定位置。
[0014]2 )检测模块逻辑(3 )的控制模块逻辑(3-2 )对存入存储器或触发器(3-0 )中的报文开始计时。
[0015]3)检测模块逻辑(3)同时接收NC互连逻辑(2)被检测模块的报文输出和控制信号,在接收数据有效的情况下,将报文类型和报文的序列号送入比较逻辑(3-1)。比较逻辑(3-1)根据报文类型和报文的序列号到存储器或触发器(3-0)读取相应位置存入的报文序列号,送入比较逻辑(3-1)作比较。如果比较结果正确,则清除存储器或触发器(3-0 )相应报文的序列号,并通知控制模块逻辑(3-2)喂狗,相应报文的计时停止。否则通知控制模块逻辑(3-2)出现错误。如果在计时达到预设的阈值时间T时,比较逻辑(3-1)仍未对该报文进行比较,控制模块逻辑(3-2)自动拉起错误指示信号,并通知清除存储器或触发器(3-0)相应报文的序列号。控制模块逻辑(3-2)模块会将错误分通道计数,和错误指示信号一同输出。
[0016]4)多通道数据比较会产生多种错误指示信号,在FPGA原型验证板触发信号的方便起见,控制模块逻辑(3-2)模块的各种错误指示信号做或逻辑输出。
[0017]5)阈值时间T可根据实际的需求和需要设定。
[0018]本发明的有益效果是: 适用于逻辑复杂,功能检测难度较大的互连芯片;采用记录并比较互连芯片的输入和输出报文方式验证功能的正确性;对每种报文的输入输出时间进行计时,确认每种报文的处理时间是否超时;检测逻辑报文的存储地址采用,截取与报文类型的特征矢量并组合,确定存取地址的方式确定;还可以存储出现异常报文前部分内容的方式,综合确定错误产生的原因;采用数字逻辑实现,处理速度快,可应用于大批量报文传输的检错和差错过程。
【专利附图】

【附图说明】
[0019]附图1为检测逻辑的背靠背系统的验证系统拓扑图。
【具体实施方式】
[0020]本发明的目的是提供一种通过添加检测逻辑模块和背靠背验证的方式来验证大型互连芯片的仿真测试和FPGA原型验证的方法。
[0021]本发明的实现首先满足三个前提条件:
I)每个CPU/BFM (1-0,1-1)发送的报文可以分为不同的类型,且所能发送未经处理的同类型报文数量必须在某个范围以内。首先避免通道堵塞,另外,未经处理的报文数据量太多,会使检测模块(3)逻辑倍增,在FPGA原型验证中占用太多逻辑资源和布线资源,难以满足布线的时序要求。
[0022]2)每条报文穿过被检测模块的时间必须满足小于某一固定值,该固定值通过延迟实验确定,否则检测模块认为报文超时,向系统报告错误。
[0023]3)被检测模块的输入输出报文的格式和数据相同或有固定的逻辑关系,这样检测模块才能将输入被检测模块的数据保存后,与被检测模块的输出报文进行比对。
[0024]本检测模块的具体实现方式为:
1、该加检测逻辑的背靠背系统验证方法的组成包括,CPU0/BFM0 (1-0)、CPU1/BFM1(1-1)组成的CPU/BFM (I)中央控制逻辑,包括物理层(2-0,2-1)、链路层(2-2,2-3)、路由层(2-4,2-5 )、协议层(2-6,2-7 )等模块组成的NC互连逻辑(2 ),由存储器/触发器(3-0 )、比较逻辑(3-1)、控制模块逻辑(3-2)组成检测模块逻辑(3)组成。
[0025]2、CPU/BFM中央控制逻辑(I ),在FPGA原型验证的过程中,采用CPU,首发处理报文。仿真验证的过程中,采用的是BFM替代CPU与互连逻辑建立连接,产生,发送报文。
[0026]3、NC互连逻辑(2)在验证的过程中采用背靠背的验证方式来按照与CPU/BFM中央控制逻辑(I)的连接顺序,逐次验证NC各逻辑模块的功能。即将CPU/BFM中央控制逻辑(O 一侧的CPU/BFM的报文传递到另外一侧,两侧的发送报文与接收报文一致。
[0027]4、NC互连逻辑(2)的被检测模块的不同类型报文处理顺序可以乱序,同类型报文的处理既可以乱序执行,也可以安装CPU/BFM中央控制逻辑(I)的要求顺序执行。但每个CPU/BFM中央控制逻辑(I)的一端CPU产生的最大同类型且未得到处理响应的报文的数量必须在某个特定的范围内,比如N。
[0028]5、检测模块逻辑(3 )所检测的数据报文可以根据报文的类型按通道分未不同类型的报文,假定报文类型的数量为M,每个报文给定的存储宽度为W,对应同类型报文的深度不小于N,则检测模块逻辑(3)所开的存储器和触发器(3-0)的容量不小于M*N*W。
[0029]6、检测模块逻辑(3)实现检测功能的步骤是:(以某一条特定报文为例)I) CPU/BFM中央控制逻辑(I)的报文发送到NC互连逻辑(2)的被检测模块的输入端口,同时也送入检测模块逻辑(3)的输入端口,检测模块逻辑(3)根据该输入报文的通道类型指示信号和报文的序列号存入检测模块逻辑(3)所开的存储器或触发器(3-0)的相应通道的指定位置。
[0030]2 )检测模块逻辑(3 )的控制模块逻辑(3-2 )对存入存储器或触发器(3-0 )中的报文开始计时。
[0031]3)检测模块逻辑(3)同时接收NC互连逻辑(2)被检测模块的报文输出和控制信号,在接收数据有效的情况下,将报文类型和报文的序列号送入比较逻辑(3-1)。比较逻辑(3-1)根据报文类型和报文的序列号到存储器或触发器(3-0)读取相应位置存入的报文序列号,送入比较逻辑(3-1)作比较。如果比较结果正确,则清除存储器或触发器(3-0 )相应报文的序列号,并通知控制模块逻辑(3-2)喂狗,相应报文的计时停止。否则通知控制模块逻辑(3-2)出现错误。如果在计时达到预设的阈值时间T时,比较逻辑(3-1)仍未对该报文进行比较,控制模块逻辑(3-2)自动拉起错误指示信号,并通知清除存储器或触发器(3-0)相应报文的序列号。控制模块逻辑(3-2)模块会将错误分通道计数,和错误指示信号一同输出。
[0032]5)多通道数据比较会产生多种错误指示信号,在FPGA原型验证板触发信号的方便起见,控制模块逻辑(3-2)模块的各种错误指示信号做或逻辑输出。
[0033]6)阈值时间T可根据实际的需求和需要设定。
[0034]名词解释
CPU/BFM (Bus Function Model) 中央处理器/功能总线模型
Phy layer link layer route layer protocol layer 物理层链路层路由层协议层。
【权利要求】
1.一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法,其特征在于该方法的组成包括,CPUO/BFMO (1-0)、CPU1/BFM1 (1-1)组成的CPU/BFM中央控制逻辑(I ),包括物理层(2-0,2-1)、链路层(2-2,2-3 )、路由层(2-4, 2-5 )、协议层(2-6,2-7 )等模块组成的NC互连逻辑(2 ),由存储器/触发器(3-0 )、比较逻辑(3-1)、控制模块逻辑(3-2 )组成检测模块逻辑(3)组成; CPU/BFM中央控制逻辑(I ),在FPGA原型验证的过程中,采用CPU,首发处理报文;仿真验证的过程中,采用的是BFM替代CPU与互连逻辑建立连接,产生,发送报文; NC互连逻辑(2)在验证的过程中采用背靠背的验证方式来按照与CPU/BFM中央控制逻辑(I)的连接顺序,逐次验证NC各逻辑模块的功能;即将CPU/BFM中央控制逻辑(I) 一侧的CPU/BFM的报文传递到另外一侧,两侧的发送报文与接收报文一致; 检测模块逻辑(3)所检测的数据报文可以根据报文的类型按通道分未不同类型的报文,假定报文类型的数量为M,每个报文给定的存储宽度为W,对应同类型报文的深度不小于N,则检测模块逻辑(3)所开的存储器和触发器(3-0)的容量不小于M*N*W。
2.根据权利要求1所述的方法,其特征在于NC互连逻辑(2)的被检测模块的不同类型报文处理顺序可以乱序,同类型报文的处理既可以乱序执行,也可以安装CPU/BFM中央控制逻辑(I)的要求顺序执行;但每个CPU/BFM中央控制逻辑(I)的一端CPU产生的最大同类型且未得到处理响应的报文的数量必须在某个特定的范围内,比如N。
3.根据权利要求1所述的方法,其特征在于检测模块逻辑(3)实现检测功能的步骤是: 1)CPU/BFM中央控制逻辑(I)的报文发送到NC互连逻辑(2)的被检测模块的输入端口,同时也送入检测模块逻辑(3 )的输入端口,检测模块逻辑(3 )根据该输入报文的通道类型指示信号和报文的序列号存入检测模块逻辑(3)所开的存储器或触发器(3-0)的相应通道的指定位置; 2)检测模块逻辑(3)的控制模块逻辑(3-2)对存入存储器或触发器(3-0)中的报文开始计时; 3 )检测模块逻辑(3 )同时接收NC互连逻辑(2 )被检测模块的报文输出和控制信号,在接收数据有效的情况下,将报文类型和报文的序列号送入比较逻辑(3-1);比较逻辑(3-1)根据报文类型和报文的序列号到存储器或触发器(3-0)读取相应位置存入的报文序列号,送入比较逻辑(3-1)作比较;如果比较结果正确,则清除存储器或触发器(3-0)相应报文的序列号,并通知控制模块逻辑(3-2)喂狗,相应报文的计时停止;否则通知控制模块逻辑(3-2)出现错误;如果在计时达到预设的阈值时间T时,比较逻辑(3-1)仍未对该报文进行比较,控制模块逻辑(3-2)自动拉起错误指示信号,并通知清除存储器或触发器(3-0)相应报文的序列号;控制模块逻辑(3-2)模块会将错误分通道计数,和错误指示信号一同输出; 4)多通道数据比较会产生多种错误指示信号,在FPGA原型验证板触发信号的方便起见,控制模块逻辑(3-2)模块的各种错误指示信号做或逻辑输出; 5)阈值时间T可根据实际的需求和需要设定。
【文档编号】G01R31/28GK103970634SQ201410168555
【公开日】2014年8月6日 申请日期:2014年4月24日 优先权日:2014年4月24日
【发明者】刘强, 陈继承, 赵元, 王京 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1