インテルのみ表示可能 — GUID: mwh1452708878224
Ixiasoft
クロック・イネーブル・マルチサイクル
マルチサイクルの指定は、レジスターのイネーブルされたポートに基づいて、クロックがイネーブルされたマルチサイクルを使用して行うことができます。例えば、次の図で示す単純な回路では、レジスター enable_reg を使用して、レジスター din_a_reg[7..0]、din_b_reg[7..0]、din_x_reg[7..0]、din_y_reg[7..0]、a_times_b、および x_times_y に対するレジスターイネーブル信号が作成されます。
enable_reg レジスターによって生成されるイネーブルパルスは、レジスターのクロック周期の2倍です。そのため、正しい解析を行うには、マルチサイクル例外を適用する必要があります。enable_reg レジスターによって供給されるイネーブル駆動レジスターに対して、マルチサイクル・セットアップ2とマルチサイクル・ホールド1を適用します。マルチサイクル例外を適用する対象は、デスティネーション・レジスターが enable_reg によって制御されているレジスター間パスに限られます。これを実現するには、すべてのイネーブル駆動レジスターに set_multicycle_path 例外を適用します。これは、すべてのイネーブル駆動レジスターを指定しなければならないので、煩雑な作業になります。また、set_multicycle_path と get_fanouts の組み合わせを使用することもできます。
図 18. クロック・イネーブル・マルチサイクル・デザイン
クロック・イネーブル・マルチサイクル制約
#Setup multicycle of 2 to enabled driven destination registers
set_multicycle_path 2 -to [get_fanouts [get_pins enable_reg|q] \
-through [get_pins -hierarchical *|ena]] -end -setup
set_multicycle_path 例外のターゲットは、レジスターのイネーブルポートを供給する enable_reg レジスターのすべてのファンアウトに限定されます。次のオプションを使用します。
[get_fanouts [get_pins enable_reg|q] -through [get_pins -hierarchical *|ena]]
セットアップとホールドの関係は、enable_reg レジスターで開始し、イネーブル駆動レジスターでそれぞれ2、1で終了します。