クロックとクロック イネーブルは対にして、HDL 全体に配置されます。典型的なクロック名は clk_1
、clk_2
、clk_3
で、その対になるクロック イネーブルの名前はそれぞれ ce_1
、ce_2
、および ce_3
です。名前からクロック/クロック イネーブルのペアの動作レートがわかります。clk_1
および ce_1
で駆動されるロジックはシステム レート (最速) で動作し、clk_2
および ce_2
で駆動されるロジックはシステム レートの 1/2 で動作します。クロックおよびクロック イネーブルは、<design> エンティティまたはモジュール内では駆動されず、最上位入力ポートとなります。
Vitis Model Composer HDL に含まれるクロックとクロック イネーブルの名前から、クロッキングは一般的であるように見えますが、そうではありません。これを説明するため、clk_1 と clk_2 というクロックと、対応するクロック イネーブル ce_1
および ce_2
が含まれるデザインがあるとします。この場合、ハードウェアで ce_1
および ce_2
信号を High にし、clk_2
を clk_1
の 1/2 のレートのクロック信号で駆動すれば良いように思えますが、ほとんどの Model Composer デザインはこれでは機能しません。その代わり、clk_1
と clk_2
を同じクロックで駆動し、ce_1
を High に接続して、ce_2
を clk_1
と clk_2
の 1/2 のレートにします。