ICC_lab總結——ICC_lab4:時鍾樹綜合


時鍾樹綜合的理論知識總結在這里:http://www.cnblogs.com/IClearner/p/6580034.html

下面是實踐環節:使用ICC進行時鍾樹綜合。

這個實驗的目標是:

  ·設置CTS的選項和例外

  ·綜合時鍾樹

  ·生成和分析時鍾樹偏差和時序報告,以確定CTSQoR

  ·修復保持時間違例並優化設計以獲得更好的面積

  ·使用非默認布線規則對時鍾網絡進行布線

  ·分析布線后的時鍾網絡

在實驗之前需要准備下面的文件:

 

 

 

 

圈圈那個文件是對標准單元布局好的設計,其他的三個腳本文件如上所述,需要我們進行自己編寫。准備好數據后(庫什么的就不用說了,自己解決),就可以開始實驗了:

·打開設計,檢查時鍾樹

--->打開庫,再打開設計

--->查看時鍾的偏移與一些屬性:report_clock skew  -attributes

--->查看時鍾樹的總體情況:report_clock_tree  -summary

--->檢查是否有違規:report_constraint   -all

--->通過GUI查看是否有時序例外的端口

·時鍾樹綜合前的准備

1--->把有時序例外的管腳設置為stop_pin:set_clock_tree_exceptions  -stop_pins   

  {I_SDRAM_TOP/I_SDRAM_IF/sd_mux_*/S}

2--->將所有時鍾的時鍾目標偏移設置為0.1。 從默認值0放寬偏斜目標將加快時鍾樹合成:set_clock_tree_options  -target_skew  0.1

3--->調整CTS后時序分析和優化的時鍾不確定性指:set_clock_uncertainty 0.1 [all_clocks]

4--->指定在CTS的“DRC緩沖”階段使用的緩沖區:set_clock_tree_references -references   {bufbd1 bufbd2 bufbd4 bufbd7 bufbdf}

5--->配置CTS使用非默認布線:

define_routing_rule  CLOCK_DOUBLE_SPACING \

-spacings {METAL3 0.42 METAL4 0.63 METAL5 0.82}

report_routing_rule CLOCK_DOUBLE_SPACING

set_clock_tree_options -routing_rule CLOCK_DOUBLE_SPACING \

-layer_list {METAL3 METAL5} -use_default_routing_for_sinks 1

6--->查看檢查報告,驗證已經進行了設置:

v report_clock_tree  -settings

7--->進行物理檢查:

check_physical_design  -stage  pre_clock_opt  -display

8--->設置(時鍾樹)延遲計算模式:

set_delay_calculation clock_arnoldi ;注意,在后面新的版本里面,已經不適合直接使用–clock_arnoldi的選項了,需要進行修改;這么修改可以進行man這個命令

9--->最后再檢查一下:check_clock_tree

·進行時鍾樹綜合

1--->合成所有時鍾樹,無需任何時序優化或布線:

clock_opt only_cts no_clock_route

2--->查看CTS之后的全局偏移總結:report_clock_tree -summary

使用clock timing命令生成不同的偏差報告:

report_clock_timing -type skew -significant_digits 3

3--->生成時序報告:v report_timing

4--->生成所有的違規報告,並查看:v  report_constraint -all

5--->保存設計:save_mw_cel -as clock_opt_cts

·進行保持時間優化

1--->啟用保持時間修復:set_fix_hold [all_clocks]

2--->查看報告:report_qor

3--->進行面積范圍設置:

set_max_area 0

## Set Area Critical Range

## Typical value: 5 percent of critical clock period

set physopt_area_critical_range 0.2

4--->RC參數的提取:extract_rc

5--->執行CTS后無時鍾布線的時序、面積和掃描鏈優化:

clock_opt -only_psyn -area_recovery -optimize_dft -no_clock_route

6--->查看報告和違規:

report_qor

report_constraint -all

7--->保存設計:save_mw_cel -as clock_opt_psyn

·進行時鍾樹布線

1--->時鍾樹布線:route_zrt_group -all_clock_nets -reuse_existing_global_route true

2--->查看是否違規:report_constraint -all

3--->保持設計:save_mw_cel -as clock_opt_route

4--->查看物理設計:report_design -physical

 


免責聲明!

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



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