Vadim_nsk 0 11 января, 2007 Опубликовано 11 января, 2007 · Жалоба PicoBlaze под Spartan-3. Сначала пользовался только исходниками (kcpsm3.vhd+prog_rom.vhd). Программа написана, beh-симуляция проходит на ура, но тайминг делает не то. Вытащил из недр сигналы address и instruction. Выяснилось, что при зашивании программы в блокRAM она слегка "модифицируется", в итоге делает совсем не то... Пошел другим путем... kcpsm3.ngc+prog_rom.edn, объявляем компоненты как black_box и... :( Первый поставляется вместе с исходником. А как получить второй? Пробовал способ от 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 0 11 января, 2007 Опубликовано 11 января, 2007 · Жалоба Приведи текст программы и покажи где у тебя там баг. Я делал встраиваемую МП систему и тоже долго ссылался на некорректную работу программы, а оказалось все дело в аппаратной части. Ты дебагил прогу в pBlazIDE? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vadim_nsk 0 11 января, 2007 Опубликовано 11 января, 2007 · Жалоба Приведи текст программы и покажи где у тебя там баг. Я делал встраиваемую МП систему и тоже долго ссылался на некорректную работу программы, а оказалось все дело в аппаратной части. Ты дебагил прогу в pBlazIDE? Дебажить в pBlazIDE у меня не получается, он просто не хочет выполнять. Я отлаживаю в симуляторе ActiveHDL. Программа была отлажена и работала. При синтезе ни одна часть проекта выброшена не была. Но реально читаемые коды команд из памяти местами не соответствовали ожидаемым. Проблема решилась в конце рабочего дня, когда я оставил prog_rom.vhd без изменений, а вот kcpsm3.vhd заменил на kcpsm3.ngc и объявил как black_box. Похоже Sinplify решил оптимизировать содержимое памяти и все сломал... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexus.mephi 0 12 января, 2007 Опубликовано 12 января, 2007 · Жалоба И все-таки приведи текст программы! Ты все по книге Зотова делаешь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyX 0 31 января, 2007 Опубликовано 31 января, 2007 · Жалоба Приведи текст программы и покажи где у тебя там баг. Я делал встраиваемую МП систему и тоже долго ссылался на некорректную работу программы, а оказалось все дело в аппаратной части. Ты дебагил прогу в pBlazIDE? Дебажить в pBlazIDE у меня не получается, он просто не хочет выполнять. Я отлаживаю в симуляторе ActiveHDL. Программа была отлажена и работала. При синтезе ни одна часть проекта выброшена не была. Но реально читаемые коды команд из памяти местами не соответствовали ожидаемым. Проблема решилась в конце рабочего дня, когда я оставил prog_rom.vhd без изменений, а вот kcpsm3.vhd заменил на kcpsm3.ngc и объявил как black_box. Похоже Sinplify решил оптимизировать содержимое памяти и все сломал... ....а не пробовал синтезировать при помощи XST?...мне приходилось тоже иногда замечать за Sinplify некоректную работу...ручками можно конечно заставить Sinplify правильно работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
irum4 0 2 февраля, 2007 Опубликовано 2 февраля, 2007 · Жалоба ....а не пробовал синтезировать при помощи XST?...мне приходилось тоже иногда замечать за Sinplify некоректную работу...ручками можно конечно заставить Sinplify правильно работать. Аналогично. Как оказалось Sinplify синтезировал вообще не правильно (Spartan 2). По-зтому использовал готовый ngc-file. Однажды замучал интерес и отсинтезировал только kcpsm.vhd с помощью XST и Sinplify без добавления ножек и соответственно оттранслировал ISE-ом. После XST получил аналогичный поставляемому рабочий ngc-file, а после Sinplify полностью кривой :blink: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться