| ||
DDR (Double data rate), 属于高速信号接口IP,在后端物理实现过程中有主要以下几个注意点:
差分信号等长处理
2. block形状与top的配合
3. 电源配比
4. IO PAD的电容配比
5. 其他物理实现注意事项(NDR,clock skew等)
其中差分信号等长处理尤其重要且有一定难度。对于不同类型的DDR,处理起来也会有不同的要求。比如synopsis 的LPDDR2 不需要特殊处理,IP本身已经通过对相应的单元进行模块化处理,只需要按顺序摆放好hard marco即可。Cadence的DDR系列也已经通过预处理,IP hard marco来实现的差分信号的等长处理。而Synopsis的DDR3 应用较为广泛,但是差分信号等长处理需要后端工程师自行实现。这就带来了一定的难度与挑战。
首先阅读IP 应用手册会发现,对差分信号的等长要求较为复杂,需要进行分组。这份工作在不同公司可能由不同的岗位来完成,有的是designer给出spec;有的是综合部门就划分好的分组清单,直接传递给后端;而有的则需后端工程师根据文档,check list来确认分组情况。不管哪一种方式,拿到准确的分组list是第一步。
然后是后端方法学。第一步就是摆放floorplan,确认DX和AX的相对位置关系,以及各个IO PAD的顺序,由于DDR比较特殊,这里说的是DDR subsys部分,IO PAD需要后端owner自行摆放。明确顺序,然后结合spec要求进行规划差分信号的路径走向。由于差分信号的skew要求比较高,如何实现不同corner下,组间和组内的信号都能等长,是问题的核心。由于几个phy和IO存在天然的位置不对等,信号无法直接拉平,所以就要从走向上进行规划,来实现远近path的等长。面对这个问题,核心思想就是用绕线的delay来实现等长,而非插不同的buffer来补齐。wire在不同的corner下受ocv影响较小,且不同电压下之间的delay差异也较小。
确定了方法学之后就是如何实现了,即确定实现流程。由于差分信号的要求较高,为了方式收到其他逻辑的影响,最好就是在floorplan阶段提前预处理,优先规划走向和占位。比如preplace,和加shielding等。
最后就是脚本化。这个实现过程在前期trail run的阶段确定好之后,最好着手脚本化,来提高执行效率。防止后面反复操作,花费大量人工时间。