ICC_lab总结——ICC_lab6:版图完成
ICC_workshop的最后一個(gè)實(shí)驗(yàn)了。在這次的實(shí)驗(yàn)中,由于我使用ICC的版本與workshop的lab不是同一個(gè)版本,因此在后面的實(shí)驗(yàn)過(guò)程不是很順利,主要是在LVS的過(guò)程中,最后的LVS沒有通過(guò)。但是還是在這里說(shuō)一下流程吧,在這個(gè)實(shí)驗(yàn)中,主要完成下面的事情:
·DRC和LVS檢查
·進(jìn)行連線擴(kuò)展和加寬連線來(lái)減少關(guān)鍵面積
·使用二極管修復(fù)天線違規(guī)
·使用填充單元填充核心中未填滿的位置
·進(jìn)行冗余通孔插入(冗余通孔的插入是可選的)
·填充金屬以滿足金屬密度要求
·生成GDSII數(shù)據(jù)
首先需要準(zhǔn)備下面的數(shù)據(jù):
?
然后就可以開始試驗(yàn)了:
·加載和分析設(shè)計(jì)
--->記載庫(kù)和設(shè)計(jì)
--->驗(yàn)證是否有DRC和LVS違規(guī):
verify_zrt_route
verify_lvs
--->有,則進(jìn)行修復(fù)(具體怎么修復(fù)這里不進(jìn)行介紹,我也不知道具體的細(xì)節(jié),但是是有這個(gè)流程的)
--->查看是否有違規(guī):
--->有,則進(jìn)行修復(fù):psynopt ?-xxx
?
?
·減少關(guān)鍵面積
--->通過(guò)GUI查看關(guān)鍵面積(short critical area)
--->查看、保存修改前短路的關(guān)鍵面積的報(bào)告:
report_critical_area -fault_type short
sh mv output_heatmap cca.short.before.rpt
--->進(jìn)行連線擴(kuò)展,減少短路的關(guān)鍵面積:
spread_zrt_wires
--->查看、保存連線擴(kuò)展后的關(guān)鍵面積報(bào)告:
report_critical_area -fault_type short
sh mv output_heatmap cca.short.after.rpt
?
--->查看、保存修改前開路的關(guān)鍵面積的報(bào)告:
report_critical_area -fault_type open
sh mv output_heatmap cca.open.before.rpt
--->進(jìn)行加寬導(dǎo)線,來(lái)減少開路的關(guān)鍵面積:
widen_zrt_wires
--->查看、保存加寬導(dǎo)線后的關(guān)鍵面積報(bào)告:
report_critical_area -fault_type open
sh mv output_heatmap cca.open.after.rpt
--->查看是否有DRC、LVS以及時(shí)序等違規(guī):
verify_zrt_route
verify_lvs
rc
--->如果有,則進(jìn)行修復(fù)(具體怎么修復(fù)這里不進(jìn)行介紹,我也不知道具體的細(xì)節(jié),但是是有這個(gè)流程的),修復(fù)后保存設(shè)計(jì):save_mw_cel -as chip_finish_ca
?
?
·使用二極管修復(fù)天線違規(guī)
--->安裝一組天線規(guī)則:
source -echo scripts/cb13_6m_antenna.tcl
天線規(guī)則設(shè)置確定如何處理金屬層的模式
--->檢查已定義的當(dāng)前天線比率規(guī)則,并檢查您的設(shè)計(jì)中是否存在任何接觸違規(guī):
report_antenna_rules
verify_zrt_route
--->進(jìn)行天線違規(guī)修復(fù):
set_route_zrt_detail_options -insert_diodes_during_routing true
route_zrt_detail -incremental true
--->檢查lvs違規(guī):
verify_lvs
--->如果有lvs錯(cuò)誤,則重新定義P/G環(huán),看是否由插入二極管引起:
derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS
derive_pg_connection -power_net VDD -ground_net VSS -tie
--->再檢查各種違規(guī):
verify_zrt_route
verify_lvs
rc
如果有違規(guī),這時(shí)候的違規(guī)就不是天線違規(guī)引起的了,通過(guò)其他手段進(jìn)行修復(fù)
--->保存設(shè)計(jì):save_mw_cel -as chip_finish_antenna
?
?
·插入標(biāo)準(zhǔn)填充單元
--->插入標(biāo)準(zhǔn)單元:
insert_stdcell_filler -cell_with_metal "feedth9 feedth3" -connect_to_power VDD -connect_to_ground VSS -between_std_cells_only
--->插入非金屬填充單元:
insert_stdcell_filler -cell_without_metal "feedth" -connect_to_power VDD -connect_to_ground VSS -between_std_cells_only
--->查看是否有違規(guī)(一般沒有):
verify_zrt_route
verify_lvs
rc
?
·插入冗余過(guò)孔
--->成物理設(shè)計(jì)報(bào)告以確定現(xiàn)有的雙重過(guò)孔率:
report_design_physical -route
--->生成 ?將在冗余過(guò)孔插入期間 ?自動(dòng)使用的 ??過(guò)孔映射表:
insert_zrt_redundant_vias -list_only
--->使用默認(rèn)的中等強(qiáng)度進(jìn)行插入冗余過(guò)孔:
insert_zrt_redundant_vias -effort medium
--->檢查是否有違例:
verify_zrt_route
verify_lvs
rc
--->插入金屬,以滿足金屬密度要求:
insert_metal_filler -routing_space 2 -timing_driven
--->確保在本階段添加的單元和所有電源地的pin都連接到電源的網(wǎng)絡(luò):
derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS
derive_pg_connection -power_net VDD -ground_net VSS -tie
--->檢查是否違規(guī):
verify_zrt_route
verify_lvs
rc
---->保存設(shè)計(jì),寫出GDSII文件:
?
save_mw_cel -as chip_finish_final
close_mw_cel
write_stream -cells chip_finish_final orca.gdsii
close_mw_lib
?
轉(zhuǎn)載于:https://www.cnblogs.com/IClearner/p/6613546.html
總結(jié)
以上是生活随笔為你收集整理的ICC_lab总结——ICC_lab6:版图完成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【网络知识点】防火墙主备冗余技术
- 下一篇: SIMD学习 -- 用SSE2指令作