Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто работал с PicoBlaze?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Vadim_nsk
PicoBlaze под Spartan-3.
Сначала пользовался только исходниками (kcpsm3.vhd+prog_rom.vhd). Программа написана, beh-симуляция проходит на ура, но тайминг делает не то. Вытащил из недр сигналы address и instruction. Выяснилось, что при зашивании программы в блокRAM она слегка "модифицируется", в итоге делает совсем не то...
Пошел другим путем...
kcpsm3.ngc+prog_rom.edn, объявляем компоненты как black_box и... sad.gif
Первый поставляется вместе с исходником. А как получить второй?
Пробовал способ от PicoBlaze для Spartan2, но он тут не работает. Создал в Coregene блочную память, назвал prog_rom, вытащил оттуда prog_rom.xco и сказал:
coregen -b prog_rom.xco
В итоге получил prog_rom.edn, но вместо требуемого интерфейса:
Код
entity prog_rom is
    Port (      address : in std_logic_vector(9 downto 0);
              instruction : out std_logic_vector(17 downto 0);
                         clk : in std_logic);

получил:
Код
ENTITY prog_rom IS
   port (
   addra: IN std_logic_VECTOR(9 downto 0);
   addrb: IN std_logic_VECTOR(9 downto 0);
   clka: IN std_logic;
   clkb: IN std_logic;
   douta: OUT std_logic_VECTOR(17 downto 0);
   doutb: OUT std_logic_VECTOR(17 downto 0);
   ena: IN std_logic;
   enb: IN std_logic);
END prog_rom;

И что мне с этим делать?

У меня есть: prog_rom.coe, prog_rom.dec, prog_rom.hex, prog_rom.fmt, prog_rom.log, prog_rom.mem, prog_rom.vhd. Мне нужен prog_rom.edn.
Кто знает как получить его или как заставить синтезатор не тусовать команды в программе?
lexus.mephi
Приведи текст программы и покажи где у тебя там баг. Я делал встраиваемую МП систему и тоже долго ссылался на некорректную работу программы, а оказалось все дело в аппаратной части. Ты дебагил прогу в pBlazIDE?
Vadim_nsk
Цитата(lexus.mephi @ Jan 11 2007, 20:44) *
Приведи текст программы и покажи где у тебя там баг. Я делал встраиваемую МП систему и тоже долго ссылался на некорректную работу программы, а оказалось все дело в аппаратной части. Ты дебагил прогу в pBlazIDE?

Дебажить в pBlazIDE у меня не получается, он просто не хочет выполнять. Я отлаживаю в симуляторе ActiveHDL. Программа была отлажена и работала. При синтезе ни одна часть проекта выброшена не была. Но реально читаемые коды команд из памяти местами не соответствовали ожидаемым.
Проблема решилась в конце рабочего дня, когда я оставил prog_rom.vhd без изменений, а вот kcpsm3.vhd заменил на kcpsm3.ngc и объявил как black_box. Похоже Sinplify решил оптимизировать содержимое памяти и все сломал...
lexus.mephi
И все-таки приведи текст программы! Ты все по книге Зотова делаешь?
SergeyX
Цитата(Vadim_nsk @ Jan 11 2007, 22:06) *
Цитата(lexus.mephi @ Jan 11 2007, 20:44) *

Приведи текст программы и покажи где у тебя там баг. Я делал встраиваемую МП систему и тоже долго ссылался на некорректную работу программы, а оказалось все дело в аппаратной части. Ты дебагил прогу в pBlazIDE?

Дебажить в pBlazIDE у меня не получается, он просто не хочет выполнять. Я отлаживаю в симуляторе ActiveHDL. Программа была отлажена и работала. При синтезе ни одна часть проекта выброшена не была. Но реально читаемые коды команд из памяти местами не соответствовали ожидаемым.
Проблема решилась в конце рабочего дня, когда я оставил prog_rom.vhd без изменений, а вот kcpsm3.vhd заменил на kcpsm3.ngc и объявил как black_box. Похоже Sinplify решил оптимизировать содержимое памяти и все сломал...

....а не пробовал синтезировать при помощи XST?...мне приходилось тоже иногда замечать за Sinplify некоректную работу...ручками можно конечно заставить Sinplify правильно работать.
irum4
Цитата(SergeyX @ Jan 31 2007, 13:22) *
....а не пробовал синтезировать при помощи XST?...мне приходилось тоже иногда замечать за Sinplify некоректную работу...ручками можно конечно заставить Sinplify правильно работать.

Аналогично. Как оказалось Sinplify синтезировал вообще не правильно (Spartan 2). По-зтому использовал готовый ngc-file. Однажды замучал интерес и отсинтезировал только kcpsm.vhd с помощью XST и Sinplify без добавления ножек и соответственно оттранслировал ISE-ом. После XST получил аналогичный поставляемому рабочий ngc-file, а после Sinplify полностью кривой blink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.