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