ASIC与SoC器件的成本不断上升,迫使半导体厂商不断扩大每种器件的市场应用范围,以提高投资回报率。软件使用的趋势还在不断加强,这作为一种有效的机制,扩大了单个器件的市场使用范围,因为软件内容能带来更多特性,而不同软件则能满足特定市场专用产品的特色化需求。正由于上述趋势的发展使然,ASIC或SoC的软件代码都达到上百万行之多。此外,多内核的使用越来越多,这也推动了上述器件中所用软件的发展,进一步提高了其复杂性。那么,扩大软件使用这一趋势对总设计过程有何影响呢?
软件的复杂性越来越高,这要求软件开发应在设计周期的早期就开始进行,这样公司才能实现及时向市场投放产品的目标。由于新型应用的软件复杂性非常高,开发周期可能长达18个月之久,因此公司在芯片推出之前就应进行软件开发。等硬件开发完成之后再开发软件就太晚了。
基于FPGA的原型设计是一种理想的软件开发平台,因为其运行软件的速度至少比仿真及模拟等其它验证技术快10倍。每种验证技术在验证流程中都占据不同的地位,但只有基于FPGA的原型设计才能实现足够快的速度,可以运行非常复杂的软件应用与操作系统。最佳系统集成与软件测试要求速度超过10 MHz,当然超过50 MHz,甚至100 MHz的速度更好。而基于FPGA的原型设计是唯一能够实现上述速度的解决方案,这也正是为什么这种技术得以不断推广的原因。
较低的成本是基于FPGA的原型设计技术不断推广的又一主要原因。目前,一两百名软件开发人员同时开发复杂的SoC已不鲜见。由于基于FPGA的原型设计技术成本较低,部署又方便,因此被软件开发小组的不同成员广泛采用。这就是说,不管他们身居何处,大多数软件开发小组成员采用这种技术都能很快开始设计工作,比采用其它技术要提前数月。
软硬件集成是一项艰巨的任务。设计小组必须确保所有规范都按计划实施。通常说来,软硬件集成要在硬件设计经过全面测试并确保没有问题之后才能进行。不过,不可避免的是,即便经过了广泛的验证,一些难以发现的问题还是会在设计后期阶段冒出来,而这时软硬件已经集成在一起了。SoC中的问题可能深藏于系统中,由于软硬件之间的互动非常复杂且难以预测,因此这些故障表现的方式是非确定性的。光是检测到这些问题就需要极长的时间,需要进行长期的测试工作,如果验证技术速度缓慢的话,那么这简直就是不能完成的任务。此外,一旦检测到了问题,设计过程中的实际调试工作也会要求大量的时间和精力。Synplicity的TotalRecall作为一种新型的原型验证调试工具,提供了完全的可视化技术,可以在测试基准(testbench)中捕获到难以发现的问题,这样就能在仿真器中将这些故障进行重放,从而简化验证工作。
基于FPGA的验证工作还可应用于与设计验证毫不相干的另一种有趣而强大的应用,即这种验证技术还能在设计最开始阶段用于架构探测(architectural exploration)。举例来说,架构师希望探测DSP或图形算法,看看不同算法或不同实施方案间的性能有什么差别。在这种情况下,为了评估架构变化对视频图形算法的影响,我们就需要一定的硬件性能。利用基于 FPGA 的原型设计技术,架构师能在设计早期阶段就完成架构探索,因此他能确信自己做出了最明智选择,在实际 SoC 的性能得以显现之前就做到心里有数。
现在,根据同客户、厂商的互动交流以及对客户的调查,Synplicity估计90%的SoC和ASIC器件均采用了FPGA技术进行原型设计。ASIC和SoC原型设计的需求还在以两位数的速度上升,同时根据市场调研公司Gary Smith EDA的预测,多内核的使用率也将继续提高。
尽管具有上述诸多优势,但基于FPGA的原型设计技术并不能取代其它验证技术。相反,基于FPGA的原型设计技术是现有各种技术的重要补充。事实上,与现有验证技术更好地加以集成,正是这种技术未来发展的主要动力所在。Synplicity通过TotalRecall技术将原型调试技术与仿真技术相结合,这是在这一方向上迈出了第一步。此外,我们在加快原型设计速度和便于修改方面还有很多工作可做。我们的终极目标,就是为设计人员提供一种快速启动工作、快速调试、毫无延迟就能进行修改的环境。在这一全新的时代里,基于FPGA的原型设计技术将与其它验证技术一起发挥重要作用。在SoC验证中,测试运行的速度要达到硬件本身的运行速度,这一点是至关重要的。只有在实现这一目标时,设计人员才能够解决随着器件及软件的复杂性的提高所带来的新的挑战。
作者:Andrew Haines,Synplicity 市场营销高级副总裁
[此贴子已经被作者于2007-8-28 22:09:09编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |