Итак, я продолжаю получать эти ошибки, и я не знаю, как их устранить, потому что у меня есть определение компонента в коде. Это ошибки:
ОШИБКА: HDLParsers: 3312 - строка «D: /licenta/multyv3/multy.vhd». Неопределенный символ «D». ОШИБКА: HDLParsers: 1209 - строка "D: /licenta/multyv3/multy.vhd". D: неопределенный символ (последний отчет в этом блоке). ОШИБКА: HDLParsers: 3312 - "D: /licenta/multyv3/multy.vhd". Строка 124. Неопределенный символ «Q». ОШИБКА: HDLParsers: 1209 - строка "D: /licenta/multyv3/multy.vhd" 124. Q: неопределенный символ (последний отчет в этом блоке)
Ошибки находятся в ячейке_4
entity multy is
port (
x: in std_logic_vector (3 downto 0);
y: in std_logic_vector (3 downto 0);
p: out std_logic_vector (7 downto 0);
clk: in std_logic
);
end entity multy;
architecture rtl of multy is
component Ripple_Adder
port (
A: in std_logic_vector (3 downto 0);
B: in std_logic_vector (3 downto 0);
Cin: in std_logic;
S: out std_logic_vector (3 downto 0);
Cout: out std_logic
);
end component;
component FlipFlopPack
generic(
N : integer := 4
);
port(
Q : out std_logic_vector (N-1 downto 0);
Clk : in std_logic;
D : in std_logic_vector (N-1 downto 0)
);
end component;
-- AND Product terms:
signal G0, G1, G2: std_logic_vector (3 downto 0);
-- B Inputs (B0 has three bits of AND product)
signal B0, B1, B2: std_logic_vector (3 downto 0);
-- D flip flop signals (Qyout)
signal I: std_logic_vector (3 downto 0);
-- D flip flop signal (Qxout)
signal O: std_logic_vector (3 downto 0);
-- d flip flop signal for S
signal S1, S2, S3: std_logic_vector (3 downto 0);
-- signal for p
signal P1: std_logic_vector (3 downto 0);
begin
-- y(1) thru y (3) AND products, assigned aggregates:
G0 <= (O(3) and I(1), O(2) and I(1), O(1) and I(1), O(0) and I(1));
G1 <= (O(3) and I(2), O(2) and I(2), O(1) and I(2), O(0) and I(2));
G2 <= (O(3) and I(3), O(2) and I(3), O(1) and I(3), O(0) and I(3));
-- y(0) AND products (and y0(3) '0'):
B0 <= ('0', O(3) and I(0), O(2) and I(0), O(1) and I(0));
-- named association:
cell_1:
Ripple_Adder
port map (
a => G0,
b => B0,
cin => '0',
cout => S1(3), -- named association can be in any order
S(3) => S1(2), -- individual elements of S, all are associated
S(2) => S1(1), -- all formal members must be provide contiguously
S(1) => S1(0),
S(0) => P1(1)
);
cell_2:
Ripple_Adder
port map (
a => G1,
b => B1,
cin => '0',
cout => S2(3),
S(3) => S2(2),
S(2) => S2(1),
S(1) => S2(0),
S(0) => P1(2)
);
cell_3:
Ripple_Adder
port map (
a => G2,
b => B2,
cin => '0',
cout => S3(3),
S(3) => S3(2),
S(2) => S3(1),
S(1) => S3(0),
S(0) => P1(3)
);
cell_4:
FlipFlopPack
port map (
x => D,
O => Q,
clk => clk
);
cell_5:
FlipFlopPack
port map (
y => D,
I => Q,
clk => clk
);
cell_6:
FlipFlopPack
port map (
S1 => D,
B1 => Q,
clk => clk
);
cell_7:
FlipFlopPack
port map (
S2 => D,
B2 => Q,
clk => clk
);
cell_8:
FlipFlopPack
port map (
S3 => D,
p(7 downto 4) => Q,
clk => clk
);
cell_9:
FlipFlopPack
port map (
P(3 downto 0) => D,
p(3 downto 0) => Q,
clk => clk
);
P1(0) <= O(0) and I(0);
end architecture rtl;