当前位置: 首页 > news >正文

Virtuoso使用layout绘制版图、使用Calibre验证DRC、LVS、PEX抽取RC

1 绘制版图

1.1 进入Layout XL

绘制好Schmatic后,在原理图界面点击Launch,点击Layout XL进入版图绘制界面。
在这里插入图片描述

1.2 导入元件

1、在Layout XL界面左下角找到Generate All from Source
在这里插入图片描述

2、在Generate Layout界面,选中“Instance”,另外两个选项“I/0 Pins”和“PR Boundary”可以不选,点击OK。
在这里插入图片描述

3、可以看到版图界面出现了元件边框,输入“Shift+F”显示元件所有层。

在这里插入图片描述

4、软件左侧为不同层,具体根据PDK手册进行区分。
顶部Valid、Used、Routing可以选择显示不同级别的层,一般点击Used就够用了。

在这里插入图片描述

1.3 绘制版图

这里不详细描述。

  • 左侧打开原理图界面,右侧打开版图界面,可以进行交叉选择,即选择原理图内的元件或导线,版图界面的元件或导线会高光显示。
  • 快捷键A为对齐操作,先点击要移动的元件,再点击参考元件。
  • 快捷键P为布线,会自动吸附,如果要绘制某一层,可以先选择界面左侧的图层。
  • 快捷键Q:先点击某个元件(一般为MOS管),然后按下Q,可以弹出元件属性,在Parameter中可以设置栅极、源极、漏极的连接方式。
  • 快捷键O:过孔(Via),连接不同层。(PMOS、NMOS的基极都需要使用过孔连接到POWER或GND,具体情况具体分析,一般是过孔和N阱区/元器件边缘对齐)
  • 一般需要将引脚通过过孔连接到顶层金属层,点击O后选择Stack就可以做一个直达的过孔,而不需要一层层叠起来。
    在这里插入图片描述
  • 快捷键L:标签,一般需要单独的层放置,直接叠在引脚上面,与引脚不接触的话可能LVS通过不了。
  • 快捷键K:测量两个点之间的距离。
  • Shift+G:添加Guard Ring,或者菜单栏点击Create->MPP Guard Ring。
  • 旋转、镜像操作的图标如下:
    在这里插入图片描述
  • 对齐操作的图标如下:
    在这里插入图片描述
  • 如果找不到:可以在Window->Toolbars内部寻找。
    在这里插入图片描述

本人绘制的反相器版图如下:

在这里插入图片描述

1.4 保存

在这里插入图片描述

2 Calibre DRC

1、点击Calibre->Run nmDRC。

在这里插入图片描述

2、第一次跑DRC一般没有Runset,设置好DRC参数后保存,这里就能用了。这里可以直接Cancel。

在这里插入图片描述

3、导入DRC规则文件:
DRC Rules File一般会放在PDK包的Calibre/DRC内,选择.drc文件。

DRC Run Directory需要新建一个文件夹,否则生成的许多小文件会填满你的文件夹,非常杂乱。
在这里插入图片描述
4、点击Run DRC,运行。

5、运行结束,查看result。
点击漏斗,Show Not Waived,查看设计规则违例的问题。
在这里插入图片描述
6、查找位置:选中一个违例,在界面下方可以查看违例原因;点击小太阳,即可在版图中查看违例位置。

在这里插入图片描述

一般来说,设计规则会有一个更详细的用户手册,设计师能在手册里看到图像化的设计规则。

找到违例后在版图中修改保存,然后继续运行DRC,不断消除错误。
如果是Density(密度)问题,查看问题报告和设计手册,可以添加Dummy管填充区域。

7、保存Runset。

3 Calibre LVS

1、在Layout界面,点击Calibre->Run nmLVS。

在这里插入图片描述

2、Rules添加LVS规则文件:
LVS Rules File一般在PDK库内,选择.lvs文件。
另外设置一个LVS Run Directory。
在这里插入图片描述

3、Input->Netlist中选择Export from schematic viewer,自动导入原理图中的网表。

在这里插入图片描述

4、进入LVS Options:

在这里插入图片描述

手动输入自己的电源网络和地网络。

在这里插入图片描述

5、运行:Run LVS。

如果在1.3绘制版图部分没有设置Label或Label没放置在引脚上(Label的十字准星与引脚无接触),一般会输出错误。
需要查看.lvs文件,寻找Text、TXT、Label所代表的层,一般不能用在drawing层,会有一个单独的层放置Label(我的是M6TXT)。

6、输出结果:
输出CORRECT的话,LVS通过;输出INCORRECT的话,仔细查看report,内部有错误信息。
在这里插入图片描述

4 Calibre PEX

使用PEX抽取RC之前需要进行LVS。

1、点击Calibre->Run PEX…

在这里插入图片描述

2、Rules添加.lvs的规则文件(跟上一节相同),不同的PDK设置可能不同,请自行查找对应解决方案。

#DEFINE RC_EXTRACT TRUE#DEFINE RC_EXTRACT_FLOW XRC#IFDEF RC_EXTRACT_FLOW XRC
include <rulefile_path>/rules.S		//不同工艺角RC的规则,部分会有加密文件
include <rulefile_path>/rules.C		//电容的规则
include <rulefile_path>/rules.R		//电阻的规则
#ENDIF
  • 部分较老版本的Calibre可能会无法解密文件,如果出现“Unable to initialize the decryption system”的问题,可以换一个Calibre试试。

Rules下设置PEX Run Directory到不同的目录下。

在这里插入图片描述

3、Inputs中Layout和Netlist都要选择“Export from layout/schematic viewer”。
H-Cells也要选择对应的LVS H-Cells file和导入PEX X-Cells file,一般会在rulefile相同的文件夹下。

在这里插入图片描述

4、Outputs
选择抽取模式为“xRC”,抽取等级为“Gate Level”,电阻电容为“R+C+CC”或者“RCC”(不同版本显示不同),电感可以设置为“No Inductance”。
PEX Netlist设置:
Netlist Format设置为:“Spectre”或“Hspice”,这里设置类型取决于你用什么仿真器仿真。
Use Names From可以设置为“Layout Names”。

在这里插入图片描述
选择“Generate Calibre Connectivity Interface data”。
在这里插入图片描述
5、Run PEX。如果没有错误的话,进入下一步。

6、Start RVE。
运行没问题的话,点击Tools->Export CalibreView…导出数据。
在这里插入图片描述
在弹出的界面“Export Calibre View”,点击OK。
在这里插入图片描述

在“Calibre View Setup”上设置一下,点击“OK”。
在这里插入图片描述

然后会弹出“Calibre Info”。

在这里插入图片描述
此时在“Library Manager”相关Cell中查看View就可以看到添加的Calibre视图。

在这里插入图片描述

5 后仿真

6 问题集锦

以下记录本人使用虚拟机运行Virtuoso碰到的问题。

6.1 无法使用ADE仿真

运行ADE仿真时遇到如下错误:

ERROR (ADE-3023): Cannot run simulations because the spectre executable is not found in the specified 'UNIX $PATH' setting.Perform the following steps to specify the simulator executable path:1.Download and install the required tool version from http://downloads.cadence.com:-    For analog simulations, download and install MMSIM-    For AMS simulations, download and install INCISIVE2.After the installation is complete, set the tool installation path in your $PATH as below:set path= $<MMSIM_INSTALLATION_PATH>/bin/<INCISIVE_INSTALLATION_PATH>/tools/bin:$<IC_INSTALLATION_PATH>/tools/binpath

一般原因是MMSIM安装位置没有加入环境变量或者没有安装MMSIM。

解决方法为在网上找MMSIM的安装包、然后添加环境变量。

.bashrc配置一般较为不同,可以参考如下代码:

export MMSIM_HOME=/usr/Cadence/MMSIM151
export PATH=$PATH:$MMSIM_HOME/bin:$MMSIM_HOME/tools/spectre/bin

部分patch、license和bashrc参考如下:
链接:https://pan.baidu.com/s/1sHQ3H1WiIB-TBijhACo7dw?pwd=v0d3 提取码:v0d3

参考文章如下:
https://blog.csdn.net/weiwei_xiaoyu/article/details/130798333
https://blog.csdn.net/qq_24941989/article/details/134758825
https://zhuanlan.zhihu.com/p/343288844


http://www.mrgr.cn/news/63622.html

相关文章:

  • css, 文字超出用省略号,包含单行文本省略号,多行文本省略号
  • 【网络】传输层协议TCP(中)
  • (七)JavaWeb后端开发1——Maven
  • 【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引
  • 【JS学习】04. JS基础语法-函数
  • 轻型民用无人驾驶航空器安全操控理论培训知识总结-多旋翼部分
  • 2024/11/1 数据结构大题打卡
  • Kafka日志记录
  • 深入解析C/C++中的__attribute__((packed)):内存对齐与紧打包技术
  • opencv学习笔记(6):图像预处理(直方图、图像去噪)
  • js的小知识
  • 《AI从0到0.5》之提示工程
  • python代码实现了一个二维粒子系统的模拟,模拟粒子在离散空间中的随机运动和相互作用
  • Apple iap2协议栈在蓝牙中的移植及MFi认证的实现
  • 分账系统对电商多重要,为何电商平台都选择分账系统?
  • 【数据结构】数组和向量
  • 5G三大应用场景中的URLLC
  • 推荐一款功能强大的媒体播放管理:Zoom Player MAX
  • Python数字类型在“用户信息管理“项目中的应用
  • vue3项目中el-tooltip实现内容溢出时再显示,并设置tip的最大宽度
  • 每个软件开发人员都应该知道的 9 个定律
  • 【Linux内核大揭秘】程序地址空间
  • Cpp二叉搜索树的讲解与实现(21)
  • Node.js:Express 服务 路由
  • 干货速学,带你一文读懂嵌入式领域!
  • leetcode 2710 移除字符串中的尾随零