语法:wait
解析:wait语句是一种不可综合的电平触发事件控制语句,有如下两种形式:
用法1:
wait(条件表达式) 语句/语句块;
【举例】
wait(evt_flag == 1'b1)
begin
uvm_hdl_release("test_top.dut.block1.a");
uvm_hdl_release("test_top.dut.block1.a");
uvm_hdl_release("test_top.dut.block1.a");
end ;
【举例】
wait(evt_flag == 1'b1)
fork
disable THREAD_1;
disable THREAD_2;
disable THREAD_3;
join;
方式2:
wait(条件表达式);
对于第一种形式,语句块可以是串行块(begin…end)或并行块(fork…join)。当逻辑表达式为“真”时,语句块立即得到执行;否则,暂停进程并等待,直到逻辑表达式变为“真”,再开始执行。
对于第二种形式,当仿真执行到wait语句时,如果条件表达式为真,那么立即结束该语句的执行,仿真程序继续往下执行;否则,仿真程序进入等待状态,直到条件表达式为真。