Как отключить предупреждения SystemC во время выполнения?

#systemc

#systemc

Вопрос:

Я успешно скомпилировал приложение SystemC, которое я использую для имитации процессора при работе на общей архитектуре. Ну, моя проблема просто в том, что при запуске приложения для создания файла VCD ядро SystemC выдает мне несколько предупреждений.

Я получаю некоторое предупреждение, что-то вроде этого:

Предупреждение: (W206) вектор содержит логику из 4 значений в файле: ….cacheseqproc_vcpp20systemc-2.2.0src sysc datatypes bitsc_proxy.h:1385 В процессе: process.processname @ x ns

Что ж… само сообщение не важно… Я поместил это здесь, чтобы вы лучше поняли, что это предупреждающее сообщение, выдаваемое во время выполнения.

Учитывая, что я печатаю несколько важных сообщений во время выполнения, мне бы очень хотелось, чтобы у SystemC не было этих подробных сообщений. Как позволить этому произойти?

Комментарии:

1. Разве вы не можете просто отфильтровать выходные данные (grep)?

2. Может быть, sc_core::sc_report::suppress_* методы ?

3. @Pilippe: Фильтрация выходных данных — это решение, но я бы предпочел найти решение получше…

4. @Andy: Нормально, это работает на 50% —> Это говорит мне, что этот метод устарел, ахах.

Ответ №1:

Чтобы отключить все предупреждения:

 sc_report_handler::set_actions (SC_WARNING, SC_DO_NOTHING);
  

Чтобы отключить предупреждение «вектор содержит логику с 4 значениями», но оставить другие предупреждения включенными:

 sc_report_handler::set_actions (SC_ID_VECTOR_CONTAINS_LOGIC_VALUE_,
                                SC_DO_NOTHING);