数字集成系统设计——物理设计

目录

一、布局规划

1.1 规划

1.2 I/O单元

1.3 电源网络

1.3.1 要求

1.3.2 网络架构

1.3.3 混合信号芯片示例

1.4 布局

二、时钟分布

2.1 时钟偏斜

2.2 时钟分布网络

2.3 时钟树综合 

2.4 时钟树收敛

三、布线与参数提取 

3.1 布线(Routing)

3.2 布线规则示例

3.3 参数提取 

3.3.1 必要性

3.3.2 流程

3.3.3 范围

3.3.4 延迟计算

3.4 ECO  


一、布局规划

1.1 规划

        版图布局规划(Floorplan):确定各个电路模块在版图上的分布位置以及I/O端口沿周边的布置等。我们以以下的一个SoC芯片的布局规划为例:
  • 5个锁相环(PLL)和1个延迟锁定环(DLL)为片上不同类型及区域的电路提供不同要求的时钟信号
  • 位于中部的标准单元阵列用于实现专有逻辑
  • 片内处理器(如ARM)和高速数模转换器(DAC)作为规模最大的宏单元分别位于下方两个角,有利于布线实现
  • 为了抑制数字电路对模拟电路的干扰,DAC尽可能远离处理器,且模拟单元(DAC、PLL、DLL)均采用独立接地及保护环。
  • 80个单元的SRAM存储器分布于空余位置
  • 400个I/O脚分布于芯片周边 

1.2 I/O单元

        我们以下图为例进行介绍:
  • I/O单元:输入接口电路、输出驱动电路、电平转换电路、静电放电(ESD,Electrostatic Discharge)保护电路等。
  • 连接单元(pad):将芯片内管脚通过金属线(wire bonding)或凸点(Flip-chip)与封装外管脚连接起来。
  • 拐角单元(corner cell)和空隙单元(spacer):填充I/O单元之间的空隙,并协助形成电源-地的环状网络。

1.3 电源网络

1.3.1 要求

        芯片供电网络的设计应保证芯片工作时电源线和地线上的压降(IR Drop)和开关浪涌不会超过规定的范围,同时避免因电流分布不均造成的热点(hot spot)和电迁移(EM,electro-migration)问题。

1.3.2 网络架构

  • 电源网格由内部的条线(strip)和四周的环线(ring)组成。如有宏单元,则其四周也有环线
  • IR Drop一般要求不超过±5%,其中内部约±3%,I/O单元和电源环±1%,封装管脚与键合线±1%。
  • 增大电源网格的密度、加粗电源线、增加电源线通孔数量、增加电源与地管脚数量,都有利于降低IR drop。
  • 位于相邻互连层的电源及地线尽可能相互垂直。
  • 数字电路多使用网格(多点接地),模拟电路使用环状或树状(单点接地)。

1.3.3 混合信号芯片示例

1.4 布局

  • 单元布局优化(Placement & Optimization)根据时序收敛要求,对单元的布局进行优化调整,确定门级网表中所有标准单元及I/O单元的精确位置
  • 布局的优化目标是在确保时序收敛的前提下,尽量缩小面积和缩短互连线
  • 自动布局依赖各种几何算法和强大的运算能力(所需机时随芯片面积的增加得比线性更快)
  • 先自动布局,再人工调整

        下图是一个由129个标准单元和15个I/O脚构成的数字芯片布局示例

二、时钟分布

2.1 时钟偏斜

  • 时钟偏斜(Skew)是指时钟源点到达不同寄存器时钟引脚的时间差,通常由不同时钟路径的长度及负载导致延时不同所致
  • 若接收数据的时钟沿早到(△<0)/晚到(△>0),就会产生建立时间/保持时间的冲突;如果发送数据的时钟沿早到(△>0)/晚到(△<0),就会产生保持时间/建立时间的冲突。因此,实际设计时会保留少许的时钟偏移量,既保证设计电路的健壮性,又能得到更接近实际情况的时序分析结果
  • 前端设计通常会人为设定所需的少许时钟偏斜量,后端设计会通过设计专门的时钟树或时钟网格结构来保证时钟偏斜在规定的限度内

2.2 时钟分布网络

        时钟分布网络要确保所有单元获得的时钟信号具有相同的相位,同时应尽量减少时钟线的寄生电容和寄生电阻,以降低其对延迟和功耗的贡献,普通电路(如ASIC)多采用时钟树(Clock tree)结构,高性能芯片(如片上处理器)才采用时钟网格(Clock grid)。

 

 

2.3 时钟树综合 

  • 时钟树综合(Clock Tree Synthesis)是指使用EDA工具自动生成时钟树并实现时钟收敛,包括了时钟缓冲器的插入(主要途径)和时钟信号的布线
  • 将缓冲器分散在整个时钟网络的不同层次中,可根据每层不同的驱动要求,设计不同驱动强度的缓冲器,而且连线RC引起的延迟不均衡亦可通过设计位于不同层次、具有不同级数及大小的驱动器来弥补

2.4 时钟树收敛

        时钟树收敛是指时钟树的平均延迟达到最小,而且时钟偏斜在规定的限度以内

三、布线与参数提取 

3.1 布线(Routing)

  • 布线是根据网表文件给出的单元互连关系和布局给出的单元位置,确定连接单元的线网
  • 布线设计的目标是在保证布通率的前提下,使所有连线尽量短、通过的层数尽量少(目的是减少延时和功耗,提高可靠性),平行走线尽量少(目的是减少串扰和寄生电容),符合设计规则(目的是符合工艺要求)
  • 先总体布线(Global Routing),确定所有线网的路径分配方案;再详细布线(Detailed Routing),确定金属线和通孔的精确位置
  • 先利用EDA工具完成自动布线,再人工布线进行补充和优化
  • 规划和布局对布线的成败以及优化程度有关键性的影响

3.2 布线规则示例

  • 相邻两个互连层导线的走向相互交叉,有利于提高布通率并抑制串扰
  • 在65nm及以下芯片中,常建议顶层金属按45°方向走线,有利于减少延迟、功耗等
  • 互连线顶层的宽度和周距(pitch)设得较大,底层的宽度和间距较小,但并非线性递进

3.3 参数提取 

3.3.1 必要性

  • 进入深亚微米尺度(0.25um)之后,互连对芯片延迟的贡献已显著超过有源器件门电路的贡献,而互连延迟取决于互连的寄生参数,故互连寄生参数的精确提取(Parasitic extraction)是完成时序分析验证的前提
  • 互连的寄生参数取决于其几何参数(长、宽、厚、间距、空间分布),因此只能在布局布线后提取
  • 器件延迟由标准单元的延迟以及总负载电容决定,因此参数提取主要是提取互连线的寄生参数(对于数字电路主要是电阻和电容,对于模拟电路特别是射频电路才需要考虑电感)来计算互连延迟

3.3.2 流程

3.3.3 范围

 

3.3.4 延迟计算

3.4 ECO  

  • 工程更改指令ECO(Engineering Change Order)主要是在布局布线后发现个别路径有时序或逻辑错误时,基于EDA工具对设计进行小范围、快速的修改
  • 相对于传统的推倒重来式的后端设计修改流程,基于ECO的设计修改流程缩短了设计时间,修改结果具有可预测性,降低了后端设计失败的风险

  • 修改布线:只能修正时序、串扰、负载不匹配等错误,称为非功能性ECO
  • 修改网表:通过追踪逻辑锥(即与错误有关的上级逻辑),添加或修改少许逻辑门和触发器来纠正逻辑错误(右图为一例),称为功能性ECO,最为常用
  • 修改RTL代码:如果修改涉及数百个触发器和数百个逻辑门,最好修改RTL代码并重新综合,这已经脱离ECO范畴了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

这是一家有图书馆的公司

Tubi 技术团队的同事们&#xff0c;除了爱写书、翻译书&#xff0c;也很爱读书。应广大爱书人号召&#xff0c;Tubi 中国团队从 2018 年 7 月开始兴建 Tubi 小书架&#xff0c;迄今已建成了一个有着17 种类别、近 500 本藏书、100 位常驻借阅成员、以音视频开发、广告推荐和团队…

什么是云服务器ECS及其优势、购买、使用方式和部署建议

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云百科aliyunbai…

接口自动化测试持续集成,Soapui接口功能测试参数化

按照自动化测试分层实现的原理&#xff0c;每一层的脚本实现都要进行参数化&#xff0c;自动化的目标就是要实现脚本代码与测试数据分离。 当测试数据进行调整的时候不会对脚本的实现带来震荡&#xff0c;从而提高脚本的稳定性与灵活度&#xff0c;降低脚本的维护成本。 Soapui…

MySQL安装服务启动失败解决方案

在安装MySQL中&#xff0c;应用配置阶段&#xff0c;显示服务启动失败 查看日志说服务启动失败 我的电脑是win764位 新装的操作系统&#xff0c;之前出现过权限不足的提示&#xff0c;首先定位故障为权限问题。由于MySQL80服务在 计算机管理->服务 里面显示户别为&#xff…

Java实现Excel导入和导出

一 、环境准备 maven依赖 本次工具类的封装主要依赖于阿里巴巴的JSON包&#xff0c;以及表格处理的POI包&#xff0c;所以我们需要导入这两个库的依赖包&#xff0c;另外&#xff0c;我们还需要文件上传的相关包&#xff0c;毕竟我们在浏览器页面&#xff0c;做Excel导入时&a…

web学习笔记(十五)

目录 1.Date对象 1.1日期对象的概念 1.2Date()方法的使用 1.3Date()常用方法汇总 1.4例题&#xff1a;用函数编写一个倒计时 2.函数 2.1函数的概念 2.2函数的使用 2.3函数的参数 2.4函数的声明 2.5函数的返回值 2.6异步函数 3特殊函数类型 3.1匿名函数 3.2箭头函数…

[每周一更]-(第82期):认识自然处理语言(NLP)

GPT的大火&#xff0c;带起了行业内大模型的爆发&#xff1b;国内外都开始拥有或者研发自己的大模型&#xff0c;下边我们从NLP来进一步深入了解大模型、AI。 一、什么是NLP&#xff1f; 自然语言处理&#xff08;英语&#xff1a;Natural Language Processing&#xff0c;缩…

【python】进阶--->MySQL数据库(一)

一、mysql数据库 关系型数据库 &#xff1a; 一些相关的表和其他数据库对象的集合。 表是由行和列组成。列包含一组命名的属性(也称为字段)。 行包含一组记录&#xff0c;行和列的交集称为数据项(也叫字段值)。 数据库(database) : 存储数据的仓库&#xff0c;本质上就是一个文…

业务向——基于多多进宝平台的CPS

业务向——基于多多进宝平台的CPS 导读小试牛刀商品活动推广商品详情获取频道推广订单获取及和用户绑定小结 导读 多多进宝是拼多多的开放平台&#xff0c;为广大商家和推广者提供了一个机会&#xff0c;通过推广拼多多的商品来实现收益。多多进宝的CPS&#xff08;按效果付费…

强化学习应用(一):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个价值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

【MYSQL】MYSQL 的学习教程(十三)之 MySQL的加锁规则

1. MySQL 加锁全局视角 MySQL 分成了 Server 层和存储引擎两部分&#xff0c;每当执行一个查询时&#xff0c;Server 层负责生成执行计划&#xff0c;然后交给存储引擎去执行。其整个过程可以这样描述&#xff1a; Server 层向 Innodb 获取到扫描区间的第 1 条记录Innodb 通过…

SGL-110型定时限过流继电器 额定电流5A 额定电压220V 交直流通用 板前接线

系列型号 LGY-110零序过电压继电器&#xff1b; LGL-110零序过电压继电器&#xff1b; LGL-110/AC零序过电压继电器&#xff1b; LGL-110零序过电流继电器 板前接线 &#xff11; 应用 LGL-110 型零序过电流继电器用作线路和电力设备的零序过电流保护。 LGY-110 型零序过…

WSL2-Ubuntu20.04-配置

WSL2-Ubuntu20.04-配置 安装wsl2安装Ubuntu20.04安装anacondaWSL2可视化&#xff08;VcXsrv&#xff09; 安装wsl2 wsl --install wsl -l -v # 版本查看 默认的都是 wsl2 &#xff08;如果是wsl1 就自行升级 wsl --update&#xff09; 官方教程 安装Ubuntu20.04 安装wsl2之后…

vcruntime140.dll已加载,但找不到入口点的处理方法分享

当遇到错误提示“vcruntime140.dll已加载&#xff0c;但找不到入口点”时&#xff0c;很多人可能会感到困惑&#xff0c;不知道如何去处理这个问题。不过没有必要紧张&#xff0c;在这里我会为大家详细解释 vcruntime140.dll 文件是什么&#xff0c;并指导大家如何高效地解决 v…

kafka除了作为消息队列还能做什么?

Kafka 最初是为大规模处理日志而构建的。它可以保留消息直到过期&#xff0c;并让各个消费者按照自己的节奏提取消息。 与其之前的竞品不同&#xff0c;Kafka 不仅仅是一个消息队列&#xff0c;它还是一个适用于各种情况的开源事件流平台。 让我们回顾一下流行的 Kafka 用例。 …

Win10子系统Ubuntu实战(一)

在 Windows 10 中安装 Ubuntu 子系统&#xff08;Windows Subsystem for Linux&#xff0c;简称 WSL&#xff09;有几个主要的用途和好处&#xff1a;Linux 环境的支持、跨平台开发、命令行工具、测试和验证、教育用途。总体而言&#xff0c;WSL 提供了一种将 Windows 和 Linux…

OpenAI 自带的检索功能好用吗?定量测评带你深度了解!

向量数据库的劲敌来了&#xff1f;又有一批赛道创业公司要倒下&#xff1f; …… 这是 OpenAI 上线 Assistant 检索功能后&#xff0c;技术圈传出的部分声音。原因在于&#xff0c;此功能可以为用户提供基于知识库问答的 RAG&#xff08;检索增强生成&#xff09; 能力。而此前…

Css样式制作图形倒影

该CSS样式是WebKit&#xff08;主要应用于Safari和其他基于WebKit的浏览器&#xff09;的特定前缀属性&#xff0c;用于实现元素内容的反射效果。具体解释如下&#xff1a; -webkit-box-reflect: 定义了一个盒反射效果&#xff0c;仅在支持WebKit的浏览器中生效。 below 15px&a…

springIoc依赖注入循环依赖三级缓存

springIoc的理解&#xff0c;原理和实现 控制反转&#xff1a; 理论思想&#xff0c;原来的对象是由使用者来进行控制&#xff0c;有了spring之后&#xff0c;可以把整个对象交给spring来帮我们进行管理 依赖注入DI&#xff1a; 依赖注入&#xff0c;把对应的属性的值注入到…

矩阵的秩-

一、定义、理解 非零子式的最高阶数。 如何理解&#xff1f;什么叫做非零子式的最高阶数&#xff1f;&#xff1f;&#xff1f; 举个例子&#xff1a;有一个5阶矩阵 首先什么叫子式&#xff1f; 例如2阶子式就是&#xff0c;任取某两行某两列组成的行列式&#xff0c;就叫…
最新文章