关于VHDL信号与变量赋值的问题?
时间:10-02
整理:3721RD
点击:
在某书上看到:
对变量的赋值是立即发生的(假设进程已启动) 即是一种时间延迟为零的赋值行为;
信号的赋值并不是立即发生的它发生在一个进程结束时,赋值过程总是有某种延时的
。
上面的描述都是针对某一个进程里信号或者变量的赋值,若赋值是在进程外发生的又是怎样的呢?
如:
... ...
architecture rtl of bhav is
signal b : std_logic_vector(9 downto 0);
b <= a;
... ...
end rtl;
b<=a是不是立即发生的呢?
对变量的赋值是立即发生的(假设进程已启动) 即是一种时间延迟为零的赋值行为;
信号的赋值并不是立即发生的它发生在一个进程结束时,赋值过程总是有某种延时的
。
上面的描述都是针对某一个进程里信号或者变量的赋值,若赋值是在进程外发生的又是怎样的呢?
如:
... ...
architecture rtl of bhav is
signal b : std_logic_vector(9 downto 0);
b <= a;
... ...
end rtl;
b<=a是不是立即发生的呢?
望高手指点,谢谢。
仿真一下看看
阻塞赋值和非阻塞赋值,阻塞赋值的话,立即生效,非阻塞赋值的话,在进程结束的时候,进城内部右边的表达式同时给左边信号赋值。
VHDL里没有阻塞赋值这个概念。
有些问题不要回答,让问问题的人糊涂着就是他的学习过程。
不是立即发生,
b<=a; 是一个简化的进程。
在进程外为并发赋值语句;
我想是的
哈哈 都是高手啊
VHDL是入门时候用的...记得好象是signal和reg的区别?signal是立刻的吧..
是的
但是有一定的延时
你可以仿真看看吧
7# hudie2002
大富人
你好
能把你QQ发我邮箱么 跟你学习啊495567585@qq.com
7# hudie2002
