You are not logged in.

#1 2019-04-16 06:56:15

hyde
Member
From: Germany
Registered: 2012-11-17
Posts: 22

SymAC -- An AC-Domain Symbolic Circuit Solver

Introduction

SymAC is a circuit simulator, which produces, in contrary to 'normal' simulator such as SPICE symbolic results, that is, mathematical expressions for the voltages and currents in a network. This can be used to gain insight into a circuit or to find parameters to improve the performance of a system.

Features

SymAC is a work-in-progres, but already includes a lot of useful features for circuit designers. It can solve any linear network (that has a sensible solution, at least) and does this in a blink of an eye. Stuff it can do:

  • Solve linear networks described in text-based netlists (SPICE-like)

  • Calculate n-port-parameters (Z, Y and S)

  • Calculate spot noise, integrated noise and noise transfer functions

  • Support of expressions for device values (for example A0 * R1 as value for a resistor)

  • Support of parameters for devices (noise=yes etc., preliminary)

  • Simple-to-use result printing

  • Very little dependencies (only GiNaC for symbolic computations and some boost libraries)

  • 'Linearization' of non-linear devices (non-linear devices are substituted with their small signal equivalent model, currently only mosfets supported)

  • Simplification of results: (R1 * R2) / (R1 + R2) reduces to R1 for R1 << R2 (preliminary, but it works)

  • Show network matrices to see which equations describe the network (the algorithm is modified nodal analysis, MNA)

Check out the github page for more!

The project is actively developed, new features come every week or month, depending on the complexity. My future goals are to fully support noise simulations (calculate equivalent input noise), add behavioural models (similar to verilogA) in the s-domain, fully integrate the simplification mechanism and add a plot tool.

I'm happy on any users and of course feedback.

Here is a pkgbuild for the project, although it is not tested (and it's been some times since I wrote one). My archlinux machine is broken and I'm using ubuntu at work. If anyone sees any errors, I'm happy to fix them, thanks!

# Maintainer: Patrick Schulz <pschulz@posteo.de>
pkgname=symac
pkgver=0.3
pkgrel=1
pkgdesc="SymAC - An AC-Domain Symbolic Circuit Solver"
arch=(i686 x86_64)
license=('GPL')
depends=(ginac boost boost-libs)
source=("https://github.com/patrickschulz/symac.git")
md5sums=('SKIP')

build() {
    cd symac/src
    make
}

package() {
    cd $pkgdir
    mkdir usr/bin
    cp $srcdir/symac/src/symac usr/bin
}

Offline

#2 2019-04-16 07:16:09

fukawi2
Ex-Administratorino
From: .vic.au
Registered: 2007-09-28
Posts: 6,222
Website

Re: SymAC -- An AC-Domain Symbolic Circuit Solver

I'm suspending this thread for the moment while I discuss with the other moderators if it violates our advertising rules: https://wiki.archlinux.org/index.php/Co … licitation

EDIT: restoring as the consensus among the moderators is that it's OK. Carry on smile

Last edited by fukawi2 (2019-04-16 08:33:16)

Offline

#3 2019-04-16 12:52:55

hyde
Member
From: Germany
Registered: 2012-11-17
Posts: 22

Re: SymAC -- An AC-Domain Symbolic Circuit Solver

Thank you for restoring the post! I've read the advertising rules and I'm sorry this post came across the wrong way. If I can improve it in some way, I would be happy to hear about it smile
This tool is in no way commercial, it is mainly implemented by me in my free time. It is intended to help electronic designers (e.g. me wink ) in their daily activities.

Offline

Board footer

Powered by FluxBB