SoC设计过程变得越来越像在赌场中玩。芯片性能结果就像在轮盘赌中投注红色或黑色:90nm节点的50%设计将无法满足性能规范,Handel Jones表示国际商业战略(加利福尼亚州洛斯加托斯)。
投注你的项目将按计划完成就好像是在掷骰子的七卷。 Numetrics公司(加利福尼亚州库比蒂诺)的Ron Collett表示,只有15%的IC设计项目按时完成,他们对1000多个IC设计项目进行了基准测试。最重要的是,复杂SoC的设计过程不再是一个工程过程;它已成为统计机会的游戏。这里发生了什么?
让我们来看看通常的嫌疑人。是深亚微米效应吗?虽然新纳米效应确实增加了新问题,但新工具正被推向市场以应对这些问题。高功能设计团队继续关注硅容量与工具容量“设计差距”,就像他们一直都有的那样。
它是否是设计抽象级别?似乎不是。多年来,我们从面具到多边形,从大门到RTL,再利用等等。开发设计描述所花费的时间总量正在逐渐减少。
让我们看看设计过程本身发生了什么。随着designintent抽象层次的提升和深亚微米效应的增加,我们将描述减少到芯片的过程也逐渐增加。设计流程现在非常复杂 - 许多工具,manysteps。
然而,我们指定,管理和维持这些流量的方式基本保持不变。我们仍然使用脚本和makefile来“自动化”我们的实现和验证设计流程,就像我们过去20年一样。
从整体上看,设计流程描述是一团糟。脚本的数量是惊人的。一个大的SoC可能需要超过100,000行的脚本 - 这不是一个微不足道的软件开发!
脚本很难调试,而且非常脆弱,这使得操作和维护成本很高。脚本难以阅读,只有编写它们的工程师才能理解;他们没有重复使用最佳实践。脚本管理很昂贵:设计经理报告说,他们至少有50%的工程资源用于通过流程中的工具管理设计数据。
我们都在尝试编写百万行软件系统用汇编语言。在某些时候,系统的复杂性太高而无法处理。基于表现不佳的项目成果,这个时间似乎已经到来。
在我们研究解决这些问题之前,或许我们可以通过观察稍微不同的软件开发领域来学习。相似之处非常明确。在软件设计的早期阶段,项目通常由一个开发人员或一个非常小的团队来处理。
随着软件无处不在,被用于从我们的家用电脑到数字电话的所有东西。在现代汽车中使用的先进计算机技术,用于管理软件项目的技术已经出现。我们已经从使用make,vi或emacs和gcc毕业,使用具有集成源代码控制,项目分区和分布式项目管理的高级工具套件。
我们可以从软件体验中学到什么来帮助我们解决芯片实现问题?我们需要引入流程自动化技术,以提高设计过程本身的抽象级别。这样的ashift抽象了保证会改变的低层细节。
描述不那么冗长,因此更容易理解,改进和维护,并且真正可重用。真正的流动自动机技术可以实现可靠,快速和独立于工具专家的设计迭代,因此,工程师可以专注于解决设计问题,而不是消耗数据和操作问题。
我们如何知道流量自动化何时真实?
当我们拥有快速,可预测且可重复的网表到布局周转时间时。当我们有一个系统可以管理芯片的实现时,作为一组由分散在全球的小团队设计的块,以24/5的时间表运行(是的,我们仍然需要休息时间)。当系统围绕现实世界的ECO技术构建时,该技术可以了解设计变更的频率,通常每天一次,甚至在流片之后。真正的考验是在整个企业中重复使用设计流程最佳实践以及习惯性地重用IP。
设计过程已成为外卡。现在是时候用新的流量自动化技术重新控制设计进度和性能结果。做到这一点,或者继续对抗对你不利的奇怪怪物。
-
soc
+关注
关注
38文章
4124浏览量
217963 -
脚本
+关注
关注
1文章
387浏览量
14834
发布评论请先 登录
相关推荐
评论