Ajoy Bose:可重用IP(智能产权)才是新的抽象等级

为了应付日益增长的复杂性,必须提高抽象的水平。但当摩尔定律将soc(系统单芯片)的复杂性加速到逃逸速度时,哪里能找到一种作为rtl(寄存器传输级)补充的新抽象方法?很多观察家注意到,面向硬件的文本式rtl可替代逻辑图,从而推断认为某种系统级描述语言(如systemc)将提供下一个好的抽象。不过这种情况并不会出现。
atrenta公司主席、总裁兼首席执行官ajoy bose认为:“可重用ip(智能产权)才是新的抽象等级。”如果看看soc设计团体正在做的工作,就会发现,创建soc的过程就是对以前所用ip的寻找、特性确定和装配过程。无论是哪种设计创建工具(systemc、verilog亦或逻辑图),都只是扮演一个填充空白的角色,如专利功能以及ic的缔结组织结构。但正如大量eda公司、代工厂和大多数soc设计者所想象的那样,今天的设计流已经缓慢地认识到了这个现实。看一下自己的工具,你就会知道每个soc都开始于一组功能需求,以及一张白纸。实际上,要考虑的是一个soc设计中真正做什么,以及从这些观察数据中可以抽象出什么结论。
新的抽象 synopsys公司主席兼首席执行官aart de geus喜欢乐高玩具,他还喜欢用它们作为硅ip的比拟。他指出,将ip装配起来创建一片soc,就像把乐高积木块装成玩具一样。ip块是其中的rtl抽象,就好像乐高积木块要比用塑料或木头,去手工制作出一艘船或一只恐龙来得简单。这种模拟可以一直做下去,直到开始无效。
乐高积木(尤其是高价主题包中的精密积木块)也可以体现出以ip为中心的设计流应该是什么样子。最开始是需求,这与传统设计流没有两样。但以ip为中心的设计流很快就会与传统方式分道扬镳。在传统流程中,要将需求划分为更小的模块,仔细地定义接口,直到这些模块足够小,使rtl设计师能用verilog编写它们。而以ip为中心的流程则几乎相反:你要选择适用的ip块,将它们与需求匹配,就像装配乐高积木一样。你要尝试尽可能用较少的块,留下的空间尽量少。然后用新代码填充这些空白。
设计流程再继续下去,两种方案仍然是各行其道。传统流程经过了功能验证,综合,分析,时钟、电源和测试的精细插入,后端设计以及收敛,这些过程都在不断去除抽象,创建更多的实现细节,直到需求变成为多层的多边形。在每个新的级别上,流程都要停下来,验证该设计是否仍然满足需求。
而以ip为中心的流程再次走了几乎相反的道路。它的要点是将ip装配为一个满足需求的系统,而尽可能少地寻求有关ip细节的新信息。bose称:“在装配过程中不要陷入调试ip的误区。”
这种情景对很多团队都很理想,富有吸引力。de geus说:“例如在中国,设计方法研究的就是如何快速地从定义走到ip列表,再到装配。”
但现实情况通常并不是这样。open-silicon公司工程副总裁taher madraswala说:“至少今天有些功能有很好的定义,理论上你本可以在整个流程中把它们看作黑箱子,但也仅仅是理论上而已。实际上,最终还要在综合与门级优化时打开黑箱子。”为解决这些问题,必须遍历一个理想的设计流,找到希望与现实之间的差距。你必须考虑ip选择、装配、实现和收敛。
ip选择 从需求到一个ip bom(物料清单)的过程是变化的,而且很不幸要手工完成。如何从a到b取决于系统的性质、ip的可用性、设计团队在重用方面的经验、芯片差异化的营销计划,以及企业策略等等。这个过程不能依赖的一件事是自动化,synopsys公司的de geus指出,理论上说,自动化应不存在障碍。
他发现,在rtl时,design compiler能从verilog源中有效地找出该公司designwave的相对复杂块。不过,对于较大的ip块,自动化就不稳定了。他说:“用ip时,块都不太通用,要加入更多的人工选择。”
有些情况下,手工ip选择的轻松程度可以接近于自动化工具。例如,很多较小的soc仍然采用一种简单的、类似于微控制器的架构:一个cpu核心、一个本地缓存,还有一系列外设接口。所有需要的块一般都能从第三方ip库中获得,再补足amba(先进微控制器总线架构)接口的管脚,就可以插接到一起了。对于其它情况,ip的选择并不能从需求明显看出。例如,假设一个智能手机soc有多种授权与加密的要求。你是获取一个大且昂贵的第三方加密引擎许可证,还是选择一个较小的加密数据路径协处理器?另外,你是用mathworks的matlab开发自己的块并做综合,还是采用一个较快的(或第二个)cpu核心,并用软件处理需求?
功能的选择并不是过程的结束。功能类似的模块之间可能有很多方面的差异,包括性能、面积、功耗、接口要求、可配置性、对时钟与电源控制的条件、验证覆盖范围以及使用史。ip块的数据表中应有很多这类信息,但有些需要详细询问该块以往的用户,甚至要做少量反向工程。
要从一个可执行的soc需求文件去推论出一个复杂ip块,这种逻辑问题也许是可以解决的。大多数需求文档仍然采用人类语言,不过并非可执行格式。此外,选择某个ip所需要的多数支持性信息也是零散的,缺乏标准的格式,并且可能是专有的。显然,自动ip选择还需要做大量工作。
现在存在一种非常有趣且大部分尚未披露的可能性。通常人们认为形式验证是相关的验证工具。但据jasper设计自动化公司营销与业务发展副总裁oz levia称,形式上测试某个特性真实性的能力拥有超出传统验证的应用。例如,设计者可以用jasper公司的activedesign在开发期间研究rtl,有助于掌控rtl代码的创建。从这个想法扩展开去,levia描述了jasper与arm工程师如何合作起来,将针对arm存储器相关协议的英语规范手工转换为一个可执行的规范,jasper再将它综合为一组断言。原理上说,一个设计团队可以使用这个过程,从需求创建出一组断言,然后再用形式工具检查一个ip块与需求的符合程度。可编程ip或可配置ip都会带来挑战,但过程中至少会产生一个将ip块装入一个设计的工作说明。
装配 ip装配是以ip为中心设计的流程基础。有些设计者使用“装配”,而不是“集成”,以示一种重要的区别。在这个阶段的想法是,将ip块看作是可配置的黑箱,而只编写一些在完成黑箱配置后,要将它们胶合到一起的rtl。这种情况与“集成”这一名词所代表的日益膨胀ip块有很大不同。
理想的装配过程必须开始于系统级仿真。在另一个意义上,系统仿真就是ip选择的验证阶段:你要检验所选择的ip块是否能以一种满足系统需求的方式联结在一起。de geus说:“在一个ip装配流中,系统校验与验证更加重要。通常,我们需要一个快速的原型来验证软件可以在芯片上工作。”
快速原型的重要性表明,ip块的事务级模型可能很有价值。但ip供应商有时并没有事务级模型,或这些模型对现有ip版本不再正确。不过,你几乎总能用到软ip的rtl源,从而创建基于fpga的快速原型,这就是fpga原型对ip中心化设计的重要性。
另外,还可以在装配期间做另一种早期评估。静态分析可以检查ip有无违背规则,是否符合最佳实践。评估通常可以相当接近于最终芯片的功耗、性能和面积。atrenta公司的bose说:“今天,使用高等级综合的结果要比用软ip有更多的不确定性。”
在一个理想化的世界里,一旦将各个块装入原型,验证了系统的性能,并研究了大致的特性,则要做的唯一验证工作将是现有块和新块之间的连接情况。但不同的情况下,对于理想的接近程度也会不同。
也许最接近于理想的方案是:ip、互连,以及ic实现全是一个来源(图1)。附文“fpga的情况”是这种情况的一个实例。真实世界里确实能有这种好运气,但仅适用于那些有强大的设计重用文化的垂直型集成公司,如ibm、意法半导体、几家最大的日本公司,以及在私募投资者重新关注自己优先权以前的恩智浦和飞思卡尔。如果没有强大的企业重用文化,以及公司对ip开发过程的控制,很难获得一种纯粹的黑箱装配流程。bose说:“人们仍然懒于做实现重用所需的少量额外工作。”他表示日本的starc(半导体技术学术研究中心)提供了一本出色的重用手册。不过,有些开发ip的团队缺乏训练与管理支持,不能在这个等级上使自己的设计可重用化。
下一个最接近理想环境的就是工业标准(如amba),它定义了块间的全部互连,还有所有符合标准的ip(图2)。此时,装配只是要确保信号名称以及极性一致,并且所有接口都可以工作在所要求频率上。如果没有一个统一的总线标准,则事情就变得更复杂了。你必须根据已配置ip块的实例去了解接口,必要情况下,还要创建额外的rtl胶合逻辑,以执行各块之间的事务,并且必须验证所有这些工作。
open-silicon的madraswala称,关键是寻找到一种验证交互作用的方式,而不用验证ip的所有内部东西。他说:“你可以利用ip以前已被用过这一事实。看看自己的计划日期表,决定把自己的验证时间花在什么地方。你可能更愿意编写断言或测试,来验证ip数据表中的逻辑集成要求,而不是做一个全面的验证计划。但要知道检查什么和不检查什么,经验很关键。”madraswala补充说,这种验证方案对仿真的依赖高于形式工具。
实现 在这一点上,ip中心设计流开始与传统流程重新汇合了。软ip块、新的块以及互连都要去做综合,并进入扫描插入、布局与布线。硬ip也进入了布局布线的流程。然后,团队关闭设计。不过,在某些方面,ip为中心的设计仍有自己的独特性。
madraswala认为,差异之一是电源管理的方案。他说:“针对电源管理的设计调整正在成为设计流的一个独立阶段。这正在成为一种独有的艺术与技术。”madraswala解释说,当你自己设计一个块时,可以使用综合开关,做再对位以简化时序;做精细粒度的时钟门控,以及其它网表级的优化技术,其中大部分可获得功耗的优势。
举例来说,其它工具可以改变时钟的偏移,以控制峰值的时钟电流。teklatech公司首席执行官tobias bjerregaard说,用综合开关也可以做一些此类工作,但工程师们仍然会手工完成这些任务。所有这些技术都非常有用,但全都用于第三方ip也许并不明智。
madraswala称:“我们可能没有原始源码,因此无法做等效性检查。通常我们没有权利去改变块的设计。”问题是,对一个许可证优化到何种地步,才会违反一个ip块的保证条款,这件事很难确定。
synopsys公司的de geus也怀疑对等效性检查器的依赖性,但原因不同。他说:“形式工具不断地寻找可以生成的综合。例如,综合工具可以做延迟浏览,但形式等效性检查器却可能看不到与原电路等效的重组电路。 ”
相反,open-silicon的madraswala则建议在块级对ip使用时钟门控与电源门控。他解释说:“我们围绕代码放了一个封装器,让它表现出我们想要的方式。”这种方案避免了修改第三方的代码。madraswala说,物理设计仍保持传统方式。硬ip块加入了布局布线流程,具体要依赖于供应商的集成指导。madraswala说,他的公司会对块运行一个drc(设计规则检查),以确保它符合当前的规则平台,并与供应商对集成进行目视评估。他说:“有时候,他们尚未写好有些指南。”open-silicon在这个过程后会做一个平面设计的drc,但madraswala称,99%的情况下不会有任何问题。
相对来说,后端流程从基于ip的设计获益不多。除fpga设计以外,都不能省略drc、提取或时序、信号完整性,以及功率完整性的收敛。在这些领域中,仍留有太多的技巧和细节,如不同的约束、电源管理策略以及dft(可测试设计)方案。这些差异可能只在集成后的芯片上才体现出来。不过,仍然存在着以ip为中心设计流的理想情况,这就是选择并嵌合起多个块、验证互连,然后按一个键就获得了最终设计。
这样一个流程要求非常训练有素的ip设计人员。de geus认为:“乐高积木的智力只限于思考插头与插座,但这只走了一半。另一半是弄明白如何保持非常严格的公差,使插头与插座可以反复再三地工作,而不会卡住或松脱。”这也适用于以ip为中心流程的进一步自动化:能与门控起到同等作用的也许就是提高ip的标准化水平和创建技巧。

基于EM78P447SB单片机的低成本霓虹灯控制器
江波龙电子获广东省工程技术研究中心认定,未来持续加大科研投入
2020年光伏市场如何实现补贴退坡的同时市场规模平稳增长
爆Valve正在开发新款跨平台多人VR游戏,代号Citadel
超实用UPS输入输出配电柜介绍
Ajoy Bose:可重用IP(智能产权)才是新的抽象等级
变频器是控制电压还是电流 变频器的接线原则
计数器74LS161的Multisim仿真
IC封装一进二出业界领先技术模拟信号隔放大器获国家专利
紫光国微2021年营收53.42亿元,净利润增长142.28%
随着科技的发展,视频芯片产业将迎来更多机遇
智能家居设备为什么受到这么多的攻击
高低温耐碎石冲击试验机的简单介绍
K841L替代EXB841和K841的介绍
空中客车完成首次使用100%可持续航空燃料(SAF)试飞
Teledyne e2v高速SiP直接RF数据转换接收(Rx)方案
曝Surface Dduo最早今年夏天发布 预计搭载骁龙855处理器
红米Redmi新机通过入网许可 中兴天机Axon 10 Pro真机图公布
用LED取代低效的MR16卤素灯
物联网革命(IOT)才刚刚开始