数字IC后端物理验证PV | TSMC 12nm Calibre Base Layer DRC案例解析

基于TSMC 12nm ARM A55 upf flow后端设计实现训练营将于6月中旬正式开班!小班教学!目前还有3个名额,招满为止!有需要可以私信小编 ic-backend2018报名。吾爱IC社区所有训练营课程均为直播课!

这个课程支持升级成双核A55 Top后端训练营!

在这里插入图片描述

T12 A55后端训练营简介:

主时钟频率:>= 2.5GHz tt1v85c +rcworst85c

设计规模:140万instance

Power Domain数量:2个

实现方式:低功耗模块级UPF Flatten实现 (UPF Flow)

项目成果:Timing Signoff Timing Clean,DRC,Antenna,LVS clean

涉及EDA工具:Innovus,Starrc,PrimeTime,Calibre

授课形式:直播课+每日问题解答+远程协助。每周直播2次,每次近2小时。

课程费用:原价7900元(现价6900元)

TSMC 12nm  A55 CPU Floorplan
低功耗upf flow ARM A55 模块partition

TSMC 12nm Metal Stack

今天给大家分享TSMC 12nm高频遇到的几个base layer drc violation及其解决方法。这些DRC Violation均来自训练营学员做项目遇到的问题。

数字IC后端base layer drc violation

1)PP.S.1/NP.S.1

在传统28nm工艺实现中,两个tapcell或endcap 贴在一起并不会引起drc violation。但在这个12nm先进工艺中,tapcell是不允许出现abutment的情况。

在这里插入图片描述

由于PR工具Innovus中看不到base layer的层次,所以我们通过calibre查看gds可以看到如下所示的PP layer间距不满足设计规则要求。

在这里插入图片描述

在这里插入图片描述

解决这类Calibre DRC Violation主要有两种方法:

  • 在PR Flow的floorplan阶段添加tapcell添加avoidAbutment即可自动解决这类drc violation

addWellTap -cell TAPCELLBWP6T16P96CPD -cellInterval 48 -checkerBoard -check_channel -prefix WELLTAP -avoidAbutment

  • 手工挪tapcell

这种适用于DRC Violation数量不多的场景,比如这个案例就可以使用这种方法。

2)VTL_N_W.1.1/VTL_P_W.1.1

在 TSMC12nm 实现中,当相同VT cell 之间间距小于 4 个 site 的时候,这个时候中间位置就只能加相同阈值的 stdcell 进去,比如下图所说的,ULVT 和 ULVT 之间的间距如果小于 4 个 site 的宽度,也就是 4 个 poly pitch 间距,这个时候中间就必须插 ulvt,不能插其他阈值的 standard cell,否则就会有VT的间距问题。当间距大于 4 个 site 宽度,这个时候就没有限制了。

在这里插入图片描述

这个在咱们12nm A72后端训练营直播课也是反复强调过这点。我们需要在placement阶段加入对应的cell edge spacing约束。

在这里插入图片描述

我们把Calibre DRC结果导入Innovus后,可以看到的确有两颗RVT之间存在一个较小的LVT Filler Cell。

图片

所以,这个DRC Violation出现的原因有两个。第一个是工具能力有限,最后会残留几个filler vt插错的情况,这个类似DRC无法完全修干净一样。第二个是placemnet阶段没有加好placeMode导致大规模这类drc violation的情况。

3)PO.S.22.6

这类DRC Violation是因为在floorplan阶段没有指定好一个合理的core2die值。core2die和memory 的 halo 宽度都需要设置为 0.048 的整数倍。这样做之后,我们就可以从源头上解决这类floorplan带来的base layer drc。

在这里插入图片描述

在这里插入图片描述

4)PB.L.1

通过Calibre DRC Violation的描述,我们知道这是关于M2_P48和M3_P48 Layer length不够的问题。

在这里插入图片描述

如果一开始看不太懂这类drc violation,我们可以查阅T12 design manual中对应drc violation的文字描述和图形示意图。

图片

出现这类DRC Violation主要原因有两个。

第一个是报P48 Layer没有盖好!

解决方案如下:

createSpecialDrcRegion -layer M2_P48 -extendOuterY 0.2 -extendOuterX 0.2 -insts [dbGet [dbGet -p2 top.insts.cell.baseClass block].name]

createSpecialDrcRegion -layer M3_P48 -extendOuterY 0.2 -extendOuterX 0.2 -insts [dbGet [dbGet -p2 top.insts.cell.baseClass block].name]

第二种是设计中存在未摆放的TCD 或memory!本案例就是学员在添加TCD Cell时存在一颗未摆放到core区域的TCD cell。

图片

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

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

相关文章

服务器禁止密码登陆

转载请标明出处:https://blog.csdn.net/donkor_/article/details/139444224 文章目录 一、前言二、编辑sshd_config文件三、重启服务四、总结 一、前言 复杂的密码,登陆服务器的时候,也是很不方便的。并且频繁登陆,暴露给外界&am…

事件总线vueEvent

一个组件结束后要更新另一个组件数据,但是另一个组件和这个组件没有上下级关系 在 Vue 中,非父子组件之间进行通信通常需要使用事件总线或者其他的全局事件管理器。在你的代码片段中,vueEvent 似乎是一个事件总线对象,通过 emit 方…

c++ 里函数选择的优先级:普通函数、模板函数、万能引用,编译器选择哪个执行呢?

看大师写的代码时,除了在类里定义了 copy 构造函数,移动构造函数,还定义了对形参采取万能引用的构造函数,因此有个疑问,这时候的构造函数优先级是什么样的呢?简化逻辑测试一下,如下图&#xff0…

如何实现JavaScript中的寄生组合式继承?

在JavaScript中,寄生组合式继承是一种继承机制,它结合了寄生式继承和组合继承的特点。其核心思想是通过构造函数来继承属性,同时通过原型链来继承方法。以下是实现寄生组合式继承的基本步骤: 首先定义一个辅助函数 inheritProtot…

Pygame:新手指南与入门教程

在游戏开发领域,pygame 是一个广受欢迎的 Python 库,它提供了开发二维游戏的丰富工具和方法。这个库让开发者可以较少地关注底层图形处理细节,更多地专注于游戏逻辑和玩法的实现。本文将详细介绍 pygame,包括其安装过程、基本概念、主要功能和一个简单游戏的开发流程。 一…

【Vue】路由的封装抽离

问题:所有的路由配置都在main.js中合适吗? 目标:将路由模块抽离出来。 好处:拆分模块,利于维护 路径简写: 脚手架环境下 指代src目录,可以用于快速引入组件 完整代码 router/index.js // 但…

探索贷款交易平台的技术架构与创新应用

随着金融科技的快速发展,贷款交易平台作为金融行业的重要组成部分,正扮演着越来越重要的角色。本文将深入探讨贷款交易平台的技术架构和创新应用,从前端设计、后端系统、安全保障和智能化服务等方面进行全面解析,帮助读者更好地了…

【Python报错】已解决AttributeError: list object has no attribute ’shape‘ ( Solved )

解决Python报错:AttributeError: ‘list’ object has no attribute ‘shape’ (Solved) 在Python中,AttributeError表明你试图访问的对象没有你请求的属性或方法。如果你遇到了AttributeError: list object has no attribute shape的错误,这…

为什么要用Git

1. Git是什么 1.1. 概述 Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统如果中央服务器宕机则会影响数据和协同开发。 Git是分布式的版本控制系统,客户端不只是提取最新版本的快照,而且将整个…

【Java毕业设计】基于Java的特色美食推荐网站的设计与实现

文章目录 摘 要ABSTRACT目 录1 概述1.1 研究背景及意义1.2 国内外研究现状1.3 拟研究内容1.4 系统开发技术1.4.1 Java编程语言1.4.2 SpringBoot框架1.4.3 MySQL数据库1.4.4 B/S结构1.4.5 MVC模式 2 系统需求分析2.1 可行性分析2.2 任务概述2.3 功能性需求3.2.2 数据库逻辑结构设…

全面解析如何租用免备案海外服务器

租用免备案海外服务器是许多企业和个人在全球范围内开展业务或访问国际互联网资源时选择的一种方式。这种服务具有无需经过中国互联网备案流程的优势,能够快速部署并使用。下面将详细介绍免备案海外服务器租用的相关信息,rak部落为您整理发布。 1. **国外…

外汇天眼:FSCS确认TenetConnect Services Ltd已任命管理人

2024年6月5日,Tenet Group Ltd的董事们任命了Interpath Ltd的Ed Boyle、Howard Smith和Rob Spence为联合管理人。Ed Boyle和Rob Spence也被任命为其子公司Tenet Ltd、TenetConnect Ltd和TenetConnect Services Ltd的联合管理人。Tenet Mortgage Services Ltd和Tenet…

【计算机视觉(8)】

基于Python的OpenCV基础入门——图像直方图 直方图图像直方图 图像直方图代码以及实现效果 直方图 直方图是一种用于描述图像亮度分布的统计工具。它将图像的像素亮度值按照不同的亮度等级进行计数,并以直方图的形式呈现出来。图像直方图可以显示图像中每个亮度级别…

点击式的excel电子表格查找修改功能,比xlookup和vlookup简单,多列关联查询速度更快

经过实际测试,excel的xlookup确实非常简单,有部分功能也非常快。但是有的人不会公式,或者不喜欢用公式,或者没有excel2021以上的版本。而且xlookup确实也有些还不是很完美的地方,比如对多列关联查询很慢。所以我们还是…

MVC前端怎么写:深入解析与实战指南

MVC前端怎么写:深入解析与实战指南 在Web开发领域,MVC(Model-View-Controller)是一种广泛使用的架构模式,它将应用程序的数据、界面和控制逻辑分离,使得代码更加清晰、易于维护。本文将详细探讨MVC前端如何…

selenium非全新的方式同时启动多个浏览器又互不影响的一种实现方法,欢迎讨论!

最近在做模拟浏览器批量定时自动点击实现批量操作功能,主要使用selenium,但是发现selenium直接调用本地浏览器,启动的是一个全新的(与手动打开的不一致),网站可以检测到,每次都要双重验证(密码登…

Windows系统中不同Java版本共存

Windows系统中不同Java版本共存的方法 在Windows系统中,有时我们需要同时运行多个Java应用,而这些应用可能依赖于不同版本的Java Development Kit (JDK) 或 Java Runtime Environment (JRE)。为了实现这种需求,我们需要在Windows中配置多个J…

我应该如何使用 Python 的 NLTK 库进行词频统计?

使用Python的NLTK(Natural Language Toolkit)库进行词频统计,你可以遵循以下步骤: 安装NLTK库: 如果你还没有安装NLTK,可以通过pip安装: pip install nltk导入必要的模块: 在Python脚…

电商APP用户体验提升技巧:一个实战案例

随着网络和移动技术的快速发展,加上全球疫情的影响,电子商务应用程序改变了人们的购物方式,积累了大量的用户群体。如今,一个成功的电子商务应用程序,除了网站用户界面的美,电子商务用户体验的设计&#xf…

深度学习笔记: 最详尽LinkedIn Feed 排名系统设计

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家! LinkedIn Feed 排名 1. 问题陈述 设计一个个性化的LinkedIn Feed,以最大化用户的长期参与度…