インテル® Quartus® Primeタイミング・アナライザー・クックブック

ID 683081
日付 7/21/2022
Public

マルチサイクル例外

デフォルトでは、タイミング・アナライザーでは、シングルサイクル解析を使用して、レジスター間パスのセットアップおよびホールドの関係を決定します。 このシングルサイクル解析で想定している回路に対するセットアップとホールドの要件は、最も厳しいものです。しかし、マルチサイクル例外を適用して、レジスター間パスのデフォルトのセットアップまたはホールド関係を緩和することができます。ただしこれを行うのは、パスにとって適切であることがわかっている場合です。
図 15. レジスター間パス

マルチサイクルは、クロック間転送あるいは個別のレジスターに適用することができます。マルチサイクルをクロック間転送に適用することで影響を受けるのは、レジスター間パスのターゲットクロックがソースとデスティネーションのクロックによって供給されている場合、そのクロックによって指定されているすべてのセットアップまたはホールド関係です。

クロック間のマルチサイクル化

create_clock -period 10 [get_ports clkA]
create_clock -period 5 [get_ports clkB]
set_multicycle_path -from [get_clocks {clkA}] -to [get_clocks {clkB}] -setup -end 2

クロック間のマルチサイクル化の例では、セットアップ関係は、デスティネーション・クロックが追加されることにより緩和されます。これは、任意のレジスター間パスで、ソースクロックが clkA、デスティネーション・クロックが clkB である場合です。これにより、レジスター reg1 とレジスター reg2 のセットアップ関係は、デフォルトの5nsではなく、12.5nsになります。レジスター reg2 とレジスター reg3 間のセットアップ関係は、このマルチサイクルによる影響は受けません。

マルチサイクルを個々のレジスターに適用することで影響を受けるのは、指定したレジスターのセットアップまたはホールド関係に限られます。

クロック間のマルチサイクル化の例 (上図) では、セットアップ関係が、レジスター reg1 からレジスター reg2 までのレジスター間パスに対するデスティネーション・クロック周期の追加によって緩和されます。これにより、レジスター reg1 とレジスター reg2 間のセットアップ関係は、デフォルトの5nsではなく、10nsになります。レジスター reg2 とレジスター reg3 間のセットアップ関係は、このマルチサイクルによる影響は受けません。

レジスター間のマルチサイクル化

create_clock -period 10 [get_ports clkA]
create_clock -period 5 [get_ports clkB]
set_multicycle_path -from [get_pins {reg1|q}] -to [get_pins {reg2|d}] -setup -end 2