Languages

CommunityCategory: MODELZENGenerating models of devices with non-standard terminal orders

MODELZEN

Generating models of devices with non-standard terminal orders

SA Support Team Staff 2020-10-21

I am trying to use MODELZEN to generate models from my circuits. But the problem is that my technology offers a few devices of which terminals are listed in non-standard orders in the SPICE netlists. Consider an example SPICE netlist shown below:

X1  com pos neg  myres  W=1u L=10u
X2  b d g s  mypmos  W=2u L=0.13u
X3  b d dn g s  mynmos  W=4u L=0.18u

The 'myres' device is a resistor, but its terminals are listed in the order of common (com), positive (pos), and negative (neg) ports. Also, the 'mypmos' device is a p-type MOSFET, of which terminals are listed in the order of body (b), drain (d), gate (g), and source (s) instead of the standard SPICE order of d, g, s, b. Lastly, the 'mynmos' device is an n-type MOSFET, and its terminals even include an extra terminal 'dn' for deep n-well contact.

How do I map these devices in the 'devo_devicemap' section of the MODELZEN technology configuration file?

1 Answers
Best Answer
SA Support Team Staff 2020-10-21

You can use the 'terms' parameter to specify the non-standard terminal orders of your special devices in the devo_devicemap section of your MODELZEN technology configuration file. The mapping for your example would be like this:

devo_devicemap = {
     "myres"    : dict("resistor", terms=['com', 'pos', 'neg']),
     "mypmos"   : dict("pmosfet", vmax=1.2, terms=['b', 'd', 'g', 's']),
     "mynmos"   : dict("nmosfet", vmax=1.8, terms=['b', 'd', 'dn', 'g', 's']),
}

The table below lists the default terminal orders assumed by MODELZEN when mapping devices to primitives. The common ports such as 'com' and 'b' are optional (i.e. they don't have to be present in your SPICE netlist). If your devices have terminal orders different from these, you need to specify them using the 'terms' parameters as illustrated above. It is important that you define the terminal orders using the standard names listed in the table. Any terminals with non-standard names (e.g. 'dn' in the above example) will be treated as "extra terminals". For the extra terminals, you must define their global DC voltage levels in the technology configuration file. For more information, please refer to the Q&A topic "How to generate models of transistors with more than 4 terminals".

MODELZEN

비표준적인 터미널 순서를 가진 소자들의 모델을 생성하는 방법

SA Support Team Staff 2020-10-21

MODELZEN을 사용해 회로에서 모델을 추출하고자 합니다. 문제는, 제가 사용하는 공정의 일부 소자들이 SPICE netlist 상에서 비표준적인 터미널 순서를 갖고 있습니다. 아래의 SPICE netlist 예제를 봐주세요.

X1  com pos neg  myres  W=1u L=10u
X2  b d g s  mypmos  W=2u L=0.13u
X3  b d dn g s  mynmos  W=4u L=0.18u

여기서 'myres' 소자는 저항소자인데, 그 터미널들이 공통(com), 양극(pos), 음극(neg)의 순서로 나열됩니다. 또한 'mypmos' 소자는 pMOSFET 소자인데, 그 터미널들이 SPICE의 표준 순서인 드레인(d), 게이트(g), 소스(s), 바디(b)의 순서 대신, b, d, g, s의 순서로 나열됩니다. 마지막으로 'mynmos' 소자는 nMOSFET 소자인데, 터미널 순서가 비표준적일 뿐만 아니라 deep n-well contact 연결을 의미하는 추가 터미널인 'dn'도 포함되어 있습니다.

이런 소자들을 MODELZEN technology configuration 파일의 devo_devicemap에서 어떻게 매핑할 수 있는지 알려주세요.

1 Answers
Best Answer
SA Support Team Staff 2020-10-21

You can use the 'terms' parameter to specify the non-standard terminal orders of your special devices in the devo_devicemap section of your MODELZEN technology configuration file. The mapping for your example would be like this:

devo_devicemap = {
     "myres"    : dict("resistor", terms=['com', 'pos', 'neg']),
     "mypmos"   : dict("pmosfet", vmax=1.2, terms=['b', 'd', 'g', 's']),
     "mynmos"   : dict("nmosfet", vmax=1.8, terms=['b', 'd', 'dn', 'g', 's']),
}

The table below lists the default terminal orders assumed by MODELZEN when mapping devices to primitives. The common ports such as 'com' and 'b' are optional (i.e. they don't have to be present in your SPICE netlist). If your devices have terminal orders different from these, you need to specify them using the 'terms' parameters as illustrated above. It is important that you define the terminal orders using the standard names listed in the table. Any terminals with non-standard names (e.g. 'dn' in the above example) will be treated as "extra terminals". For the extra terminals, you must define their global DC voltage levels in the technology configuration file. For more information, please refer to the Q&A topic "How to generate models of transistors with more than 4 terminals".