Timing path


Timing path:從register clock/input port開始,經過一些combinational logic,終止在register data/output port。

PT以path grouping為單位來分析和報告timing。

DC,每個path group可以指定一個weight,來盡力做design optimizaiton,但是這個weight在PT中並沒有用。

 

每個create clock命令都會生成一個對應的path group。

PT中還有自己的default group:clock_gating_default**:path以combinational element為終點。

                                           async_default*:path以async的preset和clear為終點。

                                           *default*:剩下的所有clock,如以output為終點的clock。

 

也可以自己定義group_path:group_path -name out1bus -to [get_ports OUT_1*] 然后可以報告該path group的timing。

 

report_timing命令中的屬性:

Number of paths:-nworst  顯示每個end point最worst的N條path,-max_paths  顯示整個group的worst path的個數

Types of paths:-path_type full    -delay_type max

Amount of detail

Startpoints,endpoint

 

-path_type full_clock/full_clock_expanded 顯示完整的data path和clock path

                 full 顯示完整data path

                 short 只顯示一條data path的startpoint和endpoint

 

-transition_time   報告路徑的transition time

-capacitance       報告路徑的capacitance

 

對於exception timing的rpt:

1)-exceptions dominant 報告路徑中的exception constrained

2)-exceptions overridden 報告路徑中被覆蓋的exception constrained

3)-exceptions all 報告所有的exception path,包括unconstrained startpoint 和unconstrained endpoint

exceptions path的三種屬性:方便進行filter

dominant_exception timing path的類型:false path, min_delay, max_delay, multicycle_path

endpoint_unconstrained_reason:no_capture_clock, dangling_end_point(floating point no timing constraints), danin_of_disable(disable timing arc)

startpoint_unconstrained_reason:no_launch_clock,dangling_start_point,fanout_of_disable

 

filter_collection $path {defined(dominant_exception)}

filter_collection $path {undefined(dominant_exception)}

 

get_timing_path更好的刪選timing path

set x [get_timing_paths -from A -through B -to C]

report_timing $x -exceptions all

 

Path Sepecification Methods

-from $startpoint

-to $endpoint

-through

report_timing -from [get_clocks ...] -though $startpoint

report_timing -through $endpoint  -to [get_clocks ...]

report_timing -through {B1 B2}

更加精細的方式:

-rise_from/-rise_to

-fall_from/-fall_through...

 

set_false_path -to [get_clocks CLK]   :取以CLK為終點的timing path,data端的FF的clock是CLK

                                                         path:a,b,c,d有效

set_false_path -rise_from [get_clocks CLK] :以CLK為起點,且data端以clock的rising edge來觸發

                                                         path:a,d有效

 

report_timing -rise_from [get_clock clk] -nworst 100

 

對於delay的report:

report_delay_calculation -from BLK1/A -to BLK1/z

 


免責聲明!

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



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