在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2346|回复: 3

[原创] dummy density 区域的值

[复制链接]
发表于 2021-11-15 16:48:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
1,工艺一般都会检查density,语法如下
ALPA_9_density {
@ ALPA min density is 10%
  DENSITY_MARK = BORDER NOT MARKS
  CHECK_LAYER = (ALPAi OR ALDUM) NOT MARKS
  CHECK_REGION = COPY DENSITY_MARK
  DENSITY CHECK_LAYER CHECK_REGION [area(CHECK_LAYER)/area(CHECK_REGION)] < 0.1 PRINT density_report_ALPA_9.log RDB density_report_ALPA_9.db


2 加density的脚本
DUMAL_OFF_0 =  RECTANGLES 7.110 7.110 3.555 28.441 OFFSET 0 3.556 INSIDE OF LAYER EXTENT_MT_0
DUMAA_a_all_out { COPY DUMAA_a_all }
DRC CHECK MAP DUMAA_a_all_out GDSII 10 1 AUTOREF


3. 怎么查看density不够,那么不够具体是多少勒?在DRC的报告下面有.db  查看DV=?就是跟实际偏差多少
image.png
image.png
image.png
 楼主| 发表于 2023-11-23 16:30:30 | 显示全部楼层
更新
微信图片_20231123163003.png
 楼主| 发表于 2023-11-24 15:25:23 | 显示全部楼层


fillgen 脚本 ;在t5 0.21的stdcell为0.21的高度中,弥补M4 信号绕线的density不足,按M4.DN.1.1 :13.5%的区域取值


/* SWITCH DEFINITION START */
PRECISION                       20000
LAYOUT PRECISION                2000
LAYOUT MAGNIFY                  AUTO
//DRC CELL NAME YES CELL SPACE XFORM ALL




//LAYOUT SYSTEM GDSII
LAYOUT SYSTEM  OASIS
LAYOUT PATH "test.oasis"
LAYOUT PRIMARY "test"


//LAYOUT PATH "test_M4.oasis"
//LAYOUT PRIMARY "test_M4"


//**** DRC output


DRC RESULTS DATABASE "rep/DRC_RES_test.db"
DRC SUMMARY REPORT "rep/DRC_test.rep"  // HIER
DRC KEEP EMPTY NO
DRC CHECK TEXT ALL
DRC MAXIMUM RESULTS ALL
DRC MAXIMUM RESULTS NAR ALL
DFM DEFAULTS RDB MAXIMUM 100000
//DRC INCREMENTAL CONNECT YES


//**layer definition


LAYER PRBOUNDARY    10800    // P&R cell boundary layer for auto P&R purpose
LAYER MAP 108 DATATYPE 0 10800
LAYER Chip_Boundary           10825    // For Chip area definition
LAYER MAP 108 DATATYPE 250 10825


LAYER M4i        2004                // Metal4 layer
LAYER MAP 34 DATATYPE 401 2004        // Mapping (34;401) to 2004 for M4i
LAYER MAP 34 DATATYPE 402 2004        // Mapping (34;402) to 2004 for M4i
//smint
LAYER M4ired 20041
LAYER MAP 34 DATATYPE 401 20041        // Mapping (34;402) to 2004 for M4i
LAYER M4iblue 20042
LAYER MAP 34 DATATYPE 402 20042        // Mapping (34;402) to 2004 for M4i


LAYER DM4_O       2024
LAYER MAP 334 DATATYPE 401 2024        // Mapping (334;401) to 2024 for OPC_M4i, OPC dummy metal
LAYER MAP 334 DATATYPE 402 2024        // Mapping (334;402) to 2024 for OPC_M4i, OPC dummy metal
LAYER DUM4    2044                // Dummy Metal4
LAYER MAP 334 DATATYPE 411 2044        // Mapping (334;411) to 2044 for DUM4
LAYER MAP 334 DATATYPE 412 2044        // Mapping (334;412) to 2044 for DUM4


LAYER F_ZONE0  22050
LAYER F_ZONE1  22051
LAYER F_ZONE2  22052
LAYER F_ZONE3  22053
//**the location for the first  fillgen=red  dummy of (DM4_O)  is POLGON LL ,  the pitch is  0.084,and space is 0.064  between first  fillgen and M4(vdd/vss)
// mesured the space of between  the first red M4 in the stdcell region and  polygon org  coordinate .which is 0.064  

//**解释 :区域定义最关键,这个区域的坐标就是LL的原点的值,且dummy生产也是这个原点且第一跟为红色。 要求要找到M4 drawing为红色的值,且离这个的pitch Y方向为0.084作为LL的起点坐标。
//1.1
LAYOUT POLYGON 18  80.0 220.0  120.0 220.0  120.0 140.354  200.0 140.354  200.0 220.0  220.0 220.0  220.0 260.0  200.0 260.0  200.0 420.0  220.0 420.0 220.0 480.0  200.0 480.0  200.0 620.0  220.0 620.0  220.0 680.0  200.0 680.0  200.0 700.0   80.0 700.0 F_ZONE0 test
LAYOUT POLYGON 6 300.0  100.0   340.0  100.0   340.0   63.074  1020.0   63.074  1020.0  140.0   300.0  140.0 F_ZONE1 test
LAYOUT POLYGON 6 1160.0   63.074  1680.0   63.074  1680.0  100.0  1740.0  100.0  1740.0  140.0  1160.0  140.0 F_ZONE2 test
LAYOUT POLYGON 18 1720.0  200.0  1740.0  200.0  1740.0  148.334  1820.0  148.334  1820.0  180.0  1880.0  180.0  1880.0  680.0  1800.0  680.0  1800.0  820.0  1720.0  820.0
1720.0  760.0  1740.0  760.0  1740.0  740.0  1720.0  740.0  1720.0  580.0  1740.0  580.0  1740.0  240.0  1720.0  240.0 F_ZONE3 test






//***Fill shape,每个都要用到R0的fillgen 形状。放在不同的polygon区域中,因为每个区域格点不一样
DFM SPEC FILL SHAPE "R0"
        RECTFILL 0 0 .5 .02    // FILL region length&width
//        SPACEY .064 M4i               // space to DM4_0         
//        SPACEX .146 M4i               // space to DM4_0         
//        SPACE 2 DUM4               // space to DM4_0         
        STEP  0.146 0.19        //0.146 in x-direction, Y:0.19
//        OFFSET 0.19 0.03                // the step of shape "R1", step from 0.128 to 0.146       
//        COLOR SCHEME CHECKER
        COLOR SCHEME ALTERNATEX                //(offset 0.1 0  & ALTERNATE)  setted  that the same color is  in  X axis


//**which layer  added fill shape ,
DFM SPEC FILL fillR0
        INSIDE OF LAYER F_ZONE0
        INITIAL FILLREGION
        FILLSHAPE OUTPUT "outR0" "R0"
DFM SPEC FILL fillR1                        // R0 is the same
        INSIDE OF LAYER F_ZONE1
        INITIAL FILLREGION
        FILLSHAPE OUTPUT "outR1" "R0"


DFM SPEC FILL fillR2
        INSIDE OF LAYER F_ZONE2
        INITIAL FILLREGION
        FILLSHAPE OUTPUT "outR2" "R0"


DFM SPEC FILL fillR3
        INSIDE OF LAYER F_ZONE3
        INITIAL FILLREGION
        FILLSHAPE OUTPUT "outR3" "R0"



//**** multiple color assignment
//fill_A = DFM FILL fillR1 "outR1" COLOR A
//fill_B = DFM FILL fillR1 "outR1" COLOR B
fill_G0 = DFM FILL fillR0 "outR0"
fill_G1 = DFM FILL fillR1 "outR1"
fill_G2 = DFM FILL fillR2 "outR2"
fill_G3 = DFM FILL fillR3 "outR3"


VARIABLE  Max_GDM4_TO_allM4 0.146
VARIABLE  Max_GDM4_TO_PGM4  0.064


//M4OS = GROW M4i RIGHT BY 0.146 LEFT BY 0.146 TOP BY 0.063 BOTTOM BY 0.063   这句等与下面两句,但因为grow和size不一样。所以要进行拆分,size长有左下角
M4OS1 = SIZE  M4i BY 0.063        // the space between M4i and fill is 0.064 ,这里长的太大会跟M4的电源边相abut,不好逻辑。故意取小一点点
M4OS = GROW M4OS1  RIGHT BY 0.083 LEFT BY 0.083                // the space between M4i/DM4 and  fillgen dummy (left/right :0.146 top/bottom is== 0.064)
fill_GN=  (OR fill_G0 fill_G1 fill_G2 fill_G3) NOT INTERACT M4OS

//*** dummy to fixed color。这里是电源长大0.084 更新生产的fillgen and后取出想要的fill颜色
PM4ired = GROW M4ired TOP BY 0.084 BOTTOM BY 0.084
DDUM4 =  SIZE DUM4 BY 0.146
DDM4_O =  SIZE DM4_O BY 0.146


fill_A = PM4ired and fill_GN
fill_B = fill_GN NOT fill_A


fill_A_out = fill_A NOT INTERACT (OR fill_B  DDUM4 DDM4_O )   // filter interact with fill_B ,DDUM4 ,DDM4_O需要被过滤掉
fill_B_out = fill_B NOT INTERACT (OR fill_A  DDUM4 DDM4_O)


//***dummy fill is outputed and assigned data number
oas_out{
DFM RDB OASIS fillout_test.oas fill_A_out 334 401
DFM RDB OASIS fillout_test.oas fill_B_out 334 402
////**debug layer region ,做逻辑测试输出的
DFM RDB OASIS fillout_test.oas fill_G0 334 4020
DFM RDB OASIS fillout_test.oas fill_G1 334 4021
//DFM RDB OASIS fillout_test.oas fill_G2 334 4022
//DFM RDB OASIS fillout_test.oas fill_G3 334 4023
//DFM RDB OASIS fillout_test.oas fill_G3 334 4023
//DFM RDB OASIS fillout_test.oas fill_GN1  334 40241
//DFM RDB OASIS fillout_test.oas M4i  334 40242
//DFM RDB OASIS fillout_test.oas fill_A 334 4025
//DFM RDB OASIS fillout_test.oas fill_B  334 4024
}


命令运行 : calibre -64 -drc -hier -hyper -turbo  当前fill脚本

发表于 2023-12-15 13:47:31 | 显示全部楼层
大佬,我版图做DRC的时候报错说M1金属密度超过85%,而且我看density report里面说我M1金属密度超过100%了,原因是DRC用M1面积除以AA_14a_a面积,就像楼主你发的图片那样。我想知道这个AA_14a_a是指哪些区域啊?下面是我版图的截图和密度报告

1702618421650.jpg 1702619039633.jpg

红色是AA,蓝绿色是M1,深蓝色是poly。那么哪些可以算作是AA_14a_a的面积啊?中间很一大块除了M1和AA就没有其他层了,我估计DRC算M1密度的时候,分母并不是整个窗口的面积,而是AA_14a_a的面积,而AA_14a_a的面积可能只是窗口内的很一小部分。那么我想问区域满足哪些条件算是有效的AA_14a_a呢?像我这种M1密度明显没有超标的,还需不需要修改呢?如果需要修改怎样增加有效窗口面积呢?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 04:11 , Processed in 0.017359 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表