2013-05-08 3 views
4

В OVM примере класса, я вижу следующее заявление в конструкторе:Что означает синтаксис (') в SystemVerilog?

void'(get_config_int("num_packets", this.num_packets)); 

Что такое первая часть void'( должен делать в этом заявлении?

+2

вы помечаете свои вопросы с помощью Verilog и SystemVerilog, но они не имеют отношения к Verilog. Разный язык. – EML

ответ

11

В этом случае одиночная кавычка используется для литья типов. void'() в void'(get_config_int("num_packets", this.num_packets)); означает игнорировать возвращаемое значение от get_config_int.

Хороший симулятор должен давать предупреждение, если функция или возвращаемое значение выражения не назначены ни на что. Использование void'() явно сообщает инструменту, что вы хотите игнорировать возвращаемое значение и не видите предупреждение.

Вы также можете использовать другие отливки, такие как int'(), MyPredefinedStruct'(), 9'(). обратите внимание, что предоставление константы при кастинге возвращает бит-вектор. 9'(4'b0101) == 9'b000_0101

См. IEEE Std 1800-2012 и прочтите раздел 6.24 для получения дополнительных пояснений и примеров.

Смежные вопросы