Syntax VHDL语法错误10500

Syntax VHDL语法错误10500,syntax,compiler-errors,vhdl,Syntax,Compiler Errors,Vhdl,我是新来的,这是家庭作业,但我试图理解这个真正不一致的错误。我有两个错误;一个在第11行,一个在第17行,它们都是语法错误 );--第11行 开始——第17行 全部代码 Library ieee; Use ieee.std_logic_1164.all; entity addsub4 is port( a: in std_logic_vector(3 downto 0); b: in std_logic_vector (3 downto 0); e: in std_logic; carry:

我是新来的,这是家庭作业,但我试图理解这个真正不一致的错误。我有两个错误;一个在第11行,一个在第17行,它们都是语法错误

);--第11行
开始——第17行

全部代码

Library ieee;
Use ieee.std_logic_1164.all;
entity addsub4 is

port(
a: in std_logic_vector(3 downto 0);
b: in std_logic_vector (3 downto 0);
e: in std_logic;
carry: out std_logic;
over: out std_logic;
sout: out std_logic_vector (3 downto 0);
);
end addsub4;

architecture addsub4 of addsub4 is
signal c: std_logic_vector (4 downto 0);
signal bx: std_logic_vector (3 downto 0);
BEGIN
bx <= b xor e&e&e&e;
c(0) <= e;
s <= a xor bx xor c(3 downto 0);
c (4 downto 1) <= (a and bx) or (c(3 downto 0) and (a xor bx));
carry <= c(4);
over <= c(3) xor c(4);
end addsub4;
ieee库;
使用ieee.std_logic_1164.all;
实体addsub4是
港口(
a:标准逻辑向量(3到0);
b:标准逻辑向量(3到0);
e:标准逻辑;
执行:执行标准逻辑;
结束:输出标准逻辑;
sout:输出标准逻辑向量(3到0);
);
结束addsub4;
addsub4的体系结构addsub4是
信号c:标准逻辑向量(4到0);
信号bx:std_逻辑_向量(3到0);
开始

bx为第一个错误;在端口声明中,分号是分隔符,而不是终止符。换言之,最后的宣言

sout: out std_logic_vector (3 downto 0);
应该是

sout: out std_logic_vector (3 downto 0)

…因为没有进一步的声明要分开。

请添加您得到的错误这里有一些工具提供了更多的信息-ghdl-a addsub4.vhdl:“addsub4.vhdl:11:40:extra';“在接口列表的末尾”,以及告诉您原因的工具-nvc-a addsub4.vhdl“**错误:意外)在解析接口声明时,需要常量、信号、变量、文件或标识符文件addsub4.vhdl中的一个,第12行”(在显示字符和行时)。vhdl中的语法规则允许解析时先行一步。我想Altera的10500为您提供了它所需内容的列表,有点像nvc。