Skip to main content

A simple coplanar electrical channel crosstalk extractor for Samuel.

Project description

Samu

A simple coplanar metal stripline electrical cross-talk 2.5D extractor.

Install

PySpice and NgSpice

This tool's GUI relies on PySpice Python lib. and the NgSpice open source SPICE simulator for generating accurate lumped-element circuit model simulations of the channel crosstalk between coplanar strips.

For that, it is required to install NgSpice.

On MacOS using Homebrew:

brew install libngspice

On Linux:

sudo apt install libngspice0

On Windows:

pyspice-post-installation --install-ngspice-dll

and then check installation (because with Windows, you never know...)

pyspice-post-installation --check-install

Install tool using pip

pip install samu

Usage

The tool requires a single input YAML file:

samu example_setup.yml -g

The input setup file contains a description of the dielectric emersing the coplanar metal strips and the geometry of the setup:

#example_setup.yml

materials:
  poliomide:
    material_type: dielectric
    rel_permittivity: 3.3
    rel_permeability: 1.0

  copper:
    material_type: metal
    resistivity: 1.68e-8 # Ohm.m

geometry:
  units: micro
  metal_width: 3.0
  metal_thickness: 0.5
  separation: 1.0
  strip_length: 3e4 # 3 cm

The -gflag enables visualization of the geometry and the crosstalk results using a GUI.

Visualize results:

In the console:

Reading setup file: data/example_setup.yml...

samu > stamp: 2025-01-31 03:58:14 > results:
Results(   resistance=336.0,
│   self_inductance=0.0,
│   mutual_inductance=7.886464596170601e-07,
│   mutual_capacitance=1.8552987505740626e-12,
│   ground_capacitance=0.0
)
Done :-)
TransientSimulationConfig(   v1=UnitValue(0 V),
│   v2=UnitValue(1 V),
│   t1=PeriodValue(1 ns),
│   t2=PeriodValue(10 μs),
│   temperature=25,
│   nominal_temperature=25,
│   step_time=1e-11,
│   end_time=1e-06
)

Using the matplotlib-based GUI:

Contribute

If you want to submit changes, keep it simple. Avoid unnecessary comments in the middle of the code - it speaks for itself.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

samu-0.1.6.tar.gz (3.2 kB view details)

Uploaded Source

File details

Details for the file samu-0.1.6.tar.gz.

File metadata

  • Download URL: samu-0.1.6.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.10

File hashes

Hashes for samu-0.1.6.tar.gz
Algorithm Hash digest
SHA256 c4d97b6cfc4ac51d249da1c5e4a8ee6918109431271c0e42e528080dec8aa632
MD5 0a9131376bb6e100ff733b1af6a890d3
BLAKE2b-256 9caaa5dff47c20ba58499d6d836197a9b5524d0218044035bcc92e44440c61ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page