完全可视化技术为ASIC验证带来革命性变化

时间:2022-07-08 04:43:49

完全可视化技术为ASIC验证带来革命性变化

随着芯片复杂度的提高,ASIC验证的难度也在大幅上升。许多ASIC设计工程师发现,验证技术往往不能满足电路验证需求的现状严重影响了他们的工作。摩尔定律仍在继续发挥作用,芯片的复杂度还将不断提高,验证工程师所面临的挑战也越来越严峻。

ASIC原型、模拟及仿真等传统的验证技术仍然有用,但已不能满足现代电路的要求。比如,为了测试电路在3s内的实时活动,往往需要模拟器在数千Hz的频率下工作30天才能完成。虽然验证技术在某些方面有所改进,如出现了E逻辑分析仪,但仍存在很多不足。因此,为了满足目前正在进行的软硬件系统设计的复杂度要求,必须不断开发新的技术。

基于FPGA的原型验证技术提供了一种最具成本效益的验证方法。与模拟或仿真不同,FPGA原型验证技术不仅能与系统软件协同合作,而且还能以近似实时处理的速度工作。这种技术所欠缺的是信号和状态的可视性,不过,解决这方面的问题相比提高模拟或仿真的处理速度来说要容易得多。一些有助于提高FPGA原型验证可视性的增强型技术已经应运而生,但它们还不足以满足调试复杂系统所需的完全可视化要求。

针对FPGA原型验证流程所开发的完全可视化技术能大幅提高asic与系统验证工作的效率。如果验证过程能够同时实现近似实时的处理速度以及完全的信号可视化,那么就可以使验证系统更接近于实际制造的ASIC,避免流片带来的高成本和长时间问题。这种技术可以通过采集特定事件发生前后的所有状态来大幅提升调试速度。而月,工程师还能在熟悉的环境中进行调试工作,从而更为便捷且效率更高。显而易见,当高速、低成本的FPGA获得了接近仿真性能的调试可视性与覆盖率,便可为ASIC设计工程师提供一套更出色的验证解决方案。

验证危机不断加剧

多年来,设计工程师一直将ASIC验证技术落后于半导体设计和制造技术的状况称为验证危机。系统复杂度的不断提高更导致这一危机不断加剧。随着半导体工艺的不断发展,设计中的逻辑故障也越来越多,这意味着必须让更多的工程师从事验证工作,并在验证工具上投入更多资金。此外,为了全面了解软硬件的协同情况,工程师希望验证工具能够具有系统级的可视性,又进一步加大了验证工作的复杂性。检测系统级的故障与缺陷已成为深亚微米设计中的关键任务,如果不能检测并纠正这些缺陷的话,就会产生严重后果,甚至需要召回产品。

传统的验证技术各有优劣。最初的ASIC原型验证能提供系统的可视性,但在深亚微米领域,定制ASIC需要6-9个月的时间,而且每次定制的NRE费用都高达百万美元,因此,这种定制芯片进行验证的方法很早以前就已被淘汰。于是,RTL模拟技术逐渐成为ASIC验证的主流技术,它能保证工程师以其熟悉的方式,低成本地完成设计流程早期的验证工作。但利用这种技术对复杂的ASIC设计进行模拟时,需要花费很长的时间,测试平台的开发工作量也非常大。而且,由于在数千Hz的RTL模拟环境中进行断言测试非常耗时,因此,许多时候都无法将所有关键的时间依赖型断言一测试完毕。软硬件协同验证也对测试平台的开发提出了挑战,并且对运行时间的改善非常有限。由于采用了实际的系统级激励,因此使用C语言模拟时不必进行测试平台的开发,但这种方法仍然很耗时,而且也不能实现完全的信号可视化。近年来,人们开始采用板上逻辑分析仪来提高可视性,尽管有一定改善,但其提供的可视性仍然不足以帮助工程师了解电路实时运行状态下复杂的内部活动。

仿真和传统基于FPGA的原型验证这两种方法比其它验证方法的速度要快得多,但也有缺点。与模拟和协同验证方法不同的是,仿真用的时间很短,且能够提供完全的信号可视性;但仿真器(Emulator)的成本非常高,而且其执行速度在IMHz左右,对大多数设计工程师来说仍然太慢。

只有基于FPGA的原型验证能实现最佳的吞吐时间,并具有接近系统级的高速度。此外,FPGA原型验证技术还能运用实时激励,从而实现真正的在系统测试。不过,传统的FPGA原型验证技术只能提供有限的可视性,通过测试引脚无法观察到所有信号。

完全可视化技术

在实际投片之前,设计工程师需要一种快速而全面地找到并消除设计故障的方法。具体来说,他们希望在设计流程开始时(通常为RTL级)就能发现并纠正错误,并且要在保证测试覆盖率的前提下,尽可能地缩短验证时间。此外,目前电路验证工作的重点是要以系统速度或接近系统速度来完成验证工作,并确保完全的信号可视性。

上述需求对目前的验证工具与方法提出了严格的挑战,因此,有必要推进技术本身的突破。Synplicity开发的TotalRecall技术就实现了这种突破。该技术采用最新电路设计与综合方法,充分发挥FPGA原型验证技术的各种优势,如低成本、高速及高效等,从而实现了真正全面的信号可视性。这样,FPGA原型技术就能够达到与仿真技术相同甚至更好的调试可视性,同时,运行速度也要高出10倍~100倍。

该技术的独特性在于,它能使设计工程师捕获到问题事件出现之前所有信号及状态的信息。利用TotalRecall技术,用户能在问题出现之前,在指定数量的时钟周期内捕获到所有寄存器(包括存储器)的状态。随后,可将这些设计状态及测试平台导出到标准的HDL模拟器中,让用户在问题出现前重新开始模拟,并可无限次重放有关过程,直到问题得到解决。该技术尤其有助于解决那些难以发现的问题,比如偶发故障、由于特定软硬件相互作用而造成的故障,或是在大量时钟周期之后才会出现的错误等。

运用导致故障发生的准确信号值在模拟环境内进行测试也是一种独特的技术。通常使用的捕获技术一般通过环形缓冲器来存储导致错误的信息,所存储的只是在一段有限时间周期内的有限信号值。在新技术中改进了这一方法,无需环形缓冲器,便使用户能在发生错误前指定数量的周期内了解所有信号的活动情况,从而避免了重新选择信号和再次编译的工作,也不再需要创建测试平台,免除了测试平台自身难以创建正确序列的风险。同时,用户也能在熟悉的模拟环境中工作。

该技术的另一关键特性在于,它使工程师能在RTL级全面地测试断言。通过综合技术将断言综合到硬件中,并在真实硬件上加以执行,设计人员能够全面了解器件在一系列周期中的行为,这用传统的RTL模拟方法是不可能实现的。

由于TotalRecall技术可实现完全自动化,因此,采用该技术的设计流程与标准的ASIC流程几乎没有什么差别。开发人员只需指定或标出哪些模块需要实现RTL代码的完全可视性(可以是全部模块),调试触发点、断言及观测点等也可以在标准流程中指定。然后,设计方案将被综合到一个或多个FPGA中,就像在ASIc中一样运行。运行过程中如果遇到触发点,FPGA逻辑的内部机制将重现该模块中指定数量时钟周期内的所有信号值。随后,设计工程师就能在其熟悉的模拟环境中进行调试与纠错工作了。

结语

在基于FPGA的原型验证中实现完全可视化的技术是ASIC功能验证的创新,相比于其它方法而言具有革命性意义。TotalRecall被认为是验证技术的重大突破,它使设计工程师能用低成本的硬件来实现实时激励下全面的信号可视性。此外,该技术还使设计工程师能方便地识别故障,甚至是偶发故障,或其它方法往往难以检测到的断言失败。有些方案也采用实时激励和实时电路值,但都不能像TotalRecall一样高效而准确地重现导致故障发生的条件。由于具备上述独特功能,TotalRecall技术率先证明了基于断言的验证在RTL级的可行性。尽管设计工程师早就认识到了断言在综合技术中的作用,也在综合技术中采用断言,但直到TotalRecall技术出现,他们才能在RTL环境中全面执行并测试断言。

用基于FPGA的原型验证技术来进行ASIC验证的方法已经使用了多年,并且得到了FPGA厂商以及板级供应商的大力支持。现在,随着信号完全可视化技术的突破,这种验证技术必将解决实际工作中面临的种种危机,成为设计工程师有效验证ASIC的首选解决方案。

上一篇:Xilinx工艺技术与策略助力VIRTEX-5器件量产 下一篇:第15届中国国际广播电视信息网络展览会撷英