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

news2024/11/13 13:00:50

采用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 仿真结果

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

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

相关文章

AXIS接口教程

免责声明: 本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济…

Unity3D安卓游戏第三方SDK接入

PS:持续更新... 什么是SDK? SDK(Software Development Kit,软件开发工具包)是一个用于构建应用程序的工具集,包含开发特定软件的必要工具、库、文档和示例代码。SDK通常由软件或硬件厂商提供,帮…

MySQL高阶练习题1- 寻找面试候选人

目录 题目 准备数据 分析数据 实现代码 总结 题目 返回 所有面试候选人 的姓名 name 和邮件 mail 。当用户满足以下两个要求中的 任意一条 ,其成为 面试候选人 : 该用户在 连续三场及更多 比赛中赢得 任意 奖牌。该用户在 三场及更多不同的 比赛中赢得 金牌&…

Linux——用户和权限

root用户(超级管理员) root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。 ****************** 使用普通用户在根目录下创建文件夹 切换到root用户后,继续尝试 普通用户的权限,一般在其HOME目录…

【linxu】虚拟环境中Python 版本错乱:深入探究 Linux 虚拟环境的识别问题

【linxu】虚拟环境中Python 版本错乱:深入探究 Linux 虚拟环境的识别问题 问题描述:在服务器上,我配置了一个虚拟环境,明确指定使用 Python 3.8 版本。然而,当我激活该环境并检查 Python 版本时,意外地发现…

IO练习--随机点名

随机点名器1 需求: 有一个文件里面存储了班级同学的信息,每一个信息占一行。 格式为:张三-男-23 要求通过程序实现随机点名器。 运行效果: 第一次运行程序:随机同学姓名1(只显示名字) 第二次运行程序:随机同学姓名2(只显示名字) 第三次运行程序:随机同学姓名3(只显…

数学建模强化宝典(2)linprog

一、介绍 linprog 是 MATLAB 中用于解决线性规划问题的函数。线性规划是一种优化方法,它尝试在满足一组线性等式或不等式约束的条件下,找到一个线性目标函数的最大值或最小值。linprog 函数适用于求解形如以下问题的线性规划问题: minimizecT…

Native开发与逆向第六篇 -字符串加密与hook

开发demo 写一个简单的字符串加密处理&#xff0c;将字符串字符转成ASCII十六进制值 std::string StrToHex(std::string str){unsigned char c;char buf[3];std::string result "";std::stringstream ss;ss << str;while (ss.read((char *)(&c), sizeof…

Python数据类型转换背后的逻辑

文末赠免费精品编程资料~~ 今天让我们深入浅出地探索Python数据类型转换的奥秘。Python&#xff0c;作为一门灵活的编程语言&#xff0c;其强大的数据类型转换能力是日常编码中不可或缺的一部分。今天&#xff0c;我们将一步步揭开类型转换背后的逻辑&#xff0c;让你从新手进…

【wsl2】从C盘迁移到G盘

参考大神 C盘的ubuntu22.04 非常大&#xff0c;高达30g 迁移后就只有几百M了&#xff1a; 右键有一个move没有敢尝试 迁移过程 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improveme…

HCCL集合通信算法开发Hello World示例(超详细)

本文给读者介绍了HCCL算法开发所涉及的概念和流程&#xff0c;并通过一个样例将前文介绍的内容串联起来。本文定位为HCCL算法开发的入门介绍&#xff0c;读者读完后&#xff0c;可结合HCCL开放代码仓中的算法样例&#xff0c;做深入研究。 1 什么是集合通信 集合通信定义了一…

Http的get请求中的URL中的占位符参数和查询参数有什么区别

Http的GET请求中的URL中的占位符参数和查询参数在功能、位置和用途上存在明显的区别。 占位符参数&#xff08;Path Variables&#xff09; 定义与位置&#xff1a;占位符参数是通过URL模板中的{}定义的&#xff0c;它们位于URL的路径&#xff08;path&#xff09;部分。例如…

C#文件的输入和输出

一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合.当打开文件进行读写时,它变成一个流.从根本上说,流是通过通信路径传递的字节序列.有两个主要的流:输入流和输出流.输入流用于从文件读取数据,输出流用于向文件写入数据. C#I/O类 System.IO命名空间有各种不同的类…

带权重的随机算法

假设有10名学生&#xff0c;其中5个男生&#xff0c;5个女生。 要求点到男生的概率为70%&#xff0c;女生的概率为30%。 给男生和女生设置权重&#xff0c;其中男生权重为7&#xff0c;女生权重为3。 public class Test02_case2 {public static void main(String[] args) th…

Expected expression after operator

这个错误直译过来就是:运算符号后没有预期的表达式 这个错误通常出现在编程语言中&#xff0c;尤其是在编写C或C等类型语言的时候&#xff0c;它意味着在源代码中遇到了一个操作符&#xff08;比如 , -, *, /, , 等等&#xff09;&#xff0c;但在该操作符后面没有紧跟相应的表…

【最新华为OD机试E卷】最大利润-贪心的商人(100分)-多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…

Dolphinscheduler 3.2.0版本参数传递并使用switch任务进行判断

原文阅读&#xff1a;【巨人肩膀社区博客分享】3.2.0版本参数传递并使用switch任务进行判断 目标&#xff1a;根据日期判断执行哪项子任务 &#xfeff; 调度器版本&#xff1a;3.2.0 在这个版本中官方支持的参数传递任务类型有6中&#xff0c;分别为shell,sql,procedure,py…

网络压缩之网络剪枝(network pruning)

网络剪枝&#xff08;network pruning&#xff09;就是要把网络里面的一些参数剪掉。剪枝就是修剪的意思&#xff0c;把网络里面的一些参数剪掉。为什么可以把网络里面的一些参数剪 掉呢&#xff1f;这么大的网络里面有很多很多的参数&#xff0c;每一个参数不一定都有在做事。…

AcWing 897. 最长公共子序列

动态规划就是多见识应用题就完事儿了&#xff0c;也没有什么好说的。 讲解参考&#xff1a; 【E05 线性DP 最长公共子序列】 #include<iostream> #include<algorithm> #define N 1010 using namespace std; char a[N],b[N]; int n,m; int f[N][N]; int main(){…

欧拉 函数

互质&#xff1a; 互质是公约数只有1的两个整数&#xff0c;叫做互质整数。公约数只有1的两个自然数&#xff0c;叫做互质自然数&#xff0c;后者是前者特殊情况。 &#xff08;1和-1与所有整数互质&#xff0c;而且它们是唯一与0互质的整数&#xff09; 互质的判断方法&…