Перейти к содержанию
    

Не заработало в используемой, самой новой из стабильных на текущий момент, версии 1.79.66.

ага, возможно именно поэтому и не работает - у меня сейчас 2.0.68RU (на сайте она уже заменена на 2.1.68 BETA), но можете ставить стокойно - релиз под индексом 2 работает намного устойчивее предыдущей версии - завалить ещё не удавалось, в то время как 1.7х у меня периодически падал при замене по в нескольких файлах

 

Если интересно - отпишусь (только тогда в теме про custom-do-файлы в этом же подфоруме), как оно утрясётся.

интересно. бу ждать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для notepad++ создал verilog.api. Ключевые слова - из стандарта Verilog 2001. ...

В новых версиях Notepad++ для работы функции автозавершения вместо файла verilog.api нужно будет использовать verilog.xml, который почему-то не подкладывают в отличие от VHDL-кого. Пришлось перебивать.

verilog.xml

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пока проект был ~200 файлов все было нормально, но сейчас около ~400 файлови и слик 14.0.2.2 периодически валиться (в среднем раза 4-8 в день) на SV проекте. %( Валиться скорее всего при поиске тегов. Это только мне так "повезло" или действительно сей эффект имеет место быть ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сейчас обнаружил одну очень важную вещь в отношении этого пункта: (не знаю с какого релиза, но) к SciTe прикрутили, реализацию PEG(Parsing expression grammar) на Lua (lpeg), а это очень серьёзная вещь и все претензии в отношении регулярных выражений теперь к языку Lua снимаются (попробую в ближайшее время покурить заново индексирование переменных)

ну, что же, дорогие мои, как и обещал прикрутил индексацию объявлений переменных и объявлений функций/задач для SystemVeriloga к текстовому редактору SciTe (версия пока пробная - чисто для фидбака со стороны писателей на SV).

что хотелось:

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

что получили:

я дополнил и доработал Scite мульку под названием SideBar (предворительный вариант). написал грамматику для SV (правила декларации переменных и процедур в самых извращённых их формах за исключением неявных типов для var и аргументов и портов - это доделаю в ближ будущем), разбил боковую панель на 2 соответствующих списка. добавил функцию подсветки элемента в списках по двойному щелчку по переменной в тексте.

что можно делать:

двойной щелчёк по боковым спискам даёт переход к объявелению; двойной щелчёк по инстансу переменной в поле редактора с удерживаемым шифтом - аналогичный переход, control +" ," - обратный переход к месту прыжка; двойной щелчёк по инстансу в поле редактора приводит к тому, что, если существует объявление данной переменной/функции, то в списке оно будет подсвечено (есть одна досадная вещь - подсветка будет видна только после нажатие на заголовок окна списка - это не баг, это фича, т.е. неполная функциональность - думаю её скоро расширят)

недостатки:

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

 

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

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

в общем-то хотелось бы услышать ваши идеи и пожелания

ЗЫ предвкушая доп вопросы, спешу сообщить, что в планах также есть интеграция с МоделСимом/КвестаСимом

SideBar.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

1)закончил грамматику деклараций(объявлений) переменных (включая параметры, формальные аргуметы функций/задач, портов модулей)

ограничения:

- не поддерживаются иерархические типы в объявлениях ( например: interface.modport_type my_interface) пока (докрутить достаточно просто)

- порты и формальные аргументы не разрешается объявлять как переменные типов по умолчанию, т.е. module a(input input_a); так делать запрещено (нужно так: module a(input bit input_a); ), хотя направление портов по умолчанию разрешено (мера отчасти вынужденная, ограничением длинны шаблона в реализации lpeg для scite, но я это вынужденное ограниченое только приветствую, т.к. это дисциплинирует)

-к сожалению пришлось так же поступить с шапочными объявлениями параметров - придётся задавать тип int явно #( parameter int my_param = 3 ); (ЗЫ: слово "parameter" в шапке естественно необязательно)

однако декларации вне шапок с удовольслвием скушают неявный тип

ЗЫ: внутренние переменные цикла for фильтровать не стал - очень много с этим мороки - избавится от лицезрения их можно (как это нормальным образом и происходит) не отделяя объявление типа от скобки: for (int i=0; i<8;i++) (ЗЫ: в принципе кому на них смотреть нравится- могу рассказать как включить, чтобы они отображались всегда)

2)полностью(по крайней мере мне так кажется) поддерживаются декларации пользовательских типов (т.е typedef-ы)

оформление: теперь панель разбита на 3 секции

-Variables (все переменные, т.е. и порты с параметрами тоже)

-Procedures(functions/tasks)

-Typedefs

область видимости - файл

 

думаю в дальнейшем буду двигаться в сторону разбора области видимости проект с группировкой объявлений по иерархии проекта

оформлят буду в виде псевдографического дерева, пока не появится нормальный класс tree в gui.dll

ЗЗЫ: сведения о багах очень даже приветствуются (если кому интересно, то peg грамматика СВ идёт с 838 - 987 строки файла)

SideBar.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

- не поддерживаются иерархические типы в объявлениях ( например: interface.modport_type my_interface) пока (докрутить достаточно просто)

извините, что так часто обновляю.

в общем эта фича ушла в прошлое. файл заново не буду прикреплять пока не накопятся принципиальные подвижки. для поддержки "точечных" типов и "пакетных" типов аля my_interface.my_modport и my_package::package_type_t вместо строки №887

  local user_defined_type_identifier = IDENTIFIER - (key_words*(SC+dimension_operator+concatination_operator+balanced_parantheses))

нужно прописать

  local TYPEIDENTIFIER = IDENTIFIER*(DSoN*(P'.'+P'::')*DSoN*IDENTIFIER)^-1
  local user_defined_type_identifier = TYPEIDENTIFIER - (key_words*(SC+dimension_operator+concatination_operator+balanced_parantheses))

т.е. идентификатор типа выделен в отдельный шаблон с расширенными полномочиями

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЗЫ предвкушая доп вопросы, спешу сообщить, что в планах также есть интеграция с МоделСимом/КвестаСимом

по вопросу интеграции (на примере SV):

консоль SciTe интерактивная и позволяет вам работать как если бы вы работали в коммандной строке системы или строке МоделСима/Квестасима (конечно если у вас прописаны пути переменных окружения). т.е. прямо в консоли Scite вы сможите написать vlib work и будет вам счастье(создастся в той же директорие что и лежит открытый вами в редакторе scite исходник, т.е. следующим действием вы можете исполнить комманду комписяции, т.о. подготовительная работа я думаю справедливо и нехлопотно ляжет на плечи кодера)

а вот компиляция может быть уже выполнена одной кнопкой висящей в шапке. для этого в файле свойств вашего языка(systemverilog.properties) необходимо прописать следующую комманду

vlog=vlog -novopt -sv
command.compile.$(file.patterns.verilog)=$(vlog) $(FileNameExt)

как видно никаких сложных действий пока не потребовалось. при щелчке по кнопке компилировать запустится команда vlog -novopt -sv имя_открытого_файла вывод, которой направится в консоль Scite

при желании более умной компиляции (ну например включения путей для поиска include файлов) через Меню->Настройки->Открыть файл настроек каталога можно быстро внести изменения настроек для конкретного проекта (сам файл хранится в папке редактируемого файла и его настройки имеют более высокий приоритет относительно настроек языка)

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

для этого во всё том же файле свойств языка необходимо прописать следующую комманду:

#extension specific lua scripts
extension.$(file.patterns.verilog)=$(SciteDefaultHome)\tools\ModelSim_Int.lua

которая будет запускать ассоциированный с данным языком обработчик событий консоли ModelSim_Int.lua, который нужно сохранить в папку tools

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

продолжение следует...

ModelSim_Int.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ModelSim_Int.lua

упс, немножко накосячил в обработчике. функция должна возвращать

return result вместо return true

иначе неправильно срабатывает обработчик "по умолчанию"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в связи с получением некоторого количества отзывов по инструментам SciTe, и для того чтобы не загромождать данную глобальную ветку обсуждением расширений SciTe, выношу таковые обсуждения в отдельную ветку http://electronix.ru/forum/index.php?showtopic=70446

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Случайно наткнулся на интересный плагин к eclips'у.

http://sourceforge.net/apps/mediawiki/vedi...?title=Features

 

Думаю многих он устроит как замена dvt for eclipse.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

 

Требуется помощь/совет. Вдруг ни с того ни с сего умер SlickEdit (местный v14.02). Причем симптомы ужасные - запускается нормально, файлы открывает но в окне редактора невозможно ничего делать - такое впечатление что что то коверкает все коды которые идут с клавиатуры и мыши. Например управление курсором отсутствует напроч, жмеш "Q" - получаешь "ч" (причем если Q вводить в другом окне то получишь совсем другой символ но тоже не "Q:). Кнопки на тулбаре не работают, а меню работает правильно и с мышей и даже с горячими кнопками. Думал что что то с конфигом случилось - снес целиком Slick, поставил все по новой со стандартными настройками - та же ситуация. Ни в одной другой программе на компе такого не наблюдается 8-(). На втором компе тот же Slick работает без проблем.

 

Вобщем не сталкивался ли кто с чем то подобным?

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Последнее время перешел c Eclipse + DVT на emacs + verilog-mode + autocomplete + пару настроек под себя. Получается очень мощно, советую всем у кого монитор >= 22' и есть время разобраться в кастомизации emacs'a.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пользуюсь medit - легкий кроссплатформенный текстовый редактор с подсветкой синтаксиса всего подряд. Плюс еще работа в разных кодировках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как в notepad++ сделать вставку компонента vhdl. Имеем объявление ENTITY или COMPONENT. В PORT перечислены входы-выходы в виде xxx : IN std_logic_vector(7 DOWNTO 0); (например), надо автоматом заменить на xxx => xxx, Пользуюсь WebEdit плагином, он такого не позволяет.

Ещё можно как нибудь сортировать строки по длине и выравнивать текст в столбце по левому краю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...