Система C поддерживает логику трех состояний? - PullRequest
1 голос
/ 06 октября 2010

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

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

Ответы [ 2 ]

2 голосов
/ 30 октября 2010

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

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

2 голосов
/ 07 октября 2010

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

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

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

...