Jump to content

    

Koluchiy

Свой
  • Content Count

    1030
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Koluchiy

  • Rank
    Профессионал

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

4624 profile views
  1. Ап! Слеедующий вопрос. Умеет ли Cyclone V (желательно GX) нормально работать с OTU1/STM16? Т.е. удовлетворяют ли приемопередатчики требованиям по джиттеру и устойчивости к джиттеру? Чего-то трындец какой-то с интеловским сайтом, не могу пробиться в ихний форум...
  2. То, что я видел, мне не понравилось (предполагаю, недоразобрался еще). Убеждаю начальство нанять программиста, чтобы на каком-нибудь Питоне сделал именно то что надо. Пока не убедил.
  3. А что есть по генерации документации на HDL? По большей части интересно на SV. Хотя бы на уровне выдачи таблицы с выводами модулей, вход/выход, разрядность, достать описание из комментария заданного формата. Если кто-то хочет предложить что-то свое, пишите в личку.
  4. Я предполагаю, что восстановить форматирование можно, это не такая сложная задача. Скорее, нужно в ходе этого процесса не убить идентификаторы и не перековать always'ы на луты и триггеры. Т.е. чтобы это не был нетлист. Про раскрыть definы имелось в виду - когда в зависимости от наличия дефайна активируется тот или иной участок кода (отладочные блоки и тп).
  5. Xilinx - это ISE или Vivado? И какая версия. Чего-то в своей Виваде не вижу ничего подобного. Может, надо галку какую поставить? А там можно сделать, чтобы она сама это все исправляла? Или только ручками.
  6. Поясните пожалуйста, 1) Какой синтезатор Вы имеет в виду? У меня Quartus Pro 18. 2) Где смотреть? P.S. Добавлю, что "вычищенный код" должен хоть сколько-нибудь прилично выглядеть.
  7. Здравствуйте. Заказчик начал выдвигать разные требования к исходным кодам Verilog/VHDL - например, убрать неиспользуемые сигналы (переменные), раскрыть `define и тп. Вручную этим заниматься, конечно же, совершенно не улыбается - кроме больших временных затрат, еще и появляется большая вероятность чего-нибудь сломать. Кто-нибудь пробовал автоматизированно делать такие штуки? Есть ли готовые инструменты, пусть платные. Основной критерий - после такой "чистки" проект должен компилироваться и работать нормально. Всем спасибо за любую помощь. P.S. Если кто-то что-то хочет предложить свое - пишите в личку.
  8. Кто-нибудь пояснит, какое отношение сабж имеет к телекому или там вирелессу? :-)
  9. По мне, вивадовский симулятор даже без SV и классов сложнопредсказуемо приглюкивает. Ну типа, неправильно может обработать строку с просто логикой. Притом, что синтез с этого же кода или там квеста работают нормально.
  10. Спасибо за ответ. А что Вы с ним делаете? Замыкаете выход на вход, или смотрите реальную линию связи там например между платами?
  11. Здравствуйте, уважаемые гуры. Пробую работать с ядром Vivado ibert - строю глаз для приемопередатчика, так или иначе замкнутого на себя. Пока складывается впечатление, что данное ядро очень ограниченно применимо. По следующим причинам: 1) Регулярно при его работе (особенно на тяжелых настройках, от 10^-9 и инкременты 2) вылетает Vivado целиком; 2) Периодически выдает каку, т.е. закрытый глаз (или разорванный) в случаях, когда такого не должно происходить. Опять же, на тяжелых настройках При этом в следующем опыте нормально всё. 3) Нет монотонного изменения глаза в зависимости от изменения параметров Кто-нибудь пробовал работать с этим ядром? Наблюдаете ли такие же проблемы. Работает ли данное ядро лучше в 202х версиях Vivado, или аналогично 2019? P.S. Железо мощное (казалось бы).
  12. Всем спасибо, это я уже нагуглил. Есть ли человеколюбивое решение моего вопроса? Объявлять каждый вариант вложенного модуля в generate плохо тем, что много повторяющегося текста. Соответственно, при каких-то изменениях придется менять сразу в нескольких местах, что рождает вероятность ошибок.
  13. Здравствуйте, уважаемые гуры. Хочу сделать модуль с параметром (количество портов). Если чо, все это в 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 в зависимости от параметра.