Jump to content

    

fguy

Участник
  • Content Count

    165
  • Joined

  • Last visited

Community Reputation

0 Обычный

About fguy

  • Rank
    Частый гость

Recent Profile Visitors

1220 profile views
  1. Действительно неплохой вариант оптимизации. Относительно Perfomance_ExtraTimingOPT улучшился TNS с -37 до -7 и число FailedPoint сократилось со 170 до 3, а минуса по WNS и hold-ам остались на том же уровне.
  2. Новая версия похоже содержит кучу сюрпризов. Вот еще один. При экспорте проекта в сдк теперь пакуется в файл xsa весь проект после синтеза со всеми кэшами ядер и я вместо 8 Мбайт - та-да-м - получил 1 Гбайт и соответствующее время упаковки, ну и упор рогом в длинные имена файлов до кучи. А в новой статье на офсайте https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Vitis-IDE-Git-Integration-quickstart/ba-p/1173362 они еще его и на гит валят.
  3. Нет необходимости писать всю правду о себе и скрывать что вы из России, но писать несвязанный набор букв и цифр в полях то же не стоит - например если указываете Москву то и вымышленный номер телефона должен быть хотя бы на +7495...... и содержать 11 цифр.
  4. В своих ядрах интерфейс тоже легко меняется - я ядра пишу на хлс-е, дык там даже при смене версии вивады можно огрести небольшое переименование портов со всеми вытекающими - после обновления таких ядер от портов все связи пропадают.
  5. Что бы снять блокировку во флэшке нужно изучить даташит на ваш чип. Про ефуз в цинке не разбирался, но если она не блокирует работу по jtag то пользуйтесь на здоровье для изучения плис. Про это можно почитать ug585 раздел Device Secure Boot. Для программирования qspi на цинках лучше всего использовать старые вивады - например 2014.3 - в новых есть заморочки с очисткой и сбросом. Даже если чип не поддерживается (типа как цинк035) он все равно будет опознан в сдк и флэшку успешно очистит и прошьет хоть и долго. Там же у китайцев можно купить недорого их версию юсби-джитага - она совместима с вивадой.
  6. С обновлением ядер при хранении бд в скрипте тсл как раз проблемы - вы не сможете восстановить бд из скрипта при смене версии хотя бы одного ядра - получите ошибку. Можно конечно поправить скрипт, но при смене набора параметров или пинов в новой версии ядра то же будут ошибки. Так что удовольствие сомнительное.
  7. И в чем проблема? Для скачивания BSDL достаточно и анонимной регистрации. Архив для цинков лежит тут https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/device-models/bsdl-models/zynq.html Вам нужен файл xc7z007s_clg225.bsd из архива.
  8. Ладно флэшка - в ней может быть залочена 0-я страница от обычной записи, но и ее можно разлочить. А причем тут цинк? В него никакой код для проца не записать - там нет такой возможности, хотя небольшой кусок кода загрузчика там есть, но его может изменять только xilinx на этапе производства.
  9. Если открывать только на чтение то есно ничего не поменяется. Если проект апгрейдить при открытии то тоже. Потестил после конвертации замену бд через копипаст и скрипт. Результат не улучшился, а даже стал хуже - разведенный проект в 2018.3 - в папке бд 855 Мбайт, после копипаста через буфер или экспорт-импорт через скрипт остается 80 Мбайт, но после поядерного синтеза в 2020.2 бд распухает до 884 Мбайт - содержимое папок ip и ipshared в bd никуда не девается. Для экспорта в гит даже 80 Мбайт не приемлемы, особенно при том что скрипт с бд всего 280 кбайт. Update: Новый формат хранения можно получить только при создании нового проекта - поставив флажок на расширении Vitis. В таком случае в srcs действительно остается минимальный набор файлов и он не пухнет при синтезе - в моем случае после восстановления бд скриптом осталось 12 Мбайт. Весь остальной генерируемый мусор для бд переехал в папку gen.
  10. оригинал тут https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/HLS-2019-x-and-2020-1-generate-incorrect-param-MEM-SIZE-for-bram/m-p/1115528 при размещении интерфейса брам в топе функции в параметрах ядра неправильно указывается необходимый размер брам и вивада выдает ошибку при проверке бд При конвертации проекта из старой версии формат должен измениться - для этого конвертации и делается, а перерисовывать бд из 300 компонентов ручками это перебор, может конечно через скрипт бд попробовать перенести, но какой толк тогда от конвертации?
  11. Не заметил принципиальной разницы в папке project_my.srcs между 2018.3 и 2020.2 - размер для моего проекта как был 850 Мбайт в ней так и остался, а число папок и файлов уменьшилось незначительно, ненужный для хранения ipshared так и остался.
  12. Для меня непригодным стал еще хлс 2019.1. В 2020.2 афторы постарались еще как могли - сделать порт axis с доп сигналом last просто не реально - попробовал разные варианты включая из их репы - выдает всякую чушь. Для привычного уже hls::stream со структурой, вместо добавления в порт сигнала last тупо расширяет data в 2 раза. Уже даже желания писать на их форум нет никакого - занятие бесполезное - написано было про косяк с генерацией интерфейса bram в хлс 2019.1 и с тех пор реакции никакой - написали что стоит в баглисте на исправление - 3 версии уже выпустили с тех пор. В текущем состоянии выдать работоспособное ядро из хлс 2020.2 нереально. То ли хотят похоронить хлс, то ли лавочку пора прикрывать - хз.
  13. Это простой редизайн старого хлс-а с новыми фишками, черным скином и старыми косяками синтеза хлс-а времен 2019.1.
  14. Я и сам про это написал, но этот примитивный код работает и чаще всего нормально переносится из старой версии хлс-а в новую. Я работаю с хлс-ом начиная с первых версий (2014.2). За это время там была сделана куча изменений и не всегда приятных и не всегда анонсированных. Так что тут нужно самому следить за ключевыми фишками. Например после 2018.3 испортили синтез брам-интерфейса и не смотря на признание ошибки на форуме оффсайта исправлять ее не спешат. Где то с 2018 версий убрали поддержку записи даже во внутренний брам-массив по диапазону бит - возможно ваша проблема как то связана с этой "фишкой". Результатом синтеза являются не только соблюдение II и латентность, но и выполнение заданного периода (частоты работы). А здесь будут уже варианты в зависимости от чипа и частоты. Так же "удачный" синтез не всегда гарантирует адекватную работу полученного ядра в чипе и искать такие ошибки гораздо сложнее чем свои.
  15. А по простому вам совсем ни как - обязательно писать какие то спецкоманды. Я делаю проще - ввожу данные стримом нужной ширины, разбираю на числа в обрабатываемом формате, делаю необходимые операции и собираю результат опять в один стрим. Выглядит может и не так красиво, но зато работает и переносится из версии в версию без проблем. Простой пример - комплексное умножение после ффт с плавающей точкой - в 1 такт 1 пару комплексных чисел не перемножить на нужной частоте - хлс синтез выдает что не успевает по времени - расширяю данные до 4х штатным ip width converter и 4 комплексные умножения за 4 такта уже делаются без проблем (не путаем II с латентностью). Если дальше нужно получить поток по 1 комплексному числу на такт ставлю еще один wc. Из минусов такого решения это размер ядра и ресурсы, но с другой стороны решение получается простым и надежным, а по сравнению с размером ядра ффт все остальные ядра нервно курят.