Koluchiy 0 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба Здравствуйте. Заказчик начал выдвигать разные требования к исходным кодам Verilog/VHDL - например, убрать неиспользуемые сигналы (переменные), раскрыть `define и тп. Вручную этим заниматься, конечно же, совершенно не улыбается - кроме больших временных затрат, еще и появляется большая вероятность чего-нибудь сломать. Кто-нибудь пробовал автоматизированно делать такие штуки? Есть ли готовые инструменты, пусть платные. Основной критерий - после такой "чистки" проект должен компилироваться и работать нормально. Всем спасибо за любую помощь. P.S. Если кто-то что-то хочет предложить свое - пишите в личку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 28 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба Так поищите в результатах синтеза. Там как раз появляются исходники для раскладки со всеми раскрытыми скобками :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 19 minutes ago, MegaVolt said: Так поищите в результатах синтеза. Там как раз появляются исходники для раскладки со всеми раскрытыми скобками :) Поясните пожалуйста, 1) Какой синтезатор Вы имеет в виду? У меня Quartus Pro 18. 2) Где смотреть? P.S. Добавлю, что "вычищенный код" должен хоть сколько-нибудь прилично выглядеть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quato_a 3 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба берите пробную версию Sigasi и импортируйте туда свой проект. автоматическое выравнивание кода и подсветит с варнингами все не используемые сигналы, не корректные присваивания векторов разных разрядностей и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 28 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 15 минут назад, Koluchiy сказал: Поясните пожалуйста, 1) Какой синтезатор Вы имеет в виду? У меня Quartus Pro 18. 2) Где смотреть? P.S. Добавлю, что "вычищенный код" должен хоть сколько-нибудь прилично выглядеть. К сожалению не знаю где это хранися в Альтере. В Xilinx всё это добро лежит в папке проекта. И запуск разкладки плодит там кучу файлов. Запустите поиск по ключевым именам и посмотрите что за файлы сгенерены автоматом. Проверьте их на читабельность :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 1 hour ago, MegaVolt said: К сожалению не знаю где это хранися в Альтере. В Xilinx всё это добро лежит в папке проекта. И запуск разкладки плодит там кучу файлов. Запустите поиск по ключевым именам и посмотрите что за файлы сгенерены автоматом. Проверьте их на читабельность :) Xilinx - это ISE или Vivado? И какая версия. Чего-то в своей Виваде не вижу ничего подобного. Может, надо галку какую поставить? 1 hour ago, quato_a said: берите пробную версию Sigasi и импортируйте туда свой проект. автоматическое выравнивание кода и подсветит с варнингами все не используемые сигналы, не корректные присваивания векторов разных разрядностей и т.д. А там можно сделать, чтобы она сама это все исправляла? Или только ручками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба Приветствую! 46 minutes ago, Koluchiy said: А там можно сделать, чтобы она сама это все исправляла? Или только ручками. IMHO не думаю что вы найдете инструмент с такой функциональностью. Тем более чтобы и форматирование соблюдал. Особенно для раскрытие макросов так как обычно раскрытие идет "в одну строку". Да и странное требование раскрытия макросов - это же убивает читаемость сорцов. Но как говорится хозяин-барин. Кстати в Modelsim/Questasim есть ключ (-E ..., -Epretty ...) позволяющий вывести дамп компилируемого файла с раскрытыми макросами. Но все одно без ручной работы не обойтись Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 28 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 15 минут назад, Koluchiy сказал: Xilinx - это ISE или Vivado? И какая версия. Чего-то в своей Виваде не вижу ничего подобного. Может, надо галку какую поставить? EDK создаёт вот такой файлик ИМЯ_ПРОЕКТА\hdl\system.vhd В нём ссылается на кучу файликов с окончанием в виде ИМЯ_БЛОКА_wrapper.vhd Выше похоже посоветовали примерно то же самое для вашей среды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 1 hour ago, RobFPGA said: Приветствую! IMHO не думаю что вы найдете инструмент с такой функциональностью. Тем более чтобы и форматирование соблюдал. Особенно для раскрытие макросов так как обычно раскрытие идет "в одну строку". Да и странное требование раскрытия макросов - это же убивает читаемость сорцов. Но как говорится хозяин-барин. Кстати в Modelsim/Questasim есть ключ (-E ..., -Epretty ...) позволяющий вывести дамп компилируемого файла с раскрытыми макросами. Но все одно без ручной работы не обойтись Удачи! Rob. Я предполагаю, что восстановить форматирование можно, это не такая сложная задача. Скорее, нужно в ходе этого процесса не убить идентификаторы и не перековать always'ы на луты и триггеры. Т.е. чтобы это не был нетлист. Про раскрыть definы имелось в виду - когда в зависимости от наличия дефайна активируется тот или иной участок кода (отладочные блоки и тп). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quato_a 3 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 4 hours ago, Koluchiy said: А там можно сделать, чтобы она сама это все исправляла? Или только ручками. Ручками Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба Приветствую! 3 hours ago, Koluchiy said: Я предполагаю, что восстановить форматирование можно, это не такая сложная задача. Скорее, нужно в ходе этого процесса не убить идентификаторы и не перековать always'ы на луты и триггеры. Т.е. чтобы это не был нетлист. Про раскрыть definы имелось в виду - когда в зависимости от наличия дефайна активируется тот или иной участок кода (отладочные блоки и тп). Автоматическое нормальное форматирование это та еще задача - а особенно после раскрытия макросов. Хорошо если все макросы это простенькое (типа`define DBG_ON (1)... if (`DBG_ON ) begin ... ) . А у меня например есть макросы и по 200 строк текста да еще и вложенные. В общем случае такие автоматом сложно будет красиво причесать. Ну и если еще макросы раскрывать надо выборочно, только те что контролируют блоки кода так это дополнительная головная боль. И IMHO все одно результат придется глазками проверять. Так что думаю самый доступны инструмент для этого будет обучаемая нейронная сеть ... в виде джуна RTL-щика Пара-тройка сеансов обучения с "подкреплением" обеспечат вам нужный результат. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaratZuev 0 6 августа, 2021 Опубликовано 6 августа, 2021 · Жалоба 9 hours ago, Koluchiy said: Заказчик начал выдвигать разные требования к исходным кодам Verilog/VHDL Хорошо, что ваш заказчик не заставил вас купить линтер и пощипать код на предмет соответствия RMM, DO-254, STARK, CDC, RDC и что_там_ещё_есть. Кстати, мы сами на пороге покупки оного инструмента. Сам нашёл и настоял ))) Держите кулаки и stay tuned ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sorok-odin 5 7 августа, 2021 Опубликовано 7 августа, 2021 · Жалоба 16 часов назад, MaratZuev сказал: Кстати, мы сами на пороге покупки оного инструмента. Какого, если не секрет? И каков порядок цен на такое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaratZuev 0 8 августа, 2021 Опубликовано 8 августа, 2021 · Жалоба Не секрет насчёт названия: Alint (Pro). А вот цена .. впрочем, если я скажу, что несколько десятков тысяч евро, то вряд ли кого-то удивлю или что-либо нарушу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vt313 0 9 августа, 2021 Опубликовано 9 августа, 2021 · Жалоба 06.08.2021 в 14:36, Koluchiy сказал: Поясните пожалуйста, 1) Какой синтезатор Вы имеет в виду? У меня Quartus Pro 18. 2) Где смотреть? P.S. Добавлю, что "вычищенный код" должен хоть сколько-нибудь прилично выглядеть. Синтезатор пишет, например. Warning (10036): Verilog HDL or VHDL warning at tst_kort.vhd(65): object "rst" assigned a value but never read Но вряд ли это особо сильно поможет для формирования красивого кода. Нужно руками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться