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

Koluchiy

Свой
  • Постов

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

  • Посещение

Весь контент Koluchiy


  1. reset_project не помогает, ручная чистка проекта не помогает, инкрементальная сборка выключена. Может ли описанное выше поведение быть следствием заморочек каких-нибудь IP-Блоков? Ну типа, если есть дебаг в проекте - буду компилироваться, если нет - не буду.
  2. Частотных доменов много, клоки описаны, межклоковые описаны. Выключить-включить пробовал :). Давайте без банальных версий, скучно же.
  3. Приветствую. Есть проект, довольно давно отлаженный и работающий. Kintex US+, Vivado 2019. Понадобилось из него сделать релиз - убрать всякие штуки для отладки. Я убираю все VIO и ILA, начинаю компилировать - и всё, проект вообще не компилируется. Implementation занимает несколько часов (вместо получаса), на выходе сообщение, что 50 цепей вообще невозможно развести, и еще 100500 цепей с плохими таймингами. Добавляю обратно ILA с каким-нибудь любым сигналом, или VIO вообще без подключенных сигналов (только тактовый и сброс) - и снова всё отлично компилится. Кто-нибудь сталкивался? Куда копать?
  4. Если микросхемы с китайской свалки - вполне нормальное поведение. Доводилось встречать, и не на Max10 :( .
  5. Здравствуйте. Начальство, исходя из не до конца мне понятных побуждений, требует выдать данные по емкости проекта на Xilinx Ultrascale+ в логических вентилях. Ну т.е. надо пересчитать отчет по количеству триггеров и лутов в эти самые вентили. Кто-нибудь видел какие-нибудь заслуживающие доверия цифры от Xilinx, на которые можно опереться? Ну там, 1 триггер - хх логических вентилей (или транзисторов, или еще чего-нибудь низкоуровневого). Всем заранее спасибо за помощь.
  6. Посмотрите в симуляторе или в СигналТапе. Будет гораздо проще, чем ждать теоретического ответа, который может быть неполным или неверным.
  7. Ап! Слеедующий вопрос. Умеет ли Cyclone V (желательно GX) нормально работать с OTU1/STM16? Т.е. удовлетворяют ли приемопередатчики требованиям по джиттеру и устойчивости к джиттеру? Чего-то трындец какой-то с интеловским сайтом, не могу пробиться в ихний форум...
  8. То, что я видел, мне не понравилось (предполагаю, недоразобрался еще). Убеждаю начальство нанять программиста, чтобы на каком-нибудь Питоне сделал именно то что надо. Пока не убедил.
  9. А что есть по генерации документации на HDL? По большей части интересно на SV. Хотя бы на уровне выдачи таблицы с выводами модулей, вход/выход, разрядность, достать описание из комментария заданного формата. Если кто-то хочет предложить что-то свое, пишите в личку.
  10. Я предполагаю, что восстановить форматирование можно, это не такая сложная задача. Скорее, нужно в ходе этого процесса не убить идентификаторы и не перековать always'ы на луты и триггеры. Т.е. чтобы это не был нетлист. Про раскрыть definы имелось в виду - когда в зависимости от наличия дефайна активируется тот или иной участок кода (отладочные блоки и тп).
  11. Xilinx - это ISE или Vivado? И какая версия. Чего-то в своей Виваде не вижу ничего подобного. Может, надо галку какую поставить? А там можно сделать, чтобы она сама это все исправляла? Или только ручками.
  12. Поясните пожалуйста, 1) Какой синтезатор Вы имеет в виду? У меня Quartus Pro 18. 2) Где смотреть? P.S. Добавлю, что "вычищенный код" должен хоть сколько-нибудь прилично выглядеть.
  13. Здравствуйте. Заказчик начал выдвигать разные требования к исходным кодам Verilog/VHDL - например, убрать неиспользуемые сигналы (переменные), раскрыть `define и тп. Вручную этим заниматься, конечно же, совершенно не улыбается - кроме больших временных затрат, еще и появляется большая вероятность чего-нибудь сломать. Кто-нибудь пробовал автоматизированно делать такие штуки? Есть ли готовые инструменты, пусть платные. Основной критерий - после такой "чистки" проект должен компилироваться и работать нормально. Всем спасибо за любую помощь. P.S. Если кто-то что-то хочет предложить свое - пишите в личку.
  14. Кто-нибудь пояснит, какое отношение сабж имеет к телекому или там вирелессу? :-)
  15. По мне, вивадовский симулятор даже без SV и классов сложнопредсказуемо приглюкивает. Ну типа, неправильно может обработать строку с просто логикой. Притом, что синтез с этого же кода или там квеста работают нормально.
  16. Спасибо за ответ. А что Вы с ним делаете? Замыкаете выход на вход, или смотрите реальную линию связи там например между платами?
  17. Здравствуйте, уважаемые гуры. Пробую работать с ядром Vivado ibert - строю глаз для приемопередатчика, так или иначе замкнутого на себя. Пока складывается впечатление, что данное ядро очень ограниченно применимо. По следующим причинам: 1) Регулярно при его работе (особенно на тяжелых настройках, от 10^-9 и инкременты 2) вылетает Vivado целиком; 2) Периодически выдает каку, т.е. закрытый глаз (или разорванный) в случаях, когда такого не должно происходить. Опять же, на тяжелых настройках При этом в следующем опыте нормально всё. 3) Нет монотонного изменения глаза в зависимости от изменения параметров Кто-нибудь пробовал работать с этим ядром? Наблюдаете ли такие же проблемы. Работает ли данное ядро лучше в 202х версиях Vivado, или аналогично 2019? P.S. Железо мощное (казалось бы).
  18. Всем спасибо, это я уже нагуглил. Есть ли человеколюбивое решение моего вопроса? Объявлять каждый вариант вложенного модуля в generate плохо тем, что много повторяющегося текста. Соответственно, при каких-то изменениях придется менять сразу в нескольких местах, что рождает вероятность ошибок.
  19. Здравствуйте, уважаемые гуры. Хочу сделать модуль с параметром (количество портов). Если чо, все это в Vivado 2019. В зависимости от параметра должны подключаться немного разные модули с различными наборами сигналов. Думал я сделать это таким образом: в зависимости от параметра определять `define, в зависимости от `define подключать нужные модули и разрешать те или иные сигналы вложенных модулей. module# ( parameter NumCh = 1 ) UpperModule ( набор сигналов ) generate if (NumCh == 1) begin:GTH_1Ch_Block `define GTH_1Ch end else begin:GTH_2Ch_Block `define GTH_2Ch end `ifdef GTH_1Ch LowerModule1 `endif `ifdef GTH_2Ch LowerModule2 `endif ( // Common signals .Input(In1), ... //Configurable signals `ifdef GTH_2Ch .Input(In2), `endif ); Проблема: не работает. Vivado явно не понимает подключение различных модулей в зависимости от `define, который объявляется в generate. С одной стороны, не выдает ошибок, с другой стороны явно подключает не тот модуль, который задан параметром. Что я делаю не так? P.S. Я понимаю, что можно в зависимости от значения подключать разные модули через generate, без директив препроцессора. Но это неудобно, т.к. у подключаемых модулей много общих сигналов. Хотелось бы подключать один модуль, но у него менять название в зависимости от параметра, и добавлять ему дополнительные сигналы. Насколько я понимаю, сделать это можно только при помощи директив препроцессора (`ifdef). Но я явно что-то не так делаю при создании `define в зависимости от параметра.
  20. Здравствуйте, уважаемые гуру. Cyclone5, Quartus 18.0 (не Pro). Пишу констрейны для приемопередатчиков, типа set_instance_assignment -name XCVR_TX_PRE_EMP_1ST_POST_TAP 1 -to MY_OUTPUT_PIN_NAME Вопрос: как по результатам компиляции удостовериться, что констрейн применился? Resource property Editor на данный выход в значении "Preemphasis setting" выдает "-1" (притом что допустимый диапазон 0..31). Где искать правду?
  21. Пытаюсь редактировать IP-блок PLL в мегавизарде. Выдает ошибку, то-то там про библиотеки. Мегавизард не запускается.
  22. Под винду. В 18.0 невозможно редактировать параметры IP-блока PLL, только создавать заново. Есть ли этот баг в 18.1 Update 1?
×
×
  • Создать...