Netlist description
Contents Up Previous Next

Netlist description

The entry point for SimCAS is an electronic circuit defined in a netlist with the following syntax :

component <name>( @<node1>, @<node2>, ..., @<noden>, <value1>, <value2>, ..., <valuen> )  
{
   <component_name1> <instance_name1>( @<node1>, @<node2>, ..., @<noden>, <value1>, <value2>, ..., <valuen> );
   <component_name1> <instance_name2>( @<node1>, @<node2>, ..., @<noden>, <value1>, <value2>, ..., <valuen> );
   <component_name2> <instance_name1>( @<node1>, @<node2>, ..., @<noden>, <value1>, <value2>, ..., <valuen> );
   ...
   <equations>
}
Example :
component voltage_divider {
   V V1( @0, @2, 2 );
   R R1( @2, @3, 100 );
   R R2( @3, @0 );
}

@1,@2 and @0 are the circuit nodes.

This netlist describes a circuit composed of :

  • a voltage source connected between node 0 and node 2 with a voltage of 2V.
  • a resistor called R1 between node 2 and node 3 with a value of 200 ohms.
  • a resistor called R2 between node 3 and node 0 with a default value of 100 ohms.

SimCAS parses this netlist, processes it and generates the following system of equations :

UR2+UV1+UR1=0
IR2-IV1=0
-IR1+IV1=0
2-UV1=0
100*IR1-UR1=0
100*IR2-UR2=0
Then, it solves it as a CAS would do :
IV1=-0.01
IR2=-0.01
UR1=-1
UV1=2
UR2=-1
IR1=-0.01
The components are described in library files ( with .cib extention ). Users can easily create their own components using symbolic definitions.