インテルのみ表示可能 — GUID: mwh1410383775183
Ixiasoft
インテルのみ表示可能 — GUID: mwh1410383775183
Ixiasoft
2.4.4.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
このパターンを拡張して、より大きなセットアップ関係を作成し、タイミング・クロージャー要件を緩和することができます。この例外の一般的な使用法は、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