后端流程之布局——Floorplanning

本文介绍了ASIC布局中的Floorplanning,包括初始化、压焊块摆放、电源规划和Macro摆放。良好的布局能优化芯片性能,降低布线难度。布局要考虑功能块的面积、互联线长、电源和接地结构,以及I/O单元的位置,以确保信号传输效率和成本效益。电源规划涉及全局电源定义和电源网格设计,以平衡电流分布,减少IR drop和电迁移问题。Macro的边缘摆放策略有助于优化空间利用和布线资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

布局工具会在芯片上划出功能块、确定功能块之间的连接关系、确定 I/O 压焊块的位置、确定芯片大小,并反馈给设计者当下的布局在进行布线时的难易程度。比如一个大的数字芯片,可能会包含微处理器单元(MPU)、浮点单元(FPU)、RAM 块和 ROM 块等。对于 Floorplan 而言,人们更倾向于靠自己的经验去摆放这些 Macro,摆放它们时不仅要考虑面积、互联线长等传统问题,还需要考虑 Place 阶段 Macro 的摆放对于 Place 的影响,有时还要考虑供电和接地结构。总之一个好的布局会带来芯片性能的提升和面积的优化
通常布局工具会显示从每一个模块连至 I/O 压焊块和其他模块的所有导线,称之为飞线(flightline)。飞线的连接情况是帮助我们布局的重要参考。
在这里插入图片描述

给定一个布局方案,可以衡量导线长度、数据流方向,也可以衡量 Macro、端口可访问性和相关时序(布局阶段延迟预估)。

初始化

在使用导入的网表和相应的库和工艺文件创建物理数据库后,第一步是确定 ASIC core 的宽度和高度。此外,还会创建标准单元行和 I/O 压焊块位置。
行的高度等于库中标准单元格的高度。如果库中有任何多个高度标准单元,它们将占用多行。
一般行是相互毗邻摆放的,如果布线拥塞也可以在行之间加入布线通道。在这里插入图片描述

压焊块摆放

作为连接芯片内部信号与封装管脚的桥梁,I/O 单元的分配要综合考虑印制板走线、封装形式、供电情况以及内部模块结构,从而保证信号从芯片内部传递到外部时其路径最短,同时要求从 I/O 单元关键引线到封装点时,避免信号交叉,方便封装基板的制作,减少基板上的走线层数,从而降低封装的成本。当芯片为通用芯片时,需要参考现有的类似芯片的封装形式,从而方便产品的应用,如果芯片是专用于某个设计,则芯片的封装可以以印制板走线为基础,从而确定 I/O 单元的位置。
对于给定的 ASIC 设计,有三种类型的 I/O 焊盘:电源、接地和信号。细分为:数字输入单元、数字输出单元、数字双向输入输出单元、静电保护单元、给 I/O 接口单元供电的单

### 芯片后端 COT 流程及其实现 #### 1. 后端设计概述 芯片后端设计(Backend Design)是指从前端完成的功能描述和逻辑综合后的网表出发,经过一系列物理实现步骤最终生成可用于制造的GDSII文件的过程。COT(Chip On Test)通常指的是测试阶段中的某些特定操作或者流程优化的一部分,在此背景下讨论的是整个后端设计的核心流程后端设计的主要目标是在满足性能、功耗和面积(PPA, Power Performance Area)约束的前提下,将RTL级别的功能映射到具体的物理版图上[^1]。 --- #### 2. 主要流程环节 ##### (1)Floorplanning (布图规划) 布图规划是后端设计的第一步,主要目的是定义芯片的整体布局框架,包括核心区域(Core Region)、I/O Pad的位置分配以及宏单元(Macro Blocks)的大致摆放位置。这一过程需要考虑多个因素,比如时钟树分布、信号完整性(Signal Integrity),以及电源网络的设计等[^3]。 ```bash # Floorplan命令示例 create_floorplan -core_utilization 0.8 \ -aspect_ratio 1.0 \ -left_io2core 5 \ -bottom_io2core 5 ``` --- ##### (2)Power Planning (电源规划) 电源规划涉及创建高效的电源网格(Power Grid),以确保所有标准单元(Standard Cells)都能获得稳定的电压供应并减少IR Drop的影响。此外还需要特别关注大电流路径上的EM效应(Electromigration)[^3]。 ```tcl # 创建电源网络的例子 add_power_grid -vdd_net VDD -gnd_net GND \ -metal_layer {M4 M5} \ -via_type VIA45 ``` --- ##### (3)Placement (布局) 布局阶段的任务是把所有的标准单元放置在一个合理的空间内,使得它们之间连线尽可能短且不违反任何设计规则(DRCs)。现代EDA工具提供了自动化的解决方案来进行初始粗略定位(Rough Placement),随后再通过详细的精调(Final Detailed Placement)达到最优解。 --- ##### (4)Clock Tree Synthesis (CTS, 时钟树综合) 为了最小化全局时钟偏移(Clock Skew),必须构建一棵平衡良好的时钟分发树。这一步骤直接影响着整体系统的定时收敛情况[Timing Closure][^2]。 ```tcl # 运行时钟树合成 clock_tree_synthesis -buf_list {CLKBUF_X1 CLKBUFF_X2} \ -root_buf CLKROOTBUFF \ -skew_target 0.1ns ``` --- ##### (5)Routing (布线) 在完成了上述准备工作之后进入实际走线阶段——即连接每一个节点间的导体线路。分为两个子类别:Global Routing 和 Detail Routing 。前者负责制定大致走向策略;后者则精确指定每一段金属层的具体轨迹。 --- ##### (6)Physical Verification & Signoff Checks (物理验证与签核检查) 最后但同样重要的一步是对生成的结果进行全面细致的质量检验,主要包括但不限于Design Rule Check (DRC), Layout Versus Schematic Comparison (LVS), Antenna Effect Analysis等等。只有当这些项目全部合格以后才能正式提交给代工厂用于生产加工。 --- ### 工具支持和技术要点 在整个过程中需要用到多种专业软件作为辅助手段,例如Synopsys IC Compiler II 或 Cadence Innovus 等自动化平台可以帮助工程师更高效地执行各项任务。同时掌握TCL脚本编程能力也是不可或缺的一项技能,因为很多时候都需要定制开发一些专用插件来解决特殊场景下的需求问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值