放大器版图绘制全流程

  • 版图的构成主要分为四部分。对于一般的电路来说,重点关注前三部分
  • 第一部分是电路中所对应的mos管电容电阻这些基本器件,一般都是由工艺产商提供标准的元件版图,这部分是我们不需要太关心的。
  • 第二部分是对器件进行连线
  • 第三部分是衬底的连接,这些器件都是在一个衬底或者阱上的。对于CMOS工艺中,一般是采用P型作为衬底的。
  • 第四部分,由于这个版图需要与外界进行接触,为了保护这些芯片不受外界环境的影响,比如被击穿了,我们需要加上相应的ESD,pad IO相应的组成部分去构成。

1. 器件位置初步摆放

  • 首先,在原理图中打开Layout XL
    在这里插入图片描述
  • 在弹出的版图窗口中,先按e键,把网格点改成跟工艺库所要求的大小,设置为0.005um
    在这里插入图片描述
  • 从原理图中自动生成版图
    在这里插入图片描述
  • 取消pr boundary
    在这里插入图片描述
  • 然后在IO Pin中,选中所有的网络,然后将其pin引脚层设置为Metal 1 pin层,然后点击右侧的APPLY应用,这时候所有的pin脚都被修改为metal 1pin了。
    在这里插入图片描述
  • 然后pin 的label,全部设置为保持和pin名字一致
    在这里插入图片描述
  • 然后就把原理图的所有器件都进行导入了。
  • 导入完成以后,我们需要对导入版图的子模块进行布局,主要根据原理图大致连线的走线。
  • 这里点击单独选中器件,这五个管子是从下 往上的流向
    在这里插入图片描述
  • 我们在版图界面中,按住M键,按照其流向进行粗略的放置
    在这里插入图片描述
  • 这样就完成了粗略的布局了
    在这里插入图片描述

2. 添加Dummy管

  • 还需要在管子的周围加上dummy管,已达到更好的匹配性
  • 创建dummy管常用的方式是在原理图中,新建一个mos管,四端同时接地
  • 每个nmos管子左右两端都要加上dummy管子
    在这里插入图片描述
  • 将dummy的数量(multiplier)设置为4
  • 其沟道长度可以设置为与源器件保持一致,但这样会占用很大的芯片面积。
  • 第二种是将其沟道长度设置为1um这些比较短的,足够实现其功能的即可
    在这里插入图片描述
  • 对于这两个输入nmos晶体管,由于其相对于底下的nmos横向长度要少很多,因此其dummy管的沟道长度可以设置为跟其一样长。这样整体设计出来的版图就是长方形
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 接下来是上面四个晶体管,由于其横向长度较长,因此其dummy不能设置成与其原来一样的。
    在这里插入图片描述
    在这里插入图片描述

  • 这里将其沟道长度设置为1um
    在这里插入图片描述

  • 由于这些管子是P管,所以对应的dummy管子也是p管,需要连接到VDD

  • 为了容易区分,将这些Dummy管的名称都改为NM1_Dummy
    在这里插入图片描述

  • 在原理图中添加完Dummy管后,需要将其加入到版图layout中

  • 选中这几个Dummy管,然后切换到layout窗口

  • 这时候不能再点击All from source,因为其是将原理图中所有元件都导入进来,包括原有的连接关系,都会重新进行生成

  • 现在只需要将这几个选择的dummy管添加进来即可
    在这里插入图片描述

  • 然后就发现这几个dummy管就会被添加进来
    在这里插入图片描述

  • 然后将这些dummy管放置在两端
    在这里插入图片描述

  • 现在摆放是比较随意的,为了更好的匹配性,希望这些摆放更加均匀。

  • 我们可以使用对齐或者组合功能实现整理。

  • 这里需要调出对齐的按钮,右键灰色菜单栏,选择Align
    在这里插入图片描述

  • 第一个勾是对齐方向的横向间距,第二个勾是对齐方向的纵向间距
    在这里插入图片描述
    在这里插入图片描述

  • 但是这个间距是指有源区的距离
    在这里插入图片描述

3. 器件的金属连接

  • 在完成器件的摆放后,就需要去做器件之间的金属连接了。

  • 连接顺序可以是从下到上,也可以是从下到上,看个人的需求。或者可以从核心模块,比如输入对管进行连接,然后再去完成其他模块的连接。

  • 这里我们主要采用从下到上的连接顺序。

  • 首先我们要把mos管的栅极,通过栅极到金属的通孔引出来。因为如果直接通过poly去进行连接mos管的栅极话,由于poly的自身的阻抗会比较高,可能会对电路的性能造成一定的影响。

  • 由于前面将mos管进行组合了,所以这里为了方便,我们可以点击暂时隐藏组合,这样就可以选中单击内部的晶体管了,而且还是保留原有组合逻辑的。
    在这里插入图片描述

  • 然后按住键盘o键,通过poly到M1的通孔引到金属1层。
    在这里插入图片描述

  • 然后将通孔和mos管进行对齐
    在这里插入图片描述

  • 然后对这个mos进行衬底的包围,并添加guardring

  • guardring有不同的类型

  • 一种方式是当所有子模块版图连接完成后,再最外层添加Guardring

  • 另一种是对每个同类型的器件,都在其周围加一个小的guardring,一方面是可以防止噪声,珊锁效应,另一方面可以作为衬底连接GND或者VSS上

  • 这里我们选中整个nmos管子及其dummy管,再按住键盘g键,加入guardring,由于这里是n管,是接在p-sub上,所以这里选择p-guardring,间距0.3,长方形
    在这里插入图片描述

  • 然后进行管子的电气连接,可以看到M101管子漏极向上与两个输入管的源极进行连接的
    在这里插入图片描述

  • 因此我们需要在版图中找到mos管的漏极

  • 由于这里采用的是每个晶体管外加一层Guardring,所以我们需要使用到高层金属进行连接。

  • 对高层金属的走线,我们会定义好,偶数层金属为横着走线,奇数层金属为竖着走线。这样连线的好处是后期走线是不会打架的,防止有短路的风险
    在这里插入图片描述

  • 由于我们已经定义好了奇数层走竖,所以创建一个M1-M3的通孔,然后对其这个nmos管的漏极
    在这里插入图片描述
    在这里插入图片描述

  • 然后用M3金属走线引出来,并将其宽度改成与通孔大小一致,按住F3键修改走线属性
    在这里插入图片描述
    在这里插入图片描述

  • 而对于其源极,连接到衬底上就好了
    在这里插入图片描述

  • 然后对输入管子进行连接
    布局的小优化

  • 这里进行一个小小的优化布局,如果对于这种电阻型的mos管,每边都是两个管子并联的,那么对应于版图上,其如果按照原理图上摆放位置就是AABB形式摆放
    在这里插入图片描述

  • 但是这样摆放的匹配性会不太好,因为对于左边两个A管,其重心/质心是比较偏左的,而右边的两个B管中心是偏右的,
    在这里插入图片描述

  • 这时候我们可以调整摆放的顺序,将其变为ABAB摆放顺序形式
    在这里插入图片描述

  • 或者可以采用交叉耦合的形式,但是这样的话走线可能会相对比较麻烦一些

  • 这样无论怎么看,质心都是在中心点的

  • 具体说明的文章如下
    为改善电路性能在版图设计中应该考量到的内容
    在这里插入图片描述

  • 对于输入端的两个管子,栅极接到信号的两个输入端。

  • 这里我们按住o键,创建通孔
    在这里插入图片描述

  • 然后将通孔对其
    在这里插入图片描述

  • 然后对同一行相同晶体管尺寸都同时加上通孔,由于他们尺寸对称位置相同,我们可以进行阵列复制,测量出他们相隔的mos距离为4.96um,所以

在这里插入图片描述
在这里插入图片描述

  • 由于这里需要进行横着连线,所以需要打一个M1-M2的通孔,并与mos管进行对齐,在M2层进行金属连线
    在这里插入图片描述

  • 然后进行阵列复制
    在这里插入图片描述

  • 将连线的线宽改为0.38,与通孔大小保持一致
    在这里插入图片描述

  • 将引线分别引到左右两端
    在这里插入图片描述

  • 然后在外围加入P-Guarding
    在这里插入图片描述

  • 然后将下面晶体管的漏极引线与中间层的晶体管端口进行连接

  • 由于这里是竖着走线的,因此采用M3金属层,走线宽度为0.5
    在这里插入图片描述

  • 然后再中间层的mos管添加通孔和引线连接到这个网络中
    在这里插入图片描述

  • 这里创建的stack,将M1-M3通孔拆分为了两部分,为M1-M2和M2-M3,因此我们需要将这两部分先进行组合,
    在这里插入图片描述
    在这里插入图片描述

  • 然后通过M3金属层走线往下连,与网络走线相连
    在这里插入图片描述

  • 然后加入M2-M3通孔进行连接
    在这里插入图片描述

  • 将通孔复制到管子另一端
    在这里插入图片描述

  • 由于这一行的管子尺寸大小都类似,所以直接复制过去
    在这里插入图片描述

  • 在连接处都加入通孔,这样输入管的源极就和漏极连接在一起了
    在这里插入图片描述

  • 然后将底下的nmos的栅端引出来,创建M1-M2通孔,注意要与mos管居中对齐
    在这里插入图片描述

  • 然后连线引出,1.38um
    在这里插入图片描述

  • 然后我们回到原理图,把和pin脚相连相关的都打开
    在这里插入图片描述
    在这里插入图片描述

  • 然后在版图中,把pin脚拉过来

  • 这些pin脚不显示名称是因为还需要create pin

  • 然后Apply之后就能显示出来了
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 然后修改pin名字所在的层,由于这里的引线都是M2层,所以选择M2 pin层
    在这里插入图片描述
    在这里插入图片描述

  • 然后连接输入级晶体管的漏极网络端口

  • 先造两条连接主路径M2层
    在这里插入图片描述

  • 然后晶体管漏端通过M3层走线往上走
    在这里插入图片描述

  • 在连接处加入过孔
    在这里插入图片描述

  • 同理复制到另一端
    在这里插入图片描述

  • 对于上面是P管,同样建立通孔
    在这里插入图片描述

  • 由于它们是P管,所以它们是建立在N-well里面的,guardring要选择N型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 然后再画上面n管
    在这里插入图片描述

  • 由于是n管,所以用p型guarding,并把栅极引出去
    在这里插入图片描述

  • 对于源极和漏极,通孔最少使用两个,这样即使一个没连上,另一个也能连上
    在这里插入图片描述
    在这里插入图片描述

  • 对于电容连接,在原理图中上极板是跟电源相连的
    在这里插入图片描述

  • 在版图中,电容上极板对应M6层,由于其面积比较大,将其线宽设置为6um
    在这里插入图片描述

  • 然后再设置M3-M6的通孔
    在这里插入图片描述
    在这里插入图片描述

  • 加入pin名字
    在这里插入图片描述

  • 接下来就是dummy管和衬底的连接,由于它们都是VDD和GND,连接比较方便

  • 设置M1-POLY的通孔
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 这里可以进行加粗连接到下面
    在这里插入图片描述

走线宽度的考量

  • 对于不同总线的宽度(有些是0.5,有些是0.38),主要基于两方面的考量
  • 一方面是这个连线可以走多远,如果走线越长,则阻抗越大,相对应与宽度也要选择越大来去减小阻抗。
  • 另一方面是走线会经过多大的电流,一般电流越大,走线的宽度也需要越大,避免IR的电压压降的存在。
    在这里插入图片描述
  • 现在每个管子的衬底都连接好了,接下来是相同衬底之间的连接
    在这里插入图片描述
  • 由于这里引出线都是VB
    在这里插入图片描述
  • 打个M2-M3的通孔2*2
    在这里插入图片描述
  • 走0.5um的线
    在这里插入图片描述
  • 然后将OS guarding层全部进行连接,直接走M1的线上去,可以直接与VB的走线重合。
  • 因为VBN到VSS之间寄生电容反而是有利于PSR的
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 然后电容下极板是要接VSS地的
    在这里插入图片描述
  • 然后再来M1-M5的通孔
    在这里插入图片描述
    在这里插入图片描述
  • 现在应该已经连完了,开启未完成连线查看有没有高亮的飞线存在
    在这里插入图片描述
  • 可以看到是没有未完成飞线的
    在这里插入图片描述
  • 接下来就是开始进行DRC验证了
    在这里插入图片描述
  • 点击这里添加DRC验证文件
  • 第二个文件是放置DRC验证的生成文件位置
    在这里插入图片描述
  • 然后点击Run DRC
  • 然后会弹出错误窗口
  • 如果只想查看错误的话,点击Filter,选择只展示未解决的错误
    在这里插入图片描述
    在这里插入图片描述
  • 第一个错误显示NWS.1
    不同n-well间距小于1.4
    在这里插入图片描述
  • 对于错误的名称,我们可以进行复制,然后在design rule文件里面查看具体错误的细节
    在这里插入图片描述
  • 这个错误表示两个扩散区的间距太窄了,P到P区最小要到0.28
    在这里插入图片描述

在这里插入图片描述

  • 可以发现这个Psub确实小于1.4
    在这里插入图片描述

  • 然后我们仔细观察一下,因为这个地方是P管,都是接在一个衬底上的,所以我们可以使用很大的n-well把所有的p-sub给包围起来,去解决这个错误
    在这里插入图片描述

  • 剩余一些金属面积错误,可以不用去管
    在这里插入图片描述

  • 然后进行LVS检查
    在这里插入图片描述

  • LVS验证要勾选上网表查看
    在这里插入图片描述

  • 然后输入电源和地的网络名称,帮助识别
    在这里插入图片描述

  • 然后就可以Run LVS了

  • 出现下面的标志标识LVS通过了
    在这里插入图片描述

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

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

相关文章

我谈概率论与数理统计的知识体系

学习概率统计二十多年后,在廖老师的指导下,厘清了各章之间的关系。本来就是一条线两个分支,脉络很清晰。 分支一:从随机现象到样本空间到随机事件再到概率。 从随机事件到随机变量:为了进行定量的数学处理&#xff0…

群晖Cloud Sync如何实现一键同步备份让数据更安全高效

文章目录 前言1. 群晖NAS安装Cloud Sync1.1 安装和配置 Cloud Sync 2. 功能演示3. 群晖安装cpolar内网穿透3.1 配置Cloud Sync公网访问地址 4. 配置固定公网地址 前言 在数字化时代,数据的管理和备份成为了我们日常生活中的一个关键任务。无论是个人还是企业&#…

探索Linux中的进程控制:从启动到退出的背后原理

个人主页:chian-ocean 文章专栏-Linux 前言: 进程控制是操作系统对进程的创建、运行、调度、中止等活动进行管理和协调的行为。它是操作系统中至关重要的一部分,保证多任务处理环境下的资源分配和系统稳定性。 进程创建 fork( ) fork() 调…

密码无关认证:金融机构如何解决密码问题

密码安全问题,依然是金融行业面临的重大挑战。尽管密码简单易用,但许多金融机构仍然依赖这种方式进行身份认证。幸运的是,随着技术的发展,密码无关认证已经成为一种更加安全、便捷的选择,它能够为数字银行带来更好的用…

HarmonyOS基于ArkTS卡片服务

卡片服务 前言 Form Kit(卡片开发框架)提供了一种在桌面、锁屏等系统入口嵌入显示应用信息的开发框架和API,可以将应用内用户关注的重要信息或常用操作抽取到服务卡片(以下简称“卡片”)上,通过将卡片添加…

运算放大器应用电路设计笔记(六)

6.1输出失调电压发生的原因与计算 6.1.1用噪声增益进行评价 若运算放大器两个输入端接地,则理想运放输出为零,但实际的运放输出不为零,有一定的直流输出电压。这种直流电压称为输出失调电压。发生的原因是,运算放大器内部元件尤…

【Vim Masterclass 笔记25】S10L45:Vim 多窗口的常用操作方法及相关注意事项

文章目录 S10L45 Working with Multiple Windows1 水平分割窗口2 在水平分割的新窗口中显示其它文件内容3 垂直分割窗口4 窗口的关闭5 在同一窗口水平拆分出多个窗口6 关闭其余窗口7 让四个文件呈田字形排列8 光标在多窗口中的定位9 调节子窗口的尺寸大小10 变换子窗口的位置11…

【算法】经典博弈论问题——巴什博弈 python

目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…

电脑如何访问手机文件?

手机和电脑已经深深融入了我们的日常生活,无时无刻不在为我们提供服务。除了电脑远程操控电脑外,我们还可以在电脑上轻松地访问Android或iPhone手机上的文件。那么,如何使用电脑远程访问手机上的文件呢? 如何使用电脑访问手机文件…

CTF随题思路—简单的base编码

打开是一大段base64编码,多次解码后再用base92解码

顺序表和链表(详解)

线性表 线性表( linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。…

vxe-table和element表尾合计行

1、vxe-table vxe-table的表尾合计&#xff0c;需要show-footer和footer-method搭配使用。 <vxe-table:data"tableData"ref"vxeRef"border resizable :footer-method"footerMethod":show-footer"true" >…

Grafana系列之Dashboard:新增仪表板、新增变量、过滤变量、变量查询、导入仪表板、变量联动、Grafana Alert

概述 关于Prometheus和Grafana的安装&#xff0c;略过。 写在前面 Dashboard&#xff1a;仪表板&#xff0c;可包含多个PanelPanel&#xff1a;面板&#xff0c;Dashboard中的组件 如有写得不对的地方&#xff0c;烦请指出。 新增仪表板 点击右上角的 选择New dashboard…

使用 Ansys Discovery 对离心风机进行仿真

了解设置模拟并获得有用结果的步骤。 离心风机&#xff1a;基础知识和重要性 离心风机&#xff0c;也称为径流式风机&#xff0c;是旨在通过将动能转化为势能来增加空气或气体的压力和流量的机械装置。它们的工作原理是利用旋转叶轮产生的离心力轴向吸入空气&#xff0c;然后…

客户案例:向导ERP与金蝶云星空集成方案

一、客户背景 该客户公司主要致力于黄金、铂金、金镶玉首饰的研发设计、生产加工、批发及直营加盟业务。公司总部占地面积目前已达6000多平方米&#xff0c;拥有标准生产厂房和现代化生产设施&#xff0c;拥有一支完善的企业管理团队和专业技工队伍。 该企业目前同时采用向导 E…

机器学习-K近邻算法

文章目录 一. 数据集介绍Iris plants dataset 二. 代码三. k值的选择 一. 数据集介绍 鸢尾花数据集 鸢尾花Iris Dataset数据集是机器学习领域经典数据集&#xff0c;鸢尾花数据集包含了150条鸢尾花信息&#xff0c;每50条取自三个鸢尾花中之一&#xff1a;Versicolour、Setosa…

【豆包MarsCode蛇年编程大作战】花样贪吃蛇

目录 引言 展示效果 prompt提示信息 第一次提示&#xff08;实现基本功能&#xff09; 初次实现效果 第二次提示&#xff08;美化UI&#xff09; 第一次美化后的效果 第二次美化后的效果 代码展示 实现在线体验链接 码上掘金使用教程 体验地址&#xff1a; 花样贪吃蛇…

小白爬虫——selenium入门超详细教程

目录 一、selenium简介 二、环境安装 2.1、安装Selenium 2.2、浏览器驱动安装 三、基本操作 3.1、对页面进行操作 3.1.1、初始化webdriver 3.1.2、打开网页 3.1.3、页面操作 3.1.4、页面数据提取 3.1.5、关闭页面 ?3.1.6、综合小案例 3.2、对页面元素进行操作 3…

U3D的.Net学习

Mono&#xff1a;这是 Unity 最初采用的方式&#xff0c;它将 C# 代码编译为中间语言 (IL)&#xff0c;然后在目标平台上使用虚拟机 (VM) 将其转换为本地机器码执行。 IL2CPP&#xff1a;这是一种较新的方法&#xff0c;它会将 C# 代码先编译为 C 代码&#xff0c;再由 C 编译器…

Java集合学习:HashMap的原理

一、HashMap里的Hash是什么&#xff1f; 首先&#xff0c;我们先要搞清楚HashMap里的的Hash是啥意思。 当我们在编程过程中&#xff0c;往往需要对线性表进行查找操作。 在顺序表中查找时&#xff0c;需要从表头开始&#xff0c;依次遍历比较a[i]与key的值是否相等&#xff…