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

Doxygen для Verilog/System Verilog

Добрый день!

 

Наткнулся значит вот на этот сайт

 

http://www.intelligentdv.com/downloads/

 

там выложен фильтр для doxygen под систем верилог, фильтр переводит систем верилог код в подобие си кода, что позволяет использовать все возможности докси.

 

Но этот фильтр работает только для классов. для модулей и прочего не работает. %( И у авторов doxygen а верилог стоит в TODO, хотя вхдл есть. Вот думаю может быть фильтр на питоне сделать, который верилог "под VHDL" для doxygenа будет затачивать... Хотя бы самое элементарное синтезируемое подмножество.

 

Может с кем из питоноводов с кооперируемся ? :)

 

Или есть что нибудь нормальное и бесплатное типа doxygen с поддержкой верилога, систем верилога ?

 

 

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>> Или есть что нибудь нормальное и бесплатное типа doxygen с поддержкой верилога, систем верилога ?

 

штука древняя, но тем не менее я бы обратил внимание http://www.burbleland.com/v2html/v2html.html

но это больше для браузинга по коду/электронной документации, нежели HardCopy-документированного кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>> Или есть что нибудь нормальное и бесплатное типа doxygen с поддержкой верилога, систем верилога ?

 

штука древняя, но тем не менее я бы обратил внимание http://www.burbleland.com/v2html/v2html.html

но это больше для браузинга по коду/электронной документации, нежели HardCopy-документированного кода.

 

видел подобное года 2 назад, но не пользовал.

потестил сегодня v2html, с систем верилогом там похоже траблы. Хотелось бы именно doxygen, что бы использовать один инструмент для C/C++/Python/Verilog/SystemVerilog %)

 

Эх нет в жизни счастья %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ссылку, давно искал фильтр для doxygen, который SV в C++ превращает.

 

А что именно Вы хотите задокумментировать? Насколько я помню, на verificationguild в свое время шло обсуждение аналогичного парсера. Там довольно простые правила замены использовались, чтобы привести SV к C++. Поэтому если вы хотите Verilog-testbench описать (в плане параметров, передаваемым task'ам или функциям, я думаю у вас проблем не будет). В текущей версии модуль подменяется на С++ функцию, возвращающую тип module, так что распознаются не только классы.

 

Если просто нужна документация для галочки - посмотрите Mentor Graphics HDL Designer - они поддерживают в последних версиях SV и формируют HTML документацию, однако по мне doxygen - удобнее, а для восприятия RTL гораздо нагляднее блок-схемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что именно Вы хотите задокумментировать? Насколько я помню, на verificationguild в свое время шло обсуждение аналогичного парсера. Там довольно простые правила замены использовались, чтобы привести SV к C++. Поэтому если вы хотите Verilog-testbench описать (в плане параметров, передаваемым task'ам или функциям, я думаю у вас проблем не будет). В текущей версии модуль подменяется на С++ функцию, возвращающую тип module, так что распознаются не только классы.

 

вы говорите имеено про этот фильтр ? я взял свой RTL проект, на систем верилоге, с оформлением портов в стиле 95 го верилога (!!!), скормил ему доксигену с этим фильтром. В итоге он не нашел половину модулей, неправильно определил топ модуль, не увидел половину функций и типов и т.д. Из чего я сделал вывод что к сожалению этот фильтр для синтезируемого кода не работает. Но может быть я ошибаюсь и мне нужно добавить doxygen комментарии для модулей, функций и т.д. Надо бы вернуться к этой теме.

 

А вообще хотелось бы унифицировать систему документации кода для С/С++/HDL/Python разработок и ввести эту систему на уровне отдела. Что бы застраховаться от случая когда увольняется "Мастер Кода" (с) и над проектом нависает Ж... :)

 

Если просто нужна документация для галочки - посмотрите Mentor Graphics HDL Designer - они поддерживают в последних версиях SV и формируют HTML документацию, однако по мне doxygen - удобнее, а для восприятия RTL гораздо нагляднее блок-схемы.

 

спасибо, но с дизайнером я работать не могу, поэтому не надо %) Да и за деньги на него потраченные лучше купить лицензию на слик да еще и останется

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вы говорите имеено про этот фильтр ?

Да. Для документирования RTL-кода он конечно не подходит пока. Именно про это я и говорил. Если вы посмотрите сам perl-фильтр ( idv_doxyfilter_sv.pl), вы увидите что делается со словом module. Нужно придумать, что делать с input'ами|output'ами. Вот к примеру, что делается с bit/wire/reg etc.:

   # Logic Types with defined widths
   # Looking for:
   #  logic [10:4] foo ...
   #  bit[1:0]     wee ...
   #
   # Current Strategy:
   #   - Convert to a C++ template class instance
   s/\b(logic|bit|wire|reg)\s*?\[(.+?):(.+?)\]\s*?/$1 <$2:$3> /g;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да. Для документирования RTL-кода он конечно не подходит пока. Именно про это я и говорил. Если вы посмотрите сам perl-фильтр ( idv_doxyfilter_sv.pl), вы увидите что делается со словом module. Нужно придумать, что делать с input'ами|output'ами. Вот к примеру, что делается с bit/wire/reg etc.:

 

понятно, спасибо, подожду когда кто нибудь его допилит, или авторы doxygen сделают поддержку верилога.

к сожалению perl я не знаю и изучать еще один язык нет не желания ни времени

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

понятно, спасибо, подожду когда кто нибудь его допилит, или авторы doxygen сделают поддержку верилога.

к сожалению perl я не знаю и изучать еще один язык нет не желания ни времени

а на питон этот idv_doxyfilter_sv.pl нет возможности переписать?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а на питон этот idv_doxyfilter_sv.pl нет возможности переписать?!

 

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

 

ЗЫ. у автора разработка фильтра на перле заняла несколько месяцев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

ЗЫ. у автора разработка фильтра на перле заняла несколько месяцев.

Указанный в первом посте фильтр обновился до версии 2.2.0. заявлена поддержка Verilog-модулей, интерфейсов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К вопросу об этой старой теме. А какие утилиты для документации проектов на Verilog вы товарищи используете сейчас?

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

(Как я погуглила, Doxygen для Verilog так и не слепили)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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