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.
Metadata
Release files for samu 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| samu-0.1.6.tar.gz | 3.2 kB | Details |
Release files / samu-0.1.6.tar.gz
| Download URL | samu-0.1.6.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c4d97b6cfc4ac51d249da1c5e4a8ee6918109431271c0e42e528080dec8aa632
|
|
BLAKE2b-256 checksum How to use checksums |
9caaa5dff47c20ba58499d6d836197a9b5524d0218044035bcc92e44440c61ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.10
|