Есть ли способ переключить имена листьев в ModelSim через API TCL?
Я ищу способ переключения имен листьев сетей в режиме ModelSim в режиме графического интерфейса. Другими словами, эквивалент нажатия кнопки "Toggle leaf names ↔ full names":
![enter image description here]()
Я знаю способ добавления коротких имен. Например, я использовал такой код:
add wave -group "stimulus" -label "valid" ${sim_module}/aso_src0_valid
add wave -group "stimulus" -label "ready" ${sim_module}/aso_src0_ready
add wave -group "stimulus" -label "data" -radix ascii ${sim_module}/aso_src0_data
add wave -group "stimulus" -label "begin" ${sim_module}/aso_src0_startofpacket
add wave -group "stimulus" -label "end" ${sim_module}/aso_src0_endofpacket
add wave -group "stimulus" -label "error" ${sim_module}/aso_src0_error
Однако для быстрого моделирования script эскиза, когда я хотел бы добавить все сигналы для модуля, который кажется слишком большим для ввода, и поэтому я просто делаю это:
add wave -group "stimulus" "/aso_src0_*"
И по умолчанию он показывает полные имена под группой "stimulus". Я не мог найти параметр функции add
или другую функцию, которая переключает между листами и полными именами. Учитывая, насколько силен ModelSim, трудно поверить, что у него нет этого API или другого простого способа достичь того, что я хочу. Так есть способ и что это такое?
Ответы
Ответ 1
config wave -signalnamewidth 1
Из справочного руководства ModelSim, v6.5e:
-signalnamewidth [<value>]
(необязательно) Управляет количеством отображаемых иерархических областей как часть имени сигнала, отображаемого на панели пути. Связанная переменная Tcl - PrefWave (SignalNameWidth). Также можно установить переменную WaveSignalNameWidth в файле modelsim.ini.
< значение > - Любое неотрицательное целое число, где по умолчанию 0 (отображает полный путь). Например, 1 отображает только элемент списка листьев, 2 отображает последние два элемента пути и т.д.