Vivado 仿真器提供了交互机制,用于在指定时间或指定时间段将信号、连线或寄存器强制设为指定值。您也可将对象上的值设为过一段时间后就强制更改。
提示: “force”不仅是操作(即,改写信号上 HDL 定义的行为),也是 Tcl 一类对象,可保留在 Tcl 变量中。
您可对 HDL 信号使用 force 命令,使其按 HDL 设计中定义的方式来改写此信号的行为。例如,您可选择将信号的行为改为:
- 向 HDL 测试激励文件本身不驱动的测试激励文件信号提供激励
- 在调试期间临时纠正错误的值(以便允许您继续分析问题)
可用的 force 命令包括:
- Force Constant(强制设为常量)
- Force Clock(强制设为时钟)
- Remove Force(移除强制)
下图显示了给定以下命令时,应用 add_force
功能的方式:
add_force mySig {0 t1} {1 t2} {0 t3} {1 t4} {0 t5} -repeat_every tr -cancel_after tc
图 1. -add_force 功能图示
您可在 Tcl 控制台中输入以下内容以获取有关命令的更多详细信息:
add_force -help