资讯详情

ALIGN:自动化模拟布局的系统

摘要

ALIGN(“Analog Layout, Intelligently Generated from Netlists)开源自动地图生成过程用于模拟电路。 ALIGN 将输入 SPICE 将网表转换为输出 GDSII 布局,特定于给定技术,由一组设计规则指定。 该过程首先自动检测电路网表中的层次结构,并将布局转化为分层块组装。 在最低级别,参数化单元采用抽象生成的设计规则; 然后在几何和电气的约束下组装这些块来构建电路布局。 ALIGN 已应用于各种模拟电路系列的生成布局:

背景

ALIGN (Analog Layout, Intelligently Generated from Netlists) 目前正在开发模拟电路的开源地图生成器。 软件流程第一 1 版已于 2020 年 8 月发布。ALIGN 该项目聘请了一个联合学术/行业团队 SPICE 24级网表转换为物理布局 小时周转,无人参与。 ALIGN 网表、规格和工艺设计套件已选择拓扑和晶体管尺寸 (PDK),并输出 GDSII。 ALIGN 的理念是通过首先识别网表中的布局层次结构,然后在最低层次结构生成正确的构造布局,最后在布局和布线过程中在每个层次结构层次组装块来组合综合布局。 因此,ALIGN 一个关键步骤是识别这些层次结构来识别设计的构建块。 在这个过程中,ALIGN 模仿人类设计师,识别已知块,安排它们,然后分层构建整体布局。 这一层结构的最低层是单独的晶体管。 然后将这些晶体管组合成更大的基本原语 [例如,差分对,电流镜],然后是模块 例如,计算跨导放大器 (OTA)],从几层结构到系统级别 例如,射频 ( RF) 收发器]。 ALIGN 使用算法技术、模板驱动设计和机器学习 (ML) 创建专业设计师级别的布局。

晶体管 -> 基本原语 -> 模块

与由少量构建块组成的数字设计不同,模拟电路倾向于采用多种结构。 每一个都有自己的限制和要求,传统上只有专业的设计师才能建造能提供高性能的电路。 ALIGN 包括各种模拟设计,包括bulk和 FinFET 技术,涵盖四类功能:

? 包括模数转换器的低频组件 (ADC)、放大器和滤波器。 ? 有线组件包括时钟/数据恢复、平衡器和相位内插器。 ? 射频/无线组件,如发射器和接收器。 ? 电力传输组件包括基于电容器电感器的DC-DC 转换器。

每个类别的特点是类似的构建块可能有类似的性能参数集,尽管应该提到,即使在每个类别中也有相当大的差异。 图 1 总结了每个类别的重要因素。 在这里插入图片描述

调研

在自动模拟布局合成方面做出了一些努力 [1]-[7],但这些方法并没有广泛部署在工具中。 有些方法解决了有限类别的设计问题; 其他人无法调整以处理同一设计类别的足够广泛的变体集。 此外,人们普遍认为,

近年来,形势发生了各种变化,使自动化布局解决方案具有吸引力。 首先,在纳米技术中,固定间距和单向布线的有限设计规则限制了旧技术中可用的布局自由,从而限制了旧技术的布局自由,降低了人类专家的优势。 其次,集成系统需要比以前更多的模拟模块,其中一些需要正确的功能和适度的性能。 将模拟内容与放宽规范相结合,为模拟自动化创造甜蜜点。 即使对于高性能模块,自动地图生成器也可以显著减少电路优化和地图迭代,其中地图生成是主要瓶颈。 第三,ML 的出现为以以前不可能的方式解决模拟布局问题提供了希望,并为非人工在环设计奠定了基础。

本文概述了 ALIGN 技术细节,展示如何使用 ALIGN 将模拟电路网表转换为布局。 核心 ALIGN 引擎可以在没有人参与的情况下运行,由执行通常由人执行的功能的 ML 例如,在自动注释期间识别电路中的层次结构,或对布局产生对称约束。 ML 该算法还有助于创建一个快速的电气约束检查器,以验证候选布局/布线解决方案是否符合性能约束,并使用它来引导布线引擎达到所有规格的最佳状态。 对于更深入的细节,读者可以参考[8]-[11]的详细描述,并关注我们小组正在进行的新出版物。

核心技术

ALIGN 流程由五个模块组成,如图所示 2 所示: (1) 网表自动注释创建输入网表的多层次表示,并识别网表中的结构对称性。 这是分层构建电路布局的关键步骤。 (2) 捕获专有设计规则 PDK 抽象成一个简化的网格,必须遵循布局过程中的所有步骤,根据需要附加布尔约束。 (3) 。 (4) 参数化图元单元生成自动为图元构建布局,图元为 ALIGN 层次结构中最低层次块。 基元通常包含少量晶体管结构(每个都可以用多个鳍和/或指来实现)。 在此步骤中,网表中原语的参数实例将自动转换为 GDSII 布局。 (5) 在满足几何和电气约束的同时,对分层电路结构进行布局和布线。 该过程在开源代码和专有数据之间建立了分离。 专有 PDK 模型必须转换为布局生成器使用的抽象。 部分流程由 ML 模型驱动:该过程为在专有数据上训练这些模型提供了基础设施。 整个 ALIGN 该过程旨在支持无人参与的设计。 然而,该过程是模块化的,并支持多个入口点:例如,设计师可以替换自动注释模块,并可以使用该注释执行该过程的其他部分。 流程对用户的输入非常灵活:例如,用户可以指定新的图元,使用注释模块和布局生成器。

自动注释网表

此步骤将输入网表的晶体管和无源器件分组成一组分层建筑块,并确定每个块布局的约束。 ALIGN 输入转换为图形表示 SPICE 网表。 其次,识别图形特征,创建电路层次结构。 如果将输入网表划分为子电路,则在识别过程中会使用此类信息 ALIGN 不计入网表层次结构。 相反,自动识别和注释层次结构。 需要注意的是,最好的布局层次有时可能与逻辑网表层次不同。 因此,ALIGN 可扁平化网表层结构,构建优质布局。 模拟设计师通常从大量变体中选择每个设计模块,例如,在教科书和研究论文之间,有超过 100 广泛使用的各种类型 OTA 拓扑(如伸缩式、折叠级联、米勒补偿)。 以前的方法是基于库(即将电路与预指定的模板匹配)[4] 或者基于知识(即使用一组编码规则确定块功能)[1],或者两者兼而有之 [12]。 基于图书馆的方法需要一个大型图书馆,而基于规则的方法必须得到详细的知识库的支持,这两者都难以构建和维护。 ALIGN 使用两种方法来注释电路块,都是基于使用图表来表示电路的连通性 基于ML 基于图遍历

提取设计规则

ALIGN 具体设计规则指导布局工具,确保设计规则的正确性。 在最近几代工艺中,设计规则的复杂性显著增加。 此前,我们已经提出努力构建通用抽象的流程规则(如[13])。 ALIGN 采用更有效的设计规则抽象机制 FEOL 和 BEOL 如图所示,在层中创建固定网格结构 4 所示。主网格(粗线)表示路线的中心线,而次网格(虚线)对应停靠点 对于功能。 网格结构和基本流程信息被抽象 JSON 文件。 对于 BEOL 层,包括: 我们的抽象允许不同的网格结构在层和层之间变化和使用的能力。 我们的方法将嵌入在设计规则手册中的数千条规则中的复杂条件简化为并通过选择网格来实施一些限制。 通过与手工设计的比较,发现地图质量降级最小或为零。 。 抽象使布局工具能够理解 PDK 功能,如规则和不规则宽度和间距网格(每层)、最小端到端间距设计规则(同轨金属之间)、最小长度设计规则和强制停止点网格 . 为方便起见,JSON 文件还编码了金属层和通孔各单位的寄生参数 为了促进进一步的布局研究,我们发布了它 1 条基于公共域信息 Mock PDK 抽象设计规则 14nm FinFET 节点 [14] 和 65nm 体节点 [15] 布局规则。 虽然它们不代表真正的技术,但它们是现实的。 设计验证这些 PDK 可自由共享上述工具,有助于软件开发过程。

约束生成 (识别约束 对称 匹配 共质心 )

生成两种类型的约束来指导布局: (1) 几何约束:当自动注释步骤识别已知块或数组结构时,它将几何要求与这些块相关,例如 约束。 例如,图 3 显示了 OTA 在布局过程中,必须遵守结构中的对称线。 自然提取这些约束作为自动注释的一部分。 基于模拟密集型的灵敏度分析 [16] 或基于图纸遍历与模板的准确匹配 [4] 与现有方法相比,ALIGN 方法 [9] 图遍历法与基于机器学习的方法相结合,计算效率高 ,分层嵌套的对称约束即使在近似匹配下也能找到。 (2) 电气约束:ALIGN 基于固定网表生成版图,。 因此,ALIGN 将电气约束转换为限制电路任何节点的最大寄生参数。 例如,电气约束可以转化为连接两个节点的导线电阻的最大限制,反过来又对应于对最大长度、平行金属轨道的数量和路径上的通孔数量的约束 连接这些节点。 此功能目前正在 ALIGN [10]、[11] 中实现,并且正在进行中。 基本思想是开发一个快速的 ML 推理引擎,该引擎在迭代布局器的内部循环中运行,并且对于每个布局器配置,确定其电气约束是否得到满足。 这些约束被传递到布局生成引擎,以指导所有层次结构级别的布局。

参数化基元布局生成 (重点)

ALIGN 为用户提供了一个预定义的可参数化基元库,如图 5 所示。每个基元由少量晶体管或无源单元组成; 然而,每个这样的单元可以由多个复制结构组成,例如多鳍/多指晶体管,或电阻/电容阵列。 原始单元布局遵循设计规则定义的网格化抽象,单元生成可以根据单元单元和单元单元的数量进行参数化,如图 6 所示。对于晶体管,单元单元可以参数化 FinFET 技术中的鳍片数量; 对于电容器,参数化可能对应于单位电容器的大小。 此外,原始布局可以通过其纵横比、布局样式()、栅极长度、单元中关键线的有效宽度等参数化。 识别基元和创建参数化布局的实用程序在于使 ALIGN 能够创建包含适当几何约束(例如对称或公共质心)的布局。 原则上,可以使用“晶体管海”构建布局,其中基元对应于单个晶体管,但这种方法在晶体管基元之外强制执行对称要求将具有挑战性。 用于原始布局生成的先前方法 [17]-[20] 通常不像 ALIGN 方法那样模块化或可扩展。

分层块组装

给定所有基元的布局和电路的分层块级结构,在自动注释期间提取,布局和布线步骤执行服从前面描述的几何和电气约束的分层块组装。 层次结构中的每个布局块可以有多个布局选项,每个模块生成不同的形状。 例如,可以通过纵横比对图元进行参数化,并且可以为其他块生成多个纵横比。 灵活的形状驱动类似于布局规划的布局算法,在约束生成步骤传递给它们的电气和几何约束下提供紧凑的布局。 路由集成到每个层级中,考虑到网络长度/寄生约束、屏蔽和对称性要求,并符合嵌入到 PDK 抽象中的设计规则。 的先前工作,并且可以处理一般几何约束,例如。 布线期间支持对称、屏蔽和电阻约束布线。

ALIGN 流程可以使用两个详细路由器之一: (a) 使用整数线性规划公式和 A* 算法的构造路由器; 这对于更稀疏的设计特别有效。 (b) 英特尔发布的基于 SAT 的详细路由器 1,非常适合拥塞设计。

目标

  1. 应用低频模拟块、有线电路、无线电路、供电电路
  2. 晶体管 -> 基本原语(差分对 电流镜) -> 模块
  3. 用于原始布局生成的先前方法 [17]-[20] 通常不像 ALIGN 方法那样模块化或可扩展
  4. 放置器基于使用序列对方法 [6]可以处理一般几何约束,例如
  5. 布线期间支持对称、屏蔽和电阻约束布线。

标签: 104金属化电容器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台