Jump to content
    

Регулирование verbosity Specman из Verilog

Здравствуйте,

Проблема: Невозможность уменьшить verbosity VIP JTAG до нуля, т.е. до уровня NONE. Запись в регистр DENALI_JTAG_REG_Verbosity не помогает.

Единственное, что помогло - ввод команды set message sys.* -verbosity=NONE в консоль Specman после UVM build_phase(), т.е. когда иерархия компонентов уже существует.

Вопрос: Как автоматизировать данный процесс? Допустим, создать .e файл с настройкой verbosity или управлять e-компонентами из верилога ???

Симулятор: Xcelium

 

С уважением, Кирилл

Share this post


Link to post
Share on other sites

Проблема была решена добавлением следующего файла в проект:

snp_verb.e

<'
extend message_logger {
  accept_message(); bool is also {
    return FALSE;
  };
};
'>

Аргумент Xcelium: "-snprerun load $(PATH_TO_FILE)/snp_verb.e; notest"

При компиляции данного файла происходит задействование механизма АОП при котором метод accept_message() будет переопределён для всех объектов типа message_logger.

Share this post


Link to post
Share on other sites

Здравствуйте. Работаю с ВИПом CAN из VIPCAT. ВИП каждый такт спамит сообщения следующего вида:

[69981] CDN_CAN_PSIF_ENV uvm_test_top.m_env.passive_can: DEBUG
rx_falling_and_resynchronization_e 6

Тоже не могу разобраться, как можно это выключить, только потом sed'ом вырезать.

Пытался отключить verbosity на NONE с помощью active_can.inst.regWrite(DENALI_CDN_CAN_REG_Verbosity, DENALI_CDN_CAN_MESSAGEVERBOSITY_NONE), но это не помогло

regWrite(DENALI_CDN_CAN_REG_Verbosity, 4) влияет на появление сообщений следующего вида:

[1524495] CDN_CAN_PSIF_ENV uvm_test_top.m_env.passive_can: Watcher -> SP:
SAMPLED RX_BIT=1, CAN_STATUS=IDLE, CAN_STATUS_EXPECTED=IDLE cur_bit_num= 0
[1524495] CDN_CAN_PSIF_ENV uvm_test_top.m_env.active_can: Watcher -> SP:
SAMPLED RX_BIT=1, CAN_STATUS=IDLE, CAN_STATUS_EXPECTED=IDLE cur_bit_num= 0
[1524595] CDN_CAN_PSIF_ENV uvm_test_top.m_env.passive_can: Watcher -> SP:

А Значения
DENALI_CDN_CAN_MESSAGEVERBOSITY_FULL
DENALI_CDN_CAN_MESSAGEVERBOSITY_HIGH
DENALI_CDN_CAN_MESSAGEVERBOSITY_MEDIUM
DENALI_CDN_CAN_MESSAGEVERBOSITY_LOW
DENALI_CDN_CAN_MESSAGEVERBOSITY_NONE

Не работают

Ввод команды set message sys.* -verbosity=NONE тоже не помогает. После build_phase specman консоль не реагирует на ввод мною каких-либо комманд.
Там просто висит сообщение "Checking license ... OK" и все

 

Share this post


Link to post
Share on other sites

Вы дали иерархии построиться перед вводом set message sys.* -verbosity=NONE ? Для этого достаточно просимулировать хотя бы 1ns. И только потом вводить команду в консоль specman.

Пробовали ли Вы вариант с файлом snp_verb.e ?

Share this post


Link to post
Share on other sites

Здравствуйте. Спасибо большое! Помог вариант с файлом.

Только у меня specman ругался на точку с запятой после accept_message(). Я заменил ее на двоеточие.

Мы используем mutil-step compilation, где поочередно вызываются xmvlog, xmelab, xmsim. К сожалению, я не нашел эквивалента опции -snprerun для xrun. Но есть переменная окружения SPECMAN_PRE_COMMANDS, в которую я записал команду "-snprerun load $(PATH_TO_FILE)/snp_verb.e"  и все заработало.

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.

×
×
  • Create New...