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 单元,宏单元和特殊单元的布局, 并完成电源网络的规划。到目前为止,芯片的数字后端版图已基本完成。

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

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

相关文章

实现金蝶云与MySQL的无缝数据集成

金蝶云与MySQL的费用申请单数据集成案例 金蝶云星空数据集成到MySQL的技术案例分享 在企业信息化系统中,数据的高效流转和准确对接是业务顺利运行的关键。本文将聚焦于一个具体的系统对接集成案例:如何通过轻易云数据集成平台,将金蝶云星空中…

Flink Source 详解

Flink Source 详解 原文 flip-27 FLIP-27 介绍了新版本Source 接口定义及架构 相比于SourceFunction,新版本的Source更具灵活性,原因是将“splits数据获取”与真“正数据获取”逻辑进行了分离 重要部件 Source 作为工厂类,会创建以下两…

Android Settings 单元测试 | 如何运行单元测试?

背景 在Android Settings 单元测试 | Telephony Network 模块 APN 案例中粗略介绍了单元测试逻辑内容,但是在独立APK里面如何将单元测试跑起来还是有疑问,因为APP不能直接install,无法借助Android Studio直接Run,在安装的一步会报…

【Qt聊天室】客户端实现总结

目录 1. 项目概述 2. 功能实现 2.1 主窗口设计 2.2 功能性窗口 2.3 主界面功能实现 2.4 聊天界面功能实现 2.5 个人信息功能开发 2.6 用户信息界面设置功能 2.7 单聊与群聊 2.8 登录窗口 2.9 消息功能 3. 核心设计逻辑 3.1 核心类 3.2 前后端交互与DataCenter 4…

行业类别-智能制造-子类别工业4.0-细分类别物联网应用-应用场景智能工厂建设

1.大纲分析 针对您提出的题目“4.0 行业类别-智能制造-子类别工业4.0-细分类别物联网应用-应用场景智能工厂建设”,以下是一个详细的大纲分析,旨在深入探讨该应用场景下的各个方面: 一、引言 智能制造与工业4.0概述 智能制造的定义与发展趋…

【异常记录】Junitmock之InvalidUseOfMatchersException异常

mock之InvalidUseOfMatchersException异常 新手小白对mock一知半解,就开始自测了,被这个InvalidUseOfMatchersException困扰了一晚上。排查了好久,大多数文章都把英文翻译了一遍,但自检无问题。最后发现是,注入的时候…

将多张图片按照顺序合并成一个PDF文件

刚开始合并没有顺序,合并成了一个指定文件了,但排序是乱的。 import os from PIL import Imagedef folder_to_pdf(folder_path, output_path):image_paths []for file_name in os.listdir(folder_path):if file_name.endswith((jpg, jpeg, png)):image…

普通电脑上安装属于自己的Llama 3 大模型和对话客户端

#大模型下载地址:# Llama3 因为Hugging Face官网正常无法访问,因此推荐国内镜像进行下载: 官网地址:https://huggingface.co 国内镜像:https://hf-mirror.com GGUF 模型文件名称接受,如上述列表中&…

实用且免费的 IP 地域查询 API 接口推荐

实用且免费的 IP 地域查询 API 接口推荐 在日常开发中,IP 地域查询是一个常见需求。最近无意间发现一个实用的 IP 地域查询 API,目前是免费的,未来是否收费尚不可知,但在当前情况下非常值得推荐。 API 地址示例: ht…

java瑞吉外卖

环境搭建 一、数据库环境搭建 1.新建数据库reggie&#xff0c;这里字符集一般用utf8mb4&#xff0c;排序规则一般用utf8mb4_general_ci或utf8mb4_unicode_ci 2.然后导入表结构 二、创建springboot工程 然后检查maven仓库设置&#xff0c;jdk 这是我的pom.xml文件 <?xml …

提高 RAG 生成准确性

提高 RAG 生成准确性&#xff1a;详细优化策略与具体示例 1. 优化检索模块&#xff1a;提高检索的相关性与准确性 在 RAG 中&#xff0c;检索模块&#xff08;Retriever&#xff09;用于从大量文档中选择相关内容。如果检索模块选择的文档与问题不匹配&#xff0c;生成的答案…

App Store用户评论如何影响ASO优化

您是否专注于提高应用的知名度&#xff0c;并想知道应用商店评分和用户评论如何发挥作用&#xff1f;应用商店用户评论和评分对于塑造应用的成功至关重要&#xff0c;并且可以显著影响您的应用商店优化 (ASO) 策略。本文提供了利用这些元素为您带来优势的见解和策略。 如今&…

我谈二值形态学基本运算——腐蚀、膨胀、开运算、闭运算

Gonzalez从集合角度定义膨胀和腐蚀&#xff0c;不易理解。 Through these definitions, you can interpret dilation and erosion as sliding neighborhood operations analogous to convolution (or spatial filtering). 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向…

狼蛛F87Pro键盘常用快捷键的使用说明

基础调节 1、FN ESC &#xff1a;恢复默认 2、FN ~ &#xff1a;2.4G对码 3、FN 1 &#xff1a;蓝牙设备1# 4、FN 2 &#xff1a;蓝牙设备2# 5、FN 3 &#xff1a;蓝牙设备3# 6、FN Q &#xff1a;Android系统 7、FN W &#xff1a;Windows系统 8、FN E &#x…

深入解析 CentOS 7 上 MySQL 8.0 的最佳实践20241112

深入解析 CentOS 7 上 MySQL 8.0 的最佳实践 随着现代数据库应用需求的快速增长&#xff0c;MySQL 8.0 成为许多企业和开发者的首选数据库管理系统。其性能改进、增强的安全特性以及强大的兼容性&#xff0c;使其在现代架构中占据重要地位。本篇博客将基于实践经验&#xff0c…

【AIGC】如何通过ChatGPT提示词Prompt定制个性学习计划

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;提示词&#x1f4af;配置信息使用方法 &#x1f4af;指令/language/plan/start/test/continue/config &#x1f4af;小结 &#x1f4af;前言 在这篇文章中…

深入探索React合成事件(SyntheticEvent):跨浏览器的事件处理利器

标题&#xff1a;深入探索React合成事件&#xff08;SyntheticEvent&#xff09;&#xff1a;跨浏览器的事件处理利器 引言 在React的世界里&#xff0c;事件处理是构建交互式应用的核心。React的合成事件&#xff08;SyntheticEvent&#xff09;是React事件系统的一部分&…

效益登记册效益管理计划

效益登记册 benefit Register效益管理计划效益登记册汇集并列出项目集计划的效益&#xff0c;用于在项目集的整个持续时间内测量和沟通效益的交付。在效益识别阶段&#xff0c;效益登记册根据项目集商业论证、组织战略计划和其他相关项目集自标而编制。随后&#xff0c;登记册由…

NTP放大攻击:DDoS攻击的新变种及其防御策略

近年来&#xff0c;随着网络技术的不断发展&#xff0c;网络攻击手段也层出不穷。其中&#xff0c;NTP放大攻击作为一种新型的分布式拒绝服务&#xff08;DDoS&#xff09;攻击方式&#xff0c;给许多企业和个人用户带来了严重的威胁。本文将深入探讨NTP放大攻击是否是DDoS攻击…

求10000以内n的阶乘

题目描述 求10000以内n的阶乘。 输入描述 只有一行输入&#xff0c;整数n&#xff08;0≤n≤10000&#xff09;。 输出描述 一行&#xff0c;即n!的值。 样例 输入 4 输出 24 AC: #include<bits/stdc.h> using namespace std; int a[114514]{0},c[114514]{1}…