VHDL 代码中的语法错误
Syntax errors in VHDL code
大家好,我正在使用 VHDL,我的问题陈述如下:
为 XOR 和 XNOR 函数编写 VHDL 代码,与之前的实验室课程相同,并在代码中定义另一个输入“x”,这样如果输入 x=1,则 F = X1 XOR X2,
否则 F = X1 XNOR X2.
所以我开始写这段代码:
LIBRARY ieee ;
USE ieee.std_logic_1164.all ;
ENTITY prework IS
PORT ( x1, x2, x : IN STD_LOGIC ;
f: OUT STD_LOGIC ) ;
END prework ;
ARCHITECTURE LogicFunction OF prework IS
PROCESS (x,x1,x2)
BEGIN
if x = '1' then
f <= (x1 AND NOT x2) OR (NOT x1 AND x2);
else
f <= NOT((x1 AND NOT x2) OR (NOT x1 AND x2));
end if;
end PROCESS;
END LogicFunction ;
但我不断收到这些错误:
错误 (10500):文本 prework.vhd(16) 附近的 VHDL 语法错误 "PROCESS";期望"begin",或声明语句
错误 (10500):文本 "ELSE" 附近 prework.vhd(20) 处的 VHDL 语法错误;期待"end",或“(”,或标识符("else"是保留关键字),或并发语句
错误 (10500):prework.vhd(22) 文本附近的 VHDL 语法错误 "if";期待“;”,或标识符("if" 是保留关键字),或 "architecture"
所以你能帮我解决这些错误吗?
谢谢
在Architecture
语句之后,你也必须使用Begin
,就像在Process
之后一样。错误很明显。
大家好,我正在使用 VHDL,我的问题陈述如下:
为 XOR 和 XNOR 函数编写 VHDL 代码,与之前的实验室课程相同,并在代码中定义另一个输入“x”,这样如果输入 x=1,则 F = X1 XOR X2, 否则 F = X1 XNOR X2.
所以我开始写这段代码:
LIBRARY ieee ;
USE ieee.std_logic_1164.all ;
ENTITY prework IS
PORT ( x1, x2, x : IN STD_LOGIC ;
f: OUT STD_LOGIC ) ;
END prework ;
ARCHITECTURE LogicFunction OF prework IS
PROCESS (x,x1,x2)
BEGIN
if x = '1' then
f <= (x1 AND NOT x2) OR (NOT x1 AND x2);
else
f <= NOT((x1 AND NOT x2) OR (NOT x1 AND x2));
end if;
end PROCESS;
END LogicFunction ;
但我不断收到这些错误:
错误 (10500):文本 prework.vhd(16) 附近的 VHDL 语法错误 "PROCESS";期望"begin",或声明语句
错误 (10500):文本 "ELSE" 附近 prework.vhd(20) 处的 VHDL 语法错误;期待"end",或“(”,或标识符("else"是保留关键字),或并发语句
错误 (10500):prework.vhd(22) 文本附近的 VHDL 语法错误 "if";期待“;”,或标识符("if" 是保留关键字),或 "architecture"
所以你能帮我解决这些错误吗? 谢谢
在Architecture
语句之后,你也必须使用Begin
,就像在Process
之后一样。错误很明显。