Jump to content

    

Krys

Свой
  • Content Count

    2006
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Krys

  • Rank
    Гуру

Контакты

  • Сайт
    http://

Информация

  • Город
    Томск, Россия

Recent Profile Visitors

4698 profile views
  1. Спасибо, конечно, "Кэп" ))) Конечно ничего не мешает. Вопрос чисто теоретический. Хотелось бы полноценно пользоваться инструментом. Либо точно знать, что эта фича у хилинха не допилена. У нас есть такие плотно забитые кристаллы, в которых пересинтез (с тем самым сервисным счётчиком) занимает час, а последующая повторная трассировка - несколько часов (бывает до суток). Вот и не всегда получается по-быстрому что-то добавить, чтобы что-то глянуть. И тогда вспоминаешь: а в чипскопе же есть замечательный счётчик, давайте-ка его и используем. А начинаешь смотреть - совсем не то. Вот и вопрос: то ли лыжи не едут, то ли готовить надо уметь
  2. На всякий случай решение похожей проблемы с одновременной работой в сдк и чипскопе
  3. Может кому ещё полезно будет, добавлю на всякий случай. Выкопал где-то когда-то данный документ, не помню где, возможно, на форумах хилинх. Launch SDK and Chipscope.docx
  4. Здравствуйте. Имеется задача для увеличения длительности захвата продецимировать захватываемые в чипскопе данные, захватывать не каждое событие триггера, а скажем каждое второе... или каждое десятое, например. Но столкнулись с проблемой. Вот тут находил похожую проблему, но решения нет. Что имеется у нас: есть сигнал, у которого 80 событий триггера ненулевые значения на шине данных, затем ещё 320 - нулевые. Storage qualification поставили по этому самому событию триггера. Настроили этот match unit counter для проверки на единичку - условие occurring in exactly n clock cycles. Видим в захваченном сигнале 80 ненулевых отсчётов, т.е. всё как надо. Затем ставим двоечку, троечку, четвёрочку. И результат отличается от ожидаемого. Например для двоечки ожидаем увидеть 40 ненулевых (может и 39 с учётом, что начало блока ненулевых отсчётов не совпадёт с периодом обнуления счётчика). Видим разброс аж на 10 значений, как в плюс, так и в минус. Для четвёрочки хотим увидеть 20 (ну может 16), но видим опять же гигантский разброс. И так далее. В результате логика работы непонятна, не можем данному инструменту довериться, что он нам достоверные результаты эксперимента покажет... Может уже кто-то сталкивался с проблемой и знает решение? ПЛИС - Спартан 6. Набор софта ISE 14.7
  5. toshas, спасибо, похожее, но проблема в том, что там дока про виваду, а в ней спартан6 не поддерживается. Но может как-то по аналогии получится Цитата(krux @ Dec 13 2017, 16:37) если у вас есть некая параллельная flash, подключенная непосредственно к ПЛИС, и из которой microblaze может выполнять код непосредственно - то можно использовать в качестве ПЗУ её.И Вам спасибо. Правда второй флешки нет, ибо это так же избыточно (формально), как и изыскивать по крупицам блочную память под загрузчик в забитом кристалле при наличии вагона мегабайтов DDR памяти. Цитата(krux @ Dec 13 2017, 16:37) есть и другой вариант - написать конечный автомат, который при запуске прошивкиТоже хороший вариант, но ресурсов съест ещё больше, чем просто задействование BRAM под загрузчик
  6. Здравствуйте. Попробую заняться некропостингом. У нас есть проблема с запуском микроблейза из флешки сразу в DDR память. Т.е. есть ПЛИС спартан6, есть флешка (w25q128bw), есть DDR память к плисине. Раньше всё работало так, что загрузчик был в BRAM, загружал весь код из флешки в DDR и стартовал. Но потом мы забили кристалл подзавязку, и возник вопрос: зачем нам подключать к микроблейзу блочную память, если у нас завались внешней DDR? Сказано - сделано, развели такую прошивку, без BRAM. Всё отлично работает, если стартовать из SDK. Но как теперь сделать, чтобы загрузчик сразу грузился из флешки, а не из BRAM? Вообще не знаем, с какого боку подойти. Нигде не нашли, чтобы такой вариант описывался. Заранее спасибо за подсказки.
  7. Спасибо, действительно, я заблуждался. wait on run есть и в планахеде. Так что моя задача действительно реализуема
  8. Raven, спасибо за подсказки. Надо будет попробовать. Только небольшая поправочка: у меня не вивадо, а планахед. Это несколько более печально )) И ещё вопросик: когда я запущу несколько команд в скрипте в разных линиях Кодlaunch impl_1 launch impl_4 launch impl_6 launch impl_2то по-моему, он будет дожидаться выполнения каждой, а затем переходить к следующей. Не так ли? Или как-то можно сделать, чтобы он выполнил запуск и, не дожидаясь завершения, перешёл к следующей команде? (извиняюсь, в tcl не силён).
  9. Спасибо, тоже думал над таким же решением. Если я Вас правильно понял, то Вы предлагаете сделать примерно так: Кодlaunch_runs impl_1 impl_2 impl_3 -jobs 3 launch_runs impl_4 impl_5 impl_6 -jobs 3 launch_runs impl_7 impl_8 impl_9 -jobs 3 и т.д. Ну там условия ещё наворотить о завершении задач... Но мне кажется такое решение не совсем подходит: при запуске согласно строчке из первого сообщения происходит автоматический запуск следующей стратегии, когда предыдущая закончилась. А согласно строчкам выше следующие 3 запуска будут произведены, когда все 3 предыдущие будут закончены. А у них время выполнения у каждого разное, поэтому некоторое время процессор будет недонагружен, когда некоторые из задач уже закончились, но не все.
  10. Здравствуйте. Вопрос такой. Есть у нас в Planahead несколько запусков имплементации (design runs), как на приложенной картинке. Если их запускать из гуя выбрав все запуски, нажав правой кнопкой и выбрав launch runs, то выполняется такой скрипт: Кодlaunch_runs impl_1 impl_2 impl_3 impl_4 impl_5 impl_6 impl_7 impl_8 impl_9 impl_10 impl_11 impl_12 impl_13 impl_14 impl_15 impl_16 impl_17 impl_18 impl_19 -jobs 3 Вроде как тут эти запуски перечислены последовательно и говорится, что одновременно запускается 3 из них. Так вот проблема в том, что очерёдность выполнения какая-то произвольная. Есть ли способ жёстко указать, какая очерёдность? Дело в том, что мне хотелось бы некоторые запуски выполнить вперёд, а некоторые после, если уж не будет результата у первых.
  11. Golikov A., alexadmin, спасибо. Попробую. А нет ли возможности сделать что-то автоматически, чтобы такая ошибка не вылазила? Дело в том, что у меня на ночь ставятся куча стратегий разводиться, и если такая ошибка - то плохо, уже утром будут не все результаты. К стати, где-то читал, что 32-битная версия чем-то уступает 64-битной по производительности. Кто-то по-моему из местных форумчан проводил сравнение и сделал выводы.
  12. Коллеги, подскажите, пожалуйста: planahead в окошке design runs показывает в столбце статус ngdbuild error. Но когда я открываю лог, то там ничего про ошибку нет (см. приложенный скрин). И как мне с такой несуществующей ошибкой бороться? )
  13. Ещё некоторая дополнительная информация от моего коллеги, что невозможно на RTL написать соединение PCOUT -> PCIN, если эти порты находятся в разных модулях: https://forums.xilinx.com/t5/Welcome-Join/C...ros/td-p/754013
  14. Делал комплексный умножитель на 36 битов из вещественного умножителя на 36 битов (описан в доке на DSP48) , там оказалось, что выгоднее по числу DSP-блоков реализовать комплексное умножение в лоб по определению.
  15. А откуда следует, что умножение на синусоиду и последующую децимацию-фильтрацию можно заменить на децимацию-фильтрацию с синусом? И откуда следует, что потом ещё нужен доворот на линейно нарастающую фазу? А такой поворот на линейно нарастающую фазу не является ли синусом? Не пробовали в матлабе отмоделировать?