【问题标题】:Variable use in VHDLVHDL 中的变量使用
【发布时间】:2020-05-23 00:11:18
【问题描述】:

我正在阅读一些 VHDL 代码并看到了这个例子:

  signal     count : integer range 0 to width;
begin
  process(clk, rst)
    variable temp  : integer range 0 to width;
begin
          temp := count + 1;
          count <= temp;
end process;

这里计数信号的目的是什么?为什么我们不能只使用变量?

【问题讨论】:

  • 您的意思是为什么不能使用信号?该变量仅对进程是本地的,其他进程不能使用它。

标签: variables signals vhdl


【解决方案1】:

变量是进程的本地变量,信号用于进程之间的通信。

所以你宁愿不使用变量,而在这个过程中只需要:

count <= count + 1;

【讨论】:

  • 那么这个变量在这里基本上没用吗?
  • 我的猜测是代码比您显示的要多,因为敏感度列表有(clk, rst),它表示一个时钟进程,其中没有显示详细信息。在这种情况下,可以出于各种原因使用该变量。但是如果显示的代码就是全部的话,那么这个变量就可以消除了,通过代码意义不大。
猜你喜欢
  • 1970-01-01
  • 2013-08-31
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多