Что означает одинарная кавычка (') в SystemVerilog?

В примере класса OVM я вижу в конструкторе следующий оператор:

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

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


person Victor Lyuboslavsky    schedule 08.05.2013    source источник
comment
вы помечаете свои вопросы как Verilog, так и SystemVerilog, но они не имеют отношения к Verilog. Другой язык.   -  person EML    schedule 14.05.2013


Ответы (1)


В этом случае одинарная кавычка используется для приведения типа. 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 для получения дополнительных объяснений и примеров.

person Greg    schedule 08.05.2013