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 INCISIVE
        2.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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序服务通知

项目中用到了小程序的服务消息通知&#xff0c;通知订单状态信息&#xff0c;下边就是整理的一下代码&#xff0c;放到项目中&#xff0c;把项目的小程序appid和小程序的secret写进去&#xff0c;直接运行即可 提前申请好小程序服务信息通知短信模板&#xff0c;代码需要用到模…

QT(图表)

目录 QChart的继承关系 基本组件和概念 常见图表类型及其系列类 常用的图表配置 一、折线图示例 二、柱状图示例 三、饼图示例 四、类波形图&#xff08;折线图&#xff09;示例 QChart 模块提供了直观的图表绘制接口&#xff0c;支持创建各种常见的图表类型&#xff0…

day13:FTP服务

一&#xff0c;FTP概述 概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是用于在计算机之间传输文件的协议。它工作在网络的应用层&#xff0c;通过 TCP 协议进行数据传输&#xff0c;默认端口号为 21&#xff08;命令端口&#xff0c;另外…

2024年末Meme币市场分析:最后两个月的走势预测

进入2024年最后的两个月&#xff0c;Meme币市场正面临复杂的内外部环境&#xff0c;行情波动增大&#xff0c;许多投资者希望对年底走势做出预测&#xff0c;以便更好地调整投资策略。在这篇文章中&#xff0c;我们将从市场情绪、监管政策、技术创新和宏观经济等几个关键因素出…

ssm+vue657基于spring和vue开发的web新闻流媒体平台

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

家电智能屏方案新选择,乐鑫SoC高集成触控语音控制,启明云端乐鑫代理商

随着科技的飞速发展&#xff0c;智能家居系统正逐渐成为现代生活的一部分。在这一变革中&#xff0c;LCD屏幕作为人机交互的核心界面&#xff0c;扮演着至关重要的角色。 它们不仅提供实时信息的展示&#xff0c;还支持丰富的交互式体验&#xff0c;使得家庭管理变得更加直观和…

ceph补充介绍

SDS-ceph ceph介绍 crushmap 1、crush算法通过计算数据存储位置来确定如何存储和检索&#xff0c;授权客户端直接连接osd 2、对象通过算法被切分成数据片&#xff0c;分布在不同的osd上 3、提供很多种的bucket&#xff0c;最小的节点是osd # 结构 osd (or device) host #主…

(六)Python结构数据类型

一、集合类型&#xff08;Sets&#xff09; Sets&#xff08;集合&#xff09;是一个无序不重复的元素集。主要功能是自动清除重复的元素。创建集合时使用大括号{}包含其中元素。 Food{西瓜,南瓜,冬瓜,北瓜} print(Food) 输出结果&#xff1a; 增加重复元素&#xff0c;则会…

补齐:相交链表:扣160

梦重新开始的地方 – 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。图示两个链表在节点 c1 开始相交&#xff1a; 示例&#xff1a; 何解&#xff1f; 暴力&…

消息队列-Rabbitmq(消息发送,消息接收)

将来我们开发业务功能的时候&#xff0c;肯定不会在控制台收发消息&#xff0c;而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议&#xff0c;因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息&#xff0c;都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不…

BUUCTF re Youngter-drive

传送门&#xff1a;BUUCTF在线评测 先梳理一下这题要用到的知识点 1&#xff1a;upx的查壳与脱壳&#xff08;老朋友了&#xff0c;就不多讲了&#xff0c;可以去下面看原理&#xff09; 2&#xff1a;多线程和ida平衡堆栈 &#xff08;第一次遇到有点难懂&#xff09; 可以…

网络安全入门文档-虚拟机配置篇

前言 虚拟机作为网络安全渗透测试中常见的工具。通常被用来安装kali系统 简单解释一下&#xff0c;目前操作系统分为三类 windows、linux、mac linux又有两个小类&#xff0c;分别是RedHat、Debian 而我们要安装的kali就是基于Debian的操作系统。 简单来说。虚拟机和系统是两个…

直流稳压电源设计

一、设计任务和基本要求&#xff1a; &#xff08;1&#xff09;设计集成直流稳压电源电路。 &#xff08;2&#xff09;输出直流电压5V。 &#xff08;3&#xff09;画出逻辑电路图&#xff0c;对电路进行仿真验证&#xff0c;写出总结报告。 图 1 系统组成框图 二、进度安排…

华为认证HCIE通过需要考到多少分?_博睿谷·博睿慕课

华为认证HCIE考试主要分两部分&#xff1a;笔试实验。其中笔试部分总分为1000分&#xff0c;达到600分算通过。实验部分总分为100分&#xff0c;通过分数线为80分。 HCIE证书是华为认证体系中的最高级别认证&#xff0c;难度会相对比较高。那么&#xff0c;如何才能高分通过HCI…

基于springboot的社区团购系统设计与实现

一、项目背景 网络交易&#xff08;Electronic Commerce&#xff09;&#xff1a;是指实现整个贸易过程中各阶段的贸易活动的电子化。网络交易是一种多技术的集合体。其业务可包括&#xff1a;信息交换、售后服务、销售、电子支付、运输、组建虚拟企业、公司和贸易伙伴可以共同…

江协科技STM32学习- P32 MPU6050

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

AutoGLM:智谱AI的创新,让手机成为你的生活全能助手

目录 引言一、AutoGLM&#xff1a;开启AI的Phone Use时代二、技术核心&#xff1a;AI从“语言理解”到“执行操作”三、实际应用案例&#xff1a;AutoGLM的智能力量1. 智能生活管理&#x1f34e;2. 社交网络的智能互动&#x1f351;3. 办公自动化&#x1f352;4. 电子商务的购物…

CSGO: Content-Style Composition in Text-to-Image Generation(代码的复现)

文章目录 CSGO简介论文的代码部署需要下载的模型权重&#xff1a;复现中存在的一些问题 推理代码生成结果示意图 CSGO简介 CSGO: Content-Style Composition in Text-to-Image Generation&#xff08;风格迁移&#xff09; 本文是一篇风格迁移的论文&#xff1a;将内容参考图像…

Excel重新踩坑4:快捷键;逻辑函数;文本函数;日期相关函数;查找与引用函数;统计类函数;数组公式

0、excel常用快捷键 基础快捷键&#xff1a; alt&#xff1a;快速区域求和&#xff1b; ★ altenter&#xff1a;强制换行&#xff08;因为在excel单元格中没法用enter换行&#xff09;&#xff1b;altj&#xff1a;强制换行符的替换删除&#xff0c;这里altj就是在替换中输入…

【JavaEE初阶 — 多线程】认识线程

目录 认识线程&#xff08;Thread&#xff09; 1 线程是什么? 2 为什么要有线程 3 进程和线程的区别 区别一 区别二 区别三 区别四 4. Java的线程和操作系统线程的关系 5.创建第一个多线程程序 引入Thread类 重写run() start()与run()区别 降低多线程对CPU的占用…