超大规模集成电路(VLSI,VeryLarge Scale Integration)将大量电路单元集成于单一芯片。随着设计复杂度增加,如今开展VLSI设计已离不开电子设计自动化(EDA,Electronic DesignAutomation)工具的支持。EDA作为算法密集型产业,需要对数千种情境进行快速设计探索,是国家关键技术领域。其中,电路单元的自动布局是 EDA研究的核心问题之一。
电路单元的自动布局旨在矩形布局区域内确定所有电路单元位置,以最小化单元之间总连接线长并避免单元重叠。由于这是一个NP-难问题,通常分为全局布局和详细布局两个步骤。全局布局大致确定单元位置,允许单元重叠:详细布局则消除重叠并进一步优化。本问题聚焦于全局布局,将电路单元视为不同大小的矩形,矩形内分散有若干个连线接口,电路单元之间通过连线接口形成若干组连接关系。全局布局的目标是最小化总连接线长,同时满足单元密度约束。总连接线长等于每组有连接关系的电路单元的线长之和。由于布局阶段尚未实际布线,每组线长通常可通过半周长线长(HPWL,Half-Perimeter Wirelength)或直线型斯坦纳最小树(RSMT,Rectilinear Steiner Minimal Tree)估计,要求连线水平或竖直。HPWL为连线接口外接矩形周长的一半,RSMT为通过插入斯坦纳点构建的线段长度之和。单元密度约束通过将矩形布局区域网格化后计算。每个网格的单元密度等于与网格重叠的电路单元面积和网格面积的比值,限制不超过特定值。附件1提供全局布局的中间状态,包括每组有连接关系的电路单元及其连线接口名称、连线接口坐标和对应的HPWL和RSMT线长。附件2给出布局区域尺寸、网格划分粒度和密度阙值、电路单元的尺寸、坐标及其连线接口的基本信息。
请建立数学模型解决以下问题:
问题1:
图2展示了3组具有不同连线接口数的HPWL和RSMT线长估计示意图。RSMT是布局阶段理想的线长表征,但是构建斯坦纳树是NP难问题。HPWL简单有效,但对多连线接口情形估计偏小。根据附件1提供的信息,请设计一个与电路单元连线接口坐标相关的线长评估模型。该模型应满足:(1)每组估计线长与对应RSMT的差值尽可能小:(2)能应用于评估附件1中的总连接线长。
问题 2
图 3 展示了单元密度计算示意图,请以此设计一个与电路单元坐标 相关的网格密度评估模型。应用问题 1 构建的线长评估模型,整合密度计算,建 立一个数学模型,目标为:(1)最小化总连接线长;(2)满足单元密度约束。根 据附件 1 和附件 2 提供的信息,应用此模型完成全局布局,输出总连接线长 (HPWL),并可视化结果(电路单元的位置)
问题 3
除了连接线长和单元密度,布线密度也是衡量布局质量的重要指标 之一。分析图 4 所示的网格布线密度计算模型,找出其存在的问题。针对发现的 问题,提出改进方案。应用改进后的布线密度模型,计算问题 2 中更新后的全局 布局结果的布线密度,并对结果(网格布线密度)进行可视化。
问题 4
除了最小化总连接线长和满足单元密度约束外,希望网格布线密度 的最大值越小越好。请在问题 3 的基础上,修正问题 2 所建立的数学模型。根据 附件 1 和附件 2 提供的信息,应用修正后的模型完成全局布局,输出总连接线长 (HPWL),并可视化结果(电路单元的位置和网格布线密度)
文件格式说明 附件 1.txt: 组名称,(电路单元名称:连线接口名称),(对应连线接口坐标),HPWL,RSMT Group1,(Cell94:ZN,Cell11:A2,Cell7:A1),((22704,21807),(25499,24186),(25633,24095)),5308,5308 Group2,(Cell89:Z,Cell8:I,Cell5:A1),((31596,22332),(29577,24007),(28894,24037)),4 407,4407 Group3,(Cell5:ZN,Cell97:A2,Cell96:A1,Cell11:A1,Cell7:A2),((28994,23885),(26971, 24240),(26971,24321),(25809,24078),(25878,24474)),3774,4017 …
附件 1.txt 解释: - 有五列,分别是:组名称,(电路单元名称:连线接口名称),(对应连线接口 坐标),HPWL,RSMT。 - 组名称:表示具有连接关系的电路单元组,有多少个组编号表示有多少组具 有连接关系的电路单元。每组可以通过线长评估模型算出线长值。总连接线 长等于所有组的线长值总和。 - (电路单元名称:连线接口名称):表示由哪些单元的连线接口构成该组连接。 例如 (Cell94:ZN,Cell11:A2,Cell7:A1)表示电路单元名称为 Cell94 上有名为 ZN 的连线接口,同理 Cell11 上有名为 A2 的连线接口,Cell7 上有名为 A1 的连线接口,三者会形成一组连接关系,连线方向只能水平或者竖直。 - (对应连线接口坐标):与第二列一一对应,表示对应电路单元连线接口的位 置坐标(x,y)。例如 Cell94:ZN 对应的坐标是(22704,21807),Cell11:A2 对应 的坐标是(25499,24186),Cell7:A1 对应的坐标是(25633,24095)。 - HPWL:表示用 HPWL 线长模型算得的该组电路单元连线长度。以 Group1 为 例 , 连 线 接 口 形 成 的 外 接 矩 形 宽 度 为 25633-22704=2929 , 高 度 为 24186-21807=2379,因此 HPWL=2929+2379=5308。 - RSMT:表示用 RSMT 线长模型算得的该组电路单元连线长度。
附件 2.txt 布局区域宽度,布局区域高度,水平方向网格数,竖直方向网格数,密度阈值 38080,37800,64,60,0.9
电路单元名称,(左下角 X,Y 坐标),宽度,高度,(连线接口名称),(对应连线接口相对 单元左下角的偏置坐标) Cell1,(28431,23878),1120,1800,(A2,B,A1),((630,1051),(910,870),(385,672)) Cell2,(29042,24255),560,1800,(I),((205,860)) Cell3,(28483,24118),840,1800,(A1,A2),((505,1002),(195,880))
附件 2.txt 解释: 分为两个部分 - 布局区域信息:表示布局区域的水平方向取值范围为[0,38080],竖直方向取 值范围为[0,37800];整个布局区域划分为 64*60 个网格,每个网格的宽度 为 38080/64=595,高度为 37800/60=630;每个网格的单元密度不超过 0.9。 - 电路单元信息: 以 Cell1,(28431,23878),1120,1800,(A2,B,A1),((630,1051),(910,870),(385,672)) 为例,解释含义。电路单元 Cell1,左下角坐标为(28431,23878),宽高分别为 1120 和 1800,有三个连线接口名为 A2,B,A1,这三个连线接口的坐标与 Cell1 左下角坐标的偏移量是(630,1051),(910,870),(385,672),据此可以分别算出这 三 个 连 线 接 口 的 绝 对 坐 标 , 例 如 Cell1:A2 的 绝 对 坐 标 是 (28431+630=29061,23878+1051=24929)。注意,所有连线接口在电路单元中 的偏移量是固定值,不会随电路单元的位置变化而变化;因此,若知道电路 单元的位置,就可以根据连线接口的偏移量算出其绝对坐标,进而计算线长