Система C поддерживает логику трех состояний?

Поддерживает ли система C логику трех состояний? То есть биты, которые можно получить 0, 1 или же X, где X значит "неизвестно"?

Если это так, поддерживает ли он векторы, которые могут содержать XВ том числе логические и арифметические операции?

2 ответа

Решение

Вот что вам нужно:

У него нет переменных в трех состояниях, но есть переменные в четырех состояниях (это правильно?:P) (0,1,X,Z). Подробнее об этом в приведенных выше ссылках. Он также поддерживает векторы этих переменных.

Надеюсь, я вам немного помог:)

Да, вы ищете типы sc_logic и sc_lv, которые представляют собой 4 переменные состояния: 0, 1, X и Z. Обратите внимание на то, как они взаимодействуют, когда вы решаете их вместе. На сайте asic-world.com есть прекрасные таблицы, взятые непосредственно из Руководства пользователя SystemC.

Обратите внимание, что это не работает, как в Verilog, где X также может выступать в качестве подстановочного знака. Мне пришлось создать свою собственную функцию, чтобы добавить эту функциональность.

Другие вопросы по тегам