两个进程驱动相同类型的位信号

以下 VHDL 模型从两个不同的进程驱动信号 s。由于 s 的类型是 bit,一个未解析的类型,这是不允许的。

-- File md.vhd
entity md is
end entity md;

architecture arc of md is

  signal s: bit;

begin

  p1: process
  begin
    s <= '0';
    wait;
  end process p1;

  p2: process
  begin
    s <= '0';
    wait;
  end process p2;

end architecture arc;

编译,详细说明和尝试模拟,例如使用 GHDL,会引发错误:

ghdl -a md.vhd
ghdl -e md
./md
for signal: .md(arc).s
./md:error: several sources for unresolved signal
./md:error: error during elaboration

请注意,即使在我们的示例中,所有驾驶员都同意驾驶价值,也会引发错误。