VHDL编译时出现问题,求大神解读

2020-02-17 19:48发布

程序在编译时出现error(10346):formal port or pamrameter“clk“must have actual or default vale   error(10784):see declaration for object ”clk“的错误,程序如下:LIBRARY ieee;
USE ieee. std_logic_1164.all;
USE ieee. std_logic_unsigned.all;


ENTITY butterfly IS
PORT (clk, start : IN STD_LOGIC;
      in1_re, in1_im, in2_re, in2_im : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
      w_re, w_im : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
      out1_re, out1_im, out2_re, out2_im : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END butterfly;

ARCHITECTURE struc OF butterfly IS
COMPONENT sub8b
PORT (din: IN STD_LOGIC;
          a, b: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
          d: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
          dout: OUT STD_LOGIC);
  END COMPONENT;
  COMPONENT adder8b
  PORT(cin: IN STD_LOGIC;
           a , b: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
           s:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
           cout:OUT STD_LOGIC);
  END COMPONENT;
  
   COMPONENT multi8
   PORT(clk, start:IN STD_LOGIC;
            a,b:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
            ariend:OUT STD_LOGIC;
            dout:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));
   END COMPONENT;

   COMPONENT enable
   PORT(clk, d:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
            data: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
            enout:OUT STD_LOGIC);
   END COMPONENT;
   SIGNAL temp_re, temp_im: STD_LOGIC_VECTOR(15 DOWNTO 0);
   SIGNAL temp1, temp2, tem1, tem2: STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL Y1_RE, Y1_IM, Y2_RE, Y2_IM: STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL W:STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL gnd, startup1, startup2, rstart1, rstart2:STD_LOGIC;
   
   BEGIN   
    out1_re<=Y1_RE;
    out1_im<=Y1_IM;
    out2_re<=Y2_RE;      
    out2_im<=Y2_IM;
    Q1:multi8 PORT MAP(clk=>clk,start=>start,a=>in2_re,b=>w_re,ariend=>startup1,dout=>temp_re);
    Q2:multi8 PORT MAP(clk=>clk,start=>start,a=>in2_im,b=>w_im,ariend=>startup2,dout=>temp_im);
    Q3:adder8b PORT MAP(cin=>startup1,a=>temp_re(14 DOWNTO 7),b=>temp_im(14
       DOWNTO 7),s=>temp2);
    Q4:sub8b PORT MAP(din=>startup2, a=>temp_re(14 DOWNTO 7),b=>temp_im(14
       DOWNTO 7),d=>temp1);
    Q5:enable PORT MAP(d=>temp1,data=>tem1, enout=>rstart1);
    Q6:enable PORT MAP(d=>temp2,data=>tem2, enout=>rstart2);
    Q7:sub8b PORT MAP(din=>rstart1,a=>in1_re,b=>temp1,d=>Y2_RE);
    Q8:sub8b PORT MAP(din=>rstart2,a=>in1_im,b=>temp2,d=>Y2_IM);
    Q9:adder8b PORT MAP(cin=>rstart1,a=>in1_re,b=>temp1,s=>Y1_RE);
    Q10:adder8b PORT MAP(cin=>rstart2,a=>in1_im,b=>temp2,s=>Y1_IM);

  END;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。