Jump to content

    

Recommended Posts

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

Вот у меня порты описаны в стиле 2001, возможно поэтому он и лажается. Не готов отказаться от описания портов в стиле 2001 в угоду прихотям редактора.

 

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

Да, alias'ы рулят, сам широко использую. Например, на al назначен на alias

 

always_ff @(posedge clk) begin
    if(rst) begin
        %\c 
    end
    else begin

    end
end

 

а alwar:

 

always_ff @(posedge clk, posedge rst) begin
    if(rst) begin
        %\c 
    end
    else begin

    end
end

 

экономит время и силы на этих мелочах, за что его (редактор) и любим. :)

 

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

Вы про syntax highlighting? Если да, то это совсем просто: Tools->Options->Color Coding, там увидите диалог, где рулятся опции подсветки синтаксиса, самый первый таб, как раз, задает список ключевых слов. Вписываете свои и вуаля.

 

 

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

Это тоже очень просто - для того, чтобы скрипт загрузился и скомпилялся, достаточно сделать его загрузку: Macro->Load Module. Там указываете имя .е файла и все. Он его скомпилит сам, загрузит в рабочее окружение и этот модуль теперь всегда будет использоваться.

 

Что касается комментирования блоков, то это там появилось не так давно, а раньше я свой использовал. В настоящее время из самописных макросов активно использую переход на следующее/предыдущее вхождение слова под курсором - удобно быстро посмотреть, где оно используется в текущем файле (хоткей на это назначен Alt+Up/Down) и перемещение текущей строки выше/ниже (хоткей Ctrl+Up/Down).

 

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

Проблема в том, что на эту пару часов слишком много кандидатов, начиная от более плотного изучения того же SV, и заканчивая собственным проектом, который почти забросил из-за текучки. Во всяком случае Slick-C в этой очереди стоит где-то ближе к концу. И я бы предпочел, чтобы там вместо своего языка было бы что-нить типа питона, тогда, м.б. я бы нашел в себе время этим заняться, бо это было бы более благодарное занятие. А так Slick-C, как и подобает С-языку, слишком низкоуровневый и код на нем не поражает (меня) красотой и элегантностью. Не сказать, что он сложный, но в нем полно расширений и нюансов, что делает задачу его освоения не такой простой. А учитывая, что постоянно работать с ним не будешь, то когда понадобится в следующий раз что-то подправить, в чем-то разобраться, опять все придется проходить практически по новой. Не, не вдохновляет. :)

Share this post


Link to post
Share on other sites
Вы про syntax highlighting? Если да, то это совсем просто: Tools->Options->Color Coding, там увидите диалог, где рулятся опции подсветки синтаксиса, самый первый таб, как раз, задает список ключевых слов. Вписываете свои и вуаля.

 

Нет я не про него. Кстати путь описанный вами хорош, если нужно добавить 1,2 слова, а если нужно вбивать много то лучше ручками поправить

 

\Мои документы\My SlickEdit Config\12.0.3\user.vlx

 

при этом потом поделиться с другом полным набором служебных слов SV %))

 

а через Мои документы\My SlickEdit Config\12.0.3\uscheme.ini подарить ему свои цветовые схемы

 

я же говорил вот про что :

 

лексический парсер верилога лежит macros\verilog.e, если позырить его содержимое то там

 

static SYNTAX_EXPANSION_INFO _Keywords:[] = {
   'always'       => { 'always' },
   'and'          => { 'and' },
   'assign'       => { 'assign' },
   'begin'        => { 'begin ... end' },

 

и похоже что новое содержимое .vlx файлов не учитывается в парсере, все собираюсь найти время и разобраться с этим парсером, что бы обрабатывал новые типы также как и старые.

 

Это тоже очень просто - для того, чтобы скрипт загрузился и скомпилялся, достаточно сделать его загрузку: Macro->Load Module. Там указываете имя .е файла и все. Он его скомпилит сам, загрузит в рабочее окружение и этот модуль теперь всегда будет использоваться.

 

10x, гут, на досуге поковыряюсь.

 

И я бы предпочел, чтобы там вместо своего языка было бы что-нить типа питона, тогда, м.б. я бы нашел в себе время этим заняться, бо это было бы более благодарное занятие.

 

Ну думаю что тогда слик работал бы со скоростью менторовского редактора из хдл дезайнера %))

 

Хотя PyWin вроде тоже на питоне сделан и работает достаточно быстро.

Share this post


Link to post
Share on other sites
Нет я не про него. Кстати путь описанный вами хорош, если нужно добавить 1,2 слова, а если нужно вбивать много то лучше ручками поправить

Если надо много, то там можно импортировать текстовый файл. Я так и делал, когда готовил подсветку для Blackfin'овского асма - там имен добавлять пришлось десятки. Сперва подготовил списки имен в текстовых файлах, потом импортировал их.

 

Ну думаю что тогда слик работал бы со скоростью менторовского редактора из хдл дезайнера %))

Заблуждение. Не настолько там сложные и навороченне операции. Сам Slick-C тоже не С/C++ - он тоже компилится в некий промежуточный код, который исполняется на движке редактора, т.е. это не нативный компилируемый язык. Примерно то на то и выйдет.

 

Хотя PyWin вроде тоже на питоне сделан и работает достаточно быстро.

Именно.

Share this post


Link to post
Share on other sites

Поставил Eclipse IDE, а для SystemVerilog подключил к нему плагин DVT - теперь не нарадуюсь. Жаль плагин триальный на 6 месяцев присылают ключ. Но многое можно и самому сделать потом.

 

Т.к. Eclipse - интегрированная опенсурсная среда разработки, сразу подключил внутрь subversion.

Можно использовать плаги Mylin для коннекта из Eclipse к серверу управления проектом (есть коннекторы на Trac, Bugzilla, Jira, Xplanner и т.д.)

 

Теперь одна IDE стоит и на Linux'e и под Win'ом. Можно забыть про Nedit. :)

Share this post


Link to post
Share on other sites
Поставил себе notepad++...

...Так же не нашел работу с темплейтами. Единственно, что похоже - плагин quikText, но его я не смог подружить с verilog. :(

:help:

Интересно, а кто-нибудь с template в notepad++ разобрался? А то без них он как бы и не очень нужен работающим в HDL.

Share this post


Link to post
Share on other sites

Для notepad++ создал verilog.api. Ключевые слова - из стандарта Verilog 2001. Ну а вот директивы компилятора и системные задачи и функции в этом файле жить не захотели - не всегда открывалось окно списка.

А получается нездорово без шаблонов-то: ни свою, ни языковую, ни библиотечную конструкцию не вставить, только вручную.

Ну и до кучи. Не нашлось создания шапки (title). Вставка времени и имени файла есть, но по отдельности, а макрос эти вставки не взял, что-то ему мешается.

А выделение функциональных блоков смотрится хорошо, глаз так и цепляет.

Конечно, это всегда так было, что читать приятнее чем писать, и notepad++ это лишний раз подтверждает.

verilog_api.rar

Share this post


Link to post
Share on other sites
Можно ли сликовское окошко Build заставить отображать кириллицу?

А почему нет? Шрифт только должен быть в соответствующей кодировке.

Share this post


Link to post
Share on other sites
А почему нет? Шрифт только должен быть в соответствующей кодировке.

Как? Tools - Options - Font... - не получается, нет там окна Build. А как еще?

Share this post


Link to post
Share on other sites
Как? Tools - Options - Font... - не получается, нет там окна Build. А как еще?

Хм. Я просто установил шрифт. Он для всех окон. И все работает. Хоть в редакторских окнах кириллица показывается, хоть в build. Правда, я просто беру и набираю там текст. Как оно отображается при запуске тулзов, которые выводят в кириллице, не знаю, не пробовал. У вас с этим проблемы?

Share this post


Link to post
Share on other sites
У вас с этим проблемы?

Именно с этим. Осваиваю командную строку. Делаю много ошибок. Командная строка ругается, Build отображает зюки. Вынужден после каждой ошибки запускать cmd, и выяснять причину. А в cmd страсть как неудобно. Но зато по-русски.

ЗЫ Я тут подумал... Build не причем, он отображает то, чем его кормит cmd. Так что вопрос не по слику. Прошу прощения за :bb-offtopic:

Share this post


Link to post
Share on other sites

VIM plugin: Automatic generator for Verilog HDL

 

Support Automatic functions like Emacs for Verilog HDL

 

Feature list:

1) Auto Argument (the same as Emacs)

2) Auto Instance (power than Emacs)

3) Auto Define Signals

4) Auto unit delay "<=" to "<= #`FFD"

5) Auto always block

6) Auto header

7) Auto comment

Share this post


Link to post
Share on other sites

долго мучился пытаясь выбрать из предложенных вариантов бесплатный редактор с наибольшим количеством прибамбасов и простотой изучения - метался между NotePad++ и ConText (был ещё вариант AkelPad) настораживала сложность изучения плагинов для расширения функц.возм. (плохо документированы). в итоге начал копать NotePad++ как продукт с открытым кодом и докапался до технологии Scintilla, на которой он построен и наконец просто установил SciTE (та же комманда разработчиков, которая делала эту Scintilla). подержка продукта намного лучше (постоянные обновления сборки), есть русскоязычная комманда, развивающая русскую версию сборки (есть качественные отличия от оригинала, т.е. несколько комманд работают параллельно, а финальный релиз сливают из лучшего, что получилось), большой форум на русском, который помогает разобраться с тем, что в NotePad++ без поллитры не разобраться, существует документация (тож на русском).

в итоге для того чтобы разобраться как делаются новосинтаксические языковые настройки ушло около 2-ух часов.

видимые(мне) плюсы редактора:

настройка подсветки синтаксиса (под язык);

настраиваемые шаблоны и автозавершения (в том числе и многострочные);

составление списка функций/процедур (можно расширять до классов, переменных, модулей и т.д.);

свёртка блоков;

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

в общем останавливаюсь на нём. буду копать и настраивать под SV

ЗЫ: естественно многие принципы у них схожи с NotePad++,т.к. на едином компоненте построены (Scintilla)

Share this post


Link to post
Share on other sites

Хорошая вещь, однако. Спасибо за наводку. Давно уже мне был нужен дополнительный редактор, но все никак не мог выбрать - под мои запросы ничего не подходило. А SciTe я скачал вчера, сегодня поразбирался и настроил - и проблема решена!!!

:beer:

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.