-
Постов
774 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Весь контент alexadmin
-
Я понимаю, что это совсем не ответ на вопрос, но так ли уж нужны собственные ip-core в виваде? Этот ip packager сделан настолько не по людски, что как-то... После того, как появился режим Add RTL module, я забыл о них как о страшном сне.
-
Потому что сложно одной рукой пиратить, а другой сажать на 5 лет за контрафактный софт. Надо что-то одно выбрать.
-
Если бы потерянные. Они ведь наоборот, в Vivade излишне оптимистичные получились! То-то самолеты все в воду падают...
-
Открыл первый же пример: "проанализировали тайминги, получили столько-то. А вивада показывает с ошибкой на 30пс меньше". И как теперь с этим жить?
-
Если говорить про работу с гуи, то можно открыть список сгенерированных файлов ip-ядра, и запретить этот конкретный файл (disable file на нем). При перегенерации ядра запрет сохраняется, насколько я помню. Работает не на всех вивадах. Там же можно подсмотреть соответсву.щую tcl-команду для запрета файла.
- 18 ответов
-
- vivado
- constraint
-
(и ещё 1 )
C тегом:
-
Да, если АЦП всего один и/или не беспокоит детерминированная латентность, то можно вообще без sysref.
-
Все совершенно верно. Кратен частоте мультифрейма, чтобы регулярно приходящий sysref не сбивал счетчик мультифреймов. Про 5 МГц не помню, но если вас пугает 7, то сделайте 3,5МГц - сама частота не важна. В ряде случаев и вовсе подают sysref однократно, а потом выключают, чтобы не было лишнего шума на плате.
-
Формально вам никто не запретит, даже DPCLK не нужны, через любые пины можно протащить. На счет адекватности - выглядеть это будет странно. Но если у вас нет специальных требований к качеству этого клока, то работать будет.
-
Показанные вами картинки не дают возможности подать DPCLK на PLL. Циклоны вплоть до 4 очень ограничены в этом плане, в пятом структура намного богаче.
-
Может. Он весь дамп eeprom внизу сразу показывает.
-
Что может быть в потрохах цинка сказать трудно, но в качестве бредовой идеи - не может ли загрузка PL-проекта переводить какие-либо пины в активное состояние, влияющее на работу платы? Сброс какой или тупо выключение источника питания. Надо проверить в какое состояние устанавливаются неиспользуемые пины PL.
-
А у вас инкрементальная сборка проекта не включена, кстати? А то она себя любит так вести периодически.
- 17 ответов
-
- xilinx
- ultrascale
-
(и ещё 4 )
C тегом:
-
Вот все эти _pipe - это оно и есть. В Interconnect'е там совсем наглядно, в Smartconnect в виде вот такой таблицы параметров, там надо вдумчиво читать какой параметр за что отвечает.
- 17 ответов
-
- xilinx
- ultrascale
-
(и ещё 4 )
C тегом:
-
Вы уже нашли в advanced настройках интерконнектов настройки конвейеризации? По каждому порту отдельно.
- 17 ответов
-
- xilinx
- ultrascale
-
(и ещё 4 )
C тегом:
-
Далеко не всегда срабатывает. Я тут наупражнялся, когда ILA был подключен к репрограммируемом клоку АЦП. Пришлось делать fifo и переводить на близкую постоянную частоту.
-
А для Xilinx такой же технологией никто не владеет? Когда-то пробовал найти, но по документации ничего у них не обнаружилось.
-
Тут две разных проблемы. Клок для PL должен быть тот, на котором PL взаимодействует с PS. Т.е. все правильно сделано. Но ILA туповат и не работает без free-running clock. Поэтому можно взять, конфигурационный, вытащив из примитива STARTUPE* (выход CFGMCLK). Но он будет не синхронен клокам в PS. Напрямую PS_CLK в PL вроде не протащить.
-
Дело не в самом ниосе, а в терминале, работающим поверх debug core. Если программа была запущена из под отладчика, нужно отключить терминал (консоль) в эклипсе жамкнув красный квадрат, если не ошибаюсь. После этого загрузка должна работать.
-
Я не помню точно что за микросхема у аналога была, какая-то хитрая с цельным компьютером внутри. И вот ей пока не подашь целую инициализационную последовательность (записей разных регистров) она банально не отвечает по SPI на чтение. То есть просто сброса не хватает. Лучше всего брать даташит и следовать разделу startup sequence. Хотя здесь вроде не тот случай. PS Нашел, AD9172
-
То что написано у автора можно записать и красивее. Но по-крайней мере раскрывает суть алгоритма. А эти битовые манипуляции ничего по факту не экономят (кроме трех строк текста), но для читателя непрозрачны.
-
Переписать на два комбинаторных процесса. Один с циклом 1 to (bit_num-4)/2, второй (bit_num-4)/2+1 to bit_num-4. После первого защелкнуть в регистр, дальше работать с данными из этого регистра
-
Тут может с форматированием что не то, но кажется, что один процесс вставлен вовнутрь другого. Как-то это нетрадиционно. Может для начала поставить регистров по выходу и натравить ретайминг, в т.ч. специальными констрейнами (зависит от архитектуры).
-
Мне вот очень интересно, чем руководствовалась альтера, вставляя трансиверы тройками, хотя все стандартные интерфейсы оперируют ширинами интерфейсов со степенями двойки. Т.е. Quad (4 трансивера в банке) у Xilinx выглядят куда как адекватнее.
-
1. Я бы для начала сделал его полностью асинхронным, чисто мультиплексоры. 2. Там где "case select_write is" с логикой проблемы. При переходе в case из одного состояния в другое будут храниться старые значения, а не устанавливаться 0. Может и еще где.
-
Если проблема только в dbg_hub, его можно явными констрейнами переключить на другой клок. Если ILA должен работать от внешнего клока - то мириться с тем, что он порой будет отваливаться. Когда совсем достанет - перевести ILA на внутренний клок и поставить фифо-буфер для передачи данных от внешнего тактового домена.
