Force Constant(强制设为常量)选项允许您将信号固定为常量值,覆盖 HDL 代码中的赋值或者先前应用的其他常量或时钟强制设置。
Force Constant和Force Clock(强制设为时钟)均为Objects(对象)或波形窗口右键菜单(如下图所示)或文本编辑器(源代码)中的选项。
提示: 双击Objects(对象)、Sources(源代码)或Scope(作用域)窗口中的某个项即可在文本编辑器中将其打开。如需了解有关文本编辑器的其他信息,请参阅
Vivado Design Suite 用户指南:使用 Vivado IDE(UG893)。
图 1. 强制选项
对于 Vivado 仿真器不支持强制设置的对象,禁用“Force”(强制)选项。对象类型或者 Vivado 仿真器的建模中针对这些对象的限制可能会导致不支持这些对象。
提示: 要对禁用“Force”选项的模块或实体端口进行强制设置,请尝试对其上一个作用域层次的已连接的实际信号执行强制设置。使用
add_force
Tcl 命令(例如,add_force myObj 0
)可查看禁用这些选项的原因。选中Force Constant选项时,会打开Force Constant对话框,以便您输入相关值,如下图所示。
图 2.
Force Constant对话框
Force Constant选项描述如下:
- Signal name(信号名称):显示默认信号名称,即所选对象的完整路径名称。
- Value radix(值基数):显示所选信号的当前基数设置。您可选择任一受支持的基数类型:Binary(二进制)、Hexadecimal(十六进制)、Unsigned Decimal(无符号十进制)、Signed Decimal(有符号十进制)、Signed Magnitude(有符号量级)、Octal(八进制)和 ASCII。随后,GUI 将根据“Radix”(基数)设置来禁止输入相应的值。例如,如果选择 Binary,那么不允许输入除 0 和 1 以外的其他数字值。
- Force value(强制值):使用定义的基数值来指定强制常量值。(如需了解有关基数的更多信息,请参阅 更改默认基数 和 使用模拟波形。)
- Starting after time offset(时间偏移后开始):在指定时间过后开始。默认开始时间为 0。时间可采用字符串,例如,10 或 10 ns。输入不含单位的数字时,Vivado 仿真器会使用默认单位 (ns)。
-
Starting after time offset(时间偏移后取消):在指定时间过后取消。时间可采用字符串,例如,10 或 10 ns。如果输入不含单位的数字,则会使用默认仿真时间单位。
Tcl 命令:
add_force /testbench/TENSOUT 1 200 -cancel_after 500