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
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63963049b000774bd3c0ef950a6beacd6fbe1f397fe1da4b3cae712eeb9cdd2b
|
|
| MD5 |
91c70cffc4fcc06199ea4d0ea3958390
|
|
| BLAKE2b-256 |
ec545da68e36c9e4ded8fac4547fe7c328990e43a6833e2e546e70bb0bbd3788
|