摘要 2019

模拟布局自动化的大部分研究领域是由计算机工程师而不是模拟布局工程师所从事的,因此,大多数解决方案都无视工程师遵循的许多限制、约束和约定。 本文介绍了一种解决方案,该解决方案利用模拟布局工程师的专业知识,通过开发一种遵循他们遵循的相同逻辑的算法,从而创建一个比当前停滞不前的电子设计自动化 (EDA) 市场提供的工具更有效的工具。

背景

数字设计几十年以来几乎完全自动化。然而,模拟电路设计自动化远未成熟,仍然是手动执行[1]。这是由于模拟集成电路设计的复杂的结构。模拟设计具有更丰富和更复杂的设计约束,同时需要考虑,也许会跨多个域(电气、电热、机电技术、几何域)。因此,该工具将设计工作从人类到计算机并增加了参与设计的自动化。由合格的工程师设计自动化减少设计时间,从而减少成本和上市时间。
通常,任何模拟 CMOS 电路都被划分为构建块。 每个块内的布局极大地影响电路性能[2]。 因此,生成这样的构建块是模拟布局设计中的关键步骤。 构成大多数电路的两个主要组成部分是差分对和电流镜; 由于它们对错配的敏感性,它们是最关键的块。 由于 IC 制造过程中的随机变化,器件与预期值的绝对偏差通常为 20% 或更多。 但是,如果比较占用同一块硅片的两个相似器件,可以观察到它们具有几乎相同的电气参数,因为它们经历了相同的制造条件。 因此,在讨论自动化解决方案时,匹配技术是保持模块内部相对精度免受过程变化或热效应影响的重要步骤。 随着技术的最小特性降低,应力(扩散长度)和光刻图案效应等纳米级效应会显着改变器件特性。

该工具使用通用质心技术生成完全匹配的电流镜布局,这是该模块最常用的技术 [3]。 由于在面积和良好性能之间进行了苛刻的权衡,因此面临着大量的挑战。

在此工具中,采用了一种更具确定性的方法,该方法考虑了几何和寄生约束,但以一种比方程或图形更隐含的方式。 开发了算法来跟踪工程师在采用通用质心匹配技术时遵循的相同步骤。 因此,第二步是开发一个完整的布局布线并匹配到任何给定的公共质心晶体管矩阵。 本文讨论的工具由两个主要部分组成,旨在自动化电流镜物理设计的整个流程。 首先是匹配模式生成器,其次是布局器和布线器,两者均由 Synopsis 定制编译器中出现的图形用户界面 (GUI) 提供支持,并使用 TCL 脚本语言开发。 由于与业界直接接触,该工具的结果被证实与 Silicon Vision 内部工程师开发的电路最相似。 用户输入功能和多种解决方案可帮助设计人员根据电路需求选择最佳解决方案,例如 对区域浪费或不匹配更敏感。 但是,它将开发时间从长时间缩短到数秒。 平均运行时间被评估为大约 90 秒。

调研

以前模拟布局自动化的方法包括 BALLISTIC、ILAC、KOAN/ANAGRAM [4] 等,但它们仅在大学环境中开发,尚未在工业中流行。这些研究人员中的大多数采用了基于模拟退火 (SA) 的优化框架,该框架具有一定的封装表示来编码解决方案和一组对称约束来对称地排列规定的晶体管 [5]。 这些算法几乎没有考虑晶体管的方向,因此引入了不必要的布线绕道和布线不匹配。 其他人则依赖于将约束转换为一组方程,然后以数学方式求解它们以获得解决方案。 此外,已经开发了约束图 [6],并采用了广为人知的算法来解决它们。

数据集

实验指标

  1. 和手动版图进行比较
  2. 跑通了DRC和LVS约束

这两个部分都具有使 ACML 工具脱颖而出的各种功能; 首先关于匹配模式生成器,它使用 2 个用户定义的输入,为每个给定的镜像生成 4 种不同的模式。 这让用户可以根据对项目需求更重要的模式变化进行选择,无论是面积、寄生还是匹配。 它还为用户提供给定镜子的所有形状(纵横比)的列表,除了估计每个形状所需的路由通道,然后用户可以选择更方便他的平面图。 此外,关于布线阶段,ACML 工具生成布线完全匹配的布局,考虑每个器件中的电流消耗以避免电子迁移,此外,实施了某些做法以避免增加栅极寄生,其他做法是正确连接晶体管块 到电源(PMOS 或 NMOS 的 VDD 或接地)以避免闩锁问题。 所有生成的布局都通过了物理验证检查; DRC 或 LVS。

具体方法

在这种方法中,我们尝试通过与工程师遵循的逻辑相同的流程,而不是处理约束方程式。利用工业工程师的专业知识,四分之一单元方法已被证明是匹配大型电路的最佳技术。四分之一单元方法 [图1] 意味着仅构建整个当前镜像 (阴影区域) 的匹配图案的四分之一,然后将其镜像到另一侧以构建一半 (2),并实现交叉四元技术 [图2],我们水平翻转这一半,然后垂直翻转,并将其连接到另一半,构建整个模式 …
这个生成器主要分为两个部分,一个在创建模式之前,另一个是创建模式本身。在第一小节,设备分为2组;根据产品数量的手指和乘数为每个设备(单位总数);组4或2。4包含设备的设置,可以把本季度(复制4倍),而2集包含的设备可以放在一半(重复两次后或他们的剩余部分除4等于2)。分成set_four set_two两组

此生成器分为两个主要子部分,一个在创建模式之前,另一个是创建模式本身。 在第一小节中,设备分为 2 组; 根据每个设备的手指数量和乘法器(单元总数)的乘积; 要么是一组四人组,要么是一组二人组。 其中四组包含可以放入四分之一的设备(重复四次),而二组包含可以放入一半的设备(重复两次或除以 4 后的余数是 2)。 例子:
设备 A:4 个(4 个一组中的 4 个单元),设备 B:6 个(4 个组中的 4 个单元和 2 个组中的 2 个单元),设备 C:2 个(2 个一组中的 2 个单元) 四人制:[A,B]; 二人一组:[B, C]

然后,我们继续计算总数 (每个设备的乘积之和),并创建当前镜像的所有可能形状的列表,该列表将被称为对列表。这些对表示预期匹配模式的行数和列数。此列表根据长宽比排序,将根据楼层规划师的选择选择一对。除了行和列的数量之外,考虑到增加的可路由空间 (路由信道估计)[7],模式的精确长度和宽度被提供给楼层规划器。在第二小节中,设备被安排成一个模式,有两个主要考虑因素: 第一,二极管连接的设备 (参考) 放置在中心,其次,同一行中的设备数量最小化,以获得更好的可布线性。

算法

此工具的输入是要匹配的设备及其数量 (n) 的列表-每个与设备的手指数量和乘数的乘积配对,为简单起见,将其称为单位数量。此外,用户必须定义设备的源是否共享,以及是否允许宽度划分。源漏共享意味着手指应该2乘2放置。它具有减少所需硅面积和减少寄生电容的好处 [8]。但是,如果设备的源未电连接 (共源共栅设备),则无法做到这一点,并且它会在边缘的设备和图案中心的设备之间产生不相等的应力。因此,设计人员可以在源共享或禁用此功能之间进行选择。
宽度划分意味着将每个晶体管的宽度除以二,这意味着单元数量增加了一倍。 如果任何设备的单元数为奇数,则执行此过程,因为这对该工具来说是一个挑战,因为该设备不能在四分之一或一半中添加。 这个挑战可以通过两种不同的方式来解决; 因此,用户可以定义将呈现哪些解决方案。 第一种解决方案是宽度分割; 如果任何设备的宽度接近技术最小宽度,这将不实用; 这就是为什么技术最小宽度必须是这个工具的输入。 第二种解决方法是增加一个虚拟手指,手指的数量增加一个,它会是偶数,所以设备可以在一半或四分之一中添加。 然而,这种解决方案意味着浪费硅面积

因此,在提要自定义编译器中选择当前感兴趣的镜像后,出现以下对话框; 要求用户选择2个用户定义的输入。工具使用其他参数来计算反射镜的确切长度和宽度。因此,在提要自定义编译器中选择当前感兴趣的镜像后,出现以下对话框; 要求用户选择2个用户定义的输入。工具使用其他参数来计算电流镜的确切长度和宽度。

示例:A: 5, B: 4, C: 11, D: 10
解决方案 1(宽度划分=true): A: 10, B: 8, C: 22, D: 20
解决方案2(宽度划分=false): A : 6, B: 4, C: 12, D: 10
在此步骤之后,对这些输入进行处理以生成镜子的所有可能形状(对列表)。 所有这些对都展示给设计师,让他为他的平面图选择方便的形状。 除了行数和列数外,每一对都附有所需的确切长度、宽度、布线通道。
此外,设计者还需要输入每个设备中的电流流,这是路由器用于计算路由宽度的一个重要参数。在选择了方便的对之后,生成模式并传递到放置器和路由器以生成完整的布局。

布局布线

在这种方法中,我们通过使用 TCL 脚本语言来构建人类模仿路由的工作,并且所有路由都遵循曼哈顿方法 [9]。 该代码分为多个功能,首先是将多晶硅和栅极触点放在每个栅极上的功能,其次是将 NIMP 放在多晶硅上实现植入物外壳 DRC 的功能,将垂直金属(金属 2) 将所有源极连接在一起,也扩展了漏极金属的空间。 水平内部布线需要这个额外的空间。 其余功能包括制作金属 3 条水平路线的功能,这些路线连接每行中相同设备的漏极。 每条线路的宽度取决于其中流动的电流。 因此,并非所有水平路线都具有相同的宽度。 此外,每行设备上的水平路由数量取决于任何一行中的最大设备数量。 放置水平布线后,执行一个函数,将金属 4 条垂直布线连接到不同行之间的每个设备的漏极。 这些路线的数量取决于晶体管的总数,它们的宽度还取决于每条路线(晶体管)所需的电流能力。 其他功能包括在不同行之间和整个块周围放置大块连接(大块触点)的功能,以像保护环一样将块与周围块的噪音隔离开来。 最后,电气连接是通过在每 2 个具有相同名称的网络上放置一个过孔的功能进行的; 每个网络都已以其设备名称命名,以便在交叉点放置通孔。

根据硅视觉公司布局设计团队的反馈; 这种路由算法将时间复杂度从小时降低到秒,因为当当前镜像尺寸增加时,手动路由时间呈指数增长,但是,在我们的算法中,当镜像变大时,时间复杂度没有显著变化

值得跟进

  1. 约束图[6]
  2. ??? 一脸懵逼 感觉说了有感觉完全没说…

F. Atef et al., “Automated Current Mirror Layout (ACML) Tool,” 2019 31st International Conference on Microelectronics (ICM), 2019, pp. 182-185, doi: 10.1109/ICM48031.2019.9021930.

自动电流镜布局 (ACML) 工具相关推荐

  1. Atitit qzone qq空间博客自动点赞与评论工具的设计与实现

    Atitit qzone qq空间博客自动点赞与评论工具的设计与实现 Qzone发送评论的原理 首先,有个a标签, <a class="c_tx3" href="j ...

  2. Android开发之Android studio4.1查看app布局的方法 | 使用布局检查器和布局验证工具调试布局

    老套路先上图: 老版本和新版本查看方法不一样,我这个是4.1的版本.但是大部分菜单都差不多所以先看我这个版本查看布局方法如下: 选择查看app布局的进程即可 总结: 菜单栏选择Tools-Layout ...

  3. unity3d collider自动调整大小_自动网格组合建模工具Unity游戏素材资源

    分享最新的CG教程与素材资讯! 人人素材RRCG-专业的CG艺术交流网站 点击上方蓝字关注人人素材 本游戏资料是自动网格组合建模工具Unity游戏素材资源,大小:735 KB ,格式:unitypac ...

  4. 阿里投资小鹏汽车,是提速自动驾驶布局的开端吗?

    李根 发自 深夜凹非寺  量子位 报道 | 公众号 QbitAI 阿里巴巴又一次投资了何小鹏的项目,只是这次这个项目也叫小鹏汽车. 根据已经公开披露的股权变更资料,阿里投资小鹏汽车的相关事宜已经板上钉 ...

  5. [ZZ].NET自动探索式测试工具——Pex

    作者 Al Tenhundfeld译者 霍泰稳 发布于 2008年7月20日 下午9时2分 社区 .NET 主题 单元测试 标签 测试驱动开发, MbUnit, MSTest, xUnit.Net P ...

  6. Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功

    Spring+SpringMVC+Mybatis(开发必备技能) 04.mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本.配套使用视频,100%运行成功 百度网 ...

  7. android html 布局设计工具,教你使用Android SDK布局优化工具layoutopt

    创建好看的Android布局是个不小的挑战,当你花了数小时调整好它们适应多种设备后,你通常不想再重新调整,但笨重的嵌套布局效率往往非常低下,幸运的是,在Android SDK中有一个工具可以帮助你优化 ...

  8. 分享3个自动生成文案的工具,月入6000,做自媒体不会写文案?

    做自媒体短视频不会写文案,头都大了! 在这个各种辅助工具"泛滥"的自媒体时代,你还在自己写文案? 事实上,对于一个刚开始做自媒体的新手小白来说,写视频文案是一件比较费力的事情. 今 ...

  9. BrightlyPro - 照片视屏后期自动调色增亮工具

    BrightlyPro - 照片视屏后期自动调色增亮工具 BrightlyPro 自动增强您的照片和视频,你最需要它.通过一个滑块,BrightlyPro 立即使您的照片自适应地亮起来,同时保持光影之 ...

最新文章

  1. 10版微机监测怎么显示服务器,铁路信号网络版微机监测系统的研究
  2. VS2015 编译输出的*.lib,*.dll,*.exe的区别
  3. OpenGL中的轨迹球问题
  4. 转载收藏之用 - 微信公众平台开发教程(三):微信公众平台开发验证
  5. 设置图像的title_【HTML】2 图像标签和属性
  6. java对数据库的操作_java对数据库的操作(jdbc)
  7. 【java】多线程_并发_同步_快乐影院
  8. Python索引设置
  9. uniapp实现公众号H5、小程序和App微信授权登录功能
  10. 图片太大如何压缩?学会这个方法轻松压缩
  11. GVIM技巧系列-如何在GVIM中跳来跳去
  12. 常见文件魔数(幻数)总结
  13. 小众APP分享,有兴趣的朋友快来挖宝
  14. 计算机打印步骤,如何将打印机连接到计算机将打印机连接到计算机的步骤[图形教程]...
  15. 第三方API接口对接-电子合同的实现逻辑
  16. Thinkpad Intel 5100无线网卡间歇性掉线问题解决方案
  17. 政策解读│软件产业企业所得税优惠政策介绍(2022年版)
  18. Android 图片压缩之多种压缩方式结合使用,阿里Android开发面试解答
  19. Day07 后台管理与发布文章
  20. java集合结构----集合框架以及背后的数据结构

热门文章

  1. Learning Invariant Deep Representation for NIR-VIS Face Recognition
  2. 超详细如何配置DHCP中继
  3. 2022-2028年全球酒店管理系统收入年复合增长率CAGR为 10.5
  4. 英语口语279之每日十句口语
  5. 信息安全(一)之椭圆曲线方程
  6. 如果你是安全工程师、逆向工程师,那么你可能需要一本《二进制分析实战》
  7. [AAuto]液晶显示器坏点检测
  8. 3d max 视图快捷键
  9. 五大原因!为何要将Jupyter Notebook转换为python脚本?
  10. 如何在 C# 中以编程方式将 IGS/IGES 文件转换为 PDF?