nport.deemb — De-embedding tools

Introduction

This module implements a number of de-embedding methods. Each de-embedding method is implemented as a subclass of Deembedder. Currently, only a few de-embedding methods are included with nport (see De-embedding methods below).

Usage

A Deembedder object is instantiated by passing the n-port parameters of the method’s dummy structures. The resulting Deembedder object can then de-embed any measurement:

Deembedder.deembed(measurement)

De-embed the given measurement parameters

Parameters:
  • measurement (nport.NPort) – full measurement structure
Returns:

de-embedded parameters

Return type:

nport.NPort (S)

The following example de-embeds some transistor measurements using the two-step de-embedding method:

from nport import touchstone
from nport.deemb import TwoStep

# read in S-parameters of de-embedding structures
open_ = touchstone.read("deemb_open.s2p")
short = touchstone.read("deemb_short.s2p")

# set up the de-embedder
twostep = TwoStep(open_, short)

# read in S-parameters of devices
nmos16 = touchstone.read("nmos_W16_L80_Vg10_Vd12.s2p")
nmos32 = touchstone.read("nmos_W32_L80_Vg10_Vd12.s2p")
nmos64 = touchstone.read("nmos_W64_L80_Vg10_Vd12.s2p")

# de-embed the measurements
deemb16 = twostep.deembed(nmos16)
deemb32 = twostep.deembed(nmos32)
deemb64 = twostep.deembed(nmos64)

# write the de-embedded S-parameters to touchstone files
touchstone.write(deemb16, "nmos_W16_L80_Vg10_Vd12_deembedded")
touchstone.write(deemb32, "nmos_W32_L80_Vg10_Vd12_deembedded")
touchstone.write(deemb64, "nmos_W64_L80_Vg10_Vd12_deembedded")

Other de-embedding methods require more dummy structures. Aside from having to pass more arguments when instantiating the Deembedder object, the de-embedding script looks the same.

De-embedding methods

Two-step de-embedding

This class implements basic open-short deembedding.

class nport.deemb.TwoStep(open, short)

A simple two-step (open-short) de-embedder

Parameters:

Vandamme three-step de-embedding

This class implements the three-step deembedding algorithm by Vandamme et al. [VAN01].

class nport.deemb.Vandamme01(open, short1, short2, through)

“Improved Three-Step De-Embedding Method to Accurately Account for the Influence of Pad Parasitics in Silicon On-Wafer RF Test-Structures” by Ewout P. Vandamme, Dominique M. M.-P. Schreurs, and Cees van Dinther in IEEE Transactions on Electron Devices, vol. 48, no. 4, pp. 737-742, 2001

Parameters:

Kolding four-step de-embedding

This class implements the three-step deembedding algorithm by Kolding [KOL00].

class nport.deemb.Kolding00(simple_open, simple_short, open, short1, short2, alpha=0.0, asymmetric=False)

“A Four-Step Method for De-Embedding Gigahertz On-Wafer CMOS Measurements” by Troels Emil Kolding in IEEE Transactions on Electron Devices, vol. 47, no. 4, pp. 734-740, 2000

Parameters:
  • simpleopen (nport.NPort) – simple open structure
  • simpleshort (nport.NPort) – simple short structure
  • open (nport.NPort) – open structure
  • short1 (nport.NPort) – port 1 short structure
  • short2 (nport.NPort) – port 2 short structure
  • through (nport.NPort) – through structure
  • alpha (float) – compensation parameter to account for the imperfections of the short standard when gaps become large
  • asymmetric (bool) – use the generalized algorithm that also handles asymmetric test-fixtures (NOT VERIFIED!)
[VAN01]“Improved Three-Step De-Embedding Method to Accurately Account for the Influence of Pad Parasitics in Silicon On-Wafer RF Test-Structures” by Ewout P. Vandamme, Dominique M. M.-P. Schreurs, and Cees van Dinther in IEEE Transactions on Electron Devices, vol. 48, no. 4, pp. 737-742, 2001
[KOL00]“A Four-Step Method for De-Embedding Gigahertz On-Wafer CMOS Measurements” by Troels Emil Kolding in IEEE Transactions on Electron Devices, vol. 47, no. 4, pp. 734-740, 2000