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么? --其实这个问题就是问:结构体开始那段信号赋值程序,在一次程序运行中执行几次,以及,进程开始的那段变量赋值程序,在进程循环执行中运行多少次?(都是在程序只运行一次的情况下)
答案:结构体开始那段信号赋值程序,在一次程序运行中执行几次,执行一次;
以及,进程开始的那段变量赋值程序,在进程循环执行中运行多少次?(都是在程序只运行一次的情况下):执行一次
|