DDRPHY数字IC后端设计实现系列专题之数字后端floorplanpowerplan设计
3.2.3 特殊单元的布局
布图阶段除了布置 I/O 单元和宏单元,在 28nm 制程工艺时,还需要处理两种特 殊的物理单元,Endcap 和 Tapcell。
DDRPHY数字IC后端设计实现系列专题之后端设计导入,IO Ring设计
(1)拐角单元
Endcap cell 俗称拐角单元,它的作用是确保 N 阱nwell关闭。主要加在 row 的结尾, 以及 hard macro 的周边,确保阱电位一致。添加 endcap cell 脚本命令如下:
addEndCap -powerDomain powerDomain_name
(2)tapcell 单元
在进入先进工艺后,标准单元的版图没有设计阱接触孔和衬底接触孔,而是将 两个孔做成单元 tapcell,以节省面积。如果不加,则可能会引起闩锁效应。需要注意 的是,我们在添加两种 cell 的时候,必须按照先添加 macro 左右两侧的 endcap,再添 加 tapcell,最后添加 macro 上下侧的 endcap 。否则,可能会导致 DRC 的错误。本次 设计中在布局阶段每隔 57.54,并隔行错开的方式添加 tapcell。添加 tapcell 的脚本命令如下:
addWellTap -cell TAP4CCHM -cell Interval 115.08 -prefix WELLTAP -checkerBoard -powerDomain powerDomain_name
数字后端零基础入门系列 | Innovus零基础LAB学习Day9
(3)MGFILLER
MGFiller 是一种尺寸较大的填充单元,常在拐角单元和 tapcell 单元加入后进行 进行等比例预先添加。在芯片测试阶段,如果因为功能问题进行 ECO(Engneering Change Order 工程改变计划)[41] ,则可以利用到 MGFiller 单元,只改变 metal1 而改 变单元的功能,这样见啥了底层光照,降低了芯片修改成本。本设计采用每 4 行,隔 105μm 加入 MGFiller,命令可以采用加 well-tap 的方式如下:
addWellTap -cell MGFILL -cell Interval 105 -skipRow 4 -startRowNum 2 -prefix MGFILL -powerDomain powerDomain_name
(4)电源开关单元
电源开关单元 PowerSwich 可开关电源网络,在低功耗设计中常使用。电源开关 单元中一个输入和输出供电网络,并且至少有一个信号控制开关,通过信号控制开关 的状态控制整个设计中各个电压域的开关。本次设计在 PD_PUB 电压域中间位置添 加电源开关单元,保证该电压域的开启和关断。
(5)隔离单元
隔离单元 Isolation cell 主要是低功耗设计使用。隔离单元的作用是,在逻辑信号 跨电压域传输,进行电源关断时,隔离单元生成一个己知逻辑,在上电和掉电的过程 中进行电平逻辑转换和隔离。
隔离单元有一个控制端口 EN,当 EN 端口的输入无效时,隔离单元可以等效为 一个缓冲单元,输出 Y 端直接接受输入 A 端的信号,当 EN 端输入有效时,缓冲单 元将断开,输出端 Y 将保持高电平或者低电平。上图所示的隔离单元有两组电源, 主 要电源 VDD 和备用电源 VDDB,当主要电源关断时,就要使用备用电源 VDDB 进行 供电,来维持输出端的固定电平。根据 CPF 文件对隔离单元的设置,一共四种隔离 单元,如表 3.2 所示:
本次设计隔离单元的放置方式为:将隔离单元均放置在输入端所在电压域,并有 顶层电源线作为备用电源供电,保证主要电源关断时,输出端电平维持正确,并由工 具自动布局完成布置。
3.3 电源规划设计
Powerplan 即是电源规划,一般情况下 powerplan 是布局规划的的最后一个阶段。
Powerplan 主要包括划分电压域,确认电源线的金属层,电源环线的规划,电源条线 的规划以及打电源孔等内容。
在该阶段主要需要考虑的因素是电压降(IR Drop)与电子迁移(EM)。电压降指 的是芯片中电源电压下降或地电压上升的情况,包括静态 IR_Drop 与动态 IR_Drop。 如果出现较大的电压降,则可能导致芯片失效。电子迁移指的是电子在金属线中流动 时,,原子因为电子的碰撞可能会随电子的方向移动导致金属线断裂,或停留在某处 引起金属线短路,从而导致逻辑功能错误。
所以需要在项目的前期做一个高质量的电源规划,来避免在项目后期出现比较棘 手的电压降问题以及电子迁移问题。良好的电源规划需要合理的电源网络结构, 层间 关系以及金属线宽度间隔,金属空大小等。接下来的章节将具体讨论 powerplan 的设 计内容
3.3.1 多电压域的 CPF 文件
CPF 是 Cadence 开发的通用功耗格式文件(common power format,CPF),Innovus 通过 CPF 文件为多电源电压域的低功耗设计指定供电系统。CPF 对电源设计提供了 具体实现方法,但没有具体说明这些电源的物理实现。通过 CPF 文件中的命令,设 计者能进行电源域划分,为不同电源域定义和建立电源网络以及进行相应的低功耗设 计等。与 RTL 描述普通信号连接不同,CPF 文件是电源信号连接信息的描述。CPF 文 件中的内容包括:电压域,电源网线和端口,电源开关单元(Power switch)、隔离单 元(isolation cell)等特殊单元等。
3.3.2 电压域划分
由 CPF 文件可 知 ,本 次 设计 的模块 中划 分 了 2 个 电压域 PD_PUB 和 PD_PUB_VDD0PP9 ,PD_PUB_VDD0P9 电压域包括 PLL 模块,IO 单元及 PUB , Address/Command PHY(AC),Data PHY(DATX8),PD_PUB 电压域主要包括缓存 控制单元相关功能逻辑单元。使用命令 read_power_intent pub_sys_top.cpf -cpf 与 commit_power_intent 将 CPF 文件信息及 PowerDomain 导入进 Innovus 中。
3.3.3 多电源电压的总体设计
本次设计的封装方式采用的是倒装技术(FlipChip),所以电源信号通过 Bump 流 入到芯片中。本次设计的电源电压规划如图3.8 所示:
由图 3.8 并结合 CPF 文件,本次设计主要有四组电源线进行供电,如表 3.3 所示:
VCC_TOP 电源通过电源开关单元控制 VCC_PUB_SW 电源的电压以开启或关断 电压域 PD_PUB,电压域 PD_PUB 关断后,添加在该电压域周围的隔离单元将保持 断电前的逻辑,与电压域 PD_PUB_VCC0P9 进行正确交互。
3.3.4 电源条线的设计
整个芯片的电源网络由电源环线(Power Ring),电源条线(Power stripe)和供电 I/O 构成。本次设计为整个芯片上的 DDR 物理层接口模块,所以其供电网络主要为 供电 I/O 和电源条线。电源条线是芯片内部的电源网络, 在本次设计中电源条线连接了模块内内所有逻辑单元的电源引脚,以及相关供电 I/O。为了建立稳定且均匀的电 源网络,需要考虑电压降和电子迁移的问题。电源条线一般有横向和纵向两种类型。 本设计采用 VHV 的方式进行电源条线的布置,即偶数层为横向布线,奇数层位纵向 布线。电源条线的类型选择应该符合工艺厂制定的规则, 否则将容易导致绕线资源不 足,从而引起拥塞。本次设计采用的是 1P8M11006+RDL28KA 工艺进行绕线,在此 工艺下一共有九层金属,其中低 6 层为细金属层,七层和八层是厚金属层,最高层 RDL 为铝层。第 1 ,3 ,5 ,7 层为纵向走线,2 ,4 ,6 ,8 层为水平走线层。在本芯片 设计中,第一层金属,厚金属层和 RDL 层作为电源专用层,只用来进行电源线绕线, 第一层金属只用做标准单元的电源条线,其余金属层为信号线绕线层。
为了提高电源信号的稳定,2 ,5 ,6 金属层也被用来进行电源条线绕线,其中只 有电源开关单元在第二层进行电源条线绕线。电源条线如此规划的优势:
(1)高层金属线宽,电阻小,有利于减小电压降,利用高层金属绕线则增加了 了底层细金属的绕线资源,提高底层金属利用率[26]。
(2)本次设计中的 PLL、DATX8 和 AC 宏单元自身的电源线使用用第 5 层,所 以本次设计中,这三种模块的上方不使用第 5 层金属绕线,避免产生短路。在这三个 模块上方,直接使用第 6 层金属线打孔,将其电源交错连接值顶层金属,完成了其电 源绕线。标准单元的自身电源线使用第一层金属,标准单元的配置是由 row 约束, row 是布图中横向排列的网格,相邻的 row 方向相反,标准单元在布置时,会紧紧摆 放到 row 上,在第一层金属电源规划中,将在 row 上配置电源线 follow pin 并且 GND 和 VDD 交错配置。这样就完成了标准单元的供电网络,并实现了电源网络均匀分布。
经过上面的分析,已经大致介绍了宏单元和标准单元的供电网络,下面以一个 IO 单元为例,介绍 IO 模块的供电网络。
由图 3.9 可知,该 IO 模块自身电源线(metal 8)一共包括 3 种电源线,MVAA_PLL-
-用来接受模拟电压 PLL_VDD,MVDD–用来接受核心电压 CORE_VDD,MVDDQ–用来接受 DDR 电压 DDR_VDDQ。根据 IO 模块自身的分布,完成第 8 层金属的电源 规划,将 IO 单元接入至供电单元。
电源条线的宽度,间距由工艺厂提供的 lef 文件,布线资源,电压降情况决定。 经过不断调整和综合考虑,定下电源条线参数如表 3.4 所示。最终,利用 Innovus 工 具添加 Bump 以及手动规划 RDL 铝层,完成整个供电网络。
由图 3.10 可知,Data phy 内部顶层使用 metal5,且为横向,所以通过 metal7 的 电源线与 metal5 直接相连进行供电。图 3.11 为本次电源网络方案的最终设计图。
在布图规划阶段,完成了芯片尺寸的确定,I/O 单元,宏单元和特殊单元的布局, 并完成电源网络的规划。到目前为止,芯片的数字后端版图已基本完成。
相关文章:

DDRPHY数字IC后端设计实现系列专题之数字后端floorplanpowerplan设计
3.2.3 特殊单元的布局 布图阶段除了布置 I/O 单元和宏单元,在 28nm 制程工艺时,还需要处理两种特 殊的物理单元,Endcap 和 Tapcell。 DDRPHY数字IC后端设计实现系列专题之后端设计导入,IO Ring设计 (1)拐…...

【Mysql】Mysql函数(上)
1、概述 在Mysql中,为了提高代码重用性和隐藏实现细节,Mysql提供了很多函数。函数可以理解为封装好的模块代码。 2、分类 在Mysql中,函数非常多,主要可以分为以下几类: (1)聚合函数 …...

Java连接MySQL(测试build path功能)
Java连接MySQL(测试build path功能) 实验说明下载MySQL的驱动jar包连接测试的Java代码 实验说明 要测试该情况,需要先安装好MySQL的环境,其实也可以通过测试最后提示的输出来判断build path是否成功,因为如果不成功会直…...
卡尔曼滤波器
卡尔曼滤波器概述 卡尔曼滤波器(Kalman Filter)是一种递归的最优估计方法,广泛应用于信号处理、控制理论、导航定位等领域。它基于线性动态系统模型,通过观测数据不断更新系统的状态估计,从而使得估计值能够在噪声干扰…...
基于BERT的情感分析
基于BERT的情感分析 1. 项目背景 情感分析(Sentiment Analysis)是自然语言处理的重要应用之一,用于判断文本的情感倾向,如正面、负面或中性。随着深度学习的发展,预训练语言模型如BERT在各种自然语言处理任务中取得了…...

推荐15个2024最新精选wordpress模板
以下是推荐的15个2024年最新精选WordPress模板,轻量级且SEO优化良好,适合需要高性能网站的用户。中文wordpress模板适合搭建企业官网使用。英文wordpress模板,适合B2C网站搭建,功能强大且兼容性好,是许多专业外贸网站的…...

AWTK-WIDGET-WEB-VIEW 实现笔记 (2) - Windows
在 Windows 平台上的实现,相对比较顺利,将一个窗口嵌入到另外一个窗口是比较容易的事情。 1. 创建窗口 这里有点需要注意: 父窗口的大小变化时,子窗口也要跟着变化,否则 webview 显示不出来。创建时窗口的大小先设置…...
Linux四剑客及正则表达式
正则表达式 基础正则(使用四剑客命令时无需加任何参数即可使用) ^ # 匹配以某一内容开头 如:^grep匹配所有以grep开头的行。 $ # 匹配以某一内容结尾 如:grep$ 匹配所有以grep结尾的行。 ^$ # 匹配空行。 . # 匹配…...

ALS 推荐算法案例演示(python)
数学知识补充:矩阵 总结来说: Am*k X Bk*n Cm*n ----至于乘法的规则,是数学问题, 知道可以乘即可,不需要我们自己计算 反过来 Cm*n Am*k X Bk*n ----至于矩阵如何拆分/如何分解,是数学问题,知道可以拆/可以分解即可 ALS 推荐算法案例:电影推…...

labview中连接sql server数据库查询语句
当使用数据库查询功能时,我们需要用到数据库的查询语句,这里已调用sql server为例,我们需要按照时间来查询,这里在正常调用数据库查询语句时,我们需要在前面给他加一个限制条件这里用到了,数据库的查询语句…...

leetcode_二叉树最大深度
对二叉树的理解 对递归调用的理解 对内存分配的理解 基础数据结构(C版本) - 飞书云文档 每次函数的调用 都会进行一次新的栈内存分配 所以lmax和rmax的值不会混在一起 /*** Definition for a binary tree node.* struct TreeNode {* int val;* …...

Elasticsearch 重建索引 数据迁移
Elasticsearch 重建索引 数据迁移 处理流程创建临时索引数据迁移重建索引写在最后 大家都知道,es的索引创建完成之后就不可以再修改了,包括你想更改字段属性或者是分词方式等。那么随着业务数据量的发展,可能会出现需要修改索引,或…...
2411rust,异步函数
原文 Rust异步工作组很高兴地宣布,在实现在特征中使用异步 fn的目标方面取得了重大进度.将在下周发布稳定的Rust1.75版,会包括特征中支持impl Trait注解和async fn. 稳定化 自从RFC#1522在Rust1.26中稳定下来以来,Rust就允许用户按函数的返回类型(一般叫"RPIT")编…...
前端网络性能优化问题
DNS预解析 DNS 解析也是需要时间的,可以通过预解析的⽅式来预先获得域名所对应的 IP。 <link rel"dns-prefetch" href"//abcd.cn"> 缓存 强缓存 在缓存期间不需要请求, state code 为 200 可以通过两种响应头实现&#…...

优选算法——双指针
前言 本篇博客为大家介绍双指针问题,它属于优选算法中的一种,也是一种很经典的算法;算法部分的学习对我们来说至关重要,它可以让我们积累解题思路,同时也可以大大提升我们的编程能力,本文主要是通过一些题…...

【Rabbitmq篇】RabbitMQ⾼级特性----消息确认
目录 前言: 一.消息确认机制 • ⾃动确认 • ⼿动确认 手动确认方法又分为三种: 二. 代码实现(spring环境) 配置相关信息: 1). AcknowledgeMode.NONE 2 )AcknowledgeMode.AUTO 3&…...

开源TTS语音克隆神器GPT-SoVITS_V2版本地整合包部署与远程使用生成音频
文章目录 前言1.GPT-SoVITS V2下载2.本地运行GPT-SoVITS V23.简单使用演示4.安装内网穿透工具4.1 创建远程连接公网地址 5. 固定远程访问公网地址 前言 本文主要介绍如何在Windows系统电脑使用整合包一键部署开源TTS语音克隆神器GPT-SoVITS,并结合cpolar内网穿透工…...

【idea】更换快捷键
因为个人习惯问题需要把快捷键替换一下。我喜欢用CTRLD删除一下,用CTRLY复制一样。恰好这两个快捷键需要互换一下。 打开file——>setting——>Keymap——>Edit Actions 找到CTRLY并且把它删除 找到CTRLD 并且把它删除 鼠标右键添加CTRLY 同样操作在Delet…...

最小的子数组(leetcode 209)
给定一个正整数数组,找到大于等于s的连续的最小长度的区间。 解法一:暴力解法 两层for循环,一个区间终止位置,一个区间起始位置,找到大于等于s的最小区间长度(超时了) 解法二:双指…...

IDEA-Plugins无法下载插件(网络连接问题-HTTP Proxy Settings)
IDEA-Plugins无法下载插件(网络连接问题) 改成如下配置: 勾选 添这个url即可:https://plugins.jetbrains.com/ 重启插件中心,问题解决。...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...