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

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)聚合函数 &#xf…...

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 解析也是需要时间的&#xff0c;可以通过预解析的⽅式来预先获得域名所对应的 IP。 <link rel"dns-prefetch" href"//abcd.cn"> 缓存 强缓存 在缓存期间不需要请求&#xff0c; state code 为 200 可以通过两种响应头实现&#…...

优选算法——双指针

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

【Rabbitmq篇】RabbitMQ⾼级特性----消息确认

目录 前言&#xff1a; 一.消息确认机制 • ⾃动确认 • ⼿动确认 手动确认方法又分为三种&#xff1a; 二. 代码实现&#xff08;spring环境&#xff09; 配置相关信息&#xff1a; 1&#xff09;. AcknowledgeMode.NONE 2 &#xff09;AcknowledgeMode.AUTO 3&…...

开源TTS语音克隆神器GPT-SoVITS_V2版本地整合包部署与远程使用生成音频

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

【idea】更换快捷键

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

最小的子数组(leetcode 209)

给定一个正整数数组&#xff0c;找到大于等于s的连续的最小长度的区间。 解法一&#xff1a;暴力解法 两层for循环&#xff0c;一个区间终止位置&#xff0c;一个区间起始位置&#xff0c;找到大于等于s的最小区间长度&#xff08;超时了&#xff09; 解法二&#xff1a;双指…...

IDEA-Plugins无法下载插件(网络连接问题-HTTP Proxy Settings)

IDEA-Plugins无法下载插件&#xff08;网络连接问题&#xff09; 改成如下配置&#xff1a; 勾选 添这个url即可&#xff1a;https://plugins.jetbrains.com/ 重启插件中心&#xff0c;问题解决。...

AWTK-WIDGET-WEB-VIEW 发布

awtk-widget-web-view 是通过 webview 提供的接口&#xff0c;实现的 AWTK 自定义控件&#xff0c;使得 AWTK 可以方便的显示 web 页面。 项目网址&#xff1a; https://gitee.com/zlgopen/awtk-widget-web-view webview 提供了一个跨平台的 webview 接口&#xff0c;是一个非…...

Mysql每日一题(if函数)

两种写法if()和case if()函数 select *,if(T.xT.y>T.z and T.xT.z>T.y and T.yT.z>T.x,Yes,No) as triangle from Triangle as T; case方法 select *, case when T.xT.y>T.z and T.xT.z>T.y and T.yT.z>T.x then Yes else No end as triangle from Trian…...

Spring Cloud Alibaba [Gateway]网关。

1 简介 网关作为流量的入口&#xff0c;常用功能包括路由转发、权限校验、限流控制等。而springcloudgateway 作为SpringCloud 官方推出的第二代网关框架&#xff0c;取代了Zuul网关。 1.1 SpringCloudGateway特点: &#xff08;1&#xff09;基于Spring5&#xff0c;支持响应…...

【动手学深度学习Pytorch】2. Softmax回归代码

零实现 导入所需要的包&#xff1a; import torch from IPython import display from d2l import torch as d2l定义数据集参数、模型参数&#xff1a; batch_size 256 # 每次随机读取256张图片 train_iter, test_iter d2l.load_data_fashion_mnist(batch_size) # 将展平每个…...

技术周总结 11.11~11.17 周日(Js JVM XML)

文章目录 一、11.11 周一1.1&#xff09;问题01&#xff1a;js中的prompt弹窗区分出来用户点击的是 确认还是取消进一步示例 1.2&#xff09;问题02&#xff1a;在 prompt弹窗弹出时默认给弹窗中写入一些内容 二、11.12 周二2.1) 问题02: 详解JVM中的本地方法栈本地方法栈的主要…...

MATLAB 使用教程 —— 矩阵和数组

矩阵和数组MATLAB 中矩阵和数组长什么样&#xff1f;MATLAB 怎么用矩阵计算&#xff1f;创建和操作矩阵矩阵运算示例串联 访问矩阵的元素 矩阵和数组 MATLAB 是“matrix laboratory”的缩写形式。MATLAB 主要用于处理 整个的矩阵和数组&#xff0c;而其他编程语言大多逐个处理…...

React教程第二节之虚拟DOM与Diffing算法理解

1、什么是虚拟DOM 虚拟DOM 是javascript的一个对象&#xff0c;是内存中的一种数据结构&#xff0c;以树的形式存储UI的状态&#xff0c;树中的每个节点都代表着真实的DOM&#xff0c;用来描述我们希望在页面看到的 HTML结构&#xff1b; 现在的MVVM 框架&#xff0c;大多使用…...

C++——类和对象(part2)

前言 本篇博客继续为大家介绍类与对象的知识&#xff0c;承接part1的内容&#xff0c;本篇内容是类与对象的核心内容&#xff0c;稍微有些复杂&#xff0c;如果你对其感兴趣&#xff0c;请继续阅读&#xff0c;下面进入正文部分。 1. 类的默认成员函数 默认成员函数就是用户…...

【FFmpeg系列】:音频处理

前言 在多媒体处理领域&#xff0c;FFmpeg无疑是一个不可或缺的利器。它功能强大且高度灵活&#xff0c;能够轻松应对各种音频和视频处理任务&#xff0c;无论是简单的格式转换&#xff0c;还是复杂的音频编辑&#xff0c;都不在话下。然而&#xff0c;要想真正发挥FFmpeg的潜…...

Python绘制雪花

文章目录 系列目录写在前面技术需求完整代码代码分析1. 代码初始化部分分析2. 雪花绘制核心逻辑分析3. 窗口保持部分分析4. 美学与几何特点总结 写在后面 系列目录 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4…...