登录注册   忘记密码

IC设计硬件模拟需要一支工程师大军?

硬件模拟(hardware emulation)的构想源于1980年代,目的是为了解决当时逐渐显现的设计验证危机;在那个年代,基于软件的闸级模拟器是执行此类任务的主流工具,而大型数字设计则挑战着这类软件模拟器的极限。

 

在当时预期,以现场可编程门阵列(field reprogrammable devices,即FPGA)形式的硬件执行功能性设计验证,可有效反应并控制即将出现的棘手问题,这一点也很快得到了证实;此方法不仅适用当时最大规模的设计,而且即使未来设计规模不断扩大,也能够维持其优势。

 

采用硬件来验证待测设计(design-under-test,DUT)的另一项重要优势在于,能够透过即时/实际的流量测试该DUT;不过这种方法也有其局限性。早期硬件模拟器的峰值速度大约为5MHz,不足以跟上时脉频率为100MHz的实际流量;透过在现实世界和硬件模拟器的I/O之间添加速度配接器(speed adapters)─ ─在概念上,它们相当于先进先出缓冲器(FIFO buffer)──这个问题才得以解决。

 

然而,要取得上述两项优势需要付出昂贵的代价;这里的代价并非采购价格,因为众所周知,只要加快上市时程,就能对利润带来深远的正面影响,从而抵消采购硬件模拟器的昂贵成本。真正得付出的代价是将DUT映射到FPGA上的工作,耗时、繁琐且令人沮丧。

 

问题源自于FPGA有限的I/O接脚数─被称为「Rents Rule」 ─这使得将DUT映射到可程式化元件的工作变得更为复杂。为排除这种严重限制,过去一段时间发展出数种互连架构,包括近邻(nearest neighbor)互连、全交叉与部分交叉(full and partial crossbar),以及同步和非同步时间接脚多工( synchronous/asynchronous time pin multiplexing)等;但是都没能解决问题。

 

到1990年代中后期,有两家领导供应商率先放弃商用FPGA,以能够实现定制化硬件模拟架构的定制化元件取而代之,其目的是缓解并最终消除瓶颈。结果他们成功了。

 

在成功采用定制化硬件模拟器十年后,部分供应商提议的FPGA原型设计(prototyping)平台越来越受到关注;它不仅可用于初期的软件验证,同时也可作为定制化硬件模拟器的替代方案,而这似乎将要带来一场新的变革。

 

然而事实并非如此;问题仍然存在,而且变得更糟糕。

 

FPGA原型为换取吸引人的成本优势和快速的执行速度,牺牲了其特性(feature)与功能(capability),而这两点都是大型软件开发团队对于软件验证的要求,团队的每位设计人员都可能被指派到一个原型副本。冗长的设置时间仍然是一个严重的问题;考量今日的SoC复杂性,内含或许没有到数十亿、至少也有数亿个逻辑闸,设置所需时间甚至可能达到数月之久,绝对无法在一个星期内完成。

 

那么,FPGA硬件模拟器的供应商接下来应怎么做呢?

 

透过布署一支工程师大军来补强弱点,其中有部分是研发工程师、有些是应用工程师;他们提供现场支援,与主设计工程师(lead desing engineer)并肩合作,确保客户的设计能在几个月之后准备好进行硬件模拟。无论是在采购硬件模拟器之前的评估阶段,还是在使用硬件模拟器的初期,他们都必须参与;这还可能有助于扩展并提高生产使用的带宽。

 

看来似乎只要硬件模拟器供应商扛起责任,客户就可以坐享其成、高枕无忧;但同样的,这也是一种错误的认知。太过依赖供应商是值得忧虑的状况,原因有三:

 

首先,为了将设计提取到硬件模拟器中,需要主设计工程师的参与;这类工程师在任何IC设计组织都是稀有资源,这种安排很少有公司能够负担得起。

 

其次,部署FPGA硬件模拟器需要大量的工程师,即便能请得到,成本优势堪虑。

 

最后,如果公司的关键任务必须仰赖硬件模拟器供应商的工程师大军,该供应商就拥有了过大的影响力,并且随时都可能失去这一点。

 

因此一家公司需要仰仗自己的工程师团队来有效运作硬件模拟器;这意味着需要建立和培训一支内部支援团队。但若要采取这种方案,基于FPGA的硬件模拟器会带来财务上的庞大负担。

 

事实上,要将DUT映射到硬件模拟器中的FPGA,过程既缓慢又繁琐、甚至令人苦恼,不过这早已成为过去。如今的定制化硬件模拟器既具备可扩展性、效率也很高,部署时只需要少量资源、少量设计知识,需要EDA供应商参与的程度也有限;因此二者之间该如何做选择,答案似乎是显而易见。

您的评论:

0

用户评价

  • 暂无评论