Jiv*_*van 10 embedded logic vhdl colon-equals
目前,我正在学习一些使用VHDL的FPGA设计技术,我的问题是我们是否可以在VHDL中使用:=和<=可互换,尽管我已经看到在常量声明中使用:=和<=在赋值中?提前致谢!
wjl*_*wjl 14
规则比这复杂一点,但基本上:你<=用来做信号分配,它会在下一个增量循环中生效.您:=用来执行变量赋值,它会立即发生.所以如果你有信号,你总是使用<=.如果你有一个变量,你总是使用:=.
在某些地方,这种情况并不常见,例如初始化,:=甚至用于信号.
所以:
signal some_signal : std_logic := '0'; -- 0 initial value
...
variable some_variable : std_logic := '0'; -- 0 initial value
...
some_signal <= '1'; -- will assign 1 at the next time step (delta cycle)
...
some_variable := '1'; -- assigns 1 immediately
Run Code Online (Sandbox Code Playgroud)