Я пытаюсь разобраться с простым проектом Microblaze и следую учебнику , которую я нашел очень близко. Я могу успешно синтезировать дизайн в ISE, но когда я пытаюсь реализовать дизайн, я получаю следующую ошибку:
ОШИБКА :: 11 - Ожидается неожиданный символ 'MICROBLAZE', 'ADDRESS_MAP name'.
Строка № 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;
И микроблейз создается с помощью этого кода 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, чтобы включить микроблейз в синтез.
source 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