インテルのみ表示可能 — GUID: mwh1452708862672
Ixiasoft
仮想クロックを使用した入力遅延と出力遅延
すべての入力遅延と出力遅延は、仮想クロックを参照する必要があります。 この仮想クロックを使用すると、タイミング・アナライザーでは、derive_clock_uncertainty コマンドを使用して、適切なクロック不確実性の値を導出し、適用することができます。入力と出力の遅延による参照が、仮想クロックではなく、ベースクロックまたはPLLクロックの場合、クロック内およびクロック間の転送クロックの不確実性は、derive_clock_uncertainty によって決定され、I/Oポートに正しく適用されません。また、仮想クロックを使用すると、外部のクロック不確実性を追加で適用することができます。これは、、derive_clock_uncertainty で決定されるクロック不確実性の独立性とは無関係です。
仮想クロックのプロパティーは、入力 (入力遅延) または出力 (出力遅延) ポートのいずれかに使用した元のクロックと同じものでなければいけません。
図 10. チップ間のデザインに仮想クロックを入力/出力ポートとして使用した場合
入力遅延と出力遅延による仮想クロックの参照
#create the input clock create_clock -name clkA -period 10 [get_ports clkA] #create the associated virtual input clock create_clock -name clkA_virt -period 10 #create the output clock create_clock -name clkB -period 5 [get_ports clkB] #create the associated virtual input clock create_clock -name clkB_virt -period 5 #determine internal clock uncertainties derive_clock_uncertainty #create the input delay referencing the virtual clock #specify the maximum external clock delay from the external #device set CLKAs_max 0.200 #specify the minimum external clock delay from the external #device set CLKAs_min 0.100 #specify the maximum external clock delay to the FPGA set CLKAd_max 0.200 #specify the minimum external clock delay to the FPGA set CLKAd_min 0.100 #specify the maximum clock-to-out of the external device set tCOa_max 0.525 #specify the minimum clock-to-out of the external device set tCOa_min 0.415 #specify the maximum board delay set BDa_max 0.180 #specify the minimum board delay set BDa_min 0.120 #create the input maximum delay for the data input to the #FPGA that accounts for all delays specified set_input_delay -clock clkA_virt \ -max [expr $CLKAs_max + $tCOa_max + $BDa_max - $CLKAd_min] \ [get_ports {data_in[*]}] #create the input minimum delay for the data input to the #FPGA that accounts for all delays specified set_input_delay -clock clkA_virt \ -min [expr $CLKAs_min + $tCOa_min + $BDa_min - $CLKAd_max] \ [get_ports {data_in[*]}] #creating the output delay referencing the virtual clock #specify the maximum external clock delay to the FPGA set CLKBs_max 0.100 #specify the minimum external clock delay to the FPGA set CLKBs_min 0.050 #specify the maximum external clock delay to the external device set CLKBd_max 0.100 #specify the minimum external clock delay to the external device set CLKBd_min 0.050 #specify the maximum setup time of the external device set tSUb 0.500 #specify the hold time of the external device set tHb 0.400 #specify the maximum board delay set BDb_max 0.100 #specify the minimum board delay set BDb_min 0.080 #create the output maximum delay for the data output from the #FPGA that accounts for all delays specified set_output_delay -clock clkB_virt \ -max [expr $CLKBs_max + $tSUb + $BDb_max - $CLKBd_min] \ [get_ports {data_out}] #create the output minimum delay for the data output from the #FPGA that accounts for all delays specified set_output_delay -clock clkB_virt \ -min [expr $CLKBs_min - $tHb + $BDb_min - $CLKBd_max] \ [get_ports {data_out}]