vhdl分频时的问题
来源:百度知道 编辑:UC知道 时间:2024/07/07 17:52:39
if(clk' event and clk='1') then
if (count1=9) then
count1<=0;
else count1<=count1+1;
if (count1<4)then
outclk1<='1';
else outclk1<='0';
end if;
end if;
end if;
end process;
请问上面这段代码中, 判断count1是否小于4时count1的值是否是count1加1以后的值?我看有些教材上写的是 信号赋值要直到进程完成后,信号值才会改变,而变量赋值时是立刻改变的.
此程序中 count1是 信号
if (count1=9) then
count1<=0;
else count1<=count1+1;
if (count1<4)then
outclk1<='1';
else outclk1<='0';
end if;
end if;
end if;
end process;
请问上面这段代码中, 判断count1是否小于4时count1的值是否是count1加1以后的值?我看有些教材上写的是 信号赋值要直到进程完成后,信号值才会改变,而变量赋值时是立刻改变的.
此程序中 count1是 信号
看看仿真就知道了
应该是以后的,就是先出现9,然后才变成0。
应该是count1而不是加1以后的值,不过我仿真了一下发现outclk1在第一个上升沿跳变到1以后就一直保持1不动,我也奇怪,等我弄明白了告诉你啊,我也是刚学不久,我qq243073232,欢迎交流