(Tung-Chieh Chen ,National Taiwan University, Taipei, Taiwan;
Yao-Wen Chang,National Taiwan University, Taipei, Taiwan)
关于作者:
Tung-Chieh Chen(陈东杰)
CADathlon@ICCAD 2007第一名获奖者台湾大学的陈东杰(Tung-Chieh Chen)毕业后加入思源科技;2015年和张耀文教授依托NTUplace4架构联合创办Maxeda至达科技,担任CEO;
2023年中国台湾的新创EDA企业至达科技(Maxeda)再次被新思科技(Synopsys)收购,这项收购并未有新闻稿和具体声明,低调的至达科技只是悄悄地为公司官网换上了新东家的深紫色横幅。资料显示,成立于2015年的至达科技专注于EDA,其针对集成电路实体设计提供平面规划自动化、摆置*化、客制化摆置解决方案及专业的服务。核心技术包含混合尺寸电路摆置、资料流分析、平面规划技术,搭配探索式演算法,提供高效能电路设计自动化功能。
2023年9月,至达宣布与国际IC设计大厂合作,提供多项经过量产验证的AI辅助电子设计自动化解决方案(AI-assisted EDA Solution)——MaxPlace RL Reward Platform,该平台通过快100倍的摆置速度,同时凭借高相关性的奖励,在实际的量产验证下,克服了机器资源和运算时间的限制。它证实了强化学习产出的布局结果明显优于原始的参考设计流程,有效地优化了晶片的性能,并将实体设计所需的时间从几个月显著缩短到数天。
值得一提的是,至达CEO陈东杰此前取得博士学位后,入职中国台湾的EDA企业思源科技(SpringSoft),2012年思源被新思收购后,其选择出走自己创业,如今至达再被收购,已经是他第二次成为新思的员工了。
Yao-Wen Chang(张耀文)
张耀文教授现为台湾大学特聘教授(2011迄今)兼副教务长和教学发展中心主任,曾担任台湾大学电机信息学院副院长(2012-2016)、电子所所长(2010-2013)、副所长(2008-2010)和技转组组长(2007-2008)、美国麻省理工学院访问学者(2014)和日本早稻田大学客座教授(2004-2010)。其主要研究领域为电子设计自动化(EDA),合著有专书两本(Morgan Kaufmann 出版的938页EDA教科书等) 和超过260篇的ACM/IEEE期刊和会议论文。其近五年论文引用数曾名列微软Academic Search Database 的Hardware & Architecture 领域全球第一(2011-2012),电路摆置工具NTUplace3 为思源科技(现为Synopsys)畅销工具Laker Custom Digital Placer,NTUplace4获得史无前例的EDA三大国际竞赛冠军,EE Times资深编辑R. Colin Johnson (Kyoto Prize 得主)誉为“The Best and Brightest Worldwide”(4/6/2015)。曾获多项教学与研究奖,包含台湾大学教学杰出奖(top 1%)和旺宏电子讲座教授、科技部研究杰出奖(三次)、IBM Faculty Award (三次)、第五十届顶尖会议ACM/IEEE Design Automation Conference (DAC)四项论文奖(包含第五个十年2004-2013全球最多论文奖,34篇DAC论文;现为DAC史上前五大多产论文作者; DAC论文发表连续长度前三名,目前18年)、ACM/IEEE EDA竞赛六次冠军(全球第一)、八次最佳论文奖和23次ACM/IEEE 最佳论文奖提名。张教授为首位来自亚洲机构的IEEE CEDA (Council on EDA) 执行委员(2012迄今)暨副总裁,曾任其技术活动副总裁(2014-2015),现为其会议副总裁(2016-2017)。曾为顶尖会议IEEE/ACM ICCAD (台湾首位)和ACM ISPD (亚洲首位)议程委员会/会议/指导委员会主席和台湾首位顶尖期刊IEEE TCAD 副主编(2008-2013)。张教授和业界互动密切,曾任创惟科技独立董事、智原科技、瑞昱半导体和联发科技技术顾问,并创立至达科技(Maxeda Technology)。其为IEEE学会会士(Fellow)。
张教授于2000年创办全球第一个EDA竞赛(在台湾),此竞赛于2012年转化为CAD Contests at ICCAD,成为国际最大的EDA竞赛;其于2005年起,于担任台湾教育部EDA联盟召集人时,推动顶尖EDA国际会议DAC/ICCAD的论文倍增计划,使台湾于2006-2016年间每年DAC+ICCAD的论文发表数名列全球第二(次于美国),而台湾大学在近11年来,每年皆为全球各机构第一名;于2007年推动CADathlon培训计划,使台湾成为此EDA奥林匹亚竞赛的最大赢家;台湾共计获得八届冠军,其中台湾大学获得六届,远超过其他名校。
10.1 INTRODUCTION(引言)
In Chapter 1, we introduced the electronic design automation flow. Floorplanning is the first major step in physical design; it is particularly important because the resulting floorplan affects all the subsequent steps in physical design, such as placement and routing that are discussed in Chapters 11 and 12, respectively
在第一章中,我们介绍了电子设计自动化流程。在物理设计中,布局规划是第一个主要步骤,它尤为重要,因为由此产生的布局规划会影响物理设计中的后续所有步骤,如第十一章和第十二章中分别讨论的放置和布线。
布局规划(Floorplanning)是确定芯片上不同功能模块位置的过程,它有助于确保模块之间的有效连接,并优化整体面积利用率。一个好的布局规划可以显著提高设计的效率、性能和可靠性。因此,在电子设计流程中,布局规划是一个至关重要的环节,它为后续的设计步骤奠定了基础。
在实际的电子设计项目中,布局规划通常由经验丰富的工程师或设计团队来完成。他们会使用专业的布局工具和优化算法来生成高质量的布局规划,以满足项目的要求和约束条件。
总之,布局规划是电子设计自动化流程中的一个关键步骤,它对后续的物理设计步骤具有重要影响,并直接关系到最终设计的成功与否。
10.2 SIMULATED ANNEALING APPROACH(模拟退火算法)
Simulated annealing (SA) is probably the most popular method for floorplanoptimization [Kirpatrick 1983]. It has the significant advantage of easily incorporating an optimizing goal into the objective function. To apply simulatedannealing for floorplan design, it needs to first encode a floorplan as a solution,called a floorplan representation, which models the geometric relation ofmodules in a floorplan. A floorplan representation not only induces a solutionspace that contains all feasible solutions defined by the representation but alsoinduces a unique solution structure that guides the search of simulated annealing to find a desired floorplan in the solution space. In this section, we detailthree popular floorplan representations, Normalized Polish Expression[Wong 1986], B*-tree [Chang 2000], and Sequence Pair [Murata 1995], andsummarize the properties of some popular recent representations in theliterature.
模拟退火(SA)可能是用于布局优化最流行的方法之一[Kirpatrick 1983]。它具有一个显著的优势,即可以轻松地将优化目标纳入目标函数中。为了将模拟退火应用于布局设计,首先需要将布局编码为一个解决方案,称为布局表示,该表示建模了布局中模块之间的几何关系。布局表示不仅生成一个包含由表示定义的所有可行解决方案的解决方案空间,而且还生成一个独特的解决方案结构,该结构指导模拟退火的搜索过程,以便在解决方案空间中找到所需的布局。在本节中,我们将详细介绍三种流行的布局表示方法:标准化波兰表达式(Normalized Polish Expression)[Wong 1986]、B*-树[Chang 2000]和序列对(Sequence Pair)[Murata 1995],并总结文献中一些流行的最近表示方法的属性。
这些布局表示方法都是用来描述芯片上模块的位置和相对关系的。一个好的布局表示方法应该能够简洁、有效地表达布局信息,同时便于进行模拟退火等优化算法的操作。
- 标准化波兰表达式(Normalized Polish Expression):这是一种基于树结构的布局表示方法,它使用括号和操作符来表示模块之间的关系。标准化波兰表达式的一个优点是它可以很容易地转换为其他布局表示形式,因此具有很好的通用性。
- B-树*:B*-树是一种自平衡的树结构,它用于表示布局中的模块和它们之间的连接关系。B*-树的一个优点是它支持动态更新,即在布局设计过程中可以方便地添加、删除或移动模块。
- 序列对(Sequence Pair):序列对表示方法使用两个序列来分别表示布局中的模块和它们之间的连接关系。这种方法的优点是简单直观,便于理解和实现。
除了以上三种表示方法外,文献中还提到了许多其他的布局表示方法,如网格表示、图表示等。每种表示方法都有其独特的优点和适用场景,选择哪种表示方法取决于具体的应用需求和约束条件。
总之,模拟退火是一种强大的优化算法,在布局设计中具有广泛的应用前景。选择合适的布局表示方法是实现高效、准确的布局优化的关键之一。
10.3 ANALYTICAL APPROACH(分析方法用于布局设计)
In addition to simulated annealing, we can resort to the analytical approachto floorplan designs [Sutanthavibul 1991]. The analytical approach is a mathematical programming formulation that includes an objective function and a setof constraints. For the floorplanning problem, we need to consider two setsof basic constraints: (1) the module nonoverlapping constraint and (2)the dimension constraint
除了模拟退火方法外,我们还可以采用分析方法来处理布局设计问题[Sutanthavibul 1991]。分析方法是一种数学规划方法,它包含一个目标函数和一组约束条件。对于布局规划问题,我们需要考虑两组基本约束条件:(1) 模块非重叠约束和 (2) 尺寸约束。
模块非重叠约束:
这个约束确保布局中的各个模块不会相互重叠。在布局设计中,每个模块通常代表一个功能单元,如处理器核心、内存块或I/O接口。模块非重叠约束保证了这些功能单元在物理布局中不会占据相同的空间,从而避免了潜在的信号干扰和资源竞争问题。
要实现这个约束,通常会采用一系列的几何算法和数据结构来检测和处理模块之间的重叠情况。这些算法可能包括边界盒检测、四叉树分解或空间划分等,它们能够有效地识别出重叠的模块,并在布局调整中避免这种情况。
尺寸约束:
尺寸约束涉及到布局的整体尺寸或特定区域的尺寸限制。在布局设计中,通常会有一些固定的尺寸要求,如芯片的最大尺寸、布局区域的宽度和高度等。这些尺寸约束限制了模块在布局中的可放置区域,从而影响了布局的整体布局和布线复杂性。
为了满足尺寸约束,布局规划算法需要在满足非重叠约束的前提下,优化模块的放置位置。这通常涉及到一系列的优化技术,如启发式搜索、整数规划或线性规划等,它们能够在满足尺寸限制的同时,尽可能地提高布局的紧凑性和性能。
综上所述,分析方法通过数学规划的方式,将布局规划问题转化为一个包含目标函数和约束条件的优化问题。通过处理模块非重叠约束和尺寸约束等基本约束条件,分析方法能够在满足设计要求和限制的前提下,找到一种合理且高效的布局方案。这种方法在数学上比较严谨,能够给出确定性的解,适用于那些对布局质量和性能有较高要求的应用场景。
10.4 MODERN FLOORPLANNING CONSIDERATIONS(现代布局规划考量)
Increasing design complexity and new circuit properties and requirements have reshaped the modern floorplanning problem. The new considerations and challenges make the problem much more difficult. In this section, we will discuss such crucial considerations. Specifically, we will focus on (1) soft modules, (2) fixed-outline constraints, and (3) large-scale floorplanning, and then highlight other important issues for modern floorplanning.
随着设计复杂性的增加以及新电路特性和要求的出现,现代布局规划问题已经发生了重大变化。这些新的考虑因素和挑战使得问题变得更加困难。在本节中,我们将讨论这些至关重要的考量因素。具体来说,我们将关注(1)软模块,(2)固定轮廓约束,以及(3)大规模布局规划,并突出强调现代布局规划中的其他重要问题。
1. 软模块(Soft Modules):
现代芯片设计中,模块不再仅仅是硬性的固定尺寸和形状。相反,许多模块具有某种程度的灵活性,可以根据布局需求进行调整。这种灵活性可以体现在模块的尺寸、形状甚至是功能上。软模块的存在要求布局算法能够适应这些变化,并在优化过程中考虑模块的多种可能状态。
2. 固定轮廓约束(Fixed-Outline Constraints):
在某些应用场景中,布局必须遵循特定的外部形状或轮廓。这可能是由于封装限制、机械要求或其他设计考虑。固定轮廓约束限制了布局的空间和形状,增加了布局规划的难度。算法需要确保所有模块都能在指定的轮廓内合理放置,同时满足其他约束条件。
3. 大规模布局规划(Large-Scale Floorplanning):
随着芯片尺寸的增加和模块数量的增多,现代布局规划问题变得极其庞大和复杂。这不仅涉及到更多的模块和连接,还要求算法在有限的时间内找到有效的解决方案。大规模布局规划需要高效的算法和强大的计算资源来应对。
除了上述三个关键考量因素外,现代布局规划还面临以下重要问题:
- 多目标优化:通常需要在多个相互冲突的目标之间找到平衡,如最小化布局面积、最大化布线通道、优化功耗等。
- 热管理:随着芯片性能的提升,热量管理变得越来越重要。布局规划需要考虑如何有效地散热,确保芯片的稳定运行。
- 电源分配:为芯片上的各个模块提供稳定、高效的电源是布局规划中的另一个关键问题。
- 可制造性:布局规划必须考虑制造过程中的限制和要求,以确保设计的可制造性。
- 可测试性:布局规划还应考虑测试的需求,确保芯片在制造后能够进行有效的测试。
综上所述,现代布局规划面临着多方面的挑战和考量因素。为了应对这些问题,需要不断研究和开发新的布局规划算法和技术,以提高布局的质量和效率。同时,还需要考虑与其他设计阶段的协同优化,以实现整体设计性能的提升。
10.5 CONCLUDING REMARKS(结论性评述)
Floorplanning is an essential design step for hierarchical, building-moduledesign methodology. It provides valuable insights into the hardware decisionsand estimation of various costs. The most popular floorplanning method resortsto the modeling of the floorplan structure and then optimizes the floorplansolutions with simulated annealing. There exist many floorplan representationsin the literature. Yet, normalized Polish expression, B*-tree, and sequence pairhave been recognized as the most valuable representations because of theirsuperior simplicity, effectiveness, efficiency, and flexibility.In additional to simulated annealing, analytical floorplanning approacheshave shown their advantage in the effective wirelength optimization[Zhan 2006]; however, it is harder to handle the module overlaps and thefixed-outline constraint for such an approach. Floorplanning considering bothhard and soft modules is also more challenging for the analytical approach.After floorplanning, all hard modules are fixed. For each soft module, wemight need to further place standard cells inside the module. The placement problem will be introduced in Chapter 11. Once the positions of all hard modules andstandard cells are decided, we need to route all signal and power/ground nets,which will be introduced in Chapters 12 and 13, respectively.
在现代芯片设计中,布局规划已经成为一个至关重要且日益复杂的任务。随着设计复杂性的增加,新电路特性的引入,以及对更高性能、更小尺寸和更低功耗的不断追求,布局规划问题面临着前所未有的挑战。
软模块、固定轮廓约束和大规模布局规划是现代布局规划中的关键考量因素。软模块为布局提供了更大的灵活性,但同时也增加了优化难度。固定轮廓约束限制了布局的空间和形状,要求算法在有限的区域内找到最优解。而大规模布局规划则涉及到更多的模块和连接,需要高效的算法和强大的计算资源来应对。
除了这些关键考量因素外,现代布局规划还必须考虑多目标优化、热管理、电源分配、可制造性和可测试性等问题。这些问题相互关联,共同构成了现代布局规划的复杂性和挑战性。
为了应对这些挑战,研究者们不断开发新的布局规划算法和技术。这些算法和技术旨在提高布局的质量、效率和可靠性,同时降低制造成本和测试难度。随着计算机科学和工程技术的不断进步,我们有理由相信,未来的布局规划算法将变得更加智能、高效和灵活。
总之,现代布局规划是一个充满挑战和机遇的领域。通过不断研究和创新,我们有望为未来的芯片设计提供更加先进、高效和可靠的布局规划解决方案。
算法相关
Floorplanning 的主要算法并不是一种单一的算法,而是一系列的技术和方法的集合,用于解决在集成电路和芯片设计中布局规划的问题。这些算法和技术根据具体的设计要求和约束条件进行选择和组合。
以下是一些常用的 Floorplanning 算法和技术:
-
模拟退火算法(Simulated Annealing):模拟退火是一种全局优化算法,它模拟物理退火过程来寻找大规模组合优化问题的近似最优解。在 Floorplanning 中,模拟退火可以用于优化布局的质量,通过随机移动和交换组件位置来探索不同的布局方案,并在迭代过程中逐渐降低温度以收敛到较优解。
-
启发式算法(Heuristic Algorithms):启发式算法是基于经验和直观观察来解决问题的算法。在 Floorplanning 中,启发式算法可以用于指导布局的过程,如基于面积的启发式、基于线长的启发式、基于密度的启发式等。这些算法根据某种评估准则来指导组件的放置,以优化整体布局的质量。
-
分块算法(Blocking Algorithms):分块算法将芯片划分为较小的区域或块,并在每个块内进行布局。这种方法可以简化布局问题,减少搜索空间,并有助于并行处理。分块算法可以根据不同的标准(如功能、通信频率等)将组件分组到不同的块中,并优化块内的布局和块间的连接。
-
贪心算法(Greedy Algorithms):贪心算法是一种在每一步选择中都采取当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。在 Floorplanning 中,贪心算法可以用于逐步构建布局,每次选择最优的放置位置或连接方式,直到完成整个布局过程。然而,贪心算法可能陷入局部最优解,导致最终布局的质量不高。
-
混合算法(Hybrid Algorithms):混合算法结合了不同算法的优点,以克服单一算法的局限性。在 Floorplanning 中,混合算法可以结合模拟退火、启发式算法、分块算法等,以在全局搜索和局部优化之间取得平衡,提高布局的质量和效率。
10.6 EXERCISES(练习题非课本)
以下是一些与现代布局规划相关的练习题,旨在帮助巩固和加深对前面讨论内容的理解。这些练习题涵盖了从基本概念到实际应用的不同方面。
一、选择题
-
在现代布局规划中,哪个因素增加了布局的复杂性?
A. 固定模块尺寸
B. 软模块
C. 单一目标优化
D. 无约束条件 -
当布局规划考虑热管理时,以下哪项不是需要考虑的因素?
A. 模块的热耗散
B. 芯片内部的热传导
C. 电源分配
D. 模块间的通信延迟 -
在大规模布局规划中,哪个因素限制了算法的效率?
A. 模块数量
B. 连接复杂性
C. 固定轮廓约束
D. 所有上述因素
二、简答题
-
描述软模块在现代布局规划中的重要性,并解释为什么它们增加了布局的难度。
-
论述固定轮廓约束对布局规划算法的影响,以及如何克服这些影响。
-
讨论在大规模布局规划中,如何平衡多个相互冲突的优化目标。
三、综合应用题
设计一个模拟实验,以评估不同布局规划算法在处理具有软模块、固定轮廓约束和大规模模块数量情况下的性能。请描述实验设置、评估指标和预期结果。
这些练习题旨在帮助加深对现代布局规划问题的理解,并通过实际应用和模拟实验来巩固所学知识。建议结合理论知识和实践经验来完成这些练习题,以获得更好的学习效果。