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

Koluchiy

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные Koluchiy


  1. reset_project не помогает, ручная чистка проекта не помогает, инкрементальная сборка выключена.

     

    Может ли описанное выше поведение быть следствием заморочек каких-нибудь IP-Блоков?

    Ну типа, если есть дебаг в проекте - буду компилироваться, если нет - не буду.

  2. Приветствую.

     

    Есть проект, довольно давно отлаженный и работающий.

    Kintex US+, Vivado 2019.

     

    Понадобилось из него сделать релиз - убрать всякие штуки для отладки.

    Я убираю все VIO и ILA, начинаю компилировать - и всё, проект вообще не компилируется.

    Implementation занимает несколько часов (вместо получаса), на выходе сообщение, что 50 цепей вообще невозможно развести, и еще 100500 цепей с плохими таймингами.

    Добавляю обратно ILA с каким-нибудь любым сигналом, или VIO вообще без подключенных сигналов (только тактовый и сброс) - и снова всё отлично компилится.

     

    Кто-нибудь сталкивался? Куда копать?

  3. Здравствуйте.

     

    Начальство, исходя из не до конца мне понятных побуждений, требует выдать данные по емкости проекта на Xilinx Ultrascale+ в логических вентилях.

    Ну т.е. надо пересчитать отчет по количеству триггеров и лутов в эти самые вентили.

    Кто-нибудь видел какие-нибудь заслуживающие доверия цифры от Xilinx, на которые можно опереться?

    Ну там, 1 триггер - хх логических вентилей (или транзисторов, или еще чего-нибудь низкоуровневого).

     

    Всем заранее спасибо за помощь.

  4. Ап!

    Слеедующий вопрос.

     

    Умеет ли Cyclone V (желательно GX) нормально работать с OTU1/STM16?

    Т.е. удовлетворяют ли приемопередатчики требованиям по джиттеру и устойчивости к джиттеру?

     

    Чего-то трындец какой-то с интеловским сайтом, не могу пробиться в ихний форум...

  5. То, что я видел, мне не понравилось (предполагаю, недоразобрался еще).

    Убеждаю начальство нанять программиста, чтобы на каком-нибудь Питоне сделал именно то что надо. Пока не убедил.

  6. А что есть по генерации документации на HDL? По большей части интересно на SV.

    Хотя бы на уровне выдачи таблицы с выводами модулей, вход/выход, разрядность, достать описание из комментария заданного формата.

     

    Если кто-то хочет предложить что-то свое, пишите в личку.

  7. On 8/6/2021 at 9:23 PM, RobFPGA said:

    Так  что думаю  самый  доступны инструмент для этого  будет обучаемая нейронная сеть ...  в виде джуна RTL-щика  :biggrin:   Пара-тройка сеансов обучения с "подкреплением" обеспечат вам нужный результат.  

     

    Удачи! Rob.   

    Боюсь, джун-RTLщик не пройдет по критерию "не сломать".

  8. 1 hour ago, RobFPGA said:

    Приветствую!

    IMHO  не думаю что  вы найдете  инструмент с такой функциональностью.  Тем более чтобы и форматирование соблюдал.  Особенно для раскрытие макросов так как обычно раскрытие идет "в одну  строку". 
    Да и странное требование раскрытия макросов - это же убивает читаемость  сорцов. Но как говорится хозяин-барин.
     

    Кстати в Modelsim/Questasim  есть ключ (-E ...,  -Epretty ...) позволяющий вывести дамп  компилируемого файла  с раскрытыми макросами.  Но все одно без ручной работы не обойтись 

     

    Удачи! Rob. 

    Я предполагаю, что восстановить форматирование можно, это не такая сложная задача. Скорее, нужно в ходе этого процесса не убить идентификаторы и не перековать always'ы на луты и триггеры. Т.е. чтобы это не был нетлист.

    Про раскрыть definы имелось в виду - когда в зависимости от наличия дефайна активируется тот или иной участок кода (отладочные блоки и тп).

  9. 1 hour ago, MegaVolt said:

    К сожалению не знаю где это хранися в Альтере. В Xilinx всё это добро лежит в папке проекта. И запуск разкладки плодит там кучу файлов. Запустите поиск по ключевым именам и посмотрите что за файлы сгенерены автоматом. Проверьте их на читабельность :)

    Xilinx - это ISE или Vivado? И какая версия. Чего-то в своей Виваде не вижу ничего подобного. Может, надо галку какую поставить?

    1 hour ago, quato_a said:

    берите пробную версию Sigasi и импортируйте туда свой проект. автоматическое выравнивание кода и подсветит с варнингами все не используемые сигналы, не корректные присваивания векторов разных разрядностей и т.д.

    А там можно сделать, чтобы она сама это все исправляла? Или только ручками.

  10. 19 minutes ago, MegaVolt said:

    Так поищите в результатах синтеза. Там как раз появляются исходники для раскладки со всеми раскрытыми скобками :)

    Поясните пожалуйста,

    1) Какой синтезатор Вы имеет в виду? У меня Quartus Pro 18.

    2) Где смотреть?

     

    P.S. Добавлю, что "вычищенный код" должен хоть сколько-нибудь прилично выглядеть.

  11. Здравствуйте.

    Заказчик начал выдвигать разные требования к исходным кодам Verilog/VHDL - например, убрать неиспользуемые сигналы (переменные), раскрыть `define и тп.

    Вручную этим заниматься, конечно же, совершенно не улыбается - кроме больших временных затрат, еще и появляется большая вероятность чего-нибудь сломать.

     

    Кто-нибудь пробовал автоматизированно делать такие штуки? Есть ли готовые инструменты, пусть платные.

    Основной критерий - после такой "чистки" проект должен компилироваться и работать нормально.

     

    Всем спасибо за любую помощь.

    P.S. Если кто-то что-то хочет предложить свое - пишите в личку.

  12. По мне, вивадовский симулятор даже без SV и классов сложнопредсказуемо приглюкивает.

    Ну типа, неправильно может обработать строку с просто логикой. Притом, что синтез с этого же кода или там квеста работают нормально.

  13. Здравствуйте, уважаемые гуры.

    Пробую работать с ядром Vivado ibert - строю глаз для приемопередатчика, так или иначе замкнутого на себя.

    Пока складывается впечатление, что данное ядро очень ограниченно применимо.

    По следующим причинам:

    1) Регулярно при его работе (особенно на тяжелых настройках, от 10^-9 и инкременты 2) вылетает Vivado целиком;

    2) Периодически выдает каку, т.е. закрытый глаз (или разорванный) в случаях, когда такого не должно происходить. Опять же, на тяжелых настройках При этом в следующем опыте нормально всё.

    3) Нет монотонного изменения глаза в зависимости от изменения параметров

     

    Кто-нибудь пробовал работать с этим ядром? Наблюдаете ли такие же проблемы.

    Работает ли данное ядро лучше в 202х версиях Vivado, или аналогично 2019?

     

    P.S. Железо мощное (казалось бы).

  14. Всем спасибо, это я уже нагуглил.

    Есть ли человеколюбивое решение моего вопроса?

    Объявлять каждый вариант вложенного модуля в generate плохо тем, что много повторяющегося текста. Соответственно, при каких-то изменениях придется менять сразу в нескольких местах, что рождает вероятность ошибок.

  15. Здравствуйте, уважаемые гуры.

    Хочу сделать модуль с параметром (количество портов). Если чо, все это в 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 в зависимости от параметра.

  16. 23 minutes ago, RobFPGA said:

    Приветствую!

    По изучайте  секцию Fitter/Resurce section/GXB report там вроде должны быть расписаны актуальные параметры для всех блоков  трансиверов.

    Удачи! Rob.

    Спасибо, то что надо.

  17. Здравствуйте, уважаемые гуру.

    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).

    Где искать правду?

  18. 9 hours ago, StewartLittle said:

    Уточните - под какую ось?

    Standard v19.1 есть только под Linux.

    Под винду крайняя версия -v18.1 Update 1 (вполне стабильная).

    Под винду.

    В 18.0 невозможно редактировать параметры IP-блока PLL, только создавать заново. Есть ли этот баг в 18.1 Update 1?

×
×
  • Создать...