Specman e: Как передать многословие в переменной в действие message ()? - PullRequest
0 голосов
/ 24 июня 2018

Мне нужно установить подробность сообщения, используя переменную, например:

    my_write(my_verb : message_verbosity) is {
        message(BUS, my_verb, vt.text_style(PURPLE, "txt txt txt")); 
        // other logic
    };

Этот код вызывает следующую ошибку компиляции:

*** Error: The verbosity parameter must be a constant of type 'message_verbosity'.

Но на самом деле, даже когда я определилмногословие как постоянное поле:

const my_verb : message_verbosity;
my_write() is {
    message(BUS, my_verb, vt.text_style(PURPLE, "txt txt txt")); 
};

У меня та же ошибка компиляции.

Как передать подробность сообщения в переменной в действие message()?

Спасибо за помощь

1 Ответ

0 голосов
/ 25 июня 2018

Вы неправильно понимаете концепцию подробности сообщения. Каждое сообщение имеет фиксированное многословие. Затем вы контролируете из приглашения, каково многословие юнита, у которого есть сообщение.

Содержание сообщения не изменяется. Вы хотите контролировать, говорит ли аппарат (с сообщением) более или менее.

Вы можете контролировать многословность устройства, используя команду "set verbosity ... sys.path.to.unit.inst".

...