目前,我正在学习一些使用 VHDL 的 FPGA 设计技术,我的问题是我们是否可以在 VHDL 中互换使用 := 和 <= ,尽管我已经看到在常量声明中使用 := 和在分配中使用 <= ?提前致谢!
问问题
36964 次
3 回答
20
规则比这复杂一点,但基本上:你<=
用来做信号分配,它在下一个增量周期生效。你:=
用来做变量赋值,它立即发生。因此,如果您有信号,则始终使用<=
. 如果你有一个变量,你总是使用:=
.
在某些地方,您通常会遇到这种情况,例如初始化,:=
甚至用于信号。
所以:
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
于 2012-08-13T01:59:01.057 回答
3
如果您使用信号 temp:std_logic_vector那么您将不得不使用<=
如果你使用变量 temp:std_logic_vector那么你必须使用:=
于 2014-10-06T18:23:20.090 回答
0
<=
UseCase:在下一个周期发生的信号分配。
示例:signal temp:std_logic_vector
:=
UseCase:立即发生的变量赋值。
示例:variable temp:std_logic_vector
除了为信号添加初始值外,您还可以使用:=
.
于 2021-11-11T09:50:40.107 回答