UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 50450

Vivado タイミング - CPR (Clock Pessimism Removal) の概要、計算、決定方法

説明

CPR (Clock Pessimism Removal) とは何ですか。どのように算出されますか。

ソリューション

  • スタティック タイミング解析では、セットアップとホールドの 2 つの測定基準が通常チェックされます。この説明は、セットアップ チェックの利点から説明したものです。  
  • FPGA 内のデータおよびクロッキング パスは確率を元に計算された遅延を伝搬し、この範囲はプロセス、電圧、温度 (PVT) の変動で決定します。
  • 高速と低速の 2 つのプロセスがあります。パス遅延には最小値と最大値の両方があります。
  • ワーストケース セットアップのシナリオを見つけ出すため、最大のデータ パスと最小のクロック パスがツールで使用されます。

図 について :

  • クロックが分かれてぞれぞれのフロップに入力される前に、共通クロック パスがあります。
  • つまり、デスティネーション パスは最小のパス遅延、ソース パスには最大遅延が適用されます。
  • 問題はこれらのパスがアップストリームで接続されていることです。
  • この共通パスの場合、最小遅延と最大遅延の両方を適用することはできません。
  • CPR は、この問題措置のため、最大値と最小値の差を利用します。つまり、CLK_COMMONdest - CLK_COMMONsource となります。
  • この差はスラック計算に考慮されます。 

図 1 : セットアップおよびホールドの CPR シナリオ

 

 

 

実例 :

  • 次のレポートによると CPR は -0.353 ns になります。
  • つまり、CPR = CLK_COMMONdest - CLK_COMMONsource となります。
  • このケースでは、共通のクロッキング パスの開始点は PAD (AG10) で、終点は BUFG (BUFGCTRL_X0Y1) です。
  • この後、パスは 2 つのスライスに分かれます。次のレポートでは、CPR は -2.534 ns となっていますが、これは間違いです。


CLK_COMMONdest = 9.948 ns - 5 ns = 4.498 ns (5ns を差し引くと次のクロック エッジになります)
CLK_COMMONsource  = 5.301 ns
CPR CLK_COMMONdest - CLK_COMMONsource = 4.498 ns - 5.301 ns = -0.353 ns

次のレポートの CPR は間違っています。この問題は修正されています (2012.3)。

次はエラー メッセージの抜粋です。

------------------------------ INFO: [Timing-91] UpdateTimingParams: Estimated, Speed grade: -1, Delay Type: max, Constraints type: SDC.
INFO: [Timing-78] ReportTimingParams: -max_paths 1 -nworst 1 -transition rf -delay_type max -sort_by slack. ------------------------------------------------------------------------------------ | Report : timing
| Design : blastpn_fpga0
| Part : Device=7k325t Package=ffg900 Speed=-1 (PREVIEW 1.04 2012-04-11)
| Version : Vivado v2012.1 (64-bit) Build 179419 by xbuild on Thu Apr 26 11:43:29 MDT 2012
| Date : Thu Jun 14 15:14:10 2012
| Command : report_timing -from i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.ddr_phy_4lanes/ddr_byte_lane_D.ddr_byte_lane_D/dq_gen_40.if_post_fifo_gen.if_empty_r_reg/Q -to {i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/not_strict_mode.app_rd_data_reg[64]/D} ------------------------------------------------------------------------------------ Slack (VIOLATED) : -4.895ns Source: i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.ddr_phy_4lanes/ddr_byte_lane_D.ddr_byte_lane_D/dq_gen_40.if_post_fifo_gen.if_empty_r_reg/Q
(rising edge-triggered cell FDCE clocked by clk_pll_1 {rise@0.000ns fall@2.500ns period=5.000ns})
Destination: i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/not_strict_mode.app_rd_data_reg[64]/D
(rising edge-triggered cell FDCE clocked by clk_pll_1 {rise@0.000ns fall@2.500ns period=5.000ns})
Path Group: clk_pll_1
Path Type: Max at Slow Process Corner
Requirement: 5.000ns
Data Path Delay: 6.817ns (logic 0.539ns (7.907%) route 6.278ns (92.093%))
Logic Levels: 5 (LUT2=2 LUT3=1 LUT4=1 LUT6=1)
Clock Path Skew: -3.024ns (DCD - SCD + CPR)
Destination Clock Delay (DCD): 6.663ns
Source Clock Delay (SCD): 7.153ns
Clock Pessimism Removal (CPR): -2.534ns
Clock Uncertainty: 0.054ns ((TSJ^2 + DJ^2)^1/2) / 2 + PE
Total System Jitter (TSJ): 0.071ns
Discrete Jitter (DJ): 0.081ns
Phase Error (PE): 0.000ns
Location Delay type Incr(ns) Path(ns) Netlist Resource(s) ------------------------------------------------------------------- ------------------- (clock clk_pll_1 rise edge)
0.000 0.000 r
AG10 0.000 0.000 r CLK_HPCLK_P
AG10 IBUFDS (Prop_ibufds_I_O) 1.036 1.036 r i_blast_common/i_ibufds_sys_clk0/O
PLLE2_ADV_X1Y1 PLLE2_ADV (Prop_plle2_adv_CLKIN2_CLKOUT3)
1.317 2.353 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_ddr3_infrastr
BUFGCTRL_X0Y1 BUFG (Prop_bufg_I_O) 2.948 5.301 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_ddr3_infrastructure/u_bufg_clkdiv0/O
SLICE_X152Y94 net (fo=4991) 1.852 7.153 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.ddr_phy_4lanes/ddr_byte_lane_D.ddr_byte_lane_D/dq_gen_40.if_post_fifo_gen.if_empty_r_reg/C ------------------------------------------------------------------- -------------------< SLICE_X152Y94 FDCE (Prop_fdce_C_Q) 0.308 7.461 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.ddr_phy_4lanes/ddr_byte_lane_D.ddr_byte_lane_D/dq_gen_40.if_post_fifo_gen.if_empty_r_reg/Q SLICE_X150Y70 LUT4 (Prop_lut4_I2_O) 1.484 8.945 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.ddr_phy_4lanes/ddr_byte_lane_A.ddr_byte_lane_A/dq_gen_40.if_post_fifo_gen.u_ddr_if_post_fifo/i_134281_7618/O SLICE_X114Y77 LUT2 (Prop_lut2_I1_O) 1.691 10.636 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_calib_top/u_ddr_phy_init/i_134281_10513/O SLICE_X114Y77 LUT2 (Prop_lut2_I0_O) 0.286 10.922 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_calib_top/u_ddr_phy_init/i_134281_11708/O SLICE_X127Y77 LUT6 (Prop_lut6_I5_O) 0.757 11.679 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/i_134281_11854/O SLICE_X150Y88 LUT3 (Prop_lut3_I1_O) 2.325 14.004 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/i_134102_12146/O SLICE_X150Y88 net (fo=1) 0.000 14.004 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/not_strict_mode.app_rd_data_reg[64]/D SLICE_X150Y88 FDCE (Setup_fdce_C_D) -0.034 13.970 i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/not_strict _mode.app_rd_data_reg[64] ------------------------------------------------------------------- ------------------- (clock clk_pll_1 rise edge)
5.000 5.000 r
AG10 0.000 5.000 r CLK_HPCLK_P
AG10 IBUFDS (Prop_ibufds_I_O) 0.935 5.935 r i_blast_common/i_ibufds_sys_clk0/O
PLLE2_ADV_X1Y1 PLLE2_ADV (Prop_plle2_adv_CLKIN2_CLKOUT3)
1.231 7.166 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_ddr3_infrastructure/plle2_i/CLKOUT3
BUFGCTRL_X0Y1 BUFG (Prop_bufg_I_O) 2.782 9.948 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_ddr3_infrastructure/u_bufg_clkdiv0/O
SLICE_X150Y88 net (fo=4991) 1.715 11.663 r i_blast_common/i_ddr3_wrapper_1/i_mig_7series_v1_4/u_memc_ui_top_std/u_ui_top/ui_rd_data0/not_stric
t_mode.app_rd_data_reg[64]/C
clock pessimism -2.534 9.129
clock uncertainty -0.054 9.075 ------------------------------------------------------------------- required time 9.075
arrival time -13.970 ------------------------------------------------------------------- slack -4.895
AR# 50450
日付 09/18/2013
ステータス アクティブ
種類 既知の問題
デバイス
  • FPGA Device Families
ツール
  • Vivado Design Suite
このページをブックマークに追加