本文译自《Advanced Logic Synthesis》,作者André Inácio Reis和Rolf Drechsler。
Advanced Logic Synthesis
EDA转变的时候到了。但是准备好了吗?充足算力的普遍可用性允许设计人员用不同的方式与设计数据交互,允许新的优化算法被发明出来。在这一章里,我们将介绍集群级的计算及其软件,和怎样用于EDA分析和优化。
在EDA早期,EDA1.0时,开发了一些单独的应用。每个软件运行在各自的工作站上。验证、逻辑综合、布局、布线都是由单独的工具完成。设计规模被计算能力和算法性能限制了。但是在摩尔定律还没开始的时代,这些工具对当时的设计规模来说是绰绰有余的。
由于摩尔定律,设计规模变成越来越大。同时,在设计流程的早期能够预测结果的难度变成更加困难。因为连线延时不会随着工艺代的更新像门电路一样缩小,所以连线延时在整个延时路径中占的比例很大。另外,由于设计规模变大,连线变得越来越长。因此,逻辑综合需要真正的理解金属互连的影响才能得到更好的结果。要做精确的时序预测,必须要先完成相当比例的布局布线。在EDA2.0时代,通过集成单独的工具,如综合、布局、布线、还有时序分析工具,来组成一个集成工具套件,解决了这个连线延时的问题。这些集成的工具套件通常运行在更大规模的服务器上。通过这些更大型服务器的多核、多进程来实现多核多进程的软件算法,来支持更大规模的设计。
在过去几代工艺中,功耗和性能的提升已经减慢了。在最新的工艺里,要从最省面积的设计里获得极限的功耗和性能,已经变得更难了。然而,工艺尺寸缩小使得设计规模还在持续变大。同时设计规则的复杂性在继续增加,人们都主张设计检查工具成为处理复杂规则的设计流程的必要的一部分。
尽管,在周期很紧的情况下完成一个大的设计,没有大量的复用是不可能的,但是设计团队规模还是已经增涨了很多。这已经帮助我们完成了同构的芯片。但是,我们还要继续在同一个芯片上放置多少个同构的核心呢?为了更好的功耗和性能,主张在芯片在放置更多的满足特定功能异构部件。为了实现这些更大的各种各样的设计,还需要提升设计人员的生产力。除了单独工具和集成工具,是时候开始优化互交的、端到端的设计流程了。
一份关注EDA过去、现在和未来的2009 NSF研讨会的报告中列出了许多EDA的未来的挑战。这个报告由Brayton和Cong在“IEEE设计和测试”上发布,分为两个部分。论文的第二部分列出了EDA的关键挑战。有趣地是,只有一些是加粗印刷的:直观的设计环境、简化的用户接口、标准的接口、灵活的设计方法学,全都指向自律的、可预测的设计。这些挑战并不真的需要新的EDA单点工具,而是都指向需要在端到端的设计流程中解决的问题。
这些挑战与大数据分析领域有大量重叠,大数据分析已经被持续关注,也已经取得巨大的进步。可以肯定地说,像谷哥地图这样的大数据应用有简单直观的用户接口,有标准的API来反标数据,也被构建得易于增减。因此,可以看到这些应用怎样被构建,和这些对于EDA3.0意味着什么。
解决这些问题的EDA的下一个时代到了。EDA3.0将在生产力上实现这个下一步。在这个时代,EDA不仅仅是设计人员分析结果和产生报告的工具,而且是一下就能明白复杂问题和情形的工具。报告的长度已经压垮了大多数设计人员。分析工具需要提供数据让设计人员一下就能明白怎样能更好地实现设计。我们需要从分析工具转换到系统分析工具。这些工具应该利用大量集群(而不是单个的服务器)的算力的优势,来为设计提供接近实时的直观的分析。同时,我们要利用大量集群的算力来设计更智能优化算法,来开拓更大的设计空间。
让EDA3.0变成现实需要什么?首先,我们需要重视IT的变化本质。我们需要从大数据、认知数据(Cognitive data)、其它数据、以及图并行系统(graph parallel system)中学习。这使得我们可以创建基于超大集群的集成设计流程。其次,我们需要改变设计人员与设计数据交互的方法,让他们更好地洞察设计的状态。让他们清楚要满足约束下一步需要做什么。分析方法学工具需要能够提供这种洞察的能力。最后,需要开发出更快收敛的、新的优化算法,因些设计人员可以快速迭代,来满足持续增涨的、更大的设计目标。