VHDL代码

时间:2016-03-06 11:57:19

标签: vhdl

嘿伙计们我正在使用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;

那么请你帮我解决这些错误, 谢谢

1 个答案:

答案 0 :(得分:2)

Architecture语句之后,您还必须使用Begin,就像在Process之后一样。错误很清楚。