同时处理对称性,公共质心和一般放置约束

摘要

在当今的片上系统设计中,电路的数字和模拟部分都将在同一芯片上实现。 布局引起的寄生失配会显着影响模拟设计的电路性能。 在放置过程中考虑对称性和常见的质心约束有助于减少这些错误。 除了这两种特定类型的布局约束之外,其他约束,例如对齐、邻接、预置和最大分离,在电路布局中也是必不可少的。 在本文中,我们将介绍一种可以同时处理所有这些约束的布局方法。 据我们所知,这是第一个可以同时处理对称约束、公共质心约束和其他一般放置约束的工作。 实验结果确实证实了我们的方法在解决这种混合约束驱动的放置问题方面的有效性和可扩展性。

背景

在当今的片上系统设计中,电路的数字和模拟部分都将在同一芯片上实现。 模拟部件的放置是一个容易出错且耗时的过程。 在模拟布局中,布局引起的寄生失配会显着影响电路性能。 在放置过程中考虑对称性和常见的质心约束有助于减少这些错误。 对于对称约束,需要将成对的单元相对于水平轴或垂直轴对称放置。 对于公共质心约束,设备将被拆分为多个较小的子设备,并围绕公共中心点旋转对称放置。 图 1 显示了一个示例。在图 1 中,有一个具有两个设备的公共质心组。 每个设备被划分为更小的子设备,并以交错的方式布局,以满足通用质心要求。 除了常见的质心和对称性之外,其他一般约束条件,例如对齐、邻接、预置和最大分离,在电路布局中也是必不可少的。 在本文中,我们将提出一种可以同时处理所有这些约束的方法。 据我们所知,这是第一个可以同时处理对称约束、公共质心约束和其他一般放置约束的工作。

调研

放置具有对称约束的设备的问题已被广泛研究 [1]、[2]、[4]、[9]、[11]–[13]、[15]–[17]、[19]、[20] ]。 大多数先前的研究使用模拟退火作为基于包装表示的优化引擎。 我们可以将这些表示分为两类:1)绝对表示,2)拓扑表示。 在绝对表示 [4]、[9]、[13] 中,模块由它们在芯片平面上的绝对坐标表示。 然而,在这种情况下,解决方案空间的大小是巨大的,这将在有限的搜索时间下影响解决方案的质量。 在拓扑表示中,模块之间的相对位置被编码。 与绝对表示相比,解空间要小得多,但需要复杂的计算来检查对称性的可行性并调整模块位置以满足约束条件。 诸如序列对 [14]、O-tree [6]、B*-trees [3] 和 TCG-S [10] 等拓扑表示已被应用于处理对称约束 [1]、[2]、[11] ]、[12]、[15]-[17]、[19]、[20]。 这些先前的大部分工作仅处理对称约束,而 [12] 处理公共质心约束,而 [19] 和 [20] 处理两者。 斯特拉瑟等人。 [19] 提出了一种称为 Plantage 的算法,该算法利用基本构建块的分层有界枚举和 B*-tree 表示来执行模拟放置,同时考虑到对称性、公共质心、接近度和最小距离约束。 最后两个约束是关于两个模块之间的最大和最小距离。 然而,Plantage 通常无法处理其他放置限制。 [20] 中的工作基于对称可行序列对 (SP) 表示有效地处理对称和公共质心约束。
如上所述,元件失配对许多模拟电路具有显着的不利影响。 这种不匹配可以通过共同的质心布局来有效抑制,共同质心布局是指一组设备具有共同中心点的布局风格。 设备可以拆分为多个较小的设备并放置在相同的中心点。 这器件可以在一维中以公共质心排列,如差分对,或二维,如数据转换器中的电容器或电阻器阵列。 尤其是当器件的数量很大时,需要二维布置,因为需要紧密接近以获得更好的电性能。
在数字和模拟电路的布局中,还有其他布局约束,例如最大间距(成对严格匹配的器件之间的间距上限)、对齐、邻接、边界、前置和范围。 以前没有关于同时处理公共质心约束、对称约束和其他一般放置约束的工作。 在本文中,我们尝试同时解决所有不同类型约束的混合约束驱动放置问题。 具有基于中心的角块列表(C-CBL)[12]的全局SP用作模拟退火引擎中的表示。 我们不会通过在成本函数中设置惩罚项来惩罚违规来被动地处理约束,而是在布局实现步骤中尝试建设性地满足所有约束。 每个对称或公共质心组将尽可能彼此靠近。 实验结果确实证实了我们的方法在同时处理不同类型的约束方面的有效性和可扩展性。 1

共质心

每个公共质心组 Gi 包含具有区域 {gi1,gi2 …gisi } 的 si 设备。 我们希望以这样一种方式放置这些设备,使它们都具有相同的中心点。 为了达到这个目的,每个设备将被拆分成多个相同大小和尺寸的较小设备。 示例如图 2 所示。用户可以指定从每个设备中拆分出的较小设备的数量,如果没有给出规范,我们将假设它是两个。 用户还可以通过提供纵横比范围来指定他们对这些子设备的形状的要求(如果有的话)。 我们将成对处理这些较小的设备2,并要求它们具有相同的中心点。 这样,所有原始设备也将具有相同的中心点。 在整篇论文中,我们使用 ni 来表示经过分裂过程后 Gi 中较小设备的总数,每个原始设备 gij 称为 Gi 的一个子组。

将一个公共质心组的所有设备靠近放置,而不与不属于同一组的其他块交错,每个公共质心组将被视为 SP 中的超级块 3。 每个公共质心组的内部结构将被专门处理以满足公共质心约束。 在退火过程中,将执行一组随机移动来扰动:1)包含代表公共质心组的超级块和电路的其他块的全局 SP,以及 2)公共质心的内部结构 团体。 在退火过程的每一步,都会产生一个全局的 SP x =(s1,s2)。 我们将首先进行初始扫描以检查 x 是否可以成为满足约束的可行解决方案。 在这个初始扫描之后,公共质心组将被打包。 然后,将根据全局SP构建一对约束图(Gh,Gv)来表示模块和超级块之间的相对位置。 新节点和约束边将被添加到 Gh 和 Gv 中以满足对称约束和其他一般放置约束。4 这些新插入的边中的一些将具有可变权重,我们需要确定它们的权重以最小化打包区域并得到 摆脱正循环。 最后,如果图中不存在正循环,则可以同时满足所有约束,我们将相应地打包以获得一个可行的放置解决方案。 关于我们如何处理一般放置约束、对称约束和公共质心约束的详细信息将在以下部分中给出。

公共质心约束的处理

处理常见质心约束的一种直接方法是扩展第 V 节中关于对称约束的方法。 通过向垂直和水平约束图添加虚拟顶点和具有可变权重的新边,可以轻松完成扩展,以确保块对之间在 x 和 y 方向上相对于中心点的距离相等。 然而,这种方法非常耗时,我们将在第 VIII 节的实验结果中证明这一点。 在下文中,我们将提出一种更有效的方法来处理公共质心约束,通过简单地用必须对应于公共质心打包方式的数据结构来表示每个公共质心组。 与对称约束类似,我们将每个设备拆分为两个相同维度的较小设备,并要求同一组中的所有这些对放置在一个共同的质心上。6 这种方法很好,因为拆分后的设备总数 将尽可能小。 现在,每个公共质心组 Gi 包含 si 对设备 (ai1,bi1), (ai2,bi2) … (aisi ,bisi ),大小为 gi1 2 , gi2 2 … gisi 2 。 为了表示所有这些 si 对块的共同质心位置,使用了一种称为 C-CBL [12] 的新表示。 C-CBL 是角块列表 (CBL) 表示的自然扩展 [7]处理常见的质心组。 在下文中,我们将首先简要回顾 CBL,然后定义 C-CBL。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非对称鲁棒质心算法(Asymmetric Robust Centroid Algorithm)是一种用于处理光谱数据的算法,可以用于估计光谱数据的质心位置。下面是一个使用Matlab编写的非对称鲁棒质心算法处理光谱数据的示例程序: ```matlab % 假设有光谱数据存储在变量'spectrum'中,包含波长信息和对应的光强度值 % spectrum = [wavelength, intensity] % 数据预处理 % 去除背景噪声等预处理步骤 % 提取波长和光强度值 wavelength = spectrum(:, 1); intensity = spectrum(:, 2); % 计算光谱数据的一阶导数 derivative = diff(intensity); % 寻找波峰和波谷位置 peak_indices = find(derivative(1:end-1) .* derivative(2:end) < 0); valley_indices = find(derivative(1:end-1) .* derivative(2:end) > 0); % 寻找光谱数据的质心位置 centroid = sum(wavelength(peak_indices) .* intensity(peak_indices)) / sum(intensity(peak_indices)); % 打印质心位置 disp('质心位置:'); disp(centroid); ``` 上述示例程序中,假设光谱数据存储在变量`spectrum`中,其中`spectrum`是一个包含波长信息和对应光强度值的二维矩阵。程序首先进行数据预处理,例如去除背景噪声等。 接下来,程序提取光谱数据的波长和光强度值,并计算光谱数据的一阶导数。通过寻找一阶导数变号处,可以找到波峰和波谷的位置。 最后,程序使用非对称鲁棒质心算法来估计光谱数据的质心位置。质心位置的计算基于波峰位置和对应的光强度值。 请注意,以上示例程序仅提供了非对称鲁棒质心算法的一个简单实现,实际应用中可能需要根据具体需求进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值