В примере класса OVM я вижу в конструкторе следующий оператор:
void'(get_config_int("num_packets", this.num_packets));
Что первая часть void'(
должна делать в этом заявлении?
В примере класса OVM я вижу в конструкторе следующий оператор:
void'(get_config_int("num_packets", this.num_packets));
Что первая часть void'(
должна делать в этом заявлении?
В этом случае одинарная кавычка используется для приведения типа. 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 для получения дополнительных объяснений и примеров.