【virtuoso】INV 原理图+前仿真 + 版图 + 后仿真

2024-08-31 22:52

本文主要是介绍【virtuoso】INV 原理图+前仿真 + 版图 + 后仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

采用SMIC工艺,不同工艺版图窗口可能有差异

1. 原理图&前仿真

1.1 绘制原理图

PMOS: NMOS宽长比2:1

PMOS开启导通电阻大一点,这样设置,可以使得阈值电压是VDD/2

  • 按 i,可以插入器件
  • 按p,可以放置端口

1.2 创建symbol

create --> Cellview --> From Cellview

直接ok即可

pin脚位置可改可不改

然后,点击ok

直接保存即可,也可以修改pin脚位置,修改symbol形状

1.3 INV进行前仿真

 1.3.1 testbench设置

仿真如图所示:

  1. VDD=1.2
  2. SUB=0
  3. GND=0
  4. 输入脉冲信号:

 

1.3.2 仿真分析 tran分析

 

1.3.3 仿真结果

2. 版图layout

2.1 从原理图产生器件

在原理图中按住shift,然后点击pmos和nmos,选中器件,然后按照上图所示方法,layout自动生成器件模型

2.2 版图绘制

2.2.1 连接PMOS和NMOS的漏极 OUT(M1层)

在M1层绘制

在M1层把PMOS和NMOS的两个漏极连接起来

第一次画版图,可以把PMOS和NMOS的位置放置的远一点,这样间距大,DRC的时候,报错会少

  • 可以按r,绘制矩形
  • 或者按p,进行绘制

2.2.2 连接栅极 IN (M2 ;打孔)

由于OUT横向连接已经阻断了连接,所以在M2层进行连接

  • PMOS、NMOS连接:M2层
  • PMOS、NMOS打孔:GT-M1孔M1-M2孔

按o进行打孔

打孔之后,在GT层,记得填补成整体,要对齐


DRC的时候,M2层要求的线宽比M1层的线宽要大一点

M1层面积有要求,要是一个孔的面积不够,可以拉大一个M1层的矩形

2.2.3 保护环绘制

PMOS,三方的M1-NW孔,最后封口AA有源层和SN注入层,整体都在NW层,使用NW层进行包围

NMOS,三方的M1-SUB层最后封口AA有源层和SP注入层

  • PMOS保护环:M1-NW孔AA有源层封闭SN注入层整体NW层
  • NMOS保护环:M1-SUB孔AA有源层SP注入层

2.2.3.1 PMOS保护环
放置包围的M1-NW通孔

按o,放置M1-NW孔

第一次画,选择孔的个数的时候,可以多设置几个孔,这样可以离PMOS远一点,减少DRC报错几率

绘制AA层、SN层进行封口

绘制SN层要比AA层略大一点

整体包围在NW层

2.2.3.2 NMOS保护环
放置M1-SUB通孔

绘制AA层、SP层封口

2.2.4 源极引出VDD、GND

        PMOS源极穿过保护环引出,VDD,由于原理图PMOS的sub与源极是连在一起的,所以可以在M1层直接连出;

        NMOS源极穿过保护环引出,GND由于原理图NMOS的sub与源极的分开的,所以PMOS不能再M1层直接连出来,需要打孔到M2层,然后连出来

注:PMOS和NMOS的源极都在M1层

PMOS:M1层

NMOS:M2层、M1-M2孔

2.2.4.1 PMOS VDD引出

直接连出来即可

注意:保护环和源极,都显示VDD

2.2.4.2 NMOS GND引出
M1-M2层打孔

M2层引出

2.2.5 打上Label

按L,然后选择打label的层数,完成标签

如下图所示

 注意,使得十字在所选中的位置

  • IN:M2层
  • OUT:M1层
  • VDD:M1层
  • GND:M2层
  • SUB:M1层

2.3 DRC检测

2.3.1 设置DRC检测

 

设置好rules文件,然后点击运行

DRC文件为  .drc后缀

2.3.2 DRC运行结果

 DRC运行成功结果

选择 show not walved

不用修改的报错

需要修改的报错

2.4 LVS检测

2.4.1 LVS设置

 LVS检查没有错误

2.4.2 可能遇到的问题

input找不到目标文件,,没有网表文件

pwell没有接地

 

成功解决

 2.5 提取寄生参数PEX

运行速度可能有点慢

提取寄生参数成功

 

3. 后仿真

3.1 修改仿真环境参数方法(适用于简单电路)

schematic之间添加calibre的名字

 

3.2 config方法(适用于复杂电路)

 新建config文件

使用spectre模板

设置所需要的cell的仿真类型

 3.3 仿真结果

这篇关于【virtuoso】INV 原理图+前仿真 + 版图 + 后仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125223

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

Matlab simulink建模与仿真 第十章(模型扩展功能库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、模型扩展功能库中的模块概览         注:下面不会对Block Support Table模块进行介绍。 二、基于触发的和基于时间的线性化模块 1、Trigger-Based Linearization基于触发的线性化模块 (1)每次当模块受到触发时,都会调用linmod或者dlinmod函数

AMEsim和Simulink联合仿真生成新的.mexw64液压模型文件

AMEsim和Simulink进行联合仿真非常重要的就是AMEsim经过第四阶段Simulation会在相同文件下面生成一个与AMEsim液压模型相同名字的.mexw64文件,在Simulink进行联合仿真的S-Function需要找的也就是这个文件,只不过输入的时候除了液压模型名字之外,后面有一个短下划线。 简而言之: AMEsim和Simulink联合仿真, 首先是需要AMEsim软

【自动驾驶】控制算法(八)横向控制Ⅱ | Carsim 与 Matlab 联合仿真基本操作

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒 若您觉得内容有价值,还请评论告知一声,以便更多人受益。 转载请注明出处,尊重原创,从我做起。 👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜 在这里,您将

Matlab/Simulink和AMEsim联合仿真(以PSO-PID算法为例)

目录 安装软件和配置环境变量 Matlab/Simulink和AMEsim联合仿真详细流程 非常重要的一点 Simulink模型和AMEsim模型用S-Function建立连接 从AMEsim软件打开Matlab Matlab里的设置 Matlab的.m文件修改(对于PSO-PID算法) 运行程序 我印象中好像做过Matlab/Simulink和AMEsim联合仿真的分享似的

基于SA模拟退火算法的多车辆TSP问题求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述        基于SA模拟退火算法的多车辆TSP问题求解matlab仿真,三个车辆分别搜索其对应的最短路径,仿真后得到路线规划图和SA收敛曲线。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序运行后无水印)

modelsim仿真流程

modelsim仿真流程 1、建立工程 project new "../prj" test.mpf 2、添加rtl文件 project addfile "../test.v" verilog 3、建立仿真库 vlib work 4、编译rtl到仿真库中 vlog -sv -sv09compat +define+T133 +incdir+"../rtl" test.v -wo

Matlab simulink建模与仿真 第八章(数学运算库)【下】

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 六、圆整函数及最值函数模块 1、Rounding Function圆整函数模块 圆整函数模块的功能是将小数转换为整数,它提供了四种取整方式: ①floor:向下取整,输出距离输入小数在负无穷方向上最近的整数。 ②ceil:向上取整,输出距离输入小数在正无穷方向上最近的整数。 ③round:四舍五入,输出距