Jump to content

    

Recommended Posts

подсветка систаксиса СистемВерилог для УльтраЕдит начиная с 13 версии (самоляпная, так что мож что упустил)

SV_highlight.txt

Share this post


Link to post
Share on other sites
подсветка систаксиса СистемВерилог для УльтраЕдит начиная с 13 версии (самоляпная, так что мож что упустил)

немного подправил автоматической выравнивание текста:

/Indent Strings = "fork" "specify" "config" "class" "function" "task" "always" "always_ff" "always_comb" "always_latch" "initial" "final" "repeat" "do" "case" "for" "repeat" "forever" "program" "endprogram" "package" "interface" "if" "else" "begin" "property"

/Unindent Strings = "join" "join_any" "join_none" "while" "end" "else"

/Open Brace Strings = "{" "(" "[" "begin" "do" "case" "property"

/Close Brace Strings = "}" ")" "]" "end" "while" "endcase" "endproperty"

/Open Fold Strings = "begin" "specifiy" "function" "task" "class" "do" "case" "package" "(" "property"

/Close Fold Strings = "end" "endspecify" "endfunction" "endtask" "endclass" "while" "endcase" "endpackage" ")" "endproperty"

Share this post


Link to post
Share on other sites

Господа! Еще один вопрос о "редакторах HDL". Кто-нибудь знает редактор с функцией "авто-форматирования"? Т.е. задача такая: берется уродский техт на VHDL/Verilog и нажатием одной волшебной кнопочки превращается из уродского в правильно отформатированный. Ессесно "правильно отформатированный" подразумевает задание правил онного отформатирования в соответсвии с определенными стандартами/личными предпочтениями.

Share this post


Link to post
Share on other sites
Господа! Еще один вопрос о "редакторах HDL". Кто-нибудь знает редактор с функцией "авто-форматирования"? Т.е. задача такая: берется уродский техт на VHDL/Verilog и нажатием одной волшебной кнопочки превращается из уродского в правильно отформатированный. Ессесно "правильно отформатированный" подразумевает задание правил онного отформатирования в соответсвии с определенными стандартами/личными предпочтениями.

Пользовался автоформатированием, когда сидел на Active HDL, но там оно есть - и все, никаких настроек не нашел. Любой мало-мальски приличный текстовый редактор обязан иметь эту функцию. А как ее будет реализовывать пользователь - это уже другой вопрос. Тэги, скрипты ...

Share this post


Link to post
Share on other sites
Господа! Еще один вопрос о "редакторах HDL". Кто-нибудь знает редактор с функцией "авто-форматирования"? Т.е. задача такая: берется уродский техт на VHDL/Verilog и нажатием одной волшебной кнопочки превращается из уродского в правильно отформатированный. Ессесно "правильно отформатированный" подразумевает задание правил онного отформатирования в соответсвии с определенными стандартами/личными предпочтениями.

 

(g)vim 7.1 - выделяется в визуальном режиме блок, далее нажимается кнопка '=' и вуаля - есть правильное форматирование. :)

Share this post


Link to post
Share on other sites
У emacs это называется "beautify", для ВХДЛ работает нормально, для верилога - нет.

 

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

 

 

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

 

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

 

 

Небольшой вопрос : не попадались ли кому программы для обфусскации (вроде так пишется) верилога/вхдл ? Если да то хотелось бы услышать мнение и название проги?

 

 

Спасибо.

Share this post


Link to post
Share on other sites
Небольшой вопрос : не попадались ли кому программы для обфусскации (вроде так пишется) верилога/вхдл ? Если да то хотелось бы услышать мнение и название проги?

Спасибо.

Была ссылка с asic-world.com (http://www.eda-utilities.com/vo_eval.tar.gz - http://asic-world.com/verilog/verilinks.html), но она непонятно, работает ли; гуглинг даёт только коммерческий - недоступно даже оценочной версии для скачивания - от Semantic Designs (http://www.semdesigns.com/Products/Obfuscators/VerilogObfuscator.html).

Edited by Intekus

Share this post


Link to post
Share on other sites
Подсветка синтаксиса SV для notepad++ 4.8.1. Просто к секции Verilog добавлены все ключевые слова по стандарту IEEE 1800-2005.

 

Исправил ошибки, добавил подсветку системных функций SV.

langs.xml

Share this post


Link to post
Share on other sites
Вопрос к тем, кто работает с сликом. Как перенести личные настройки с одного компьютера на другой?

Попробуйте так (это фрагмент из старой доки, в новой почему-то этот FAQ убрали):

 

Q: How do I transfer my configuration?

 

A:

Each user's configuration is automatically transferred to a newly installed version of Visual SlickEdit when they run the new version. Some configuration changes will not be transferred such as changes to our menus, and changes to our dialog boxes. Changes to our toolbars are preserved only if you are upgrading from 3.0b or after.

 

non-UNIX platforms: For single user configurations you need to install the new version of Visual SlickEdit on top of the previous version in order for your configuration to be transferred to the new version.

 

SINGLE USER NON-UNIX PLATFORMS:

 

To manually transfer your configuration changes from the previous version of Visual SlickEdit, perform these steps:

 

 

· If you are currently running the new version of Visual SlickEdit, close the editor now.

 

· If you have made color coding changes, copy your "vslick\user.vlx" file into the "vslick" directory of the new version.

 

· If you have recorded macros, copy your "vslick\macros\vusrmacs.e" into the "vslick\macros" directory of the new version.

 

· To tranfer other configuration changes, bring up the previous version of Visual SlickEdit. Activate the Visual SlickEdit command line at the bottom of the editor (ESC for most emulations) and type "list-source" and press ENTER. This will create the macro file "vusrdefs.e", and possible another macro file called "vusrobjs.e" in your "vslick\macros" directory. Copy "

vusrdefs.e" and (optionally) "vusrobjs.e", into the vslick\macros directory of the new version.

 

· Run the new version of Visual SlickEdit.

 

· If you ran the "list-source" command, type "vusrmods" and press ENTER on the Visual SlickEdit command line. This will switch emulations if necessary, and run "vusrdefs.e" and "

vusrobjs.e" (if present).

 

· If you copied your recorded macros file ("vslick\macros\vusrmacs.e"), load this macro now with the Load Module dialog box ("Macro...", "Load Module...").

 

MULTI-USER NON-UNIX PLATFORMS:

 

To manually transfer your configuration changes from the previous version of Visual SlickEdit, perform these steps:

 

· If you have made color coding changes, copy your "user.vlx" file located in the directory specified by your VSLICKCONFIG environment variable into the your VSLICKCONFIG directory of the new version.

 

· If you have recorded macros, copy your "vusrmacs.e" file located in the directory specified by your VSLICKCONFIG environment variable into the VSLICKCONFIG directory of the new version.

 

· To tranfer other configuration changes, bring up the previous version of Visual SlickEdit. Activate the Visual SlickEdit command line at the bottom of the editor (ESC for most emulations) and type "list-source" and press ENTER. This will create the macro file "vusrdefs.e", and possible another macro file called "vusrobjs.e" in the directory specified by your VSLICKCONFIG environment variable. Copy "vusrdefs.e" and (optionally) "vusrobjs.e", into the VSLICKCONFIG directory of the new version.

 

· Run the new version of Visual SlickEdit.

 

· If you ran the "list-source" command, type "vusrmods" and press ENTER on the Visual SlickEdit command line. This will switch emulations if necessary, and run "vusrdefs.e" and "

vusrobjs.e" (if present).

 

· If you copied your recorded macros file ("vusrmacs.e"), load this macro now with the Load Module dialog box ("Macro...", "Load Module...").

 

UNIX PLATFORMS:

 

To manually transfer your configuration changes from the previous version of Visual SlickEdit, perform these steps:

 

· If you have made color coding changes, copy your "user.vlx" file located in your $HOME/.vslick directory into the your $HOME/.vslick directory of the new version.

 

· If you have recorded macros, copy your "vusrmacs.e" file located in your $HOME/.vslick directory into the your $HOME/.vslick directory of the new version.

 

· To tranfer other configuration changes, bring up the previous version of Visual SlickEdit. Activate the Visual SlickEdit command line at the bottom of the editor (ESC for most emulations) and type "list-source" and press ENTER. This will create the macro file "vusrdefs.e", and possible another macro file called "vusrobjs.e" in your $HOME/.vslick directory. Copy "

vusrdefs.e" and (optionally) "vusrobjs.e", into the $HOME/.vslick directory of the new version.

 

· Run the new version of Visual SlickEdit.

 

· If you ran the "list-source" command, type "vusrmods" and press ENTER on the Visual SlickEdit command line. This will switch emulations if necessary, and run "vusrdefs.e" and "

vusrobjs.e" (if present).

 

· If you copied your recorded macros file ("vusrmacs.e"), load this macro now with the Load Module dialog box ("Macro...", "Load Module...").

Share this post


Link to post
Share on other sites
Вопрос к тем, кто работает с сликом. Как перенести личные настройки с одного компьютера на другой?

 

еще вариант

 

http://www.slickedit.com/content/view/112/81

 

 

Вопрос тому кто работает со сликом.

 

Вы не пробывали модифицировать Slick-C скрипты для лексического анализатора верилога ? В частности интересует скрипт "\macros\verilog.e"

 

А то чистый верилог он разбирает нормально и адекватно (с указанием типов и разрядности данных сигналов), но стоит только заменить reg/integer на систем верилоговские logic/int как лексер не может разобрать это.

 

Хотелось бы убрать этот недостаток.

 

Спасибо

Share this post


Link to post
Share on other sites
Вы не пробывали модифицировать Slick-C скрипты для лексического анализатора верилога ? В частности интересует скрипт "\macros\verilog.e"

 

А то чистый верилог он разбирает нормально и адекватно (с указанием типов и разрядности данных сигналов), но стоит только заменить reg/integer на систем верилоговские logic/int как лексер не может разобрать это.

Что вы понимаете под "нормально разбирает"? Например, умеет переходить к месту объявления объекта? Или хотя бы умеет делать нормальный completion имен? У меня это все не работает в Верилоге. Вот в С/С++ режиме все это работает замечательно, а с верилогом проблемы. Приходится довольствоваться только общими фишками (word completion, множественные буфера обмена, подсветка синтаксиса, запуск тулзов, переход на строки с ошибками), специализированные не работают.

 

Хотелось бы еще сюда же поддержку структур, объединений и прочих SV вкусностей. Slick-C сам по себе не сложен, но вот реализация на нем нетривиальных вещей получается уже далеко не простой. Я дальше простых макросов типа передвинуть текущую строку вверх/вниз, закомментить выделенный кусок кода, переход на следущее/предыдущее вхождение слова под курсором и т.д. не пошел. Для серьезного программирования на нем надо разбираться конкретно, а это время и другие ценные ресурсы, на которые хватает других "конкурентов". :)

Share this post


Link to post
Share on other sites
Что вы понимаете под "нормально разбирает"? Например, умеет переходить к месту объявления объекта? Или хотя бы умеет делать нормальный completion имен? У меня это все не работает в Верилоге. Вот в С/С++ режиме все это работает замечательно, а с верилогом проблемы. Приходится довольствоваться только общими фишками (word completion, множественные буфера обмена, подсветка синтаксиса, запуск тулзов, переход на строки с ошибками), специализированные не работают.

 

Ну у меня если скормить ему чистый верилог файл (2001 года) с описанием портов модулей в стиле 95 года, то при реверс инжинеринге он :

 

1. строит нормальное дерево тегов.

2. показывает типы сигналов и позволяет переходить к местам объявления переменных и цепей.

3. показывает направление и типы портов ввода вывода

4. показывает так называемый surround переменных.

 

Я дальше простых макросов типа передвинуть текущую строку вверх/вниз, закомментить выделенный кусок кода, переход на следущее/предыдущее вхождение слова под курсором и т.д. не пошел.

 

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

 

Для верилога у меня работает дополнительно работает Dynamic Surround, а отключив Syntax Expansion и добавив вместо него своих alias можно убрать надоедливую проблему int/integer. %)))

 

Хотелось бы еще сюда же поддержку структур, объединений и прочих SV вкусностей. Slick-C сам по себе не сложен, но вот реализация на нем нетривиальных вещей получается уже далеко не простой. Для серьезного программирования на нем надо разбираться конкретно, а это время и другие ценные ресурсы, на которые хватает других "конкурентов". :)

 

Такие парсеры пока не интересуют, хотелось бы как минимум подсветку типов. Подозреваю что нужно просто в коде скрипта добавить к типам reg и wire другие типы и перекомпилировать скрипт (в *.ex файл).

 

Вот только компиляцию скриптов что-то никак не могу разобрать как делать правильно. Не могли бы ткнуть носом куда смотреть ? %)

 

Спасибо %)

 

А насчет времени, впереди вечность %) куда торопиться, можно и пару часов в неделю выкроить под Slick-C.

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
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.