一种用于加速芯片仿真和调试的方法和芯片测试系统技术方案

技术编号:14399713 阅读:80 留言:0更新日期:2017-01-11 12:53
本发明专利技术涉及一种用于在芯片测试系统中加速芯片仿真和调试的方法,所述芯片测试系统包括待测子系统和激励子系统,其中,所述激励子系统充当所述待测子系统的激励源并且为所述待测子系统提供激励信号,其中,所述激励子系统能够被虚拟激励发生器替换,所述虚拟激励发生器被配置成产生虚拟激励信号,所述虚拟激励信号与所述激励子系统的激励信号相同。此外,本发明专利技术还涉及一种配置成用于实现在芯片测试系统中加速芯片仿真和调试的方法的芯片测试系统。

【技术实现步骤摘要】

本专利技术大体上涉及集成电路技术。具体地说,本专利技术涉及芯片设计和验证,尤其是涉及一种用于加速芯片仿真和调试的方法以及配置成用于实现所述方法的芯片测试系统。
技术介绍
在当前的硅芯片设计中,由于设计复杂程度增加导致设计成本增加。随着芯片的门数增加,设计复杂程度和成本也显著增加。同时,由于要求增多以及激烈的市场竞争,芯片产品更新换代非常快,芯片厂商不得不缩短芯片设计周期,以便尽快将芯片产品市场化并且赢得竞争优势。随着芯片设计的设计复杂程度增加,编译和模拟时间变得越来越长,并且大多数编译和模拟被用来进行缺陷追踪以及验证现存缺陷是否已被修好。典型地,对于当今的图形处理单元(GPU),编译时间需要一个小时,但是模拟时间更长,例如六个小时或者更长。当芯片级模拟中存在错误的时候,知识产权(IP)设计者通常没有独立的测试平台来产生任意定义的激励,因此设计者不得不使用整个芯片级测试平台来重现失败。这非常耗时,并且其他IP设计者不能积极地参与并行调试,因为复制所述失败的另一副本来进行调试是非常耗时的,更不用说用于调试的另一个设计树所需要的巨大磁盘需求了。当设计者找到潜在漏洞时,他必须修改、重新编译和重新模拟所述芯片设计,在他通常发现所做的修补工作无效之前,这可能就需要好几个小时,并且不得不将修补-调试步骤重新来一遍。本领域中存在几种公知解决方案来加速编译和模拟。一种公知的解决方案是分区编译(例如预先编译的IP,也被称为PIP),其意味着分割整个测试平台(即测试系统)并且仅仅重新编译经修改的分区以减少重新编译时间。这种解决方案既没有减少模拟时间也不能使加速设计周期的调试活动并行化。另一种解决方案是保存/复原(saving/restoring),其意味着保存模拟快照并且在下一轮模拟中复原状态。但是,这种技术仅仅适用于SystemC实现方式,而不能用于更广泛的寄存器传输级(RTL)实现方式,并且当芯片设计变化的时候,所保存的快照可能不可靠并因此并不适用于取回。另一种公知解决方案是仿真模型替换,其意味着利用算法或者功能模型来替换未处于调试中的模块。但是,周期准确C模型几乎不可用,所以不能总应用这种解决方案。
技术实现思路
如上面所提到的那样,增加的芯片集成度和复杂性不仅增加了设计成本,而且导致芯片设计周期延长。在芯片测试和验证中,芯片设计者花费大量时间编译和模拟复杂的测试系统。对复杂的测试系统的编译和模拟是耗费时间的并且浪费了设计者的宝贵时间,并因此使得芯片设计变得效率低下并且令人沮丧。如果用于编译和模拟的时间能够被节省下来或者芯片测试系统中的芯片仿真和调试能够被加速的话,那么芯片设计周期会显著缩短。为了缩短芯片设计周期,本专利技术的各个方面提供了一种用于在芯片测试系统中加速芯片仿真和调试的方法和一种配置成用于实现根据本专利技术的方法的芯片测试系统。根据本专利技术的一个方面,提供了一种用于在芯片测试系统中加速芯片仿真和调试的方法,所述芯片测试系统包括待测子系统和激励子系统,其中,所述激励子系统充当所述待测子系统的激励源并且为所述待测子系统提供激励信号,所述方法包括:从第一时间点开始,在芯片测试系统中运行芯片测试程序;从所述第一时间点开始,记录所述激励子系统的激励信号;如果所述待测子系统的响应信号在第二时间点发生错误,则停止运行所述芯片测试程序,并且利用所记录的激励信号生成虚拟激励发生器,其中,所述虚拟激励发生器能够产生虚拟激励信号,所述虚拟激励信号与所述激励子系统从所述第一时间点至所述第二时间点所提供的激励信号相同;修改至少一个芯片设计参数;以及利用所述虚拟激励发生器替换所述激励子系统,并且通过使用所述虚拟激励发生器作为所述待测子系统的激励源在所述芯片测试系统中重新运行所述芯片测试程序。根据本专利技术的用于在芯片测试系统中加速芯片仿真和调试的方法能够实现一种高效的并且节省时间的设计测试和验证,从而缩短了芯片设计周期。在一个方面,所述方法进一步包括:检测所述待测子系统的响应信号是否发生错误,如果所述待测子系统的响应信号未发生错误,则继续运行所述芯片测试程序直至所述芯片测试程序运行结束。根据本专利技术的另一个方面,提供了一种芯片测试系统,所述芯片测试系统包括:待测子系统和激励子系统,其中,所述激励子系统充当所述待测子系统的激励源并且为所述待测子系统提供激励信号;用于从第一时间点开始记录所述激励子系统的激励信号的记录模块,芯片测试程序从所述第一时间点开始在所述芯片测试系统中运行;用于检测所述待测子系统的响应信号是否发生错误的检测模块;配置成如果所述待测子系统的响应信号在第二时间点发生错误则停止运行所述芯片测试程序的操作模块;以及用于在所述待测子系统的响应信号在第二时间点发生错误时利用所记录的激励信号生成虚拟激励发生器的生成模块,其中,所述虚拟激励发生器被配置成产生虚拟激励信号,所述虚拟激励信号与所述激励子系统从所述第一时间点至所述第二时间点所提供的激励信号相同;其中,所述激励子系统能够被所述虚拟激励发生器替换,以便通过使用所述虚拟激励发生器作为所述待测子系统的激励源在所述芯片测试系统中从所述第一时间点开始重新运行所述芯片测试程序。利用所述虚拟激励发生器,显著减少了重新编译和重新模拟的时间消耗并且设计者能够在短时间内通过从第一时间点开始在芯片测试系统中重新运行芯片测试程序来检查经修改的待测子系统,从而确保芯片设计的现有缺陷已被移除。在一个方面,基于所记录的激励信号自动产生所述虚拟激励发生器。根据本专利技术的另一个方面,提供了一种配置成用于实现根据本专利技术所述的用于在芯片测试系统中加速芯片仿真和调试的方法的芯片测试系统。如上面所描述的那样,为了加速针对大型设计的编译、模拟和并行化调试,本专利技术在一个失败的时间点之后利用虚拟激励发生器替换测试平台或者测试系统中除了有待调试的模块之外的所有模块,所述虚拟激励发生器在有待调试的模块的接口输入端上精确地产生激励,所述激励与第一轮使用实际的芯片级测试平台所转存的激励信号相同。因为在所述测试平台中仅仅存在有待调试的模块和激励发生器(类似于程序语言接口装载所保存的激励),编译和模拟时间得以极度简化,并且调试折返时间得以最小化。因为设计者总是关心在失败时间点之前反馈给待调试模块的激励以及来自于待调试模块的响应,尽管激励器在来自有待调试模块的响应变化时不能改变激励,但是使用所述激励来转存所述有待调试的模块中的所有细节对设计者来说还是非常有帮助的。通常,在系统失败中定位根本原因是很困难的。利用根据本专利技术的虚拟激励发生器的技术,几个IP设计者能够利用他们特定的简化的测试平台并行地进行调试,并且利用这种分治(divide-and-conquer)方式能够更快地找到根本原因。本专利技术专注于加速仿真和调试。在第一轮仿真中,可以定义一系列有待调试的模块并且转存这些有待调试模块的接口上所有的波形。如果仿真失败,在本专利技术中创建针对每个有待调试模块的小的测试平台,并且每个小的测试平台由两部分组成,即有待调试的模块和虚拟激励发生器,所述虚拟激励发生器精确地产生转存在先前运行中的相同的接口信号。原始测试平台因此被分割成几个小的简化的测试平台,因此芯片设计者能够并行地调试有待调试的模块,编译时间和模拟时间得以显著减少本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/52/201510325694.html" title="一种用于加速芯片仿真和调试的方法和芯片测试系统原文来自X技术">用于加速芯片仿真和调试的方法和芯片测试系统</a>

【技术保护点】
一种用于在芯片测试系统中加速芯片仿真和调试的方法,所述芯片测试系统包括待测子系统和激励子系统,其中,所述激励子系统充当所述待测子系统的激励源并且为所述待测子系统提供激励信号,所述方法包括:‑从第一时间点(T1)开始,在芯片测试系统中运行芯片测试程序;‑从所述第一时间点(T1)开始,记录所述激励子系统的激励信号(S1);‑如果所述待测子系统的响应信号在第二时间点(T2)发生错误,则停止运行所述芯片测试程序,并且利用所记录的激励信号(S1)生成虚拟激励发生器,其中,所述虚拟激励发生器被配置成产生虚拟激励信号(S2),所述虚拟激励信号(S2)与所述激励子系统从所述第一时间点(T1)至所述第二时间点(T2)所提供的激励信号(S1)相同;‑修改至少一个芯片设计参数;以及‑利用所述虚拟激励发生器替换所述激励子系统,并且通过使用所述虚拟激励发生器作为所述待测子系统的激励源在所述芯片测试系统中从所述第一时间点(T1)开始重新运行所述芯片测试程序。

【技术特征摘要】
1.一种用于在芯片测试系统中加速芯片仿真和调试的方法,所述芯片测试系统包括待测子系统和激励子系统,其中,所述激励子系统充当所述待测子系统的激励源并且为所述待测子系统提供激励信号,所述方法包括:-从第一时间点(T1)开始,在芯片测试系统中运行芯片测试程序;-从所述第一时间点(T1)开始,记录所述激励子系统的激励信号(S1);-如果所述待测子系统的响应信号在第二时间点(T2)发生错误,则停止运行所述芯片测试程序,并且利用所记录的激励信号(S1)生成虚拟激励发生器,其中,所述虚拟激励发生器被配置成产生虚拟激励信号(S2),所述虚拟激励信号(S2)与所述激励子系统从所述第一时间点(T1)至所述第二时间点(T2)所提供的激励信号(S1)相同;-修改至少一个芯片设计参数;以及-利用所述虚拟激励发生器替换所述激励子系统,并且通过使用所述虚拟激励发生器作为所述待测子系统的激励源在所述芯片测试系统中从所述第一时间点(T1)开始重新运行所述芯片测试程序。2.根据权利要求1所述的方法,其中,所述方法进一步包括:检测所述待测子系统的响应信号是否发生错误,如果所述待测子系统的响应信号未发生错误,则继续运行所述芯片测试程序直至所述芯片测试程序运行结束。3.根据权利要求2所述的方法,其中,所述方法进一步包括:在从所述第一时间点(T1)开始重新运行所述芯片测试程序之后,检测所述待测子系统的响应信号是否发生错误,如果所述待测子系
\t统的响应信号发生错误,则停止运行所述芯片测试程序,修改至少一个芯片设计参数,并且返回到从所述第一时间点(T1)开始重新运行所述芯片测试程序。4.根据权利要求1至3之一所述的方法,其中,基于所记录的激励信号(S1)自动产生所述虚拟激励发生器。5.根据权利要求1至3之一所述的方法,其中,所述虚拟激励发生器具有与所述激励子系统相同的接口。6.根据权利要求1至3之一所述的方法,其中,所述虚拟激励发生器通过编程语言接口、C语言、直接编程接口或者硬件描述语言来实现。7.一种芯片测试系统,其包括:-待测子系统和激励子系统,其中,所述激励子系统充当所述待测子系统的激励源...

【专利技术属性】
技术研发人员:张力
申请(专利权)人:超威半导体上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1