嘿伙计们我正在使用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语法错误接近文本&#34; PROCESS&#34 ;;期待&#34;开始&#34;或声明声明
错误(10500):prework.vhd(20)的VHDL语法错误接近文本&#34; ELSE&#34 ;;期待&#34;结束&#34;,或&#34;(&#34;或标识符(&#34;否则&#34;是保留关键字)或并发声明
错误(10500):prework.vhd(22)的VHDL语法错误接近文本&#34; if&#34 ;;期待&#34 ;;&#34;或标识符(&#34;如果&#34;是保留关键字),或&#34;架构&#34;
那么请你帮我解决这些错误, 谢谢
答案 0 :(得分:2)
在Architecture
语句之后,您还必须使用Begin
,就像在Process
之后一样。错误很清楚。