ARCHITECTURE behav OF cpout IS
SIGNAL L: INTEGER := 0;
SIGNAL S: INTEGER := 0;
SIGNAL F: INTEGER := 0;
SIGNAL FS: INTEGER := 0;
SIGNAL tm_l: STD_LOGIC := '0';
BEGIN
PROCESS(clk,tm_l)
VARIABLE Flag: STD_LOGIC := '0';
VARIABLE FlagF: STD_LOGIC := '0';
BEGIN
IF(L = SYNL) THEN
Flag := '1';
END IF;
IF(Flag = '1') THEN
IF(FS = 399) THEN
FS <= 0;
ELSE
FS <= FS + 1;
END IF;
END PROCESS;
END;
就比如上面的程序,我只是谁便抄的一段,所以现在不管程序的对错,也不管其中的一些信号代表什么。
本人就是想问,第一个时钟时程序开始从结构体开始执行,然后到进程再到程序结束,那此时FS信号的值就不是初始值0了,同时如果此时的Flag也不是0了,那么下个时钟的时候,又从进程的开始执行,那么Flag的值会被付成0么?程序一直在执行的话FS信号的值会不会也被赋值成0么?
--其实这个问题就是问:结构体开始那段信号赋值程序,在一次程序运行中执行几次,以及,进程开始的那段变量赋值程序,在进程循环执行中运行多少次?(都是在程序只运行一次的情况下)