数字IC后端实现常见的physical only cell都有哪些?如何添加这些cell?

数字IC后端实现阶段常见功能cell有哪些?比如AND,AOI,NAND等。 physical cell有哪些?都是干什么用的?

数字后端零基础入门系列 | Innovus零基础LAB学习Day9

(1) well tap cells:防止latch-up

icc2_shell> create_tap_cells -lib_cell $tapcell_ref -pattern stagger -distance $distance -skip_fixed_cell

Inovus中添加tap cell命令如下,它是支持根据power domain来添加tap cell的。

set_well_tap_mode -inRowOffset 15

addWellTap -cell TAPCELLBWP16P90CPD -cellInterval 30 -prefix WELLTAP -powerDomain PD_AW_ON

addWellTap -cell TAPCELLBWP16P90CPD_VPP_VSS -cellInterval 30 -prefix WELLTAP -powerDomain PD_PS

数字后端版图必备!TapCell预防Latchup栓锁效应(附对应版图画法)

(2) Boundary Cells (EndCap):std cell边界需插入,一方面可以保持阱和注入层的连续性,同时也可以在刻蚀和离子注入的时候对row边缘的std cell起到一定的保护作用。

icc2_shell> set_boundary_cell_rules -left_boundary_cell $endcap_left -right_boundary_cell $endcap_right -top_boundary_cell $endcap_top -bottom_boundary_cell $endcap_bottom

icc2_shell> compile_boundary_cells

Innovus中添加Boundary cell的命令如下:

setEndCapMode -reset

setEndCapMode

-leftEdge BOUNDARY_RIGHTBWP16P90CPD

-rightEdge BOUNDARY_LEFTBWP16P90CPD

-leftTopCorner BOUNDARY_PCORNERBWP16P90CPD

-leftBottomCorner BOUNDARY_NCORNERBWP16P90CPD

-topEdge {BOUNDARY_PROW4BWP16P90CPD BOUNDARY_PROW3BWP16P90CPD BOUNDARY_PROW2BWP16P90CPD BOUNDARY_PROW1BWP16P90CPD}

-bottomEdge {BOUNDARY_NROW4BWP16P90CPD BOUNDARY_NROW3BWP16P90CPD BOUNDARY_NROW2BWP16P90CPD BOUNDARY_NROW1BWP16P90CPD}

-rightTopEdge FILL4BWP16P90CPD

-rightBottomEdge FILL4BWP16P90CPD

-fitGap true

-boundary_tap true

set_well_tap_mode -inRowOffset 11

set_well_tap_mode

-rule 48

-bottom_tap_cell BOUNDARY_NTAPBWP16P90CPD

-top_tap_cell BOUNDARY_PTAPBWP16P90CPD

-cell TAPCELLBWP16P90CPD

芯片Tapeout前才发现LUP.6 Base Layer Calibre DRC Violation的ECO方案

(3) Tie Cells:在芯片设计中通常会有不少信号需要给定固定的输入如固定高电位或者固定低电位,同时很多无明确输入的open信号也最好固定在某个点位,这时就需要连接到tie cell。

tie cell分为tie high和tie low两种,前者将信号固定在高电位,后者将信号固定在低电位。

icc2_shell> set_lib_cell_purpose -include optimization [get_object_name [get_lib_cells */$tie_ref ]]

Innovus中添加tie cell也必须根据power domain来添加,否则工具只会在最顶层那个domain添加tie cell。最后会发现设计中存在一大堆gate floating的情况。

setTieHiLoMode -prefix Tie -maxFanout 8 -cell "TIEHBWP16P90CPD TIELBWP16P90CPD"

addTieHiLo -powerDomain PD_PSO

addTieHiLo -powerDomain PD_AW_ON

(4) Antenna Cells:通常在绕线阶段让工具在发现有antenna violation的时候自动插入antenna cell。

icc2_shell> set_app_options -name route.detail.antenna -value true

icc2_shell> set_app_options -name route.detail.diode_libcell_names -value $antenna_ref

innovus中可以通过setNanoRouteMode来控制工具在绕线阶段通过插入修复antenna cell来修复antenna 天线效应违例violation。

setNanoRouteMode -quiet -drouteFixAntenna true

setNanoRouteMode -quiet -routeInsertAntennaDiode true

setNanoRouteMode -quiet -routeAntennaCellName "ANTENNABWP16P90CPD"

(5) Filler Cells:主要是用来填补std cell之间的空隙以保证阱的连续性,同时也可以对周围的std cell有一定的保护作用。

icc2_shell> create_stdcell_filler -lib_cell $fillers_ref -continue_on_error

(6) DECAP Cells:在高频电路的时钟或者数据信号大规模同时翻转时,巨大的充放电电流可能会导致电源电压的下降,从而显著影响某些区域的std cell的供电,进而影响cell的速度。

要解决这个问题,最常见的方法之一就是增加电源的电容值,而这主要是通过加入DECAP cell来完成。在电源电压正常的时候,DECAP可以充电来存储能量,当电源电压较低的时候就可以放电来起到一定的缓冲作用。

icc2_shell> create_stdcell_filler -lib_cell $decap_ref -continue_on_error

Innovus中插入filler的命令如下所示:

setFillerMode -diffCellViol true -doDRC true -corePrefix DeCap -core {DCAP32BWP40P140 DCAP16BWP40P140 DCAP8BWP40P140}

addFiller

(7) GA-Filler/ECO DECAP Cells:ECO DECAP是一种特殊的DECAP cell,平时可以作为DECAP来提供电容,当需要ECO的时候可以通过简单的改变它上面的金属层连接来转换成具有逻辑功能的std cell,在postmask ECO阶段尤其重要。

GA-Filler全称为gate array filler,它和ECO DECAP类似,也可以通过类似的手段转换成逻辑单元。二者在后端工具的插入方式都和filler cell以及一般的DECAP cell相同。

icc2_shell> create_stdcell_filler -lib_cell $eco_decap_ref -continue_on_error

(8) Spare Cell:来提高芯片流片后的改版能力。

(9) MIMCAP Cells:其中MIM指的是Metal-Insulator-Metal,这是一种特殊类型的用来提供电容的cell,区别于DECAP的主要特点是电容量较大,大小也比一般的std cell要大很多,而且使用的金属层一般比较高,可以重叠放在绝大部分类型的cell上而不产生DRC。

icc2_shell> create_cell $mimcap_name $mimcap_ref

相关推荐
IC拓荒者8 小时前
数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?
数字ic后端·数字后端培训·tsmc12nm·dummy tcd·tcd工艺校准·数字后端零基础入门·a55 a72 cpu
IC拓荒者8 小时前
芯片级IO (Pad) Ring &IP Checklist
esd·数字ic后端·ic后端培训·innovus零基础·io ring·pad ring·checklist
IC拓荒者20 天前
华为海思2025届校招笔试面试经验分享
经验分享·华为·面试·数字ic后端·ic秋招·海思校招面经·校招笔试面试
IC拓荒者22 天前
IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)
数字ic后端·静态时序分析·数字后端培训·ic后端笔试题·ic秋招笔试真题·芯原ic后端笔试·时序timing分析
IC拓荒者22 天前
数字IC后端实现之PR工具中如何避免出现一倍filler的缝隙?
数字ic后端·placement·ic后端培训·innovus零基础lab·innovus零基础·spacing rule·innnovus place
IC拓荒者1 个月前
数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)
数字ic后端·数字后端培训·innovus零基础lab·innovus零基础入门·function eco·post-mask eco·innovus eco步骤
IC拓荒者1 个月前
数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)
数字后端·数字ic后端·ic后端培训·innovus零基础lab·innovus place·innovus零基础·scan chain
IC拓荒者1 个月前
TSMC12nm工艺数字IC后端实现难点都有哪些?
数字ic后端·数字后端培训·calibre lvs·物理验证lvs·tsmc12nm·t12nm数字后端·double pattern
IC拓荒者1 个月前
DDRPHY数字IC后端设计实现系列专题之数字后端floorplan&powerplan设计
数字后端培训·innovus零基础lab·ddrphy后端实现·数字后端项目案例