Languages

CommunityCategory: MODELZENMODELZEN technology configuration 파일의 device mapping 정의시 prefix 속성의 의미

MODELZEN

MODELZEN technology configuration 파일의 device mapping 정의시 prefix 속성의 의미

SA Support Team Staff 2019-02-06

MODELZEN의 technology configuration 파일에서 device mapping을 정의할때 prefix 속성이 의미하는 것이 무엇인가요?

1 Answers
Best Answer
SA Support Team Staff 2019-02-06

MODELZEN은 technology configuration file의 devo_devicemap, devo_subcktmap 등에서 정의된 소자들을 입력 netlist에서 발견하게 되면, 해당 소자들의 특성을 지정된 대상 primitive에 맞게 SPICE 시뮬레이션을 수행해 추출하게 됩니다. 예를 들어, 어떤 공정의 ‘nch5’라는 소자는 nmosfet으로, ‘rnpoly’라는 소자는 resistor로 모델하고자 한다면, 아래와 같은 라인을 technology configuration file의 devo_devicemap에 정의하게 됩니다. 보다 자세한 내용은 MODELZEN User Guide의 4.4절 Defining Device Mapping을 참고하시기 바랍니다.

"nch5"   : dict(type="nmosfet", prefix="M", level_dc="pwl", level_ac=1, vmax=1.2, vmin=0.0),
"rnpoly" : dict(type="resistor", prefix="R", level_dc="linear", level_ac=0),

MODELZEN은 해당 소자의 특성을 추출하기 위해서 SPICE 시뮬레이션 파일을 별도로 구성하게 되는데, 파운드리에서 제공하는 SPICE 모델의 형식에 따라서, 해당 소자를 SPICE의 built-in model의 instance로 정의하거나 subcircuit의 instance로 정의하게 됩니다. HSPICE와 같은 SPICE 계열의 시뮬레이터에서는 이를 instance 이름의 첫글자, 즉, prefix로 구분합니다.

예를 들어, SPICE netlist 상에서 "nch5" 소자가 아래와 같이 "M"으로 시작하는 instance 이름으로 정의되고 있다면,

M12  d   g   s   b   nch5  W=10u L=0.5u

devo_devicemap의 nch5에 대해서도 prefix를 "M"으로 정의해주어야 합니다. 반대로, 그 소자가 "X"로 시작하는 instance 이름으로 정의되고 있다면:

X12  d   g   s   b   nch5  W=10u L=0.5u

prefix를 "X"로 정의해주어야 합니다. MODELZEN 수행도중 특정 소자에 대해서 SPICE 관련 에러메시지가 발생한다면, 이 prefix 파라메터가 알맞게 정의되어 있는지 확인해보시기 바랍니다.

저항이나 커패시터 등 수동소자의 경우에도 트랜지스터처럼 두 가지 방법으로 SPICE 모델이 정의될 수 있기 때문에 prefix 정보의 정확한 정의가 필요합니다. 예를 들어서 SPICE netlist 상에서 "rnpoly" 소자가 아래와 같이 "R"로 시작하는 instance 이름으로 정의되고 있다면,

R22  pos neg  rnpoly  R=1000

devo_devicemap의 rnpoly에 대해서도 prefix를 "R"로 정의해주어야 합니다. 반대로, 그 소자가 "X"로 시작하는 instance 이름으로 정의되고 있다면:

X22  pos neg com rnpoly W=10u L=500u

prefix를 "X"로 정의해주어야 합니다.

참고로 Spectre 시뮬레이터를 사용하여 모델을 생성하는 경우에는 prefix 정보가 중요하지 않습니다. Spectre는 instance의 첫글자로 모델을 구분하지 않고, built-in model의 instance와 subcircuit instance를 똑같이 취급하기 때문입니다.