Force Clock コマンドを使用すると、クロック信号のように指定期間 2 つのステート間を指定レートでトグルする値を、信号に割り当てることができます。Objects ウィンドウで Force Clock コマンドをクリックすると、次の図に示す Force Clock ダイアログ ボックスが開きます。
図 1.
Force
Clock ダイアログ ボックス

Force Clock ダイアログ ボックスには、次のオプションがあります。
-
Signal name: デフォルトの信号名 (Objects ウィンドウまたは波形で選択したアイテムの完全パス名) を表示します。 ヒント: Force Clock コマンドは、クロック信号だけでなく、任意の信号に適用して切り替わる値を定義できます。
- Value radix: 選択した信号の基数を指定します。ドロップダウン リストから Binary、Hexadecimal、Unsigned Decimal、Signed Decimal、Signed Magnitude、Octal、ASCII のいずれかの基数を選択します。
- Leading edge value: クロック パターンの最初のエッジを指定します。[Value radix] で定義した基数が使用されます。
- Trailing edge value: クロック パターンの 2 番目のエッジを指定します。[Value radix] で定義した基数が使用されます。
- Starting after time offset: 現在のシミュレーションから指定した時間後に force コマンドを開始します。デフォルトの開始時間は 0 です。時間は、10 や 10 ns のように、文字列で指定できます。単位を付けずに数値だけ入力すると、Vivado シミュレータでデフォルトのユーザー単位が使用されます。
- Cancel after time offset: 現在のシミュレーションから指定した時間後に force コマンドをキャンセルします。時間は、10 や 10 ns のように、文字列で指定できます。単位を付けずに数値だけ入力すると、Vivado シミュレータでデフォルトのシミュレーション時間単位が使用されます。
- Duty cycle (%): クロック パルスがアクティブ ステートである時間の割合を % で指定します。使用できる値は 0 ~ 100 で、デフォルト値は 50 です。
- Period: クロック パルスの長さを時間で指定します。時間は、10 や 10 ns のように、文字列で指定できます。
Tcl コマンド例:
add_force /testbench/TENSOUT -radix bin {0} {1} -repeat_every 10ns -cancel_after 3us