对于以下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
答案 0 :(得分:4)
您的测试平台的实体名称也是dff
。您需要为其指定一个不同的名称(例如dff_tb
)。因此,当您编译测试平台时,它会覆盖另一个dff
实体。