インテル® Quartus® Primeプロ・エディションのユーザーガイド: タイミング・アナライザー

ID 683243
日付 1/31/2023
Public
ドキュメント目次

2.6.8.4.2. マルチサイクルによるセットアップの緩和 (set_multicyle_path)

データ転送速度がクロックサイクルよりも遅い場合は、マルチサイクル例外を使用することができます。 セットアップ関係を緩和すると、タイミング解析でデータを有効として受け入れる際のウィンドウが拡大します。

次の例では、送信元のクロック周期は 10ns ですが、クロックイネーブル信号がラッチレジスターのグループを制御しています。そのため、レジスターは 1 サイクルおきにのみ有効になります。10ns のクロックがレジスターに供給されているため、タイミング・アナライザーは 10ns のセットアップと 0ns のホールドを報告します。ただし、データは 1 サイクルおきに転送されるため、タイミング・アナライザーでは、クロックが 20ns で動作しているものとして関係を解析する必要があります。その結果、セットアップが 20ns となり、ホールドは 0ns のままになります。これにより、データを認識するウィンドウが拡大します。

次のマルチサイクル割り当てのペアはセットアップ関係を緩和するもので、-setup 値を N、-hold 値を N-1 として指定しています。ホールド関係は -hold 割り当てで指定し、正のホールド要件を回避する必要があります。

セットアップを緩和してホールドを維持する制約

set_multicycle_path -setup -from src_reg* -to dst_reg* 2
set_multicycle_path -hold -from src_reg* -to dst_reg* 1
図 111. マルチサイクルのセットアップ関係

このパターンを拡張して、より大きなセットアップ関係を作成し、タイミング・クロージャー要件を緩和することができます。この例外の一般的な使用法は、I/O インターフェイスを介して非同期 RAM に書き込む場合です。アドレス、データ、書き込みイネーブルの間の遅延は数サイクルになることがあります。I/O ポートのマルチサイクル例外により追加時間を提供することで、イネーブルが発生する前にアドレスおよびデータを決定します。

次の制約では、セットアップを 3 サイクル緩和します。

3 サイクルの I/O インターフェイス制約

set_multicycle_path -setup -to [get_ports {SRAM_ADD[*] SRAM_DATA[*]} 3 set_multicycle_path -hold -to [get_ports {SRAM_ADD[*] SRAM_DATA[*]} 2