组件实例化错误

时间:2017-06-29 12:56:31

标签: vhdl

对于以下VHDL代码:

library ieee;
use ieee.std_logic_1164.all;
entity dff is
  port(
      d, clk: in std_logic;
      q: out std_logic);
end dff;
architecture behave of dff is
  begin
    process(clk)
      begin
      if(clk = '1') then
        q<= d;
    end if;
  end process;
end behave; 

----------------------------------------------- ----------------------

和测试平台:

library ieee;
use ieee.std_logic_1164.all;
entity dff is
end dff;
architecture behave of dff is
  component dff is
port(d, clk: in std_logic;
     q: out std_logic);


 end component;


    signal  d_in: std_logic;
    signal  clk_in: std_logic;
    signal  q_out: std_logic;

begin
  d_ff : dff port map( d_in, clk_in, q_out);
  process
    begin
      if(clk_in = '1') then
      q_out<= d_in;
      end if;
  end process;
end behave;  

尝试模拟Modelsim时显示以下错误:

  

#Error加载设计
  以下组件端口不在实体上:
  q
  CLK
  d

1 个答案:

答案 0 :(得分:4)

您的测试平台的实体名称也是dff。您需要为其指定一个不同的名称(例如dff_tb)。因此,当您编译测试平台时,它会覆盖另一个dff实体。