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

kaktus

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
  • День рождения 06.09.1980

Информация

  • Город
    Санкт-Петербург
  1. Столкнулся со следующей проблемой, которая проявляется на версиях 2017.3 и 2017.4 установленных на разных машинах: - Vivado при коррекции содержимого в окне IO Ports часто заявляет, что данный вывод уже занят другим сигналом. Если отказаться от замены, а затем прописать снова, то после нескольких попыток вывод нормально назначается; - В другой раз Vivado на этапе создания битстрима заявляет, что какие-то выводы не назначены и в IO Ports они действительно оказываются без привязки, при этом содержимое XDC файла не менялось, там они по прежнему прописаны. Пока не пропишешь их снова в IO Ports, их упоминание в XDC просто игнорируется. Кто-нибудь знает, как это лечится?
  2. Цитата(gin @ May 17 2017, 16:22) А разве нельзя тактировать альтеровский трансивер от внешнего стабиьного генератора? На такой скорости мне кажется проще использовать обычные выводы ПЛИС. Вход организовать через CDR, выход прямо с ПЛИС. Тактировать выход той же тактовой взятой с CDR, но почищенной от джиттера с помощью внешней микросхемы. В свое время делал коммутатор для СТМ, который миксует данные с нескольких потоков СТМ, он же и тактовую раздает. Там у меня данные, которые я отдаю, стробируются от ПЛИСовой PLL, на которую приходят 155МГц с какого-то EXARа. А саму тактовую 155, сопровождающую данные, пришлось отдавать через ПЛИС просто от входа к выходам (так была плата разведена), минуя плисовую PLL, т.к. она только добавляла джиттер. Сама по себе ПЛИС Virtex-5 тактовую не испортила. Вроде до СТМ-16 там все так и работает.
  3. Если продолжить тему мультиплексоров, то стоит обратить внимание на xapp522 от Xilinx. Тут описано формирование оптимального мультиплексора для 6 и 7 семейств. Мне в свое время нужен был мультиплексор 16-1 (точнее 640 штук 640-1, которые я и собирал из 16-1) и именно оптимальная реализация из этого xapp помогла поднять проект, т.к. из простой записи на VHDL ISE его порождала не так компактно. https://www.xilinx.com/support/documentatio...-techniques.pdf
  4. Цитата(Daedal07 @ Nov 8 2016, 15:02) У меня win32. Я выявил место в коде, из-за которого это происходит. Переписал и пока работает. Если повторится, то уменьшу количество ядер. Полезно знать, что win64 и ISE 14.7 не дружат! Спасибо всем откликнувшимся! У меня рядом с дистрибутивом лежат вот эти файлы, которыми следует заманить оригинальные. Точно не помню от какой беды они помогают, от падения map, или xst, но помню, что с падением map тоже как-то боролся. Попробуйте заменить свои, сохранив на всякий оригинальные. [attachment=104291:DS_14_7_patch.ZIP]
  5. Цитата(doom13 @ Aug 11 2015, 13:31) В системе есть память, которая тактируется от отдельного генератора. MicroBlaze и вся остальная система тактируется от другого генератора. MicroBlaze через блок AXI Interconnect имеет доступ к данной памяти. Учитывает ли блок AXI Interconnect, что в системе два источника тактирования? PS Судя по тому, что память не читается, так делать нельзя? Вообще-то работать должно и интерконнект должен все учитывать. В плане исследования можно открыть "плюсиком" сам блок интерконнекта и его составляющие и посмотреть где он вставил клок конвертеры, а где еще чего (Это я в соседней теме негодовал, что вивадо ругается на xdc этих самых конвертеров). [attachment=94573:vivado0.jpg] Потом, можно посмотреть на Synthesis - Report Clock Interaction. За последние дни я уже успел столкнуться с ситуацией, когда одно из периферийных устройств подвешивало, при обращении к нему, Микроблейз. Пересобрал проект заново - все работает. Возможно где-то что-то изменил по мелочи, а может эффект сборки с чистого листа. (Чистить директории по Вашему совету пока не пробовал). Система у меня аналогичная: PCIe (ядро 2.6), DMA (будет), Ethernet. В предыдущей версии Вивадо сталкивался с ситуацией, когда во время работы над периферией, при уменьшении/увеличении количества портов в блоке интерконнект внешне все нормально, а внутри порты оставались подвешенными в воздухе. Еще обратите внимание, что в интерконнекте в настройках можно FIFO добавлять для отдельных портов, что может быть полезным при различных частотах Master/Slave.
  6. Присоединяюсь к вопросу. Единственное, что у меня 2015.2 и чаще обходится критическими предупреждениями, типа такого: [Common 17-55] 'get_property' expects at least one object. ["d:/WORK/PCIe/test_trimode/test_trimode.srcs/sources_1/bd/design_1/ip/design_1_auto_cc_0/design_1_auto_cc_0_clocks.xdc":20] В данном случае это файл предписаний от AXI Clock Converter, который создан автоматически в блоке interconnect, но подобные ошибки возникают и в других IP. Т.е. больше всего, по моим наблюдениям, Vivado не любит им же самим созданные xdc. в самой строке 20 что-то такое: set_max_delay -from [filter [all_fanout -from [get_ports m_axi_aclk] -flat -endpoints_only] {IS_LEAF}] -to [filter [all_fanout -from [get_ports s_axi_aclk] -flat -only_cells] {IS_SEQUENTIAL && (NAME !~ *dout_i_reg[*])}] -datapath_only [get_property -min PERIOD $m_clk] Причем подобных строк там несколько, но на остальные, в момент написания данного сообщения, он не ругается. Эту строку можно закомментировать, открыв внешним редактором, т.к. в Vivado этот файл read only. Через некоторое время, такое ощущение, что спонтанно, может начать ругаться на какую-то другую строку. Итого, пока от Vivado 2015 и IP интегратора впечатление весьма удручающее.
  7. Цитата(Golikov A. @ Jun 11 2015, 22:58) конфигурацию железа не меняли? У ксалинкса передача всех параметров идет через автосоздаваемый заголовочный файл. Он иногда почему то не автопересоздается, и тогда после смены конфигурации железа вообще Ад начинается. Помогают танцы с бубном с перегрузками, сбросами проекта, чисткой, с устранением и добавлением и так далее... Якобы должно помогать: правой кнопкой по BSP (Board Support Package) - Index - Rebuild. Если не помогает, я просто его стираю и создаю новый: получается, например, standalone_bsp_4 со всеми драйверами обновленного железа и актуальными адресами в xparameters.h Остается указать в свойствах программного проекта, чтобы тот ссылался на новый BSP: правой кнопкой по Hello World - Properties - Project Reference - поставить галочку напротив вновь созданного BSP.
  8. Вот это, кажется, помогает. обсуждение: http://forums.xilinx.com/t5/Synthesis/Synt...highlight/false решение: http://www.xilinx.com/support/answers/59851.html
  9. Наконец прошел синтез проекта в 14.7. Надо было всего лишь установить виртуальную машину на XP 32 бит.
  10. Цитата(alexadmin @ Sep 19 2014, 11:48) Хм. Мне казалось, что в исе (в core generator) они автоматически сразу порождаются где-то в подкаталоге... Спасибо. Теперь еще вопрос к знатокам. Никто не сталкивался с тем, что во время синтеза XST в 14.7 вылетает так, что винда говорит, что прекращена работа программы? Если да, то как это лечится? Проверял на двух машинах с Win7-64. Этот проект (сейчас в нем только процессорная система на микроблейзе с axi dma, axi ethernet, к ней и собираюсь цеплять pcs/pma ... ), делает так на 14.7 и 14.6. На 14.4 синтез проходит, только надо версии ядер подправить на более старые. Но 14.4 меня не устраивает т.к. в качестве отладочной у меня vc-707, а про то, что ядро 1000BASE-X/SGMII Virtex-7, Artix-7 and Zynq-7000 moved to production написано только в релиз ноутсах для 14.7. Т.е. хотелось бы починить 14.7, чтобы иметь максимально близкие проекты в отладке и целевой плате. Можно конечно само ядро из новой в старую перетащить.... вот проект [attachment=87129:FMC112_v1.zip]
  11. Цитата(alexadmin @ Sep 18 2014, 17:46) Надо жамкнуть правой кнопкой на сгенерированном ip-компоненте и выбрать Open (или generate?) Example Design Спасибо, в Вивадо помогло. А в случае исешки? Мне-то надо для виртекса-6.
  12. Видимо я очень туплю. В описании ядра плотно упоминается example design, но попытки его найти на сайте не увенчались успехом, хотя до этого находил подобные вещи. Ткните, пожалуйста, меня носом, где их прячут. Что касается тактирования, то вход GREFCLK (из внутренней логики) в визарде присутствует.
  13. IP ядро Ethernet 1000BASE-X PCS/PMA or SGMII входит в состав AXI Ethernet, нормально работает на VC-707, однако, теперь проект надо перенести на другую плату (с Virtex-6*), где на тактовый дифф вход трансивера не подается 125 МГц. Само ядро AXI Ethernet в режиме SGMII имеет два входа 125 МГц: один для внутренней логики, другой - дифференциальный (насколько я понимаю там зарезервирован входной буфер IBUFDS_GTE непосредственно в трансивере) идет прямо на gtrefclk_p/n ядра Ethernet 1000BASE-X PCS/PMA or SGMII. Если вытаскивать ядро Ethernet 1000BASE-X PCS/PMA or SGMII в одиночку, то вход gtrefclk не дифференциальный. Отсюда вопросы: 1. Можно ли в AXI Ethernet сделать этот вход тоже не дифференциальным и запитать из другой точки? 2. Если нельзя, то имеет ли смысл настраивать AXI Ethernet в режим GMII и цеплять вручную Ethernet 1000BASE-X PCS/PMA or SGMII снаружи, запитывая тактовой не от IBUFDS_GTE. * для Virtex-6 другая версия ядра AXI Ethernet, но там та же история - вход дифференциальный. [attachment=86994:pcspma.png] [attachment=86996:pcspma2.png][attachment=86997:pcspma3.png]
  14. Можно попробовать откомпилировать исходный проект, включив опцию smartguide (Source-Smartguide), потом добавлять новый код. Либо зафиксировать итоги разводки в PlanAhead. SmartGuide™ technology allows you to use results from a previous implementation to guide the next implementation. This helps to reduce runtime, preserve logic, and meet timing. To Use SmartGuide Technology In the View pane of the Design panel, select Implementation. In the Hierarchy pane, select the top module Select the Source > SmartGuide menu command. In the SmartGuide dialog box, select Use SmartGuide, specify an NCD file, and click OK. SmartGuide technology is enabled, and your top module icon changes to this icon . Note You can specify your own NCD file. However, by default, the previously routed NCD file is used. Implement your design. The specified NCD file is used to guide the implementation run.
  15. Цитата(TATALEX @ May 20 2014, 13:59) Проблема в отработке маршрута проектирования с использованием нетлиста взятого из другого проекта. Другой проект содержит описание черного ящика или ..... ? Да, для текущего проекта файл с entity, но без архитектуры - это blackbox, который будет заполнен нетлистом (ngc) от "другого" проекта.