В чем разница между uvm_component parent = null, uvm_component parent и uvm_component parent = ""? - PullRequest
0 голосов
/ 11 марта 2020

В чем разница между

uvm_component parent = null

,

uvm_component parent 

и

uvm_component parent = " " 

в конструкторе

function new(string name = " ", uvm_component ) 

в данный класс? Не могли бы вы также привести несколько примеров для трех вышеупомянутых вместе с объяснением?

1 Ответ

2 голосов
/ 11 марта 2020

Это более общий вопрос SystemVerilog. Объявление параметров функции по умолчанию позволяет вам вызывать функцию без указания этого аргумента. Это имеет смысл для аргументов, которые редко отличаются от стандартных. Но в случае классов, производных от uvm_component, только один тестовый компонент верхнего уровня имеет нулевого родителя. Все остальные компоненты должны предоставлять фактический родительский элемент.

Если вы видели uvm_component parent = " " в качестве аргумента по умолчанию, это было бы синтаксической ошибкой. Дескриптор класса не может быть назначен со строкой.

...