Force Clock(强制设为时钟)命令允许您为信号赋值,用于在指定时间长度范围内,以时钟信号的方式在两种状态之间切换指定速率。在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(后置边沿值):指定第二个时钟沿模式。后置边沿值使用“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