Jump to content
    

существует ли в природе (github-е и т.п) толковый парсер SV или хотя бы Verilog на ПИТОНЕ?

минимально нужно, чтобы разбирал иерархию,

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

я посмотрел на PyHDI/Pyverilog - но как-то никакой из моих проектов он так сразу, без исправления кода, не отпарсил. Наверно, ограничено синтаксисом icarus verilog-а, по крайней мере, ему требуется что то от икарус-верилога.

Посмотрел ещё парочку простых проектов, но там работает пофайлово, про иерархию вообще ничего нет...

---

Пойдет и просто синтаксическое дерево для lex-yacc вроде бы в питон можно его засунуть.

Не хотелось бы самому какой-то примитивный парсер ваять...

Share this post


Link to post
Share on other sites

Можно попробовать подглядеть в исходники парсера Verilator, может там чего полезное найдется

Еще натыкался на проект sv-lang, хотя детально не разбирался что там. Но может быть тоже будет чем-то полезным

P.S. есть еще же tree-sitter. Под него есть всякие плагины типа такого

Share this post


Link to post
Share on other sites

Understand вроде как понимает VHDL и Verilog - свежих релизов полно по инету и на той же руборде

Share this post


Link to post
Share on other sites

Спасибо. В общем сильно много добавилось со времен прошлого моего интереса к теме. Вроде бы эта табличка выше не упоминалась (извиняюсь, если все таки тут была ссылка)

https://chipsalliance.github.io/sv-tests-results/

как стартовый список

Удивительно, что даже какието формальные опенсорс тулзы появились. Я не проверял.

----------

что собрал, проверил и работает

sv-parser (rust)

verible

slang

----------
проще всего приклеить к питону мне получилось (то есть из коробки заработало) sv-parser через svinst питоновский интерфейс

Но наверно, кроме генерации кода, прикручу ещё lint из verible

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...