手机/通信/网络设备 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
用好IP模块是设计短周期产品成功的关键 |
|
作者:Lauro Rizzatti 来源:电子系统设计 |
|
电话曾经是一种宝贵的资源。家里有部电话一开始是很奢侈的事,之后逐渐广泛使用。现在我们人人都有电话,还随身携带。不过和以往每月付几十美元不同,我们现在愿意花超过100美元在通话上,而且觉得很自然。
贝尔最初的有线电话装置和今天的智能手机比起来不值一提,更令人吃惊的是,现在的手机不消一个月的时间就已经过时了。拥有更新功能或功能组合的手机正在以极快的速度更迭。系统的复杂度比我们曾经发射的火星探测器还要高,而且没过几个月就会有新的或者改进的设计。
当然,手机很小,所以集成度是关键。每一代手机的片上系统(SoC)都必须重新设计,两代之间没有喘息的时间。而且,每个SoC都比上一代更加复杂。
从2000到2010的十年里,手机主芯片的复杂度增加了不止两个数量级,从相当于10万门ASIC到1000万门。2012年,一款先进的智能手机IC的复杂度将在3000万到5000万门ASIC之间。
可怕的任务
如何能把如此庞大的系统设计得如此之快?只有一个办法:IP。一旦小型行业开始要树立起口碑,IP就是设计这样复杂的芯片采用的方法。移动设计需要消耗来自内部或者第三方的大量IP,这些IP还不仅仅来源于本身所处的行业。IP在针对大多数应用设计的SoC中都是标准的组成部分。
理想状况下,一款数字IP以RTL(寄存器传输级)的形式提供,便于理解。但IP供应商希望能够保护商业机密,因此经常以加密RTL的模式供仿真所用。自此开始,事情就变困难了。
例如Verilog 2005有“保护”和“未保护”的声明,差不多是业界的标准做法。但如何实施这样的“保护”则没有标准。结果造成不同的验证工具支持不同的加密算法和密钥,例如一个IP模块支持VCS但不支持NC-Sim。
虽然IP厂商覆盖了所有模拟器,但在仿真过程中仍存在问题。设计师想要在模拟和仿真中使用同样的模块,但加密不一定同时支持两者。这就造成了必须用两个模块,一个用于模拟,一个用于仿真。两个模块除了加密外是否会对等就成了问题。
跳出既定思维进行思考
还有IP构件的调试可见性的问题。如果仿真中出现了问题,就得知道具体是怎么回事。根据规定,你无法直接看到IP构件的所有细节,“白盒”的做法是供应商最讨厌的事,因为太容易被用于反向工程了。
“黑盒”模块更典型,只有模块外围才可见。这远不够,你还需要更多的内部寄存器的可见性,这是黑盒子无法提供的,这种模式称作“灰盒”。
如果你拿不到适用于你仿真器的灰盒模块的IP构件会怎么样?备用方法就是采用门级模快。门级模块通常不会加密,因为内部的构造很难搞清楚。
即便你能够得到白盒可见性,如何保证能够掌握并利用见到的部分可能会是个挑战。这种情况下,你可能会更关心模拟中用的加密RTL模块和仿真中用的门级模块的对等性,因为在综合的时候会出现非平凡的变换。
有些IP厂商通过推出隐藏在设计细节中的基于PLI(可编程语言接口)模块避免全部加密。但即使在模拟器上它们都会影响性能,在仿真器上更是如此,而且他们不提供调试可见性的细节。因此,基于PLI的模块无法取代相应的灰盒RTL模块。
真正的解决方法是在所有的模拟和仿真平台上使用加密RTL模块。一个很显而易见的做法是让加密模块可以和不同的工具进行互操作,但EDA厂商不太会同意这么做。可见度的标准等级(白盒、灰盒和黑盒)在调试阶段会有帮助,但会增加IP厂商的负担,他们必须增加模块版本以适应每个平台。
现实地讲,这让一些IP公司很难做。这也是为什么所选择的IP厂商和工具厂商之间有很好的合作这点非常重要。在选择购买仿真器的时候,最好是根据全面的性能表现和成本来选,而不是因为某些特定的IP模块只在某个仿真器上可用。
随着设计周期缩短已经是既成事实,没有人有时间把不同的IP模块整合在所有的验证环境中。在没时间整合大型SoC的时候,有所有必需的且好用的模块是成功的关键。(end)
|
|
文章内容仅供参考
(投稿)
(4/1/2012) |
对 手机/通信/网络设备 有何见解?请到 手机/通信/网络设备论坛 畅所欲言吧!
|