Jump to content

    
Sign in to follow this  
_Ivan_

редакторы кода типа vim, emacs для написания rtl

Recommended Posts

Собственно вопрос таков: кто использует для написания RTL редакторы кода типа vim или emacs, или может другие.

Как вообще ощущения? Увеличилась ли скорость работы? Стоит ли переходить?

Share this post


Link to post
Share on other sites
Собственно вопрос таков: кто использует для написания RTL редакторы кода типа vim или emacs, или может другие.

Как вообще ощущения? Увеличилась ли скорость работы? Стоит ли переходить?

emacs для vhdl просто супер, только он заточен под линух программистов - надо запоминать сочетания клавиш. Мне это было совсем не запомнить - старею, однако, поэтому нужные мне операции вынес на панель инструментов. Такие нудные операции в vhdl как вставка компонентов, описание сигналов и констант, создание тестбенчей - стали автоматическими, работа ускорилась, не нужно концентрироваться на мелочах.

Share this post


Link to post
Share on other sites

Я использую emacs для verilog. Раньше был vim, но из-за его дурацкого встроенного языка перешёл на emacs (lisp мне нравится).

В emacs можно довольно просто все настроить под себя и при желании добавить новый функционал, это его главное достоинство.

 

Share this post


Link to post
Share on other sites
Есть тема на форуме посвященная редакторам. Для меня SlickEdit + портянка свои настроек рулит.

+1 за SlickEdit. Один редактор для всего (С/C++, Verilog/SystemVerilog/Python/TCL/etc) + система сборки с заворачиванием вывода сборочных тулов в редактор, откуда автоматизирован переход по ссылкам при ошибках/предупреждениях.

Share this post


Link to post
Share on other sites

В slickEdit есть такой функционал (для Verilog/SystemVerilog) ?

 

--переход к определению переменной/параметра/функции/таска в файле или по проекту (т.е. не в пределах файла а в пределах проекта по всем include/import, подключенным в модуле) - на подобии аналогичной возможности для C/C++ IDE

--при вводе переменной типа struct вывод списка полей данной структуры

--highlight пользовательских типов / функций / тасков

--директивы, собранные в отдельном инклуде и подключенные в модуле, правильно видятся редактором

--highlight параметров/локальных параметров/глобальных параметров

--переход в исходник модуля через его подключения - на подобии аналогичной возможности для C/C++

 

Share this post


Link to post
Share on other sites
В slickEdit есть такой функционал (для Verilog/SystemVerilog) ?

 

--переход к определению переменной/параметра/функции/таска в файле или по проекту (т.е. не в пределах файла а в пределах проекта по всем include/import, подключенным в модуле) - на подобии аналогичной возможности для C/C++ IDE

--при вводе переменной типа struct вывод списка полей данной структуры

--highlight пользовательских типов / функций / тасков

--директивы, собранные в отдельном инклуде и подключенные в модуле, правильно видятся редактором

--highlight параметров/локальных параметров/глобальных параметров

--переход в исходник модуля через его подключения - на подобии аналогичной возможности для C/C++

1. Да

2. Да

3. Да

4. Порой глючит

5. Да

6. Да

 

Зы. только посвежее нужен. Но я использую 16.0.0.6

Share this post


Link to post
Share on other sites

Если файлы и каталоги в проекте организованы по принципу:

- отдельный каталог для законченного функционального блока,

- отдельный файл для каждого модуля,

- stub для модуля верхнего уровня в функциональном блоке,

- имена файлов-каталогов-модулей синхронизированны

 

а также при разумном разбиении на модули и наименовании портов и параметров в каждом модуле, разница в эффективности труда при использовании различных текстовых редакторов будет сведена к нулю. Минимального функционала Scintilla (например, Geany или Notepad++) вполне достаточно. При этом уменьшается порог вхождения для новых участников проекта и улучшается видимость при сборке.

 

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

Share this post


Link to post
Share on other sites

обычно stub - это модуль с именем и интерфейсом модуля верхнего уровня для функционального блока, но игнорирующий все входы и ставящий выходы в фиксированное значение. Нужен такой модуль для ускорения симуляции и быстрой проверки правильности сборки. Можно при симуляции stub еще выводить предупреждающее сообщение, что "всё понарошку".

 

То, что вы описали, - это обычный модуль верхнего уровня для функционального блока. Хорошее правило: "на верхнем уровне только модули и провода".

 

stub это просто модуль со вложенными другими модулями, без всякого кода, кроме соединительных wire, да?

Share this post


Link to post
Share on other sites
Иными словами, если следовать общепринятым стандартам организации проекта, то изысканные возможности текстового редактора роли играть не будут. Моя практика показывает, что верно и обратное: если для полноценной и эффективный работы с проектом нужен какой-то особый текстовый редактор, то это корявый проект.

Ваша "практика", увы, показывает только то, что Ваши "проекты" недалеко ушли от детских поделок. Или плевать на затраты времени на работу и сопровождение проекта.

 

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.

Sign in to follow this