过多的,在设计影响验证

如何当一个设计验证可能意味着成功与失败之间的差别。

受欢迎程度

今天设计一个复杂的芯片,让它出门按时并在预算之内,而包括所有必要的和预期的特性和标准,迫使工程团队进行权衡比过去,和这些权衡现在发生在整个流。

在一个理想的系统设计流程,设计团队将所做的早,设计分析,设置适当的约束。随着设计的发展,他们可以测试这些约束,以及执行快,初步的分析,以确保不被设计在突出的问题。但每个设计都需要经过验收和优化阶段。这需要经验,计算资源和时间。如果你匆匆忙忙的,或在设计,原型常常会不符合规范。甚至更糟的是,这些设计可以释放到田间质量/可靠性问题,据布拉德•格里芬产品管理组主管,multi-physics系统分析节奏

一旦一个设计团队已经通过这个创伤,他们可能在另一个方向摇摆摆得太远。“不仅将他们设计的限制,但是他们可以选择,以确保有额外的利润,”格里芬说。“这可能意味着使用更昂贵的组件或额外的层,从而导致更高的产品成本。结果可能是一个更高质量的产品,但是过度的成本可能侵蚀所有产品的利润。”

分析需求
一个有效的系统设计流程分析在设计过程中尽早并且经常,格里芬的压力。“验收和优化阶段的时间表必须允许真正寻找削减成本的方法设计(即去耦电容器优化),仍可预测的设计进度。设计团队使用集成设计和分析工具从一个EDA供应商往往最成功的把这个棘手的平衡。满足设计规范以尽可能低的成本就是帮助增加利润和满足市场需求的竞争”。

例如,考虑一个互连通信的带宽需要管理所以没有出现性能瓶颈。这尤其重要,因为更多的智力是添加到本地设备和更多的处理需要发生,但分级互连正确是很棘手的。

“深深嵌入应用程序确定的工作负载,比如智能安全摄像头,可以显式地处理交通流,通过预取数据等已知的交通模式对于和内存缓冲区,”Tim Kogel说,主要应用工程师Synopsys对此。”在这种情况下,可以优化互连,而严格的可预测的交通需求。另一方面,打开设备上运行的应用程序,就像一个手机,不知道前期,所以实际的互连工作量是很难预测的。这是谨慎提供更多昂贵的机制,可以动态地适应不同的交通需求,如缓存,cache-coherent互连,QoS监管者,等等。甚至在这种情况下,它仍然是重要的分析能力和性能的关键用例,例如移动浏览Facebook liverstream嵌入式视频。”

韦德通过权衡
在上一层楼,许多详细的设计决策相关的配置互连设计参数,如拓扑,data-width,时钟频率,缓冲区。通常的权衡,更高的性能可以买更大的地区,更高的功耗,和潜在的物理实现问题。

作为设备变得更加复杂,每个解决方案都有一个或多个权衡,这是明显的连接:

  • 更广泛的数据路径和更高的时钟频率增加带宽,但需要更高的能力和潜在的定时关闭和线拥堵问题。
  • 更深一层的事务管道通过隐藏长内存访问延迟,提高吞吐量,但增加注册区域和力量。
  • Cache-coherent互联进一步权衡,包括缓存大小、目录与snoop-based一致性协议,中央与分布式目录等。
  • 为移动设备的能源消耗是一个重要的额外的向量的权衡分析。在许多情况下,更高的性能导致更高的功耗,但能耗执行用例可能仍然是低的,因为设备早日恢复到一个较低的能量状态。

早期规划与系统级分析是至关重要的。

分析整个系统
“系统级分析不仅告诉你如果一个设计工作,”尼尔说,营销主管部门的设计验证技术导师,西门子业务。“如果你有这或如果你有设计的过度设计。如果你过度设计,可以后退的一些性能要求,降低了系统的成本。假设你发现你已经建成3 x开销。你是做什么工作的吗?你可以回时钟速度。你不需要运行时钟速度高。这使合成工具能够实现用更少的区域。你也可以决定删除一些组件,这样也许你不需要四核,或者你可以让他们为黑硅。同样的工具,让您理解如果你遇到性能从验证的角度来看,您还可以使用识别潜在的性能权衡。”

在一个案例中,一个设计团队添加一些自定义指令和自定义内存获取嵌入式处理器,处理器,突然比以前更快的处理器,并且他们能够使用一个老的流程节点。他们得到了一个便宜得多处理器,因为他们去了两三代以上的硅的实现。也给了他们一个更好的权力配置文件,因为有更少的漏电流。他们能够做的唯一途径就是通过嵌入式处理器的性能分析系统上下文。

”与此同时,在这的前期分析,pre-tapeout,你必须有正确的方法,使它,因为如果你只是转身告诉别人在仿真运行一切,这不是上班,“手说。”的工作量,是参与系统启动和运行非常高所以你想要尽早,因为如果你把它太迟了,你不能修复它;或B)你不能做权衡,所以你最终过度设计,你再也不想过多。但是人们宁愿比在设计过多,所以他们把更多的资源,如果它吹灭的芯片面积,也在所不惜。如果你能做到,你可以看到,你不需要你把所有这些额外的东西。”

通过过多的未来谁能证明吗?
公司可以制造芯片最先进的节点可能是最好的能承受过多的余地。今天,这些大型系统的公司。

手认为市场领先的系统一直是如此。“他们可以把资源,他们可以把尽可能多的在那里,他们的竞争对手不会。因为他们是一个系统级的房子,他们有不同的财政负担。当你看高性能嵌入式处理器的系统级分析和系统级设计,这真的是系统设计房子,大部分的好处,因为他们有一个完全封闭的生态系统,控制。他们控制的应用程序、操作系统的硬件平台,他们能做的全面优化。这些公司有能力整合整个供应链,这给了他们一个巨大的优势。在设计时能吸收的成本,没有人可以在设计的成本,因为在设计,他们失去了顾客,他们的产品不工作,失去市场机会。如果你没有获得你所需要的技术和方法,调整设计,默认情况下你将过多的因为那是你唯一的选择。”

而过多的增加了成本和潜在的性能和能量开销,在设计可以产生负面影响的声誉和市场份额。这就是为什么设计团队花那么多时间在验证和调试,以及为什么会产生另一个权衡这么晚在设计过程中。这也是为什么设计团队是一个沉重的重视更计划早些时候流。

“你需要确定如何设计你的用例,和通常的验证,人们往往会犹豫不决是否要继续验证或者当停止验证,”罗伊Shubhodeep Choudhury说的首席执行官Valtrix系统。“有很多可用的指导方针对覆盖完成和验证目标在项目的开始。通常,当所有的回归目标完成和覆盖需求得到满足,你可以叫它做。此外,现在一切都很好流线型当启用。有特定的设计周期,之后你需要花一些时间的模拟器和FPGA包括确保软件用例正在启用之前向市场推出了一系列知识产权。”

遵循市场力量
一切都遵循上市时间——甚至特性的数量你想设计。“每个人都有一长串的他们想要实现什么,但它可能不实用,所以你需要算出有多少功能可以实现,最后用例真正需求。的基础上,什么样的验证的复杂性的基础上,介绍,你需要弄清楚整个项目计划,”Choudhury说。

从哪里开始呢?达科Tomusilovic、铅验证工程师Vtool表示,将取决于你是否知道应用程序将创建你的芯片。

“大多数芯片市场快速发展,所以你不确定需求,为应用程序设置,当你开始设计的芯片将是相同的设计和验证周期的结束,“Tomusilovic说。”这个动态促使设计师包括更多的功能比实际需要,有压力,期待和准备标准的变化,变化的协议,或改变速度的要求。他们这么做,希望不失去的时间在其他组件在应用程序得到升级,而不是把一个产品在市场上基于旧的标准。”

与过去不同,许多设计到制造流程中的步骤是离散的,他们现在更紧密集成。事实上,他们常常重叠,这意味着权衡可以超越传统的边界设计到制造,反之亦然。

“你可能认为有太多逻辑可能仅仅因为它是低于生产两个或三个口味的一个芯片做完整的验证,完整的面具和整个包装线,“Tomusilovic说。“有时它只是普通的便宜不使用一些功能比制造很多。例子:当AMD推出了双核处理器,这是四核的两个核心关掉因为线已经建立,没有人愿意支付费用的双核心的市场萎缩。从设计师的角度来看,它更多的是一个bean计数决定比真正的建筑或设计师的影响。”

这可能会比较麻烦,当市场需求变化迅速。如果你需要一个接口或作调整带宽,可以设计有很大的影响。有时它可以像按下重启按钮。

“有时你失去了机会,但有时如果你正在进入一个市场,标准化已经设置,你可以依赖的事实标准不会改变很容易,你可以最大化芯片只有必要的功能,”他说,并指出这是不太常见的。”更多的是通用的,并验证通用芯片可以添加许多额外的复杂性,这不是通常在某些数字芯片有一个目标。它可以添加很多复杂性从创建参数化设计,可以支持许多不同的配置。假设,而不是一个单一的设计,我们需要验证的ip。在这种情况下。验证环境需要意识到所有这些参数和处理它们。这带有一组额外的分析,如代码覆盖分析和功能覆盖率分析,因为你甚至不能定义一个有意义的代码覆盖的一个版本RTL在许多不同的设计章节。然后你需要一组回归,每个目标RTL的不同版本。增加了复杂性可能两到三倍与常规设计相比,只是因为你需要考虑复杂的参数化。”

这是一个微妙的平衡与大风险。

“这是一个大市场风险迟到。如果你过度复杂性和冗余,你永远不会完成它,”亚历山大·米贾托维奇说,Vtool高级设计工程师。“这里有双方的风险。一个简单化,实际上是无法竞争的产品市场。第二是支持有人可能想要使用的一切,实际上从未完成芯片因为你添加太多的复杂性为了得到设计和验证管理在合理的时间。”

由于这些压力,传统街区往往留在一个设计,即使他们不习惯在一定旋转的芯片,Tomusilovic说。“我们倾向于让他们没有处理和消除他们从RTL。但是现在,因为有安全要求和安全标准,特别是在汽车行业,它不是一个奢侈品可以有了。你甚至不能有一行代码的RTL不是正确分析,正确行使和定义。否则,你可能会失败标准化。”

验证自动化、模块化
考虑到不同口味的设计,一些公司已经开始构建设计和验证环境支持自动生成设计和验证。

“在这种情况下,您需要投资大量的时间提前,你需要有一个明确的芯片的味道在接下来的几年里,“奥利维拉Stojanovic说,高级验证工程师Vtool指出。“你还需要考虑一个模块化的方式接近验证(例如UVM)。在某些情况下,很难看到在未来可以改变什么,可以是可配置的。这是主要问题。即使你预测某些事情,如果在某种程度上,他们决定改变什么,你需要花更多的时间在每一代。这种方法可以帮助一些公司在市场上具有竞争力非常快,虽然他们失去了一些时间在开始设置它。”

也使用模块化方法,开销必须建在设计。“如果你想要模块化特性,您需要添加开销在设计和验证,可以集成在一块,”米贾托维奇说。“你在小块,把它做所有的相互依赖关系,实际上试图独立的不同的功能设计和验证。然后是互操作性在单独的块,这样你可以很容易地改变一个或另一个。”

最终验证环境下应服务于设计验证,但是在许多场合,“重用”,观察塞尔吉奥•Marchese技术营销经理OneSpin解决方案

“一个可能试图重用现有的验证基础设施可能不是一个合适的选择,也许是为了请一位经理,需要展示的努力储蓄从先前的投资,“Marchese说。“但几晚bug,或者只是错过了,很快就会克服这些储蓄。另一方面,诱惑与索赔证明过多的额外努力,建设一个更灵活、可重用的验证环境最终将偿还,也有风险。”

Marchese建议关闭EDA验证合作伙伴,而不仅仅是工具和服务提供商,是一个战略优势。一般可以自定义验证解决方案覆盖的需要一个新的设计流程或家庭的项目,同时也提供一定程度的质量和连续性相匹配的成熟产品。



留下一个回复


(注意:这个名字会显示公开)

Baidu