Anaroute - 理论学习(一)

一、贡献

框架能够在考虑特定约束的同时,高效地完成复杂AMS设计的布线,并实现签署质量的性能。

  • 提出了一种对称性约束的分配算法,根据引脚位置分配合适的网络匹配要求
  • 新的引脚聚类策略,以实现规律性的布线模式,这可以显著提高整体布线的美观度。
  • 健壮的分层拆除和重新布线方案,它能够处理工业设计规则和模拟特定的约束,并缓解布线拥塞。

二、设计规则

  • 物理约束
    规则

  • Parallel run spacing

根据两根平行布线的长度,规定了它们之间所需的最小间距,这个最小间距是基于这两根线的最大宽度来确定的。简单来说,就是两条平行电线越长,考虑到电磁干扰等因素,根据它们的最大宽度,就需要保持一定的最小距离。图2(a)展示了平行布线间距约束。
  • End-of-line spacing
End-of-line(EOL) spacing 指定了在任何小于eolWithin距离的地方,除了线尾(即宽度小于eolWidth的金属端)之外,所需的最小间距eolSpace。如果任何其他平行于EOL的边缘出现在通过将EOL侧向扩展parSpace、向前扩展eolWithin、向后扩展parWithin构建的平行边缘窗口中,则应用EOL间距约束。图2(b)显示了EOL间距规则的一个例子
  • Min-area
最小面积规则规定,金属多边形的面积应该大于或等于一个指定的阈值。如图2(c)
  • Min-step
为了确保在制造阶段掩模创建过程中光学图案校正(OPC)的正确性,规定了最小步长规则。最小步长规则指出,金属多边形上不允许有超过最大边数(maxEdge)连续的、长度小于最小步长(minStep)的边缘。图2(d)展示了一个最小步长违规的例子
  • 电气约束
    IR-induced voltage drop会导致模拟电路性能显著下降。可以通过电路仿真推测出最小布线宽度。
  1. 关键线网:分配更大的metal width以及更多的via
  2. 布局前仿真,提取最大可容忍的寄生电阻,进一步定义出了最小线宽和过孔cut的数量。
  • 对称约束
  1. mirror-symmetry
  2. cross-symmetry
  3. self-symmetry
  4. partial-symmetry

三、Routing frame work

在这里插入图片描述

3.1、Preprocessing

3.1.1. Symmetry constraint allocation

  • 考虑给定的Symmetry constraint
  • 识别layout中对称的Pin
  • 对称约束的考虑: 几何约束与电气约束。
  1. mirror-symmetry
  2. cross-symmetry
  3. self-symmetry
  4. partial-symmetry
    在这里插入图片描述
  • 算法:
    在这里插入图片描述

  • 符号表
    在这里插入图片描述

  • 自对称度计算

  1. n e t i net_i neti关于坐标 x x x的对称度: f i ( x ) = ∑ k a i , k ( x ) ∣ P i ∣ f_{i}(x) = \frac{\sum\limits_{k}a_{i,k}(x)}{|P_i|} fi(x)=Pikai,k(x)
  2. n e t i net_i neti自对称度最大的对称轴: λ i = a r g m a x 1 < = k , k ′ < = ∣ P i ∣ f i ( x i , k + x i , k ′ 2 ) \lambda_{i}=\mathop{argmax}\limits_{1<=k, k^{'}<=|P_i|}f_{i}(\frac{x_{i,k}+x_{i,k^{'}}}{2}) λi=1<=k,k<=Piargmaxfi(2xi,k+xi,k)
  3. n e t i net_i neti关于 λ i \lambda_{i} λi的自对称度: ψ i = f i ( λ i ) \psi_{i}=f_i(\lambda_{i}) ψi=fi(λi)
  • 相互对称度计算
  1. n e t i net_i neti n e t j net_j netj关于对称轴 λ i , j \lambda_{i,j} λi,j的对称度: ψ i , j = f i , j ( λ i , j ) \psi_{i,j} = f_{i,j}(\lambda_{i,j}) ψi,j=fi,j(λi,j)
  2. n e t i net_i neti n e t j net_j netj间对称度最大的对称轴: λ i , j = a r g m a x 1 < = k < = ∣ P i ∣ , 1 < = k ′ < = ∣ P j ∣ f i , j ( x i , k + x j , k ′ 2 ) \lambda_{i,j} = \mathop{argmax}\limits_{1<=k<=|P_{i}|,1<=k^{'}<=|P_j|} f_{i,j}(\frac{x_{i,k}+x_{j,k^{'}}}{2}) λi,j=1<=k<=Pi,1<=k<=Pjargmaxfi,j(2xi,k+xj,k)
  3. 计算当前坐标x的对称度: f i , j ( x ) = m a x ( ∑ k b i , k j ( x ) , ∑ k ′ b j , k ′ i ( x ) ) m a x ( ∣ P i ∣ , ∣ P j ∣ ) f_{i,j}(x) = \frac{max(\sum\limits_{k}b^j_{i,k}(x), \sum\limits_{k^{'}}b^i_{j,k^{'}}(x))}{max(|P_i|,|P_j|)} fi,j(x)=max(Pi,Pj)max(kbi,kj(x),kbj,ki(x))
  • 案例:
    在这里插入图片描述

图a为实际版图,图b为net构建的匹配网络图,每个net作为一个顶点

  1. n i n_i ni自对称度的计算
    n 1 n_1 n1内部在对称轴 λ i \lambda_{i} λi出相互对称的pin为 [ ( p 1 , 1 , p 1 , 4 ) , ( p 1 , 2 , p 1 , 3 ) ] [(p_{1,1}, p_{1,4}),(p_{1,2},p_{1,3})] [(p1,1,p1,4),(p1,2,p1,3)],所以 ∑ k a 1 , k ( x ) \sum\limits_{k}a_{1,k}(x) ka1,k(x)=4, 而pin的总数 ∣ P 1 ∣ |P_1| P1=5,计算得 ψ 1 = 4 5 \psi_{1}=\frac{4}{5} ψ1=54。构建匹配图边( e : v 1 − v 1 ′ , w = 4 5 ) e: v_1-v_1^{'}, w=\frac{4}{5}) e:v1v1,w=54)

  2. n i , n j n_i,n_j ni,nj间对称的计算
    n 2 , n 3 n_2, n_3 n2,n3, 能关于对称轴 λ i , j \lambda_{i,j} λi,j最多大相互对称得pin为 [ ( p 2 , 2 , p 3 , 2 ) , ( p 2 , 3 , p 3 , 3 ) ] [(p_{2,2}, p_{3,2}),(p_{2,3},p_{3,3})] [(p2,2,p3,2),(p2,3,p3,3)],所以 m a x ( ∑ k b 2 , k 3 ( x ) , ∑ k ′ b 3 , k ′ 2 ( x ) ) = 4 max(\sum\limits_{k}b^3_{2,k}(x), \sum\limits_{k^{'}}b^2_{3,k^{'}}(x))=4 max(kb2,k3(x),kb3,k2(x))=4 , m a x ( ∣ P 2 ∣ , ∣ P 3 ∣ ) = 3 max(|P_2|,|P_3|)=3 max(P2,P3)=3, 所以 ψ 2 , 3 = 4 3 \psi_{2,3}=\frac{4}{3} ψ2,3=34。构建匹配图的边:( e : v 2 − v 3 , w = 4 3 e:v_2-v_3, w=\frac{4}{3} e:v2v3,w=34)

  3. 寻找symmetry的网络:Edmond’s blossom 算法,在构建的带权无向图中寻找最大权重匹配。然后将匹配结果转换为指定网络的对称约束。

  • 时间复杂度分析:
  1. 边权计算: O ( ∣ P ∣ 2 ) O(|P|^2) O(P2)
  2. 最大权重匹配: O ( ∣ V ∣ 2 ∣ E ∣ , ∣ V ∣ = 2 ∣ N ∣ , ∣ E ∣ < = ( ∣ N ∣ 2 + ∣ N ∣ ) / 2 O(|V|^2|E|, |V|=2|N|, |E|<=(|N|^2+|N|)/2 O(V2E,V=2∣N,E<=(N2+N)/2,
    实际应用中,图 𝐺 𝐺 G是稀疏的,因为 𝑁 𝑁 N中的许多子集是互斥的,并且大量的 n e t net net是自解关联的。电路层次结构将整个网络列表进一步划分为多个分区。因此,该算法的执行效率很高
  • 相关定义:
  1. net互斥: n i n_i ni n j n_{j} nj间的对称度为0
  2. net自解关联: n i n_i ni自对称度为0

2. Pin Access assignment

分析Pin的形状, 根据首选Access方向的确定Pin Access point。方便后续布线过程中的Pin的连接。
在这里插入图片描述
在这里插入图片描述

3.2、Core procedures

1. Routing

  • 算法:obstacle-aware path-finding algorithm。
  • 在对称轴两侧同时执行Obstacel-aware path-finding, 实现对称布线。
  • 查找过程中考虑设计规则(parallel run spacing,end-of-line spacing,Min-area,Min-step)
  • 无法找到路径时,进入rip-up & reroute优化迭代,直到找到可行方案。
    在这里插入图片描述

2. Rip-up

  • Viaolated net removal
    在这里插入图片描述

3.3、Post-refinement

在布线结果中寻找违反Design rule。通过向metal shapes中增加补丁,解决Min-step违例。

参考文献:Toward Silicon-Proven Detailed Routing for Analog and Mixed-Signal Circuits

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微知-Bluefield DPU使用flint烧录固件报错MFE_NO_FLASH_DETECTED是什么?MFE是什么?

文章目录 背景一些报错场景MFE是什么&#xff1f;有哪些MFE 背景 在DPU的fw操作flint的时候&#xff0c;很多命令都会报这个错误&#xff1a;MFE_NO_FLASH_DETECTED&#xff0c;早期很疑惑并且猜测MFE是Mellanox Firmware Engine。实际并不是&#xff0c;具体还得走到mellanox…

2014年国赛高教杯数学建模B题创意平板折叠桌解题全过程文档及程序

2014年国赛高教杯数学建模 B题 创意平板折叠桌 某公司生产一种可折叠的桌子&#xff0c;桌面呈圆形&#xff0c;桌腿随着铰链的活动可以平摊成一张平板&#xff08;如图1-2所示&#xff09;。桌腿由若干根木条组成&#xff0c;分成两组&#xff0c;每组各用一根钢筋将木条连接…

2024 第一次周赛

A: 题目大意 骑士每连续 i 天每天会得到 i 个金币&#xff0c;&#xff08;i 1&#xff0c; 2&#xff0c; 3 &#xff0c; …&#xff09;,那么展开看每一天可以得到的金币数&#xff1a;1 2 2 3 3 3 4 4 4 5 5 5 5 5 … 可以发现就是1个1 &#xff0c;2个2, 3个3…,那么我…

php 生成随机数

记录:随机数抽奖 要求:每次生成3个 1 - 10 之间可重复(或不可重复)的随机数,10次为一轮,每轮要求数字5出现6次、数字4出现3次、…。 提炼需求: 1,可设置最小数、最大数、每次抽奖生成随机数的个数、是否允许重复 2,可设置每轮指定数字的出现次数 3,可设置每轮的抽奖…

一维数组的引用

#define SIZE 5 int main(void) { int i 0; int arr[SIZE] { 86,85,85,896,45 };//同理五个数据只是偶然&#xff0c;可能会更多 //输入 for (i 0;i < SIZE;i) { printf("请输入你的第%d个值&#xff1a;",i1); scanf_s(&…

Spark常用RDD算子:transformation转换算子以及action触发算子

文章目录 1. 算子&#xff08;方法&#xff09;介绍2. 常用transformation算子2.1 map 2.2 flatMap2.3 filter2.4 distinct2.6 groupBy2.7 sortBy()2.8 k-v数据[(k,v),(k1,v1)] 3. 常用action算子 1. 算子&#xff08;方法&#xff09;介绍 rdd中封装了各种算子方便进行计算&a…

【Linux网络编程】网络基础 | Socket 编程基础

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

【动手学深度学习】6.3 填充与步幅(个人向笔记)

卷积的输出形状取决于输入形状和卷积核的形状在应用连续的卷积后&#xff0c;我们最终得到的输出大小远小于输入大小&#xff0c;这是由于卷积核的宽度和高度通常大于1导致的比如&#xff0c;一个 240 240 240240 240240像素的图像&#xff0c;经过10层 5 5 55 55的卷积后&am…

自然语言处理问答系统:技术进展、应用与挑战

自然语言处理&#xff08;NLP&#xff09;问答系统是人工智能领域的一个重要分支&#xff0c;它通过理解和分析用户的提问&#xff0c;从大量的文本数据中提取相关信息&#xff0c;并以自然语言的形式回答用户的问题。随着深度学习技术的发展&#xff0c;尤其是预训练语言模型&…

MATLAB智能优化算法-学习笔记(4)——灰狼优化算法求解旅行商问题【过程+代码】

灰狼优化算法(Grey Wolf Optimizer, GWO)是一种基于灰狼社会行为的元启发式算法,主要模拟灰狼群体的捕猎行为(包括围攻、追捕、搜寻猎物等过程)。多旅行商问题(Multi-Traveling Salesman Problem, mTSP)是旅行商问题(TSP)的扩展,它涉及多个旅行商(车辆)从一个起点城…

深度学习:循环神经网络—RNN的原理

传统神经网络存在的问题&#xff1f; 无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。 RNN神经网络 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09;是一种专门用于处理序列数据的神经网络。在处理序列输入时具有记忆性…

动态规划的优化与高级应用

姊妹篇&#xff1a; 动态规划基础与经典问题-CSDN博客 贪心算法&#xff1a;原理、应用与优化_最优解-CSDN博客​​​​​​贪心算法&#xff1a;原理、应用与优化_最优解-CSDN博客 一、动态规划的优化策 动态规划在提高时间效率的同时&#xff0c;往往会占用较多的空间。因…

【汇编语言】寄存器(CPU工作原理)(七)—— 查看CPU和内存,用机器指令和汇编指令编程

文章目录 前言1. 预备知识&#xff1a;Debug的使用1.1 什么是Debug&#xff1f;1.2 我们用到的Debug功能1.3 进入Debug1.3.1 对于16位或者32位机器的进入方式1.3.2 对于64位机器的进入方式 1.4 R命令1.5 D命令1.6 E命令1.7 U命令1.8 T命令1.9 A命令 2. 总结3. 实操练习结语 前言…

grpc的python使用

RPC 什么是 RPC &#xff1f; RPC&#xff08;Remote Procedure Call&#xff09;远程过程调用&#xff0c;是一种计算机通信协议&#xff0c;允许一个程序&#xff08;客户端&#xff09;通过网络向另一个程序&#xff08;服务器&#xff09;请求服务&#xff0c;而无需了解…

笔试算法总结

文章目录 题目1题目2题目3题目4 题目1 使用 StringBuilder 模拟栈的行为&#xff0c;通过判断相邻2个字符是否相同&#xff0c;如果相同就进行删除 public class Main {public static String fun(String s) {if (s null || s.length() < 1) return s;StringBuilder builde…

前端开发基础NodeJS+NPM基本使用(零基础入门)

文章目录 1、Nodejs基础1.1、NodeJs简介1.2、下载安装文件1.3、安装NodeJS1.4、验证安装2、Node.js 创建第一个应用2.1、说明2.2、创建服务脚本2.3、执行运行代码2.4、测试访问3、npm 基本使用3.1、测试安装3.2、配置淘宝npm镜像3.3.1、本地安装3.3.2、全局安装3.4、查看安装信…

【网络】详解TCP协议的流量控制和拥塞控制

【网络】详解TCP协议的流量控制和拥塞控制 一. 流量控制模型窗口探测 二. 拥塞控制模型 总结 一. 流量控制 流量控制主要考虑的是接收方的处理速度。 接收端处理数据的速度是有限的.。如果发送端发的太快, 导致接收端的缓冲区被打满, 这个时候如果发送端继续发送, 就会造成丢包…

IP地址如何支持远程办公?

由于当今社会经济的飞速发展&#xff0c;各个方向的业务都不免接触到跨省、跨市以及跨国办公的需要&#xff0c;随之而来的远程操作的不方便&#xff0c;加载缓慢&#xff0c;传输文件时间过长等困难&#xff0c;如何在万里之外实现远程办公呢&#xff1f;我们以以下几点进行阐…

【GaussDB】产品简介

产品定位 GaussDB 200是一款具备分析及混合负载能力的分布式数据库&#xff0c;支持x86和Kunpeng硬件架构&#xff0c;支持行存储与列存储&#xff0c;提供PB(Petabyte)级数据分析能力、多模分析能力和实时处理能力&#xff0c;用于数据仓库、数据集市、实时分析、实时决策和混…