[资料分享] 关于进程执行的小问题!以及答案

eeleader-mcu   2010-8-30 08:46 楼主

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

  答案:结构体开始那段信号赋值程序,在一次程序运行中执行几次,执行一次;

          以及,进程开始的那段变量赋值程序,在进程循环执行中运行多少次?(都是在程序只运行一次的情况下):执行一次

 

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复