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

ID 683081
日付 11/21/2017
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

クロック・イネーブル・マルチサイクル

レジスターのイネーブルされたポートに基づいて、クロックがイネーブルされたマルチサイクルを使用してマルチサイクルを指定することができます。たとえば、次の図はレジスターの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が使用されている単純な回路を表しています。

enable_regレジスターは、レジスターのクロック周期の2倍のイネーブルパルスを生成します。したがって、正しい解析を行うためには、マルチサイクル例外を適用する必要があります。enable_regレジスターによって供給されるイネーブル駆動レジスターに対してマルチサイクル・セットアップ2とマルチサイクル・ホールド1を適用する必要があります。このマルチサイクル例外は、デスティネーション・レジスターがenable_regによって制御されているレジスター間パスにもに適用されます。すべてのイネーブル駆動レジスターにset_multicycle_path例外を適用することで、これを達成することができます。これは、すべてのイネーブル駆動レジスターを指定しなければいけないため、時間のかかる作業となります。また、set_multicycle_pathget_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のいずれかのイネーブル駆動レジスターで終了します。