UVM 요리 책에서 클래스 개체 인스턴스화가 런타임에 완료된다고 기록됩니다. 그러나 실행 시간 전에 컴파일/정교 작업 중에 우리는 클래스에 대한 모든 세부 사항을 가질 수 있습니다.UVM 클래스 개체 인스턴스화
아래 이미지 (UVM Cookbook에서 가져옴)에서 볼 수 있듯이 정교화 단계에서 모듈 및 인터페이스 인스턴트 생성이 수행되지만 런타임에 클래스 객체 생성이 완료되었음을 알 수 있습니다.
이 샘플 예를 생각해 보자. 우리가 다른 모듈 또는 인터페이스 세부 사항과 같은 컴파일/동화 시간에서 사용할 수있는 클래스의 모든 세부 사항을 가지고// Inside any .sv file
class A;
int a;
endclass
A x;
initial
x=new();
지금이 경우, 런타임에 클래스를 만들 필요가 없습니다.
그렇다면 Systemverilog에서는 런타임에 클래스 인스턴스화 만 수행됩니다.
C++에서도 런타임에 개체 생성이 수행되지 않습니다.
참고 : 질문에서 저는 런타임 생성이 필수가 될 수도있는 상속을 사용하지 않는 간단한 클래스에 대해 이야기합니다. 창조 (Creation)에 의해 나는 모든 것 (모듈, 인터페이스, 클래스)을위한 메모리가 시뮬레이션 동안에 만 할당 될 것이기 때문에 나는 메모리 할당을 언급하지 않는다. 나는 단지 이미지의 맥락을 취하고있다.
너무 거슬려서 미안하지만 당신이 무슨 말을하고 있는지 전혀 모를 것 같습니다. 객체 생성은 C++에서도 항상 런타임에 수행됩니다. "객체 인스턴스화"라는 코드를 컴파일했기 때문에 컴파일 타임에 해당 객체가 생성된다는 의미는 아닙니다. –
@ 튜더 : 편집 된 질문을 친절히 확인하고 내 이해 또는 질문 자체에 실수를 발견하면 알려주십시오. –