1.process 语句里的语句是顺序语句还是并行语句?
process(clk)
begin
if rising_edge(clk) then
S_1<=not S_1;
S_2<=S_1;
end if;
end process;
在上面这个程序中,S_1和S_2都是signal ,std_logic。
我现在假设S_1初值是0,那么当时钟上升沿过后,S_1变成1,S_2变成0。
现在问题来了:书上说process里的语句是顺序语句,也就是所process中的语句是顺序执行,那就意味着程序执行完S_1<=not S_1;再执行S_2<=S_1; 那照这个逻辑的话,S_2应该是1才对啊?
2#eaglelsb
你的意思是信号的赋值要延迟一个周期?
还有,process里的语句是顺序执行还是并行执行?
比如
process
begin
if rising_edge clk then
A<=B;
B<=C;
end if;
end process;
和
process
begin
if rising_edge clk then
B<=C;
A<=B;
end if;
end process;
两者之间有区别么?