begin...end是用来界定多条语句的 和for循环无关
如果你需要在“一步”操作中执行多条语句 就需要用begin...end
如果只有一条语句(以分号结尾)则可写可不写
比如
initial
begin
for (i=0;i<8;i++)
mem[i] = i;//begin...end可写可不写
done = 1;
end
这次循环操作就是把mem初始化为递增数(执行8次赋值) 而done的赋值只执行一次
再如
always @(a)
#1
$display("a = %0d.", a);
和
always @(a)
begin
#1;
$display("a = %0d.", a);
end
第二段代码认为有两步(两个分号) 因此需要写begin...end