|
|
发表于 2021-9-23 13:23:27
|
显示全部楼层
本帖最后由 jinjiahao 于 2021-9-23 13:37 编辑
fork
begin xxxxxxx;
zzzzzzz;
end
begin
yyyyy;
end
join
这样xxxxx,zzzzz是顺序执行的,他们和yyyyy是并行。
但是你的for循环外面,并没有begin end来包括你的for循环。
因此你的for循环是好几个并行的线程。
你在for循环外面加上begin end就是顺序执行了:
if(***)begin
fork
begin //for 循环线程
for(****)begin
........
........
........ end
end
begin // 打印的线程
if(valid)
$display("The time is %t",$realtime);
end
join
end
这样for和打印的两个线程是并行的,既可以在valid为1时,及时打印;for循环也是按自己顺序在执行。
|
|