ExASIC
分享让工作更轻松

EDA 3.0

本文译自《Advanced Logic Synthesis》,作者André Inácio Reis和Rolf Drechsler。

eda3.0

Electronic Design Automation is ripe for a paradigm change. But is it ready? The ubiquitous availability of ample compute power will allow for a different way for designers to interact with their design data and will allow for new optimization algorithms to be invented. In this chapter we will introduce the concept of warehouse-scale computing, its software stack, and how it will apply to EDA analysis and optimization.

EDA转变的时候到了。但是准备好了吗?充足算力的普遍可用性允许设计人员用不同的方式与设计数据交互,允许新的优化算法被发明出来。在这一章里,我们将介绍集群级的计算及其软件,和怎样用于EDA分析和优化。

In the early days of Electronic Design Automation, EDA1.0, separate applications were developed. Each ran on individual workstations. Verification, synthesis, placement, and routing were separate tasks carried out by separate tools. The size of the designs that could be handled was limited by the available compute power and the scalability of the algorithms. But since Moore’s law had not really taken off, these tools were sufficient for the design sizes at the time. The design flow was carried out by moving design data from tool to tool, with little interaction between the individual steps.

在EDA早期,EDA1.0时,开发了一些单独的应用。每个软件运行在各自的工作站上。验证、逻辑综合、布局、布线都是由单独的工具完成。设计规模被计算能力和算法性能限制了。但是在摩尔定律还没开始的时代,这些工具对当时的设计规模来说是绰绰有余的。

Due to Moore’s law and the scaling of the technology designs became larger and larger. At the same time, it became more difficult to predict the result of decisions made early in the design flow on the final result. Wire delay started to play an increasingly larger role in the overall delay of a path because wire delays do not scale as well as gate delays over the last several technology generations. In addition, due to the larger design sizes a certain percentage of the wires became longer and longer. Logic synthesis therefore needed to really understand the effects of interconnect increasingly better to make sensible decisions. To make reasonable accurate timing predictions, placement and routing need to be fairly complete. In the era of EDA2.0, this got handled by integrating the individual tools such as synthesis, placement, and routing as well as the analysis tools (such as timing) together in an integrated tool suite. These integrated tool suites would typically run on larger servers. Scaling to even larger design sizes was obtained by multi-threading many of the core algorithms such that they could take advantage of the many cores and threats in these larger servers.

由于摩尔定律,设计规模变成越来越大。同时,在设计流程的早期能够预测结果的难度变成更加困难。因为连线延时不会随着工艺代的更新像门电路一样缩小,所以连线延时在整个延时路径中占的比例很大。另外,由于设计规模变大,连线变得越来越长。因此,逻辑综合需要真正的理解金属互连的影响才能得到更好的结果。要做精确的时序预测,必须要先完成相当比例的布局布线。在EDA2.0时代,通过集成单独的工具,如综合、布局、布线、还有时序分析工具,来组成一个集成工具套件,解决了这个连线延时的问题。这些集成的工具套件通常运行在更大规模的服务器上。通过这些更大型服务器的多核、多进程来实现多核多进程的软件算法,来支持更大规模的设计。

In the last few generations, technology progress has slowed down from a power/performance perspective. Getting the utmost power and performance out of the smallest possible design has become more crucial to make a design in a new technology worth it. However, technology scaling has allowed for design sizes to continue to grow. At the same time design rule complexity has continued to go up, and people are advocating that handling complex rules needs to become an integral part of the design flow by providing in-design checking tools. As a result, the design work and possibilities for optimization have gone up tremendously. The amount of data that needs to be dealt with in an end-to-end design flow has exploded.

在过去几代工艺中,功耗和性能的提升已经减慢了。在最新的工艺里,要从最省面积的设计里获得极限的功耗和性能,已经变得更难了。然而,工艺尺寸缩小使得设计规模还在持续变大。同时设计规则的复杂性在继续增加,人们都主张设计检查工具成为处理复杂规则的设计流程的必要的一部分。

Design teams have increased in size. Despite that, it is impossible to complete a large design on an economically feasible schedule without lots of reuse. This has helped fill up the chips with homogeneous structures. But how many homogeneous cores do we want to continue to put on the same chip? The drive for better power/performance on specific workloads advocates for a lot more heterogeneity on a chip with functions that target a specific workload. To deliver this larger variety of designs, an additional boost in designer productivity will be required. It is time that we look beyond the individual, albeit integrated tools, and start to optimize the iterative end-to-end design flows.

尽管,在周期很紧的情况下完成一个大的设计,没有大量的复用是不可能的,但是设计团队规模还是已经增涨了很多。这已经帮助我们完成了同构的芯片。但是,我们还要继续在同一个芯片上放置多少个同构的核心呢?为了更好的功耗和性能,主张在芯片在放置更多的满足特定功能异构部件。为了实现这些更大的各种各样的设计,还需要提升设计人员的生产力。除了单独工具和集成工具,是时候开始优化互交的、端到端的设计流程了。

Many of challenges for the future of EDA were outlined in a report on the 2009 NSF Workshop that focused on EDA’s Past, Present, and Future. This report was published by Brayton and Cong in two parts in IEEE D&T. The second part of that paper outlines the key EDA challenges. Interestingly, it has only a few challenges printed in bold: intuitive design environments, simplified user interfaces, standardized interfaces, and scalable design methodologies all leading to disciplined and predictable design. These challenges do not really drive the need for new EDA point tools. Instead they all point to problems that need to be solved in the endtoend design flows. They point to the improvement that is needed in the design environment through which the designers interact with design tools and to the scale of problems that need to be solved.

一份关注EDA过去、现在和未来的2009 NSF研讨会的报告中列出了许多EDA的未来的挑战。这个报告由Brayton和Cong在“IEEE设计和测试”上发布,分为两个部分。论文的第二部分列出了EDA的关键挑战。有趣地是,只有一些是加粗印刷的:直观的设计环境、简化的用户接口、标准的接口、灵活的设计方法学,全都指向自律的、可预测的设计。这些挑战并不真的需要新的EDA单点工具,而是都指向需要在端到端的设计流程中解决的问题。

These challenges have substantial overlap with the areas Big Data and Analytics applications have been focusing on and made tremendous progress in. One can certainly argue that a Big Data application like Google maps has a simple and intuitive user interface, has standard APIs to annotate data, and has been architected to be very scalable. It is therefore very pertinent to look how these applications have been architected and what that means for EDA3.0 applications.

这些挑战与大数据分析领域有大量重叠,大数据分析已经被持续关注,也已经取得巨大的进步。可以肯定地说,像谷哥地图这样的大数据应用有简单直观的用户接口,有标准的API来反标数据,也被构建得易于增减。因此,可以看到这些应用怎样被构建,和这些对于EDA3.0意味着什么。

It is time for the next era in EDA that attacks these problems. EDA3.0 will deliver this next step up in productivity. In this era, EDA needs to provide designers with analysis tools that do not just analyze the results and produce reports, but tools that provide real insight. The size of the reports has already become overwhelming for most designers. Analysis tools need to provide data that will give designers insight in how to make their design better. We need to move from the era of analysis tools to analytics tools. These tools should take advantage of the compute power of large warehouse-scale clusters instead of individual servers such that they can provide near real-time insight in the state of a design. At the same time, we want to harness the power of these large compute clusters to devise smarter optimization algorithms that explore a larger part of the design space.

解决这些问题的EDA的下一个时代到了。EDA3.0将在生产力上实现这个下一步。在这个时代,EDA不仅仅是设计人员分析结果和产生报告的工具,而且是一下就能明白复杂问题和情形的工具。报告的长度已经压垮了大多数设计人员。分析工具需要提供数据让设计人员一下就能明白怎样能更好地实现设计。我们需要从分析工具转换到系统分析工具。这些工具应该利用大量集群(而不是单个的服务器)的算力的优势,来为设计提供接近实时的直观的分析。同时,我们要利用大量集群的算力来设计更智能优化算法,来开拓更大的设计空间。

What will need to happen to make EDA3.0 reality? First we will have to capitalize on the changing nature of IT. We need to learn from Big Data, Cognitive and other data, and graph parallel systems. This will allow us to create an integrated design flow on very large compute clusters. Next, we need to change the way designers interact with design data and allow them to get much better insight in the state of their design. They need to understand what needs to be done next to meet their constraints. The analytics tools need to provide this insight. Finally, a new class of optimization algorithms needs to be invented that deliver a faster convergence and therefore designer turn around time (TAT) in meeting the design objectives on increasingly larger designs.

让EDA3.0变成现实需要什么?首先,我们需要重视IT的变化本质。我们需要从大数据、认知数据(Cognitive data)、其它数据、以及图并行系统(graph parallel system)中学习。这使得我们可以创建基于超大集群的集成设计流程。其次,我们需要改变设计人员与设计数据交互的方法,让他们更好地洞察设计的状态。让他们清楚要满足约束下一步需要做什么。分析方法学工具需要能够提供这种洞察的能力。最后,需要开发出更快收敛的、新的优化算法,因些设计人员可以快速迭代,来满足持续增涨的、更大的设计目标。

阅读数:
更多文章:文章目录
解惑专区
(支持markdown插入源代码)
欢迎使用ExASIC订阅服务
仅用于ExASIC最新文章通知,方便及时阅读。
友情链接: IC技术圈问答ReCclayCrazyFPGA