タイミングアナライザの例: マルチサイクル例外

author-image

投稿者:

Synopsys® Design Constraint (SDC) コマンド set_multicycle_path では、ソースレジスターとデスティネーションレジスターの間でデータが伝搬する際に、デスティネーションクロックまたはソースクロックを基準にして、許容できるクロックサイクル数を指定できます。これは、図 1 のシナリオで役立ちます。

図1は、デスティネーションレジスター reg2 に 2 のマルチサイクルが必要なシンプルな回路です。レジスター reg2 は、2 クロックサイクルごとにそのデータをラッチします。

図 1.レジスター間のマルチサイクルパス。

下記の SDC コマンドは、上記回路内のクロックを制約します。

#Constrain the base clock

create_clock -period 10.000 [get_ports clk_in]

#Constrain the PLL output clock

create_generated_clock -source inst|inclk[0] -multiply_by 2 \
-name inst|clk[1] inst|clk[1]

#Constrain the input and output ports

set_input_delay -clock clk_in 1.2 [get_ports data_in]
set_input_delay -clock clk_in 1.5 [get_ports async_rst]
set_output_delay -clock clk_in 2 [get_ports data_out]

#Apply a multicycle of 2 to registers reg1 and reg2
#By default the multicycle is relative to the destination clock waveform

set_multicycle_path -setup -end -from [get_pins reg1|clk] -to [get_pins reg2|*] 2

サンプル回路 multicycle_exception.qar をダウンロード。

このデザインの使用には、インテル® デザイン例ライセンス契約の条件が適用されます。