DDRPHY数字IC后端设计实现系列专题之后端设计导入,IO Ring设计

本章详细分析和论述了 LPDDR3 物理层接口模块的布图和布局规划的设计和实 现过程,包括设计环境的建立,布图规划包括模块尺寸的确定,IO 单元、宏单元以及 特殊单元的摆放。由于布图规划中的电源规划环节较为重要, 影响芯片的布线资源和 供电稳定性等,所以在本章中单独讨论。对于布局阶段, 本章主要分析了布局的主要 几个阶段以及布局的结果。

3.1 建立环境

本次后端设计布局布线工具采用 Cadence 公司的 Innovus,在使用该工具进行后 端设计之前, 后端设计者需要将网表文件、时序约束、单元库等数据信息导入到

Innovus 的 EDI 环境。将数据信息导入该环境所使用的主要命令如下: Set init_gnd_net {GND_COREDDR_VSSQ}

Set init_lef_file {all.lef ANT.lef}

Set init_mmmc_file {viewDefinition.tcl}

Set init_pwr_net {VCC_CORE VCC_PUB_SW CORE_VDD

DDR_VDDQ[0] DDR_VDDQ[1] DDR_VDDQ[2] PLL_VDD}

Set init_top_cell {top}

Set init_verilog top.v

并将这些初始信息写入到 init.global 文件中,最后,将编写的 init.globals 导入 EDI。 其中通过 init_mmmc_file 编写多模式多管角(Multi Mode Multi Corner ,MMMC)环 境,用来导入时序信息和噪声库信息,简单范例如图 3.1 所示;

图 3.1 MMMC 环境范例

3.2 布图规划设计

当设计约束文件,门级网表文件,工艺库文件,技术文件等都准备完全,并且环 境建立好之后,就可以开始进行布图规划(Floorplan)了。随着集成电路进入深亚微 米级别,合理的布图规划成为数字后端中十分关键的一步,基本占用整个后端设计中 三分之一的时间。在布图规划阶段,需要确定芯片的尺寸,摆放宏单元,I/O 单元以 及特殊单元,合理的 blockage 的创建,以及确定 pin 的位置。需要说明的是, 布图规 划要结合后面的 congestion 以及 timing violation 等来进行调整与优化,是一个不断迭 代更新与改进的过程,一个好的布图规划很大程度的影响着设计收敛的难易以及后端 设计的时间。所以后端设计人员需要考虑和分析各个角度, 投入较多精力来进行布图 规划。下面是本次设计的详细的后端布局规划内容。

3.2.1 确定 DDR block 尺寸

芯片尺寸的大小决定了流片的成本。在一个 project 中,模块的尺寸一般由顶层 与模块共同决定。本次设计先从模块出发,再根据顶层的要求,最终确定 LPDDR3 物 理层接口模块的尺寸。

Block 中各个单元的数量与面积决定了它的形状与面积,本次设计中 DDRblock 包含的单元的数目与面积如下表所示。

Innovus 中,utilization 的计算公式如下:

utilization = Sleaf cell ÷ S可用 (3-1)

其中,utilization 表示利用率,Sleaf cell 表示 leaf cell 的面积,S 可用表示可用来放置 标准单元的而面积。leaf cell 包括标准单元与硬模块(hard macro),如果硬模块的布 局状态是 fixed ,则硬模块的面积不算在 Sleaf cel 跟 S 可用 内。为了统一计算,Innovus 将 以 site 来进行计算。本次设计中,选用 9track 的物理库,site 高度为 0.9μm ,宽度 0.14μm 。在一般的布图规划时,通常将 standard cell 的初始使用率设置在 60%左右。 考虑到本次 DDR 的高频性,故将标准单元的使用率设置在 50%左右即可。另外, 为 了标准单元的放置以及绕线的方便,将该模块设计为矩形。结合顶层的要求, 最终将 LPDDR3 物理层接口模块的尺寸设计为 1700μm×4795μm。

3.2.2 放置 IO 单元与宏单元

本次设计的 IO 单元是由 synopsys 公司提供的 IP ,所以 IO 单元部分位置及相对 位置的摆放需要符合 synopsys 的 DDR PHY 后端实现规格,。 下面分析一些主要检查 内容[40]。

(1)IO 单元邻接

IO 单元间的信号线,电源地线需要通过邻接才能成功传输。

(2)I/O 的信号功率比例

该项指的是一对 VDDQ/VSSQ 插槽对可以支持的信号插槽数,即为了能够使 IO 单元得到足够的功率进行工作。在此分析中,需要考虑电压降(IR Drop),电子迁移 (electro-migration ,EM)等多种影响。本次设计中,与 Data PHY 相关的 IO 选择信 号功率之比约 2 :1,该比率为大多数封装类型和外部存储器子系统提供了良好的电 气和时序性能。对于命令通道信号与电源的比率选择 3:1。因为数据通道的速率是字 节通道速率的 2 倍,所以命令通道有更高的信号功率比例。

(3)内部 VERF 隔离要求

pad 框架中需要内部 VERF 单元为 SSTL 输入提供比较参考,数据通道都需要一 个 PVREF 单元,每个 PVREF 单元内部可提供一个稳定的 VERF 电平值,又因为数 据字节通道和与命令字节通道的有不同的 PVREF 单元和MVREF 总线,所以需要通 过 PZQIO 单元作为两通道相关 IO 单元的边界来隔离 MVREF 总线。另外 PZQIO 单 元以 PZCTRL 的形式有自己的 VREF cell,所以将 PZQ 和 PZCTRL 单元相邻摆放并 且放在命令通道和数据字节通道之间进行隔离。PZQ 和 PZCTRL 单元切断 ZIOH 和 MVREF 总线,从而形成 3 个单独的 ZIOH / MVREF 岛。具体的摆放如图 3.2 所示:

(4)CKE 模式要求

当 DDR 处于 CKE 模式,即处于保持锁存使能状态的时候,为了节省在该模式下 的功率,关闭 DDR 接口其他信号的 VDDQ IO 电源,在后端实现中将与该模式信号 相关的 IO 单元放在一个信号孤岛(signal island)内。这时信号孤岛需要使电源总线 MVDDQ 与 VDDQ 电源隔离,并与其它掉电的 DDR 接口 IO 隔离,即在封装和 PCB 上隔离。VDDQ 隔离是通过在 CKE 信号孤岛周围使用两个 PFILL5_ISO 单元以及在 信号孤岛中两个VDDQ_ESD 单元来实现的,使用VDDQ_ESD 信号是为了实现VDDQ电源和 ESD 保护。另外在 CKE 信号孤岛中,需要 PVREF 单元来提供 IO 单元的驱动 强度,又由于 CKE 信号孤岛的 ZIOH 总线需要与其它IO 总线隔离,因此需要在 CKE 保留岛的边界上放置两个 PVSSQZB_ZQ 单元。CKE 信号孤岛的 IO 单元的摆放示意 如图 3.3 所示。

(5)VDDQ ESD 计算

IO 单元库具有两个不同的 PVDDQ 单元,PVDDQ_ESD 和 PVDDQ_CAP 。 PVDDQ_ESD 单元包含用于静电释放(Electro-Static Discharge ,ESD)保护的 ESD clamp,而 PVDDQ_CAP 没有 clamp,但在其空间内有额外的 VDDQ-VSSQ 去耦电容。

MVDDQ 网络的 ESD 要求表明,如果 clamp cell 仅在信号 IO 单元的一侧,则从 信号 IO 到 ESD clamp cell 的总线电阻必须小于 0.5 ohm;如果 clamp cell 位于信号 IO 单元的两侧,则 IO 到最近的 clamp cell 的总线电阻必须小于 1 ohm。根据 Synopsys DDR PHY 的规则,VDDQ 水平总线电阻 R_MVDDQ 为 0.04ohm。对于摆放在 IO 单 元块末端的信号 IO,到最近 clamp 的间隔= 0.5 / 0.04 = 12.5 或 12 个 IO cell 的距离。 对于摆放在 IO 单元块内部的信号 IO,到最近 clamp 的间隔= 1 / 0.04 = 25 个 cell 的距 离。

(6)PLL 供电

PLL 模块需要 VAA_PLLIO 单元供电。在本次设计中,一共使用了9 个 VAA_PLL IO 单元分别为数据字节通道和命令通道提供 PLL 电源,供电电压为 1.8v。

(7)数据字节通道 IO 单元摆放

由第二章可知,本次设计有 4 个数据字节通道,且每两个字节通道共用一个 PLL 模块。每个字节通道含有 8 位 DQ 数据信号和一个 DM 数据掩模信号,每个字节通道 的 DQS / DQS_b 信号实际上是字节通道的时钟,字节通道布局规划的目标是最大程 度地减少选通数据引脚偏移。理想情况下,应该将 DQS / DQS_b 选通信号放置在字 节通道的的中间,如图 3.4 所示:

8)地址命令字节通道的IO 摆放

CK/CK_b 信号是命令通道的时钟,地址命令字节通道的IO 摆放的目标是最大程 度地减少时钟到数据端口时钟偏斜。因此,CK/CK_b 时钟应放置在通道的中央,然后时钟对的每一侧分别放上地址和命令插槽。具体如图 3.5 所示:

9)PEND IO 单元

LPDDR3 物理层接口所需要的 SSTL IO 单元放置在连续的外围焊盘框架 (peripheral pad frame)中,并且字节通道和 AC 通道首尾相连,Pad 框的末端通过 PEND cell 结束。

10)确定宏单元的位置

每个 AC 和 DATX8 宏单元的两侧都有向 I/O 单元发送信号的引脚(包括标准引 脚和备用引脚),在设计中,使用最靠近 I/O 单元的 PHY 引脚。PLL 宏模块有两种单 元,一种单元用于管芯的南侧或北侧(PLL_NS),另一种单元用于管芯的东侧或西侧 (PLL_EW)。 PLL 始终与 AC 或 DATX8 邻接。图 3.6 显示了宏单元和不同组引脚 的位置。

PLL pllin_ *引脚是 PLL 的输入(pllin_x1 和 pllin_x4x2)时钟,并连接至内核。 PLLpllout_ *引脚是 PLL 的输出时钟(pllout_x1 和 pllout_x4x2),邻接到 AC 或 DATX8 输入(ctl_clk 和 ddr_clk)时钟。 AC 和 DATX8 上的核心引脚连接到核心 PUB 信号。 AC 和 DATX8 上的 NS I/O 引脚用于连接管芯北侧或南侧的 SDRAM 信号的 I/O。同 样,AC 和 DATX8 上的 EW I/O 引脚用于连接至芯片东侧或西侧 SDRAM 信号的 I / O。

本次设计中的 I/O 均为东西 EW 方向,所以本次宏单元摆放也选择东西方向的摆 放,如图 3.5 中左侧或右侧部分所示意。并且为了最大程度的减小 I/O 单元与宏单元 的路由距离,减少延时和串扰,必须保证同一个通道(数据字节通道和地址命令字节 通道)内的宏单元与 PHY 与IO 单元按顺序摆放。

按照以上分析的内容,并结合时序等的调整,确定了 I/O 单元与宏单元的摆放位 置如图 3.7 所示:

图 3.7 IO 与宏单元布局图

下次再继续更新DDRPHY floorplan和powerplan内容。

相关推荐
杰出的胡兵11 天前
景芯SOC设计实战
面试·职场和发展·soc·芯片·数字后端·数字ic后端·芯片设计全流程培训
IC拓荒者1 个月前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例
IC拓荒者1 个月前
芯片Tapeout power signoff 之IR Drop Redhawk Ploc文件格式及其意义
数字后端培训·ic后端培训·innovus零基础·io ring·pad ring·redhawk·ir drop
IC拓荒者1 个月前
数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?
数字ic后端·数字后端培训·tsmc12nm·dummy tcd·tcd工艺校准·数字后端零基础入门·a55 a72 cpu
IC拓荒者1 个月前
芯片级IO (Pad) Ring &IP Checklist
esd·数字ic后端·ic后端培训·innovus零基础·io ring·pad ring·checklist
IC拓荒者1 个月前
数字IC后端实现常见的physical only cell都有哪些?如何添加这些cell?
数字ic后端·数字后端培训·physical cell·latchup栓锁效应·endcap cell·boundary cell·ic后端设计实现
IC拓荒者2 个月前
华为海思2025届校招笔试面试经验分享
经验分享·华为·面试·数字ic后端·ic秋招·海思校招面经·校招笔试面试
IC拓荒者2 个月前
IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)
数字ic后端·静态时序分析·数字后端培训·ic后端笔试题·ic秋招笔试真题·芯原ic后端笔试·时序timing分析
IC拓荒者2 个月前
数字IC后端实现之PR工具中如何避免出现一倍filler的缝隙?
数字ic后端·placement·ic后端培训·innovus零基础lab·innovus零基础·spacing rule·innnovus place
IC拓荒者2 个月前
数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)
数字ic后端·数字后端培训·innovus零基础lab·innovus零基础入门·function eco·post-mask eco·innovus eco步骤