本文将着眼于藉由更好的产能、效能以及容量来处理百万个逻辑闸以上等级的系统,同时发展以模拟与智财(IP)为基础的验证技术和流程。而这些将建立在现有的工具、语言标准以及现行工程上的知识,方便现有使用者只需要付出最小的代价即可达到所需要求。现行的策略并不够有弹性且规模不够大到应付未来验证所需。而以传递讯号为基础(transaction-based)的测试,协定验证以及可量化的效能将可使得测试只需花费更少的时间。(图一)为新测试解决方案与现有策略的比较。
分散式平行处理
在此提出一套可以支援各家模拟器的平行模拟解决方案,此工具称之为SimCluster。 SimCluster同时支援多个模拟器同时运作,借此可以达到更快更迅速的模拟,也借此节省使用者花费在模拟上所需的时间。同时SimCluster除了支援Verilog模型外也支援VHDL、C甚至于Perl模型。参考(图二)
SimCluster可以藉由区域网路来沟通多台电脑主机,除了可以将模拟效能进一步提升外,也可以打破单台电脑的记忆体以及硬碟的容量限制,一般来说,将可同时支援2到10台电脑;如(图三)的Linux区域网路范例。同时,经过证明,SimCluster可以给模拟速度带来数倍的成长,如(图四)。
![《图三 以Linux局域网络为例之SimCluster》](/art/2005/02/011548436987/p3.gif)
《图三 以Linux局域网络为例之SimCluster》 |
|
![《图四 SimCluster下的仿真器速度提升状况》](/art/2005/02/011548436987/p4.gif)
《图四 SimCluster下的仿真器速度提升状况》 |
|
通讯产业现状
现在由于工业发展和创新高速家用和商业用网际网路服务,使得资料传输量(data rate)以每两年四倍的速度成长,如此将导致在所有通讯的领域,包含有WAN和MAN核心网路、整合多功层次以及LAN路由器(router)、交换器(switch),在系统复杂度上有着无法预测的高成长。整体来说一个产品发展团队的产能(productivity)主要是以其效率(efficiency)与有效性(effectiveness)来衡量,而企业的成功与否,则主要取决于其和对手相比较是否能够有着较佳的产品发展周期的长度与时间点。
现行设计上的挑战
目前通讯产业产品开发环节上所面临的挑战,主要来自于ASIC (application specified IC) 的高度使用以及无法预测的系统复杂度,而这些系统的功能验证的范围和规模也因此无法事先评估。对于设计、除错和系统的正确性来说,单位时间模拟所能处理的量是相当关键的,通常分配大约50%到70%的时间在处理功能的验证。
设计回合时间为产能的衡量标准
通常在数百万逻辑闸的设计上,每经过一个回合的设计就需要模拟一次功能测试,而在单一电脑上面跑个别测试所需要的时间可能是数分钟、数小时、甚至是数天。单位时间的模拟量一般来说大约是每秒钟十数个周期,单位时间的模拟量通称为SCPS(Simulated Cycles per Second)。
关键设计产能的评估主要是取决于可以在多少时间内修正一个错误或是更改设计,而这个标准通常称为回合时间──TAT (Turn Around Time)。 TAT主要来自于实现或是验证系统的现行功能改变所需要的时间。通常来说,当在开发一个大型的系统,常常会有数百个错误或是数十个功能ECO。平均来说,每一个设计上的变动大概需要5个小时以上的时间。在每一开发周期,需要跑一小量的功能改变测试(check in test)以及完整的功能测试 (functional regression test)。
而单位模拟的产量的有效性对于TAT来说是相当重要且关键的。以一个典型的通讯计画为例,假设此计划的模拟特性如(表一),且该计画拥有适当的模拟所需要的资源、计画团队由15个工程师所组成,根据TAT, 我们会建议设计团队每天可以跑两个回合的功能改变测试,以及每两天跑一次全面功能测试。假设一个计画包含有两百个错误以及ECO,这会使得这个计画需要160天的时间去完成。而因为整个设计团队有15个人,所以整体投资将会是2400个人力资源乘以天数的投资。
通讯计画模拟特性范例
测试 |
模拟时间 |
TAT |
每天的回合数 |
错误的百分比 |
功能改变测试 |
5 小时 |
10 小时 |
2 |
60 % |
基本功能测试 |
16 小时 |
21 小时 |
1 |
30 % |
全面功能测试 |
24 小时 |
29 小时 |
1/2 |
10 % |
假如TAT可以减少将会怎样?
藉由增加单位模拟量可以改进TAT。 SimCluster可以支援分散式模拟,并借此增加单位模拟量从200%到700%不等。 SimCluster可以支援SoC的模拟,以及整合Verilog、C或是perl的模型,且可以与数种不同的模拟器、硬体加速器或是模拟器一同平行运作。藉由使用SimCluster可以提升模拟的速度,以提升300%为例,如此一来TAT平均将降低32%,而整体设计所需要的时间将降低到120天,约25%。同时,资源投资将从2400个人力资源乘以天数,降低到1800个人力资源乘以天数。如(表二)。
TAT减少之后的测试所需时间
测试 |
模拟时间 |
TAT |
每天的回合数 |
错误的百分比 |
功能改变测试 |
1.75 小时 |
6.75 小时 |
3 |
60 % |
基本功能测试 |
16 小时 |
21 小时 |
1 |
30 % |
全面功能测试 |
8 小时 |
13 小时 |
1 |
10 % |
以上的假设是基于在基本功能测试上并没有使用SimCluster。这假设是基于这些测试将会耗尽模拟伺服器的资源,进而无法使用SimCluster得到模拟速度的加快。
使用SimCluster所需要付出的代价和硬体加速器( hardware accelerator )以及模拟器(emulator)比起来,是相对低的,因为SimCluster只使用既有的模拟器的许可证(liscence)以及现有的模拟伺服器资源,而这些资源在计画的一开始即拥有。所以使用SimCluster分散式模拟所需要的所有资源也就只有SimCluster的许可证,而这通常会小于10万美金。而在模拟环境的整合上,通常也只需要小于两天的时间。假设一个计画需要5个主要的模拟环境的整合,也就是说需要10天来准备,但是藉由使用SimCluster,接下来可以节省25%的设计时间以及资源投资,所以总共来说可以节省12.5%到17.5%。
除此之外,Sim Cluster也提供了以下的好处:
- ˙容易和现有的模拟器整合;
- ˙编译时间同时也可以减少200%到700%;
- ˙效能随着模拟器引擎加速而上升;
- ˙支援 cycle-based、RTL以及gate level各层级设计;
- ˙简单的设定;
- ˙模拟的成效和容量成长200%到700%。
其他比较
SimCluster或许不能取代硬体加速器或是模拟器,可是相较于两者,SimCluster拥有一些其他的优点。第一,SimCluster需要较少的设定时间。第二,SimCluster可以提供很有弹性的环境,并可以和各种模拟器整合在一起,或是C模型,甚至可以是Perl模型,而这对于一个复杂的设计来说,比方SoC,是相当有利的。
一般来说,和硬体加速器以及模拟器来说,SmiCluster有以下的优点:
- ˙较容易与现有模拟器整合;
- ˙系统较有弹性的支援Verilog HDL以及C模型;
- ˙较快的设定时间;
- ˙没有逻辑闸数目的限制;
- ˙不错的单位模拟量的增加;
- ˙只需要五分之一的代价。
结论
SimCluster是一个相当不错的模拟器解决方案,它可以藉由增加模拟器速度200%到700%,来改进TAT达32%,而这使得验证所需要的时间可以减少25%以及减少全部约17%的研发代价。 SimCluster使用现成的模拟器许可证以及模拟器资源,所以可以维持低工具投资。 (作者郭斯彦为台大电子工程学研究所/台大系统晶片中心研发教授;杜威廷为研究生)
|
![](/images/arrow.gif) |
许多数位通讯系统,同时包含了紧密整合的射频(RF),类比/混合信号和数位讯号处理(DSP)功能,而这些功能因为含有射频载波,使得不易使用传统的暂态模拟。相关介绍请见「新世代EDA工具挑战混合讯号设计」一文。 |
![](/images/arrow.gif) |
EDA业者的设计资料库,是一复杂、精密,支援EDA应用程式中涵盖RTL到光罩(mask)广大范围资料模组的软体系统。你可在「新世代IC设计资料库的开放与互通」一文中得到进一步的介绍。 |
![](/images/arrow.gif) |
SoC的高复杂性设计必须仰赖EDA供应商提供全新的设计解决方案,以实现类比前后端、混合信号和数位电路的完全整合。在「IC设计工具技术趋势与探索」一文为你做了相关的评析。 |
|
|
![](file:///E|/易立達/hopenet-mag/images/misc_spacer.gif) |