Перейти к содержанию
    

Кто работал с PicoBlaze?

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.

Кто знает как получить его или как заставить синтезатор не тусовать команды в программе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Дебажить в pBlazIDE у меня не получается, он просто не хочет выполнять. Я отлаживаю в симуляторе ActiveHDL. Программа была отлажена и работала. При синтезе ни одна часть проекта выброшена не была. Но реально читаемые коды команд из памяти местами не соответствовали ожидаемым.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Дебажить в pBlazIDE у меня не получается, он просто не хочет выполнять. Я отлаживаю в симуляторе ActiveHDL. Программа была отлажена и работала. При синтезе ни одна часть проекта выброшена не была. Но реально читаемые коды команд из памяти местами не соответствовали ожидаемым.

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

....а не пробовал синтезировать при помощи XST?...мне приходилось тоже иногда замечать за Sinplify некоректную работу...ручками можно конечно заставить Sinplify правильно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

....а не пробовал синтезировать при помощи XST?...мне приходилось тоже иногда замечать за Sinplify некоректную работу...ручками можно конечно заставить Sinplify правильно работать.

Аналогично. Как оказалось Sinplify синтезировал вообще не правильно (Spartan 2). По-зтому использовал готовый ngc-file. Однажды замучал интерес и отсинтезировал только kcpsm.vhd с помощью XST и Sinplify без добавления ножек и соответственно оттранслировал ISE-ом. После XST получил аналогичный поставляемому рабочий ngc-file, а после Sinplify полностью кривой :blink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...