这种程序在VHDL里能当状态机吗?当数据为101101011001时 输出为1

2024-12-02 03:54:43
推荐回答(1个)
回答1:

process中的signal,赋值后在process结束后才变化; 而variable是立刻变化

所以第一个程序中
count(11 downto 1)<=count(10 downto 0);
count<=count(11 downto 1)& datain;
第一行行赋值后还没有变化,就被第二行覆盖了。也就是说永远执行的都是第二行

第二个中
count(0)<=datain; -- 只对count(0)
count(11 downto 1)<=count(10 downto 0); -- 只对count(11 --0)
两行不冲突,没有问题