group-telegram.com/positiveslack/304
Last Update:
Кодер/декодер JSON на SV [1]
Ну и чтобы два раза не вставать, немного об инфраструктуре этого проекта.
По поводу симуляции и тестирования. Работать с верилятором не то чтобы просто - часто вместо дебага своей логики ты дебажишь верилятор. В итоге, в вериляторе было заведено дюжина багов (большинство пофикшено), и даже починена его совместимость с SVUnit, как я писал выше. В итоге, почти пятая часть ченджлога для 5.024 зарепорчена мной. "It ain't much, but it's honest work".
В любом случае, вдумайтесь - верилятор уже сносно работает с довольно абстрактным ООП кодом!
По поводу документации. Я очень люблю asciidoc, и с самого начала искал способы как бы поднять github pages на нём. Благо нашёлся проект Antora, причём похоже единственный в своём роде. Все остальные генераторы сайтов и документации, либо не поддерживают asciidoc, либо поддерживают через дополнительные плагины и телодвижения. Правда стандартный UI Antora имеет некоторые недостатки (например, нет подсветки SV в документации), но всё поправимо.
По поводу линтов и форматирования. Самое слабое место, т.к. ничего почти не настроено. Основной план - использовать максимально строгую компиляцию разных симуляторов как линты. Дополнительно можно попробовать что-то из отдельных линтеров прикрутить. Всё собирался в который раз попробывать форматтер Verible. Но раньше он всё время крашился на нетривиальном ООП коде.
По поводу автоматизации. Всё описанное выше положено на "бумагу" в виде Github Actions и просто делает "вжух" по новым PR и пушам в мастер. Да кстати, там кроме верилятора я поднял и модельсим (версия от альтеры) - это единственный коммерческий симулятор, который можно скачать по прямой ссылке и запускать без отдельной лицензии.
В итоге, надо еще немного дожать, и будет по инфраструктуре почти то, что доступно в больших ЯП из коробки и никаких трудностей не вызывает.
Ну и да, как бы то ни было, положительный сайд-эффект в виде ставших чуть лучше опенсорсных тулов уже оправдывает всю затею на 100%.
https://github.com/esynr3z/svjson
#system_verilog #json
@positiveslack
BY позитивслэк
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/positiveslack/304