ICC_lab總結——ICC_lab6:版圖完成


ICC_workshop的最后一個實驗了。在這次的實驗中,由於我使用ICC的版本與workshoplab不是同一個版本,因此在后面的實驗過程不是很順利,主要是在LVS的過程中,最后的LVS沒有通過。但是還是在這里說一下流程吧,在這個實驗中,主要完成下面的事情:

  ·DRC和LVS檢查

  ·進行連線擴展加寬連線來減少關鍵面積

  ·使用二極管修復天線違規

  ·使用填充單元填充核心中未填滿的位置

  ·進行冗余通孔插入(冗余通孔的插入是可選的)

  ·填充金屬以滿足金屬密度要求

  ·生成GDSII數據

首先需要准備下面的數據:

 

然后就可以開始試驗了:

  ·加載和分析設計

--->記載庫和設計

--->驗證是否有DRCLVS違規:

  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

--->查看是否有DRCLVS以及時序等違規:

  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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM