Languages

CommunityCategory: GLISTER트랜지스터, 저항 소자의 전류를 확인하는 방법

GLISTER XMODEL

트랜지스터, 저항 소자의 전류를 확인하는 방법

SA Support Team Staff 2019-01-25

nmosfet, pmosfet, resistor, capacitor 등 circuit primitive로 표현된 회로 소자에 흐르는 전류를 확인하는 방법이 있나요?

2 Answers
SA Support Team Staff 2019-01-25

예, 있습니다. 기본적으로 nmosfet, pmosfet, resistor, capacitor 등의 circuit primitive들은 그 소자의 전압, 전류, 전력을 내부 변수인 V, I, P로 각각 표현하고 있으며, 이들을 파형파일로 dump함으로써 확인할 수 있습니다. 예를 들어서, R1이란 이름의 저항 소자에 흐르는 전류는, R1.I 신호를 dump함으로써 그 파형을 관찰할 수 있습니다. 이는 아래 그림처럼 GLISTER 상의 dump primitive의 Variables 속성에 dump하고자 하는 신호를 나열함으로써도 할 수 있고 (이때, R1.I라는 신호가 해당위치에서 접근가능한 hierarchical 이름이어야 합니다), $xmodel_dumpvars() 명령에 신호 이름을 지정하여서도 할 수 있습니다.

initial begin
    $xmodel_dumpfile("xmodel.jez");
    $xmodel_dumpvars(R1.I);
end

전류를 관찰하고자 하는 소자가 많은 경우에는, GLISTER 상의 dump primitive 또는 $xmodel_dumpvars()에 추가 옵션을 지정하여 해당 종류의 소자의 전류들을 한꺼번에 dump할 수 있습니다. 예를 들어, 아래 그림처럼,

probe=resistor.I

를 dump primitive의 Extra Options 속성을 정의하거나, $xmodel_dumpvars() 명령에:

$xmodel_dumpvars("probe=resistor.I");

처럼 같은 옵션을 정의하면, 현재 hierarchical level과 그 아래의 모든 level에 위치한 모든 resistor 소자의 전류 파형들을 파일로 저장하게 됩니다.

만일, 저항 뿐만 아니라, nmosfet, pmosfet과 같은 트랜지스터, 또는 다른 소자들의 전류도 확인하고 싶다면, 아래처럼 항목들을 쉼표(,)로 구분하여 나열하시면 됩니다.

probe=resistor.I,capacitor.I,nmosfet.I,pmosfet.I

참고로 이 옵션을 level과 같은 다른 옵션과 조합하여 사용하는 것도 가능합니다. 예를 들어, dump primitive의 depth level 속성을 1로 지정하거나, 아래와 같이 $xmodel_dumpvars() 명령을 사용한 경우,

$xmodel_dumpvars("level=1", "probe=resistor.I");

XMODEL은 현재 hierarchy 레벨에 있는 저항소자들의 전류만 파형 파일에 기록하게 됩니다.

SA Support Team Staff 2020-11-09

2020.11 버전 이후부터는 모든 종류의 circuit primitive들에 흐르는 전류를 한번에 probe할 수 있는 "probe=*.I" 옵션이 지원됩니다. 즉, GLISTER상의 dump primitive 또는 XMODEL의 $xmodel_dumpvars() 명령에 이 "probe=*.I" 옵션을 추가하면 됩니다. 예를 들어,

probe=*.I

를 GLISTER의 dump primitive의 Extra Options 속성으로 정의하거나, 같은 옵션을 아래처럼 $xmodel_dumpvars() 명령에 추가하면,

$xmodel_dumpvars("probe=*.I");

현재 hierarchical level과 그 아래의 모든 level에 위치한 모든 circuit primitive 인스턴스들에 흐르는 전류 파형들을 파일로 저장하게 됩니다.