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

chipovod

Участник
  • Постов

    85
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о chipovod

  • Звание
    Частый гость
    Частый гость

Информация

  • Город
    Array

Посетители профиля

1 774 просмотра профиля
  1. Я только проверил, что оно компилируется и запускается - соеднинение есть. Однако, кажется не все настройки lwIP 1.4.0 были перенесены в BSP Xilinx. По крайней мере NO_SYS_NO_TIMERS я там не нашел. IP core axi_ethernet и драйвер для нее тоже надо обновлять до последней версии в ISE 13.4. А по поводу стабильности, как выяснилось, сильно влияют настройки lwIP. По крайней мере, я подобрал такие, при которых 1.3.2 работает у меня стабильно. Наверно и 1.3.0 тоже бы так работало.
  2. В UCF файле был прописан самый обычный констрейн на входной тактовый сигнал : NET "CLK" TNM_NET = sys_clk_pin; TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 200000 kHz; В какой-то момент времени я увидел, что в отчете Place and route report -> Timings result он то присутствует, то нет. Причем, если его не было, никакой информации о причине его исчезновения (напрмер, в результате оптимизации цепи) в отчетах я не нашел. Не было времени разбираться, что и как: плюнул на это дело и написал по старинке (Xilinx говорит, что этот метод устарел и не рекомендуется). Теперь констрейн не пропадает. NET "CLK" PERIOD = 5 ns;
  3. По теме: были аналогичные проблемы при пошаговой отладки программы в MicroBlaze. Условные операторы делали неверный переход, происходил переход на совсем другое место кода, счетчики не инкрементировались, обнаруживались неизвестные инструкции, иногда просто elf файл не загружался - не проходил verify. Код и данные размещались в DDR3 памяти. Проверка показала, что данные в DDR3 бьются по черному. Проблема оказалась в констрейнах. ISE втихоря игнорировал констрейн на глобальный клок системы. После того как констрейн подтянулся - полтергейст сразу пропал.
  4. Кстати, сообщаю что в BSP ISE 13.4 обновился lwIP до 1.4.0
  5. Полез повторять эксперимент и кажется разобрался в чем дело. При записи/чтении в мою корку из MicroBlaze данные проходят через кэш и с порта M_AXI_DC попадают в мою корку. Если я отключаю кэш, транзакции на M_AXI_DC пропадают. Подключил к своей корке порт M_AXI_DP от MicroBlaze, отключил кэширование адресов корки и все заработало. Время записи в мою корку сократилось в несколько раз после отказа от flush. Но осталось не понятным почему при отключении кэширования данные на M_AXI_DC не проходят? Ведь это основной порт для выхода на AXI шину.
  6. У меня к AXI шине подключена корка, которая имеет внутренню память и, соответственно, диапазон адресного пространства для чтения/записи. При включенном Dcache запись/чтение из MicroBlaze хорошо работает, но приходится делать постоянный Flush кэша, чтобы заставить MicroBlaze обновить данные в корке. После исключения диапазона адресного пространства корки из кэширования и попытке чтения/записи обращений к корке по AXI шине нет. Из окошка Memory в Eclipse (среда SDK) по всему адресному пространству - нули и попытка записать туда что-либо ни к чему не приводит. Данные не изменяются, обращений к корке нет.
  7. Это, я так понимаю здесь задается? Пробовал так делать - запись в память вообще не проходит. Сейчас заметил чекбокс Use Cache Links for All Memory Accesses. Он меня спасет?
  8. Вы хотите просто включить кэш инструкций или что-то другое? У меня в программе для этого две функции по умолчанию. Работает, никто не жалуется. microblaze_invalidate_icache(); microblaze_enable_icache(); А у меня другая проблема: как отключить кэширование данных для части адресного пространства MicroBlaze. Подскажите, кто знает.
  9. Ах, какой конфуз. Я поражен до глубины плисоводческой души! (Шутка, не воспринимайте всерьез :beer:) Вам нужен Xilinx Constraints Guide http://www.xilinx.com/support/documentatio...inx13_2/cgd.pdf (для ISE 13,2). Там все толково написано. Хотя бы глава 3 Xilinx Constraint Strategies. Если кратко, то Вы должны, как минимум, задать для ISE требования по частоте всех входных тактовых сигналов, которые используются в Вашем проекте, а также для других сигналов, если в этом есть необходимость. Делается это в файле с расширением UCF. Там же задаются расположение пинов ПЛИС и соответствие между сигналами и пинами. И если Вы пишите, что Ваш модуль иногда не выдает сигналы наружу, возможно Вы не задали такового соответствия. С другой стороны раз Ваш проект все-таки иногда работает, значит таковой файл имеется и подключен к проекту, вот в нем и надо сочинять.
  10. Похоже на нарушение констрейнов, я тоже похожую картину Репина у себя недавно наблюдал. Какие Вы констрейны задавали для системы и для глобального клока(ов) в частности? И успешно ли они выполнились?
  11. Легко! Если Вы используете для доступа к памяти корку axi_s6_ddrx, то там прямо такой человекоприятный gui, где можно и банк выбрать и тип микросхемы и все остальное. А ядро Microblaze настраивать не надо, разве что проверить скрипт для линкера, куда какой код загружать.
  12. А чем Вас не устраивает код Матлаба предыдущего поста?
  13. Спасибо, Rob Ага, я таким же образом испек себе слейв на AXI, из корки axi_bram_cntrl. А где эти заготовки? Спасибо, покачал сей модуль на сайте ARM, и увидел там, что для верификации AXI они предлагают некий AXI Adaptive Verification IP (AVIP) http://infocenter.arm.com/help/topic/com.a...vip_r0p0_to.pdf Тоже некий пакет тестов для симуляции. Может кто знает где его можно раздобыть?? доки на BFM изучаю, Xilinx как всегда радует своей настольной документацией.
  14. Проблема в том, что ошибки я вижу так сказать не вооруженным глазом, но бывает так, что целый день работаю без ошибок. Все зависит от везения в разводке. Вообщем подозрение с самой микросхемы DDR3 памяти и сырости MCB Спартана я решил пока снять. Плата SP-605 Rev.D, микросхема оказалась все-таки Micron, та самая что на схематике. Пока лечил свой проект тем, что лочил в PlanAhead кусок с axi_ddr коркой, это работало, но при каждом серьезном изменении проекта эту работу приходилось делать заново, иначе Router не мог развести проект. Сейчас я временно облегчил проект до 60% - проблема исчезла.
  15. Здравствуйте, кто делал реализацию AXI Master просветите каким путем шли. Есть ли готовые тест-бенчи для отладки?? В обозримом будущем надо будет делать Master под Spartan-6, пока довольствуюсь слейвом. Из реализации мастеров пока нашел лишь простейший пример от Xilinx ( http://www.xilinx.com/support/answers/37425.htm ) и корку от opencores, еще в ней не разбирался.
×
×
  • Создать...