试图弄清楚为什么此VHDL代码不断返回编译错误。无论我如何尝试,我都无法喜欢它。

library IEEE;
use IEEE.STD_LOGIC_1164.all;

entity LabM5 is
  port(
     X : in STD_LOGIC;
     Y : in STD_LOGIC;
     Z : out STD_LOGIC
     );
end LabM5;

architecture behv of LabM5 is
begin
  process(X, Y)
    begin
        if (X='1' and Y='1')then Z='1'; end if;
    end process;

end behv;

错误是:
Error: COMP96_0015: Lab M5.vhd : (16, 30): ';' expected.
Error: COMP96_0019: Lab M5.vhd : (16, 30): Keyword "end" expected.
Error: COMP96_0019: Lab M5.vhd : (16, 40): Keyword "process" expected.
Error: COMP96_0015: Lab M5.vhd : (17, 7): ';' expected.
Error: COMP96_0016: Lab M5.vhd : (17, 14): Design unit declaration       expected.

第16行是if语句,第17行是结束过程

最佳答案

端口和信号分配是通过VHDL中的<=完成的,因此将if中的分配更改为Z<='1'

顺便说一句; Z何时会获得'1'以外的其他任何值?

关于compilation - VHDL编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28378742/

10-09 22:34