奇怪的问题,求教VHDL高手四位二进制计数器:
请看这段代码为
PROCESS(CLK0,RST0,ENA0,Q)
BEGIN
IF RST0='1' THEN
Q <= (OTHERS=> '0') ;
ELSIF CLK0'EVENT AND CLK0='1' THEN
IF ENA0='1' THEN
IF Q < 16 THEN
Q <= Q + 1;
ELSE
Q <=(others => '0');
END IF;
END IF;
END IF;
OUT_Y <= Q;
END PROCESS;
这段代码运行结果out_y始终为0
而曾经做过的带异步矢能清零的16位二进制计数器一样的写法仿真却是成功的!
为什么呢
将Q数据类型改为变量结果一样不行!!