logo

NetlistGeneration

logo
welcome: Please Sign in

the fair gds editor


location: NetlistGeneration

Generating Netlists

Electrical circuit simulators or layout generations tools cannot deal with a schematic. The information exchange is made via netlists. A netlist concentrates all relevant information of a schematic. This includes a description of its components and how the components are connected. Netlist for simulations also includes information what and how to simulate. So for simulation and for a schematic or better a netlist driven layer different kinds of netlist are required. Even different simulators need different netlists.

From the SchematicEditor any kind of text based netlists can be generated. Some format are already predefined, other can simple be added. The generation is a formal process. The core definition of a netlist type is spicified in the setup and may look like this:

*spice $filename export from LayoutEditor

$groundnode(0)

*start of netlist
$netlist(spice)
*end of netlist

*required models
$model(spice)

Any expression from the definition is passed to the resulting netlist. Expressions starting with a '$' will be replaced. e.g $filename will be replace by the file name from which the netlist was extracted. $netlist(name) will be replaced by the netlist section with name of any used component. Expression containing a '$' in that section will be replaced as well. So that the above show definition may result in a netlist like this:

*spice layout/example/doubler/doubler.les export from LayoutEditor

*start of netlist
XU3 VSS VDD 2 4 INV_X1
XU2 VSS VDD 3 2 INV_X1
XU1 VSS VDD IN 3 INV_X1
XU4 VSS VDD IN 4 OUT AND2_X1
*end of netlist


*required models
.include layout/library/openCellLibrary/spicemodel.sp

The device specific netlist information is stored with each component. Within the component manager you can define unlimited different netlist information for any device. The information is splited into the pure netlist information which is listed one for each format and a model information which is listed once for each device type. Exporting the netlist is done via the save as feature in the schematic. The netlist body is defined in the setup dialog of the LayoutEditor.

An overview of all supported expression in a netlist:

global parameters:

$groundnode(name)

how the ground node will be named. If not defined, 0 is used

$model(type)

all models of the sheet

$netlist(type)

netlist of a sheet

$filename

filename

$notEmpty(expression;value)

value is printed, if expression is not empty

$empty(expression;value)

value is printed, if expression is empty

sheet specific:

$ports(format[;separator])

output non global ports of this sheet $portname outputs its name. The seperator is optional.

$allports(format)

output all ports of this sheet $portname outputs its name.

$globalports(format)

output all global ports of this sheet $portname outputs its name.

$sheetname

name of the sheet

component specific:

$parameters(format)

output all component parameter in that format $parametername and $parametervalue can be used

$node(port)

node whitch is connected with port

$devicename

devicename

$name_of_the_parameter

value of "name_of_the_parameter"

$parametername_num

name of the parameter in position 'num'

$librarypath

path of the library the component belongs to

See also


CategoryTutorial CategoryFileFormatOther

NetlistGeneration (last edited 2011-12-17 17:57:00 by JürgenThies)