2015-03-27 4 views
0

Я написал сценарий тест-автоматизации в TCL для ModelSim, который в Ессенции работаетПоведение `утверждение count` в различных версиях ModelSim

vcom -work work -2002 -explicit -source -cover sbce3 something.vhd 
# ... 
vsim -assertcover -t 10ps -cover -displaymsgmode both -msgmode both "work.something" -quiet 

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

set assertion_count [ assertion count -fails -r/] 
if {$assertion_count} { 
    # failed... 
} else { 
    # success 
} 

это работало отлично для некоторых старых ModelSim версии (в частности ПЭ 6.5b), но после перехода на PE 10,4, assertion_count всегда 0, таким образом мои тесты всегда «пропуск»!

Теперь ModelSim PE Command Reference Manual (modelsim_pe_ref.pdf находится за Mentor входа стене, к сожалению), даже не говоря уже о assertion ... команды, HTML руководство (например, here) не упоминает его, хотя.

Недавно что-то изменилось в ModelSim, которое нарушает шаблон, я использую его неправильно (например, с отсутствующими параметрами vsim) или есть лучшая альтернатива?

я мог бы использовать coverage report или coverage report -assert -detail например, но тогда я должен был бы разобрать выходного

# NEVER FAILED: 97.0% ASSERTIONS: 105 
+2

Предполагая, что вы используете оплаченную версию ModelSim, я всегда оказывал поддержку через нашего реселлера, чтобы быть отличным в этой проблеме с высокой степенью ModelSim-specific. –

ответ

0

Официальный ответ от ModelSim поддержка:

Команда «подсчет утверждение» не должны работать на ModelSim PE, , поскольку он не должен иметь показатели охвата утверждение включены. Вместо этого создайте и проанализируйте отчет о покрытии.

1

Я считаю, что Modelsim имеет изменить значение по умолчанию параметра журнала утверждений о новых версиях.

В предыдущих версиях, по-видимому, стандартная конфигурация утверждений была включена с включенным параметром журнала, но в 10.4 все утверждения не регистрируются при загрузке testbench, и когда это сообщение инициируется, оно сообщается, но оно не зарегистрирован на панели утверждений (View - Покрытие - утверждениях)

исправить эту ошибку, вызывая функцию регистрации утверждений:

утверждение потерпеть неудачу -log на -recursive/

кажется, что вызывать эту команду в начале последовательности достаточно, чтобы и он исправляет проблемы с помощью команды count counts.