RobFPGA 27 31 марта, 2021 Опубликовано 31 марта, 2021 · Жалоба Приветствую! Озадачили вот меня красивым оформление доков на регистры с прицелом на автоматизацию всех процессов работы с ними. Естественно чтобы значит были opensource и функционал можно расширять. С ходу нарыл 2.5 варианта - один из которых собственно PeakRDL. Сделано на Python, позволяет компилировать описание регистров на SystemRDL и генерировать сорцы для верификации и доки в разных форматах. Увы выход доков есть пока есть лишь в .html и .pdf, а хотелось бы еще и в привычный .doc. Кто набудь имел опыт с этим (или похожим софтом)? Интересно что еще есть похожего? Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 14 31 марта, 2021 Опубликовано 31 марта, 2021 · Жалоба 40 minutes ago, RobFPGA said: Интересно, что еще есть похожего? В Vivado есть что-то отдаленно похожее.. Хотя, скорее, совсем не похожее.. :) 1. Нажимаем: Ctrl+Shift+F 2. Набираем: reg 3. В окне результатов поиска раскрываем все списки 4. Нажимаем: Ctrl+A -> Ctrl+C 5. Копируем содержимое буфера обмена в файл .txt Это, конечно, никакая не "автоматизация всех процессов", но возможно пригодится. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 31 марта, 2021 Опубликовано 31 марта, 2021 · Жалоба Приветствую! 3 hours ago, blackfin said: В Vivado есть что-то отдаленно похожее.. Спасибо, но это действительно совсем не то Тут основная идея в том что спецификация регистров иерархически описывается своим языком (ну либо импортом из различных форматов) типа Spoiler // Statistic counters //----------------------------------------------------------------------------- reg STAT_CNT_r #(string DSC="") { accesswidth = 32; regwidth = 32; field { desc = DSC; sw = r; } cnt[31:0] = 0; }; // RX control register //----------------------------------------------------------------------------- reg RX_CTRL_r { name = "PHY RX control"; desc = "Control bits for PHY RX channel"; field { desc = "1: Force re-sync RX PHY"; sw=rw; } force_resync[8:8] = 0; ... }; ... // RX control register set //----------------------------------------------------------------------------- regfile RX_CTRL_f { desc = "All control and status registers for RX"; RX_CTRL_r rx_ctrl ; RX_STAT_r rx_status; STAT_CNT_r #(.DSC("Count number of rx_total_good_bytes")) rx_total_good_bytes @4*64; ... }; ... // Registers map //----------------------------------------------------------------------------- addrmap PHY_ETH { name = "PHY 10G ETH control"; desc = "Register definitions for 10G Ethernet PHY/PMA/PCS/MAC module "; default accesswidth=32; default regwidth =32; default sw = r; default hw = r; RXTX_CTRL_t #(.DSC("PHY0 control")) PHY0 @ 0x0000; RXTX_CTRL_t #(.DSC("PHY1 control")) PHY1 @ 0x1000; }; А затем по такому описанию генерируется красивые таблички в доки, .h, .vh, .svh файлы и даже исходники RTL и тестов для автоматической верификации этого RTL. При определенной организации и сноровке получается уменьшения объема писанины и легче вносить изменения. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 11 апреля, 2021 Опубликовано 11 апреля, 2021 · Жалоба Пользовался Doxygen, но это только документация. Пишите код с определёнными комментариями, затем натравливаете Doxygen и получаете неплохую документацию в различных форматах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
druzhin 4 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба On 3/31/2021 at 5:17 PM, RobFPGA said: выход доков есть пока есть лишь в .html и .pdf, а хотелось бы еще и в привычный .doc. Онлайновые конвертеры pdf -> docx прекрасно работают. Даже сложные документы конвертируют как надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба Приветствую! 30 minutes ago, druzhin said: Онлайновые конвертеры pdf -> docx прекрасно работают. Даже сложные документы конвертируют как надо. Это понятно но по разным соображениям не всегда фирма захочет "светит" доками наружу. Да и текущий пример конвертора SystemRDL -> pdf пока еще очень сырой. Поэтому не хочется делать двойную взгонку по форматированию pdf, а затем еще и правки доков, это же не виски все таки Поэтому пока идет изучение существующих возможностей, различных инструментов и вялотекущие эксперименты с питоном. Удачи! Rob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 14 февраля Опубликовано 14 февраля · Жалоба * прошло 3 года, но.. ..лучше поздно: я бы посмотрел в сторону получения на выходе PeakRDL маркдауна (хотя может и хтмл сгодился бы), а дальнейшее преобразование в docx делать в pandoc (там же можно подсунуть и референсный док, с которого пандок "спишет" стили для создаваемого документа) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 14 февраля Опубликовано 14 февраля · Жалоба Раз уж тема всплыла, я в таких ситуациях очень часто просто делаю комментарии специальные, как был совет выше, и травлю код в питон-скрипт, он меня и разрядности извлечет, и все строки со спец комментом и так далее. Не стесняюсь чуть подзамарать код спец-комментариями ради скриптования :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 17 февраля Опубликовано 17 февраля · Жалоба On 2/15/2024 at 3:23 AM, 1891ВМ12Я said: очень часто просто делаю комментарии специальные, как был совет выше, и травлю код в питон-скрипт, он меня и разрядности извлечет, и все строки со спец комментом и так далее так это уже всё размечено в SystemRDL, а с помощью PeakRDL прожёвано и готово к рендерингу в любой (знакомый разработчику) стандарт. да и вообще - даже если какого-то верилога вне семантики SystemRDL надо нагенерить, то лучше использовать структурированные форматы хранения данных: json, yaml (мне лично по душе yaml). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться