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

目录

一、布局规划

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.hqwc.cn/news/343318.html

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

相关文章

Handsfree_ros_imu:ROS机器人IMU模块ARHS姿态传感器(A9)Liunx系统Ubuntu20.04学习启动和运行教程

这个是篇学习 Handsfree_ros_imu 传感器的博客记录 官方教程链接见&#xff1a; https://docs.taobotics.com/docs/hfi-imu/ 产品功能 IMU 内有 加速度计&#xff0c;陀螺仪&#xff0c;磁力计这些传感器&#xff0c;通过固定 imu 到物体上后&#xff0c;可以获取物体在运动…

虚拟机Ubuntu网络配置

电脑有两个系统&#xff0c;windows系统和ubuntu系统&#xff0c;那网卡到底给哪一个用呢&#xff0c;所以要选择桥接模式&#xff0c;就可以共用网卡 但是我们电脑网卡&#xff0c;有线网卡&#xff0c;无线网卡&#xff0c;到底使用哪个网卡&#xff0c;所以选择桥接到自动或…

一文玩转Go语言中的面向对象编程~

温故而知新&#xff1a;什么是面向对象 面向对象&#xff08;Object-Oriented&#xff09;是一种计算机编程的方法和思想&#xff0c;它将程序中的数据&#xff08;对象&#xff09;和操作&#xff08;方法&#xff09;组织成一个个相互关联和交互的对象。对象是现实世界中的事…

Find My游戏手柄|苹果Find My技术与手柄结合,智能防丢,全球定位

游戏手柄是一种常见电子游戏机的部件&#xff0c;通过操纵其按钮等&#xff0c;实现对游戏虚拟角色的控制。随着游戏设备硬件的升级换代&#xff0c;现代游戏手柄又增加了&#xff1a;类比摇杆&#xff08;方向及视角&#xff09;&#xff0c;扳机键以及HOME菜单键等。现在的游…

活动 | Mint Blockchain 将于 2024 年 1 月 17 号启动 MintID 限量发行活动

MintID 是 Mint Blockchain 生态的超级权益卡&#xff0c;用于探索 NFT PASS 在未来各种应用场景下的可能性。MintID 将通过限时限量有价发售的方式对外释放&#xff0c;持有人将成为 Mint Blockchain 的核心权益用户。 MintID 总量&#xff1a;10,000 枚 铸造价格&#xff1a…

多无人机集群智能flocking

matlab2020可运行 GitHub - pareshbhambhani/MultiAgent-Flocking-framework: This is part of the current research I am working on.

window系统安装MySQL

一、下载 MySQL 官网在线下载&#xff1a; https://www.mysql.com/ 二、开始安装 2.1 安装类型选项 developer default&#xff08;开发者默认&#xff09;&#xff1a;安装 mysql 开发所需的所有产品 server only&#xff08;服务器&#xff09;&#xff1a;只安装 mysql 服…

VUE指令(一)

vue会根据不同的指令&#xff0c;针对不同的标签实现不同的功能。指令是带有 v- 前缀的特殊标签属性。指令的职责是&#xff0c;当表达式的值改变时&#xff0c;将其产生的连带影响&#xff0c;响应式地作用于 DOM。 1、v-text&#xff1a;设置元素的文本内容&#xff0c;不会解…

文件操作(你真的会读写文件吗?)

文章目录 一、为什么使用文件&#xff1f;二、什么是文件&#xff1f;2.1 程序文件2.2 数据文件2.3 文件名 三、二进制文件和文本文件3.1 二进制文件3.2 文本文件 四、文件的打开和关闭4.1 流和标准流4.1.1 流4.1.2 标准流 4.2 文件指针4.3 fopen和fclose 五、文件的顺序读写5.…

(ros2)gazebo颜色设置

在gazebo当中不用再设置颜色了&#xff0c;因为完全可以使用urdf的设置 <robot name"base" xmlns:xacro"http://wiki.ros.org/wiki/xacro"><xacro:property name"PI" value"3.1415926"/><!--定义一个变量PI&#xff0…

Spark Doris Connector 可以支持通过 Spark 读取 Doris 数据类型不兼容报错解决

1、版本介绍&#xff1a; doris版本&#xff1a; 1.2.8Spark Connector for Apache Doris 版本&#xff1a; spark-doris-connector-3.3_2.12-1.3.0.jar:1.3.0-SNAPSHOTspark版本&#xff1a;spark-3.3.1 2、Spark Doris Connector Spark Doris Connector - Apache Doris 目…

蓝屏代码0x000007E解决办法

概述 出现该问题&#xff1a; 1、硬件冲突造成的蓝屏 驱动冲突&#xff1a;与其他设备或应用程序的驱动冲突可能会引起系统崩溃。 2、内存虚拟不足造成的蓝屏 错误配置&#xff1a;不正确的配置或设置可能会导致蓝屏错误。 3、超频后也可能出现蓝屏 CUP超频或者显卡超频后出现蓝…