Signal EM cell EM
时间:10-02
整理:3721RD
点击:
ICC和PT的flow里面有signal EM和cell EM的check 和fix。
搜集了一下资料,感觉理解的不是很深刻也没有修过这个东西,还请各位前辈来一些精辟的理解和典型的实际项目例子,帮助我理解一下这两个概念,和fix。
signal EM 的检查主要是检查绕线里面针对特定线宽和线层所规定的rms电流limit值,为了让self heating 在5C以下。阻止self heating可以避免绕线所连接的cell的EM lifetime 呈指数下降。
signal EM是在ICC里面check的:
首先需要个tech file:*.alf
LIBRARY designNew {
LAYER M1 {
PURPOSE = routing;
LIMIT {
CURRENT avg_limit {
MEASUREMENT = average;
MAX { HEADER {
TEMPERATURE { TABLE { 110 125 }}
WIDTH { TABLE { 0.045 0.09 0.18 0.36 4.05 }}
} TABLE { 0.06809 0.02436
0.14105 0.05047
0.28697 0.10267
0.57879 0.20708
6.56129 2.34753 }}
}
CURRENT rms_limit {
MEASUREMENT = rms;
MAX { HEADER {
TEMPERATURE { TABLE { 110 125 }}
WIDTH { TABLE { 0.045 0.09 0.18 0.36 4.05 }}
} TABLE { 0.61044 0.61044
1.10233 1.10233
1.94695 1.94695
3.48172 3.48172
32.98260 32.98260 }}
}
CURRENT peak_limit {
MEASUREMENT = peak;
MAX { HEADER {
TEMPERATURE { TABLE { 110 125 }}
WIDTH { TABLE { 0.045 0.09 0.18 0.36 4.05 }}
} TABLE { 0.75768 0.75768
1.56948 1.56948
3.19308 3.19308
6.44028 6.44028
73.00788 73.00788 }}
}
}
}
LAYER M2 {
.......
.......}
}
set alf "*_8+2.alf"
set_mw_technology_file -alf $alf $mw_design_lib
再就是需要load fast corner的 lib:
set link_libs { \
tsmc_cln28hp_schi35p_fast_125c_0p935v.db \
tsmc_cln28hp_scsi35p_fast_125c_0p935v.db \
.....
RREPS_L111HDSWBV256M4X28B1_fast_125c_0p935v.db \
}
set link_library [concat "*" $link_libs]
set target_library $link_libs
第三步是要设置 tograte和switch activity:
et power_default_toggle_rate 0.5
# Set switching activity for all registers and black_boxes
set_switching_activity -base_clock "*" -toggle_rate 0.5 -static_probability 0.5 -type registers -hier
set_switching_activity -base_clock "*" -toggle_rate 0.5 -static_probability 0.5 -type black_boxes -hier
propagate_switching_activity
最后可以报signal em的report了:
report_signal_em -verbose -violated > signal_em.rpts
Signal EM 的fix:
没有遇到过error,但是据说是应该 ndr rule 去修的。不知道一般什么情况下会报error?
---------干活,回头再更新。------
搜集了一下资料,感觉理解的不是很深刻也没有修过这个东西,还请各位前辈来一些精辟的理解和典型的实际项目例子,帮助我理解一下这两个概念,和fix。
signal EM 的检查主要是检查绕线里面针对特定线宽和线层所规定的rms电流limit值,为了让self heating 在5C以下。阻止self heating可以避免绕线所连接的cell的EM lifetime 呈指数下降。
signal EM是在ICC里面check的:
首先需要个tech file:*.alf
LIBRARY designNew {
LAYER M1 {
PURPOSE = routing;
LIMIT {
CURRENT avg_limit {
MEASUREMENT = average;
MAX { HEADER {
TEMPERATURE { TABLE { 110 125 }}
WIDTH { TABLE { 0.045 0.09 0.18 0.36 4.05 }}
} TABLE { 0.06809 0.02436
0.14105 0.05047
0.28697 0.10267
0.57879 0.20708
6.56129 2.34753 }}
}
CURRENT rms_limit {
MEASUREMENT = rms;
MAX { HEADER {
TEMPERATURE { TABLE { 110 125 }}
WIDTH { TABLE { 0.045 0.09 0.18 0.36 4.05 }}
} TABLE { 0.61044 0.61044
1.10233 1.10233
1.94695 1.94695
3.48172 3.48172
32.98260 32.98260 }}
}
CURRENT peak_limit {
MEASUREMENT = peak;
MAX { HEADER {
TEMPERATURE { TABLE { 110 125 }}
WIDTH { TABLE { 0.045 0.09 0.18 0.36 4.05 }}
} TABLE { 0.75768 0.75768
1.56948 1.56948
3.19308 3.19308
6.44028 6.44028
73.00788 73.00788 }}
}
}
}
LAYER M2 {
.......
.......}
}
set alf "*_8+2.alf"
set_mw_technology_file -alf $alf $mw_design_lib
再就是需要load fast corner的 lib:
set link_libs { \
tsmc_cln28hp_schi35p_fast_125c_0p935v.db \
tsmc_cln28hp_scsi35p_fast_125c_0p935v.db \
.....
RREPS_L111HDSWBV256M4X28B1_fast_125c_0p935v.db \
}
set link_library [concat "*" $link_libs]
set target_library $link_libs
第三步是要设置 tograte和switch activity:
et power_default_toggle_rate 0.5
# Set switching activity for all registers and black_boxes
set_switching_activity -base_clock "*" -toggle_rate 0.5 -static_probability 0.5 -type registers -hier
set_switching_activity -base_clock "*" -toggle_rate 0.5 -static_probability 0.5 -type black_boxes -hier
propagate_switching_activity
最后可以报signal em的report了:
report_signal_em -verbose -violated > signal_em.rpts
Signal EM 的fix:
没有遇到过error,但是据说是应该 ndr rule 去修的。不知道一般什么情况下会报error?
---------干活,回头再更新。------
没遇到过,坐等高人解释
没遇到过,也没做过
其实你自己可以修改一个alf文件,把条件修改的严格一些去报,看看有没有violation……
PT 好像不能报signalEM吧,prime rail是syns专门checkIR EM的工具……