LVS(Layout versus schematic)比的是什么?
概述
LVS不是一个简单地将版图与电路原理图进行比较的过程,它需要分两步完成。第一步“抽取”,第二步“比较”。首先根据LVS提取规则,EDA 工具从版图中抽取出版图所确定的网表文件;然后将抽取出的网表文件与电路网表文件进行比较。需要说明的是:抽取的网表为品体管级的SPICE网表,而电路网表为门级的Verilog网表,该门级网表需要结合SPICE模型/CDL模型转化为SPICE网表,才能与抽取的网表进行逻辑等效性比对。
spice网表之间的对比
LVS比较的是两个网表文件,一个是从版图中抽取,它表现为晶体管级的spice网表,暂且称之为网表1;另一个是设计阶段的门级网表,该门级网表无法与网表1直接对比,还需结合spice model或CDL model转化为spice网表,暂且称之为网表2。这样才能比较两个网表的逻辑等价性。
详细概述这两个网表以及转换过程
-
网表1(从版图抽取的SPICE网表):
- 来源:这个网表是通过EDA工具从版图中抽取得到的。它详细描述了版图中的所有物理器件(如晶体管)以及这些器件之间的物理连接方式。
- 特点:它呈现为晶体管级的SPICE网表,包含具体的器件参数(如晶体管的宽度、长度等),以及器件之间的连接信息,完全基于版图中的物理实现。
-
网表2(经过转换的设计阶段门级网表):
- 来源:设计阶段使用的门级网表,通常使用较高层次的硬件描述语言(如Verilog)编写,描述电路的逻辑功能和结构,而不涉及具体的物理实现细节。
- 转换过程:为了使门级网表能与从版图抽取的网表进行比较,需要通过结合SPICE模型或CDL模型将其转换成SPICE格式的网表。这个转换过程包括将逻辑门转换成它们对应的晶体管级表示,以及将抽象的逻辑操作映射到具体的电子器件和连接上。
比较过程:
- 在两个网表都准备就绪后,LVS工具将执行比较操作,核对网表1和网表2的逻辑等效性。这包括验证器件的类型、数量、连接方式等是否一致,以确保版图实际上实现了设计阶段定义的逻辑功能。
- 逻辑等效性的验证不仅仅是检查两个网表的直接对应关系,还包括复杂的电路等效性检验,确保即使在不同层次的描述(晶体管级与门级)之间,电路的功能和行为也是匹配的。
这个过程对于确保集成电路的设计与实现之间的一致性至关重要,有助于发现和修正设计或布局过程中可能出现的任何误差或不一致性。
网表生成过程
网表1和网表2分别来源于集成电路设计流程的不同阶段,每个阶段针对的目标和所用技术有所区别。下面详细解释这两个网表的来源以及与它们相关的设计步骤:
网表1的来源:
网表1是从完成了布局与布线(Place & Route, P&R)的版图中抽取的。这个版图是在如下几个主要步骤之后得到的:
-
逻辑综合:设计的高层次描述(如Verilog代码)被转换成门级网表,这个过程称为逻辑综合。逻辑综合生成的门级网表包含了逻辑门和触发器等组件,描述了电路的逻辑功能。
-
布局与布线(P&R):门级网表经过布局与布线处理,确定每个逻辑门在芯片上的物理位置(布局)以及这些门之间连接的路径(布线)。P&R阶段的结果是一个详细的版图,展示了芯片上所有组件的确切位置和相互连接。
-
静态时序分析(STA):在P&R之后,通常会进行STA来验证电路的时序要求是否得到满足,确保信号在规定的时间内稳定传递。尽管STA是验证设计性能的重要步骤,但它本身并不改变版图,因此可以认为网表1是在P&R完成后、STA分析前后的某个时点抽取的。
网表2的来源:
网表2基于逻辑综合阶段生成的门级网表,后者描述了电路的逻辑结构和功能。然而,为了进行LVS比较,这个门级网表需要转换为SPICE格式的网表,这个转换过程涉及到以下内容:
- 逻辑综合:这是网表2的起点,逻辑综合后得到的门级网表描述了电路的逻辑功能。
- SPICE模型引入:为了将门级网表转换为SPICE网表,需要将逻辑门和其他组件映射到具体的晶体管实现。这一步需要使用到SPICE模型,SPICE模型提供了电子组件(如NMOS、PMOS晶体管)的电气特性,如阈值电压、电流-电压(I-V)关系等。这些模型通常由芯片制造商提供,因为它们反映了制造工艺的具体特性。
总之,网表1是在布局与布线(P&R)完成后、静态时序分析(STA)之前或之后从版图中抽取的。而网表2是基于逻辑综合得到的门级网表,通过引入SPICE模型转换而来。SPICE模型通常是从芯片制造商那里获取,以确保模型精确反映了所使用的制造工艺。
相关文章:
LVS(Layout versus schematic)比的是什么?
概述 LVS不是一个简单地将版图与电路原理图进行比较的过程,它需要分两步完成。第一步“抽取”,第二步“比较”。首先根据LVS提取规则,EDA 工具从版图中抽取出版图所确定的网表文件;然后将抽取出的网表文件与电路网表文件进行比较…...
从0开始搭建基于VUE的前端项目(三) Vuex的使用与配置
准备与版本 vuex 3.6.2(https://v3.vuex.vuejs.org/zh/)概念 vuex是什么? 是用作 【状态管理】的 流程图如下 state 数据状态,成员是个对象 mapState 组件使用this.$store.state.xxx获取state里面的数据 getters 成员是个函数,方便获取state里面的数据,也可以加工数据 ma…...
python统计分析——双样本均值比较
参考资料:python统计分析【托马斯】 1、配对样本t检验 在进行两组数据之间的比较时,有两种情况必须区分开。在第一种情况中,同一对象在不同时候的两个记录值进行相互比较。例如,用学生们进入初中时的身高和他们一年后的身高&…...
三台电机的顺启逆停
1,开启按钮输入信号是 电机一开始启动,5秒回电机2启动 ,在5秒电机三启动 关闭按钮输入时电机3关闭 ,5秒后电机2关闭 最后电机一关闭 2,思路开启按钮按下接通电机1 并且接通定时器T0 定时器T0 到时候接通电机2 并且开…...
彩虹外链网盘界面UI美化版超级简洁好看
彩虹外链网盘,是一款PHP网盘与外链分享程序,支持所有格式文件的上传,可以生成文件外链、图片外链、音乐视频外链,生成外链同时自动生成相应的UBB代码和HTML代码,还可支持文本、图片、音乐、视频在线预览,这…...
企业微信知识库:从了解到搭建的全流程
你是否也有这样的疑惑:为什么现在的企业都爱创建企业微信知识库?企业微信知识库到底有什么用?如果想要使用企业微信知识库企业应该如何创建?这就是我今天要探讨的问题,感兴趣的话一起往下看吧! | 为什么企业…...
【华为OD机试C++】合并表记录
《最新华为OD机试题目带答案解析》:最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新! 文章目录 描述输入描述输出描述示例1示例2代码描述 数据表记录包含表索引index和数值value(int范围的…...
uniapp中使用u-popup组件导致的弹框下面的页面可滑动现象
添加代码: touchmove.stop.prevent"()>{}"...
数字孪生|山海鲸可视化快速入门
哈喽,你好啊,我是雷工! 今天继续学习山海鲸可视化软件,以下为学习记录。 (一)新建项目 1.1、打开软件后,默认打开我的项目界面,初次打开需要注册,可以通过手机号快速注册。 点击“新建”按钮,新建一个项目。 1.2、根据项目需要选择一个快捷的项目模板,填写项目名称…...
C语言-malloc(申请函数)free(释放函数)
malloc和free的语法格式 malloc 函数是 C 语言标准库中的一个重要函数,用于动态分配内存。其语法如下: void *malloc(size_t size);这里的 void * 表示返回的是一个 void 类型的指针,实际上这个指针指向的是一个 char 类型的内存块。size_t …...
2024年150道高频Java面试题(十一)
21. 什么是 Java 中的内部类?它有哪些类型? Java 中的内部类是定义在另一个类内部的类。内部类能够访问其外部类的成员,包括那些声明为私有的成员。内部类是面向对象编程中的一个特色,可以用来逻辑上组织相关的类,并且…...
【MySQL】4.MySQL日志管理与数据库的备份和恢复
备份的目的只要是为了灾难恢复,备份还可以测试应用,回滚数据,修改和查询历史数据,审计等 日志在备份、恢复中起着重要作用 一、数据库备份的重要性 在生产环境中,数据的安全性至关重要 任何数据丢失都可能产生严重的…...
os模块篇(三)
专栏目录 文章目录 专栏目录os.putenv(key, value, /)os.setegid(egid, /)os.seteuid(euid, /)os.setgid(gid, /)os.setgroups(groups, /)os.setns(fd, nstype0)os.setpgrp()os.setpgid(pid, pgrp, /)os.setpriority(which, who, priority) os.putenv(key, value, /) os.puten…...
kvm虚拟机迁移--来自gpt
离线迁移 离线迁移KVM虚拟机主要涉及将虚拟机完全关闭,然后移动虚拟机的磁盘文件和配置文件到新的宿主机上,并在新宿主机上启动虚拟机。下面是具体的步骤和命令: 步骤 1: 关闭虚拟机 首先,在源宿主机上关闭目标虚拟机。确保虚拟…...
用Typora+picgo+cloudflare+Telegraph-image的免费,无需服务器,无限空间的图床搭建(避坑指南)
用TyporapicgocloudflareTelegraph-image的免费,无需服务器,无限空间的图床搭建(避坑指南) 前提:有github何cloudflare (没有的话注册也很快) 首先,是一个别人写的详细的配置流程,傻瓜式教程&am…...
鸿蒙TypeScript开发入门学习第3天:【TS基础类型】
1、TypeScript 基础类型 TypeScript 包含的数据类型如下表: 注意: TypeScript 和 JavaScript 没有整数类型。 2、Any 类型 任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。 1、变量的值会动态改变时&…...
gitee 本地文件提交到仓库
一、准备工作 1.下载Git Bash Git Bash官网下载地址 http://www.git-scm.com/download/ 点此跳转 2.注册或登录gitee gitee官网地址 https://gitee.com/ 点此跳转 没有账号选择注册有账号的话直接登陆 3.在gitee中新建一个空的仓库 登陆成功后点进个人主页,点击…...
TemperatureTop-kTop-p
一、温度 在语言模型中使用温度(temperature)这个参数是为了控制文本生成过程中的随机性和可预测性。这个概念来自于统计力学中的温度概念,在那里它用来描述系统的熵(或随机性)水平。在语言模型中,输出概率…...
HTTP 协议中常用的两种请求方法:get请求与post请求
一、get请求 (1)什么是 GET 请求? GET 请求是一种向服务器请求获取资源的方式。它通过 URL 将请求参数附加到请求中,并将请求发送给服务器。GET 请求通常用于获取数据,例如读取文章、获取用户信息等操作。 在Node.j…...
飞天使-k8s知识点28-kubernetes散装知识点5-helm安装ingress
文章目录 安装helm添加仓库下载包配置创建命名空间安装 安装helm https://get.helm.sh/helm-v3.2.3-linux-amd64.tar.gztar -xf helm-v3.2.3-linux-amd64.tar.gzcd linux-amd64mv helm /usr/local/bin修改/etc/profile 文件,修改里面内容,然后重新启用export PATH$P…...
linux i2c-tools使用总结
1,安装iic-tools sudo apt install i2c-tools -y 2,查看有几条iic总线 [root@sino-platform:/root]# ls /dev/i2c- i2c-0 i2c-1 i2c-2 i2c-3 3,查看i2c命令 [root@sino-platform:/root]# i2c i2cdetect i2cdump i2cget i2cset 4,iic-help命令 [root@sino-platform…...
App推广新篇章:Xinstall助力精准分析与优化
在当前的移动应用市场中,App推广已成为每个开发者不可或缺的一环。然而,推广并非简单的投放广告与等待用户下载,而是需要一套科学、系统的分析与优化流程。这正是Xinstall作为国内专业的App全渠道统计服务商,能够为您带来的核心价…...
vue知识点: v-if和v-for为何不能同时使用?
在vue2和vue3的官方文档里都写到不推荐 v-if和v-for同时使用,如下代码所示: <li v-for"todo in todos" v-if"!todo.isComplete">{{ todo.text }} </li> 一、vue3文档:列表渲染 | Vue.js 在vue3中ÿ…...
2024.3.31力扣(1200-1400)刷题记录
一、1523. 在区间范围内统计奇数数目 1.模拟 class Solution:def countOdds(self, low: int, high: int) -> int:# 模拟return len(range(low,high1,2)) if low & 1 else len(range(low1,high1,2)) 2.数学 总结规律。首为偶数就向下取整;奇数就向上取整。…...
【核弹级软安全事件】XZ Utils库中发现秘密后门,影响主要Linux发行版,软件供应链安全大事件
Red Hat 发布了一份“紧急安全警报”,警告称两款流行的数据压缩库XZ Utils(先前称为LZMA Utils)的两个版本已被植入恶意代码后门,这些代码旨在允许未授权的远程访问。 此次软件供应链攻击被追踪为CVE-2024-3094,其CVS…...
【Linux在程序运行时打印调用栈信息(函数名,文件行号等)】
在程序运行时打印相关调用栈信息(函数名,文件行号等),便于梳理调用逻辑等 //stack.c #include <stdio.h> #include <execinfo.h> #include <stdlib.h> #include <string.h> #include <stdbool.h>#define MAX_…...
9.包和工具【go】
在Go语言中,包是代码的组织单元,而工具链则是Go语言提供的命令行工具,用于构建、测试和调试Go代码。下面我将详细介绍如何导入和使用标准库中的包,如何编写自己的包,以及如何使用Go的工具链。 导入和使用标准库中的包 Go的标准库包含了许多预定义的包,你可以通过导入这…...
判断一个字符串是否是真实手机号:JavaScript
一个简单的正则表达式示例,用于匹配中国大陆的手机号: function isValidPhoneNumber(phoneNumber) {// 定义一个正则表达式,用于匹配中国大陆的手机号const phoneRegex /^1[3-9]\d{9}$/;// 使用正则表达式测试手机号是否匹配return phoneReg…...
3D检测:从pointnet,voxelnet,pointpillar到centerpoint
记录centerpoint学习笔记。目前被引用1275次,非常高。 地址:Center-Based 3D Object Detection and Tracking (thecvf.com) GitHub - tianweiy/CenterPoint CenterPoint:三维点云目标检测算法梳理及最新进展(CVPR2021ÿ…...
使用canvas内置api完成图片的缩放平移和导出和添加提示
最近挺忙的,几乎没有时间去更新博客,今天正好在学习新东西,正好和大家分享一下。 最近要做一个使用canvas完成图片平移,缩放,添加标注的需求,完成的效果大概如下: 使用canvas内置api完成图片的缩…...
网站手机端做排名/seo排名点击软件推荐
4.1 我可以仅用二进制形式发布一个遵循 GPL 的程序的修改版本吗? 不可以。GPL 的要旨是所有修改版本必须是自由软件——这意味着修改版本的源代码必须可供用户使用。 4.2 我从网上下载了二进制文件。如果我分发该副本,我必须也要获取源代码并分发&#x…...
腾讯企点客户通/成都网站seo服务
手机语音信箱能够实现全天24小时的服务时间,设置手机语音信箱,能够使用户不过任何一个电话。如果语音信箱出现了留言的话,用户的手机会接收到消息,手机信箱特别的方便,那么应该如何设置语音信箱呢!接下来小编就具体为大…...
做服装外单的网站有哪些/广东网络优化推广
1 [rootok /]# cat /proc/sys/net/ipv4/tcp_keepalive_time 2 72003 如果在该参数指定时间内某条连接处于空闲状态,则内核向远程主机发起探测4 [rootok /]# cat /proc/sys/net/ipv4/tcp_keepalive_intvl 5 756 内核向远程主机发送的保活探测的时间间隔7 [rootok /]#…...
336633域名/北京seo专业团队
CDA数据分析师 出品概述在正式进入Hadoop集群安装前,我们还需掌握Linux系统一系列基本操作方法和常用的工具软件的安装及使用方法。首先理解一下本文中的文件目录和文件概念。文件目录:类似windos系统下的文件夹,里面可以包含若干文件目录或文…...
网站建设是设计师吗/武汉网站排名提升
git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是…...
南极电商是做什么的/汕头网站建设方案优化
用过 Linux 的小伙伴都知道,在Linux系统中包含着大量的文件,绝大部分情况下,我们都是通过 CLI 的方式与Linux进行交互,这就会面临一个问题,当我们需要查找一个文件的时候却迟迟无从下手,不知道该如何找起。…...