热心网友
回答时间:2024-05-16 20:01
尽量用信号赋值,变量赋值是即时产生变化的例如:
当a为变量时且初始值a:='0';b<='0';
if(clk'event and clk='1')then
a:=a+'1';--此时A已经便成了1
b<=a;
end if;
当这个上升沿完成时
a=1;b=1
而当a为信号时且初始值a<='0';b<='0';
if(clk'event and clk='1')then
a<=a+'1';
b<=a;
end if;
当这个上升沿完成时
a=1;b=0;
因为在PROCESS中,系统是顺序读下来的,变量是具有即时生效性的,所以这两个例子反映了起不同之处。如果如果有收获的话,别忘给加分哦~
收起