8000 GitHub - milanofthe/rapidpassives: Open Source RFIC Inductor and Transformer Layout Generation Toolkit
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Open Source RFIC Inductor and Transformer Layout Generation Toolkit

License

Notifications You must be signed in to change notification settings

milanofthe/rapidpassives

Repository files navigation

RapidPassives - DRC clean RFIC Inductors and Transformers

RapidPassives is a tool for generating GDS files for RFIC inductors and transformers with arbitrary numbers of windings and winding ratios. In addition to the geometry generators, checker methods are implemented that ensure a valid geometry without clipping or overlap. See the example.py file for example usage.

For convenience, a simple GUI with geometry preview and GDS export functionality is implemented using tkinter.

Spiral Inductors

from rapidpassives import SpiralInductor

#instantiate the inductor for some geometry parameters
Ind = SpiralInductor(
    Dout=122,           # outer diameter 
    N=3,                # number of windings 
    sides=8,            # number of winding sides (8 -> octagonal)
    width=10,           # conductor width
    spacing=4,          # conductor spacing
    via_spacing=0.8,    # spacing between vias in via array
    via_width=1,        # width of vias in via array
    via_in_metal=0.45)  # distance of vias to metal edge

#plot the geometry
Ind.plot()

#export as gds file
Ind.to_gds("examples/spiralinductor.gds")

png

Symmetric Inductors

from rapidpassives import SymmetricInductor

#instantiate the inductor for some geometry parameters
Ind = SymmetricInductor(
    Dout=250,           # outer diameter
    N=3,                # number of windings
    sides=8,            # number of winding sides (8 -> octagonal)
    width=16,           # conductor width
    spacing=2,          # conductor spacing
    center_tap=False,   # include center tap
    via_extent=8,       # size of the via arrays for crossings
    via_spacing=0.8,    # spacing between vias in via array
    via_width=1,        # width of vias
    via_in_metal=0.45)  # distance of vias to metal edge

#plot the geometry
Ind.plot()

#export as gds file
Ind.to_gds("examples/symmetricinductor.gds")

png

Symmetric interleaved Transformers

from rapidpassives import SymmetricTransformer

#instantiate the transformer for some geometry parameters
Trf = SymmetricTransformer(
    Dout=200,                    # outer diameter
    N1=2,                        # number of primary side windings
    N2=3,                        # number of secondary side windings
    sides=8,                     # numer of winding sides (8 -> octagonal)
    width=12,                    # conductor width
    spacing=2,                   # conductor spacing
    center_tap_primary=True,     # include primary side center tap
    center_tap_secondary=False,  # include secondary side center tap
    via_extent=8,                # size of the via arrays for crossings
    via_spacing=0.8,             # spacing between vias in via array
    via_width=1,                 # width of vias
    via_in_metal=0.45)           # distance of vias to metal edge

#plot the geometry
Trf.plot()

#export as gds file
Trf.to_gds("examples/symmetrictransformer.gds")

png

GUI

The GUI is implemented as a wrapper for the library in gui.py and can be built locally as an executable with pyinstaller by executing the build_exe.bat file in the package directory.

png

About

Open Source RFIC Inductor and Transformer Layout Generation Toolkit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0