Не удается найти указанный элемент контекста
Я пытаюсь написать некоторый простой поведенческий код для D-триггера (который прекрасно компилирует исходные файлы), однако файл testbench не компилируется. Я получаю следующую ошибку:
Ошибка: COMP96_0078: D_FF_tb.vhd: (23, 15): неизвестный идентификатор "d_flip_flop".
Ошибка: COMP96_0056: D_FF_tb.vhd: (23, 15): не удается найти объявление объекта ссылки "d_flip_flop".
Ошибка: COMP96_0055: D_FF_tb.vhd: (23, 15): не удается найти ссылочный элемент контекста "d_flip_flop".
Вот мой исходный код:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.numeric_std.all;
entity d_flipflop is
port(
d_in : in STD_LOGIC;
q_out: out STD_LOGIC;
qbar_out: out STD_LOGIC;
clock : in STD_LOGIC;
reset : in STD_LOGIC
);
end d_flipflop;
architecture behavioral of d_flipflop is
begin
process (clock) is
begin
if rising_edge(clock) then
if(reset = '1') then
q_out <= '0';
qbar_out <= '1';
else
q_out <= d_in;
qbar_out <= not d_in;
end if;
end if;
end process;
end architecture behavioral;
Вот мой испытательный стенд:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.numeric_std.all;
entity d_flipflop_tb is
end d_flipflop_tb;
architecture tb_architecture of d_flipflop_tb is
-- Stimulus Signals--
signal d_tb : std_logic;
signal q_tb : std_logic;
signal qbar_tb: std_logic;
signal reset_tb: std_logic;
signal clock_tb: std_logic := '0';
signal end_sim : boolean := false;
constant half_period : time := 5 ns;
begin
UUT: entity d_flip_flop
port map(
d_tb => d_in,
q_tb => q_out,
qbar_tb => qbar_out,
reset_tb => reset,
clock_tb => clock
);
clock: process
begin
while end_sim = false loop
clock_tb <= not clock_tb;
wait for half_period;
end loop;
wait;
end process;
stim: process
begin
-- Initialize
d_tb <= '0';
reset_tb <= '1';
--Wait for 1 period
wait for half_period*2;
reset_tb <= '0';
--Provide stimulus
for i in 0 to 5 loop
d_tb <= not d_tb;
wait for half_period;
end loop;
end_sim <= true;
wait;
end process;
--end process;
end tb_architecture;
Это не первый раз, когда я работаю в VHDL, я просто пытаюсь разобраться в некоторых основах, и я просматриваю предыдущий код, который я написал, и все они работали хорошо тогда (не пробовал их сейчас с более новой версией aldec) но я не уверен, что мне не хватает.
Я нашел это, но я не смог извлечь из этого ничего полезного. Это только оставило меня более смущенным относительно того, является ли это ошибкой инструмента или нет.