试图弄清楚为什么此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/