【问题标题】:Process syncronization VHDL进程同步 VHDL
【发布时间】:2015-07-27 11:37:48
【问题描述】:

由于在 VHDL 中,进程是一系列顺序语句的集合,如果编写多个进程,这些进程同时执行,是否可以同步。他们?

举例

architeture my_arch_is of my_entity is
begin
    proc_1 : process(...)
    begin
       -- code
    end process;

    proc_2 : process(...)
    begin
       -- code
    end process;

    proc_3 : process(...)
    begin
       -- code
    end process;
end architecture;

我想要实现的是以下,进程 1 是一种选择器(即它在特定事件下分配一个位)进程 2 和 3 而是并行计算两个可能的结果,基本上我想计算选择器和结果以及使用另一个 vhdl 构造会说“如果选择器为 0,则取过程 2 的结果,否则取过程 3 的结果”,就像多路复用器一样。

是否有可能做这样的事情(如果它确实有意义的话)?

【问题讨论】:

    标签: vhdl hardware


    【解决方案1】:

    是的,有可能。例如,如果您使用条件语句来选择两个结果之一,给定进程 1 提供的位值,它实际上将被合成为多路复用器。

    【讨论】:

    • 我知道这是一个微不足道的问题......但由于我是新手,我在理解流程及其工作方式方面仍然存在一些问题。我应该为选择创建第四个过程吗?我认为是,因为条件语句是顺序语句,但只是为了确定。
    • 您不必为此创建第四个进程。为此,您可以使用任何并发赋值语句。条件赋值就是其中之一。
    • 再次......我认为这个想法应该是......每个进程分配它的OWN信号,并且最终的条件语句应该设置最终信号。不是吗?我不能在多个进程块中处理同一个信号不是吗?
    • 只要您不在多个进程块中分配相同的信号,就可以了。在您的情况下,您只是从给定进程中读取信号值,并根据这些值为新信号分配一个值。
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多