错误(10500):文本“”附近的big_adder.vhd(24)处的VHDL语法错误;期待“)”或“,”

时间:2019-02-24 00:45:12

标签: quartus

我在quartus上遇到有关语法错误的错误,但找不到它: 该程序是8位的通用加法器

     LIBRARY ieee;
     USE ieee.std_logic_1164.all;

     ENTITY big_adder IS
     PORT (a, b: IN STD_LOGIC_VECTOR(31 DOWNTO 0);
     cin: IN STD_LOGIC;
     sum: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
     cout: OUT STD_LOGIC);
     END big_adder;

     ARCHITECTURE big_adder OF big_adder IS
     SIGNAL carry: STD_LOGIC_VECTOR(8 DOWNTO 0);

     COMPONENT carry_lookahead_adder IS
     PORT (a, b: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
     cin: IN STD_LOGIC;
     sum: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
     cout: OUT STD_LOGIC);
     END COMPONENT;

     BEGIN
     carry(0) <= cin;
     gen_adder: FOR i IN 1 TO 8 GENERATE
        adder: carry_lookahead_adder PORT MAP(a(4*i–1 DOWNTO 4*i–4), b(4*i–1 DOWNTO 4*i–4), carry(i–1), sum(4*i–1 DOWNTO 4*i–4), carry(i));
     END GENERATE;
     cout <= carry(8);
     END big_adder;big_adder;

1 个答案:

答案 0 :(得分:0)

语法看起来有效,除了最后一行

     END big_adder;big_adder;

您必须删除“ big_adder;”之一。

一个私人提示:从第一天起,您就应该训练自己编写干净的代码!