进程同步VHDL
Process syncronization VHDL
因为在 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 构造说类似 "if selector is 0 take the result of process 2, otherwise take the result of process 3",如多路复用器。
是否可以做类似的事情(当然如果它确实有意义)?
是的,有可能。如果您使用例如一个条件语句来选择两个结果之一,给定过程 1 提供的位值,它实际上将被合成为一个多路复用器。
因为在 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 构造说类似 "if selector is 0 take the result of process 2, otherwise take the result of process 3",如多路复用器。
是否可以做类似的事情(当然如果它确实有意义)?
是的,有可能。如果您使用例如一个条件语句来选择两个结果之一,给定过程 1 提供的位值,它实际上将被合成为一个多路复用器。