Каков наилучший способ проверить, является ли сигнал допустимым в SystemC?

У меня небольшая проблема с симуляцией SystemC, потому что в одном компоненте я забыл проверить целостность сигналов, и из-за этого моя симуляция прерывается. Обычно я не справляюсь с ситуациями, когда мои сигналы похожи на "XXXXX..." или "ZZZZ..."!

Как проверить, что сигнал действителен? Имеется в виду не "ZZZZ...", не "XXXX...", а действительный, например "000110..."? Спасибо

Маленькая деталь

Кто-то указал, что, возможно, здесь я спрашиваю о проверке, является ли сигнал числом или нет. Хорошо, допустим, если сигнал действителен, то это, конечно, число. Но в некоторых сеансах отладки я столкнулся с тем, что сигналы "XXX..." иногда обрабатываются как -1 или вообще отрицательные числа... Вот почему я не спрашивал, как проверить, является ли сигнал числом или нет...


person Andry    schedule 28.02.2013    source источник
comment
Трудно понять, что здесь спрашивают. Если вам нужны числа, проверьте, являются ли то, что вы получили, числами.   -  person Öö Tiib    schedule 28.02.2013
comment
Ну, в основном, если это действительный сигнал, это число, поэтому вопрос может звучать так: как проверить, является ли сигнал числом, но я не знаю, обрабатывает ли systemc X и Z как -1 или подобное... Это это мой вопрос...   -  person Andry    schedule 28.02.2013


Ответы (1)


sc_logic.is_01()?

bool is_01() const;

из 7.9.2.2 на странице 259 IEEE Std 1666-2011.

person vermaete    schedule 28.02.2013
comment
О... ну довольно простой ответ!!! странно, искал в библиотеке, наверное пропустил, спасибо большое... попробую! - person Andry; 28.02.2013
comment
Аналогичный метод для массива sc_logic? - person Andry; 28.02.2013
comment
Я думал, что это то же самое. Такой же метод используется в классе sc_bv_base. - person vermaete; 28.02.2013
comment
Извините за вопрос, я проверил документ минуту назад, и да, это точно так, как вы сказали! Большое спасибо. - person Andry; 28.02.2013