Я пытаюсь разобраться с простым проектом Microblaze и следую учебник я нашел внимательно. Я могу успешно синтезировать дизайн в ISE, но когда я пытаюсь реализовать дизайн, я получаю следующую ошибку:
ОШИБКА::11 - Ожидается неожиданный символ "MICROBLAZE", "имя ADDRESS_MAP". Строка №1, файл «ipcore_dir/microblaze.bmm». ОШИБКА: NgdBuild: 989 - Не удалось обработать информацию BMM ipcore_dir/microblaze.bmm
Файл microblaze.bmm создается генератором ядра microblaze, поэтому я не редактировал его содержимое.
Файл .bmm, сгенерированный ядром microblaze:
ADDRESS_MAP microblaze MICROBLAZE-LE 100
ADDRESS_SPACE lmb_bram COMBINED [0x00000000:0x00001fff]
ADDRESS_RANGE RAMB16
BUS_BLOCK
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S9.The_BRAMs[0].RAMB16_S9_1 [31:24] INPUT = microblaze.lmb_bram_0.mem;
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S9.The_BRAMs[1].RAMB16_S9_1 [23:16] INPUT = microblaze.lmb_bram_1.mem;
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S9.The_BRAMs[2].RAMB16_S9_1 [15:8] INPUT = microblaze.lmb_bram_2.mem;
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S9.The_BRAMs[3].RAMB16_S9_1 [7:0] INPUT = microblaze.lmb_bram_3.mem;
END_BUS_BLOCK;
END_ADDRESS_RANGE;
END_ADDRESS_SPACE;
END_ADDRESS_MAP;
И microblaze создается с помощью этого кода VHDL:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity microblaze_top is
PORT (
Clk : IN STD_LOGIC;
Reset : IN STD_LOGIC;
UART_Rx : IN STD_LOGIC;
UART_Tx : OUT STD_LOGIC;
GPO1 : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)
);
end microblaze_top;
architecture Behavioral of microblaze_top is
COMPONENT microblaze
PORT (
Clk : IN STD_LOGIC;
Reset : IN STD_LOGIC;
UART_Rx : IN STD_LOGIC;
UART_Tx : OUT STD_LOGIC;
FIT1_Interrupt : OUT STD_LOGIC;
FIT1_Toggle : OUT STD_LOGIC;
GPO1 : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
INTC_IRQ : OUT STD_LOGIC
);
END COMPONENT;
begin
mcs_0 : microblaze
PORT MAP (
Clk => Clk,
Reset => Reset,
UART_Rx => UART_Rx,
UART_Tx => UART_Tx,
GPO1 => GPO1
);
end Behavioral;
Я запустил эту команду в консоли TCL, чтобы включить микроблейз в синтез.
источник ipcore_dir/microblaze_mcs_setup.tcl
Я провел целую вечность, просматривая различные учебники, и я не могу понять, в чем проблема. Может кто-нибудь, пожалуйста, дайте мне подсказку о том, что происходит не так.
Кажется, я не могу найти способ связаться с автором учебника.
Я использую ISE14.7, работающий в виртуальном устройстве.
(Редактировать - добавлена следующая дополнительная информация)
Я взглянул на вкладку консоли, которая, по-видимому, дает больше информации по сравнению с вкладкой «Ошибки»:
ОШИБКА::37 - Недопустимый символ имени файла или пути 'MICROBLAZE'. Строка № 5, файл «ipcore_dir/microblaze.bmm». mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S9.The_BRAMs[0].RAMB16_S9_1 [31:24] INPUT = microblaze.lmb_bram_0.mem;
При ближайшем рассмотрении ISE недоволен microblaze.lmb_bram_0.mem; хотя я не понимаю, почему.
Ниже приведен снимок иерархии проекта:
А это установка MicroBlaze