реклама на сайте
подробности

 
 
> Особенности ModelSim, и сопутствующие вопросы
Vengin
сообщение Jul 11 2018, 08:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 7-02-07
Из: Беларусь, г. Минск
Пользователь №: 25 149



Добрый день. В очередной раз пытаюсь «пересеть» на ModelSim, и уже вроде пошёл процесс, но как-то всё весьма своеобразно. Уже закрыл глаза на убогийсвоеобразный и постоянно «прыгающий» GUI. И пока лишь только настораживают не столь уж редкие подвисания/вылеты без явных вроде причин.
Сейчас больше интересует непосредственно основной функционал моделсима, то бишь симуляция/верификация. Пытаюсь максимально всё делать через консоль и скриптами. Со «стандартными» командами (типа vcom, vsim и т.п.) всё очевидно - есть документация, примеры. Но в то же время есть ещё, скажем так, «второстепенные» команды, с которыми не всё так понятно. Как правило, это команды в формате CamelCase с более длинными названиями. Для примера, при экспорте wavefrom в файле wave.do появляются такие команды как WaveActivateNextPane, TreeUpdate, WaveRestoreCursors и т.п. И вот как именно с этими «второстепенными» командами работать не совсем понятно. В лучшем случае они мимоходом упоминаются в доках, но лишь поверхностно. В худшем и поисковики не выдают ничего вразумительного.

Да, с одной стороны «общее назначение» команды можно уловить исходя из названия. Но, для начала было бы неплохо хотя бы представлять количество таких команд. Например, если набирать в командной строке ModelSim скажем Wave, то в списке подсказанных команд насчиталось 13 штук.

Или вот, например команда WaveActivateNextPane. Поначалу не придавал ей внимания. Потом поэкспериментировал и оказалось, что например "WaveActivateNextPane {} 2" добавляет (или активирует уже добавленное) подокно (Wave Pane), т.е. разбивает единое окно wave на несколько подокон. Как раз нужен такой функционал при большом количестве сигналов, а найти это удалось лишь случайно, методом тыка. И пока по-прежнему не понятно, как закрывать эти самые добавленные подокна (panes). В GUI меню есть такое дело (Wave->”Delete Window Pane”), но соответствующей команды найти пока не удалось. А где и как искать неизвестно.
И это кстати не первый пример в ModelSIm, когда какое-то действие можно выполнить в GUI, а прямого аналога команд консоли вроде как нет. И зачастую нет прямого «отражения» (вывода) GUI действий в консоли, что уж совсем странно.
Может, есть какие-то команды, которые посылают события в GUI, имитация нажатия меню/иконок, макросы, хуки, …?

Ещё, не всегда понятно как интерпретировать вывод стандартных/второстепенных команд. Например, команда view выдаёт список открытых окон типа такого
Код
>view
# .main_pane.objects .main_pane.source .main_pane.structure .main_pane.transcript .main_pane.wave .main_pane.process .main_pane.library .main_pane.memory .main_pane.project
Тут ещё более менее понятно из названий. Но скажем, когда глубина элементов увеличивается, уже малопонятно. Та же команда WaveActivateNextPane может выдать что-то такое:
Код
.main_pane.wave.interior.cs.body.pw.wf.tree.tree1
Откуда вообще эта структура, как вообще устроена вся эта иерархия? И насколько вообще нужно/желательно её знать понимать (опять таки для управления через командную строку)? С одной стороны это представляет больше академический интерес. Но из-за определённой кривости ModelSim приходится ковыряться в этих дебрях.
Опять-таки, в качестве примера, можно привести вот эту тему: "Как сделать главное окно Modelsim при старте во весь экран?". Решение, подсказанное RobFPGA, выглядит так:
Код
wm state . zoomed
Вот только откуда всё это? В документации ModelSim этого нет. Судя по всему, это уже имеет отношение к Tcl/Tk, на котором вроде построен ModelSim?

Пожалуй хватит для начала для одного сообщения sm.gif. Хотелось бы услышать мнения общества по этому поводу.
И может заодно ответы на пару конкретных вопросов:
1) Есть ли где-то какой-то список/документация на «второстепенные» команды (API)?
2) Может есть команды «имитации» событий GUI (нажатия меню/иконок)?
3) Какой командой можно закрыть подокно (Wave Pane), открытое командой "WaveActivateNextPane {} 2" (без закрытия переоткрытия всего кона Wave)?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vengin   Особенности ModelSim   Jul 11 2018, 08:15
- - AVR   Цитата(Vengin @ Jul 11 2018, 11:15) Пожал...   Jul 11 2018, 10:21
|- - Vengin   Цитата(AVR @ Jul 11 2018, 13:21) Вынужден...   Jul 11 2018, 10:51
|- - Tpeck   Цитата(Vengin @ Jul 11 2018, 13:51) Ну, н...   Aug 16 2018, 08:46
|- - Vengin   Цитата(Tpeck @ Aug 16 2018, 11:46) Немног...   Aug 16 2018, 08:49
- - Vengin   Cудя по отсутствию комментариев, придётся набивать...   Aug 3 2018, 11:44
|- - RobFPGA   Приветствую! Цитата(Vengin @ Aug 3 2018, ...   Aug 3 2018, 13:28
|- - Vengin   Ещё кстати, как вариант решения проблемы со startu...   Aug 5 2018, 10:25
- - AVR   Вот мой пример как работать с ModelSim: Тут и тес...   Aug 5 2018, 15:46
- - Vengin   Очередная странность. Надо скопмилить vhdl файл с ...   Aug 13 2018, 12:12
|- - RobFPGA   Приветствую! Цитата(Vengin @ Aug 13 2018,...   Aug 13 2018, 13:32
|- - Vengin   Цитата(RobFPGA @ Aug 13 2018, 16:32) Пара...   Aug 13 2018, 13:51
||- - RobFPGA   Приветствую! Цитата(Vengin @ Aug 13 2018,...   Aug 13 2018, 14:16
|- - Vengin   Цитата(RobFPGA @ Aug 13 2018, 16:32) Это ...   Aug 15 2018, 08:07
|- - Kluwert   Слушайте, Моделсим, конечно, убожество ещё то. У м...   Aug 15 2018, 09:01
||- - RobFPGA   Приветствую! Цитата(Kluwert @ Aug 15 201...   Aug 15 2018, 11:30
||- - AVR   Цитата(Kluwert @ Aug 15 2018, 12:01) Слуш...   Aug 15 2018, 19:11
||- - Kluwert   Цитата(AVR @ Aug 15 2018, 22:11) И да, Qu...   Aug 21 2018, 20:00
|- - RobFPGA   Приветствую! Цитата(Vengin @ Aug 15 2018,...   Aug 15 2018, 09:52
||- - Vengin   Цитата(RobFPGA @ Aug 15 2018, 12:52) Прав...   Aug 15 2018, 10:37
|- - RobFPGA   Приветствую! Цитата(Vengin @ Aug 15 2018,...   Aug 15 2018, 14:30
|- - Vengin   Цитата(RobFPGA @ Aug 15 2018, 17:30) вста...   Aug 16 2018, 07:27
|- - RobFPGA   Приветствую! Цитата(Vengin @ Aug 16 2018,...   Aug 16 2018, 08:07
- - Vengin   Опять небольшие грабли. Исходники открываются в ре...   Aug 20 2018, 08:01
- - Timmy   Для косвенной передачи списков параметров в произв...   Aug 20 2018, 09:33
|- - Vengin   Цитата(Timmy @ Aug 20 2018, 12:33) Для ко...   Aug 20 2018, 09:56
- - dxp   Мои 5 копеек. Насколько помню, квеста всегда была ...   Aug 22 2018, 03:36


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th April 2024 - 21:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016