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.5.tar.gz (3.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: samu-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 63963049b000774bd3c0ef950a6beacd6fbe1f397fe1da4b3cae712eeb9cdd2b
MD5 91c70cffc4fcc06199ea4d0ea3958390
BLAKE2b-256 ec545da68e36c9e4ded8fac4547fe7c328990e43a6833e2e546e70bb0bbd3788

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