Netlist

Last updated

In electronic design, a netlist is a description of the connectivity of an electronic circuit. [1] [2] In its simplest form, a netlist consists of a list of the electronic components in a circuit and a list of the nodes they are connected to. [1] [3] A network (net) is a collection of two or more interconnected components.

Contents

The structure, complexity and representation of netlists can vary considerably, but the fundamental purpose of every netlist is to convey connectivity information. Netlists usually provide nothing more than instances, nodes, and perhaps some attributes of the components involved. [4] If they express much more than this, they are usually considered to be a hardware description language such as Verilog or VHDL, or one of several languages specifically designed for input to simulators or hardware compilers (such as SPICE analog simulation netlists).

Types of netlists

Netlists can be:

Contents and structure of a netlist

Most netlists either contain or refer to descriptions of the parts or devices used. Each time a part is used in a netlist, this is called an "instance".

These descriptions will usually list the connections that are made to that kind of device, and some basic properties of that device. These connection points are called "terminals" or "pins", among several other names.

An "instance" could be anything from a MOSFET transistor or a bipolar junction transistor, to a resistor, a capacitor, or an integrated circuit chip.

Instances have "terminals". In the case of a vacuum cleaner, these terminals would be the three metal prongs in the plug. Each terminal has a name, and in continuing the vacuum cleaner example, they might be "Neutral", "Live" and "Ground". Usually, each instance will have a unique name, so that if you have two instances of vacuum cleaners, one might be "vac1" and the other "vac2". Besides their names, they might otherwise be identical.

Networks (nets) are the "wires" that connect things together in the circuit. There may or may not be any special attributes associated with the nets in a design, depending on the particular language the netlist is written in, and that language's features.

Instance based netlists usually provide a list of the instances used in a design. Along with each instance, either an ordered list of net names is provided, or a list of pairs provided, of an instance port name, along with the net name to which that port is connected. In this kind of description, the list of nets can be gathered from the connection lists, and there is no place to associate particular attributes with the nets themselves. SPICE is an example of instance-based netlists.

Net-based netlists usually describe all the instances and their attributes, then describe each net, and say which port they are connected on each instance. This allows for attributes to be associated with nets. EDIF is probably the most famous of the net-based netlists.

Hierarchy

In large designs, it is a common practice to split the design into pieces, each piece becoming a "definition" which can be used as instances in the design. In the vacuum cleaner analogy, one might have a vacuum cleaner definition with its ports, but now this definition would also include a full description of the machine's internal components and how they connect (motors, switches, etc.), like a wiring diagram does.

A definition which includes no instances is called a "primitive" (or a "leaf", or other names); whereas a definition which includes instances is "hierarchical".

A "folded" hierarchy allows a single definition to be represented several times by instances. An "unfolded" hierarchy does not allow a definition to be used more than once in the hierarchy.

Folded hierarchies can be extremely compact. A small netlist of just a few instances can describe designs with a very large number of instances. For example, suppose definition A is a simple primitive, like a memory cell. Then suppose definition B contains 32 instances of A; C contains 32 instances of B; D contains 32 instances of C; and E contains 32 instances of D. The design now contains 5 definitions (A through E) and 128 instances. Yet, E describes a circuit that contains over a million memory cells.

Unfolding

In a "flat" design, only primitives are instanced. Hierarchical designs can be recursively "exploded" ("flattened") by creating a new copy (with a new name) of each definition each time it is used. If the design is highly folded, expanding it like this will result in a much larger netlist database, but preserves the hierarchy dependencies. Given a hierarchical netlist, the list of instance names in a path from the root definition to a primitive instance specifies the single unique path to that primitive. The paths to every primitive, taken together, comprise a large but flat netlist that is exactly equivalent to the compact hierarchical version.

Backannotation

Backannotation is data that could be added to a hierarchical netlist. Usually they are kept separate from the netlist, because several such alternate sets of data could be applied to a single netlist. These data may have been extracted from a physical design, and might provide extra information for more accurate simulations. Usually the data are composed of a hierarchical path and a piece of data for that primitive or finding the values of RC delay due to interconnection.

Inheritance

Another concept often used in netlists is that of inheritance. Suppose a definition of a capacitor has an associated attribute called "Capacitance", corresponding to the physical property of the same name, with a default value of "100 pF" (100 picofarads). Each instance of this capacitor might also have such an attribute, only with a different value of capacitance. And other instances might not associate any capacitance at all. In the case where no capacitance is specified for an instance, the instance will "inherit" the 100 pF value from its definition. A value specified will "override" the value on the definition. If a great number of attributes end up being the same as on the definition, a great amount of information can be "inherited", and not have to be redundantly specified in the netlist, saving space, and making the design easier to read by both machines and people.

Related Research Articles

Wire wrap Electronic component wiring technique

Wire wrap is an electronic component assembly technique that was invented to wire telephone crossbar switches, and later adapted to construct electronic circuit boards. Electronic components mounted on an insulating board are interconnected by lengths of insulated wire run between their terminals, with the connections made by wrapping several turns of uninsulated sections of the wire around a component lead or a socket pin.

Point-to-point construction

Point-to-point construction is a non-automated method of construction of electronics circuits widely used before the use of printed circuit boards (PCBs) and automated assembly gradually became widespread following their introduction in the 1950s. Circuits using thermionic valves were relatively large, relatively simple, and used large sockets, all of which made the PCB less obviously advantageous than with later complex semiconductor circuits. Point-to-point construction is still widespread in power electronics where components are bulky and serviceability is a consideration, and to construct prototype equipment with few or heavy electronic components. A common practice, especially in older point-to-point construction, is to use the leads of components such as resistors and capacitors to bridge as much of the distance between connections as possible, reducing the need to add additional wire between the components.

Capacitance Ability of a body to store an electrical charge

Capacitance is the ratio of the amount of electric charge stored on a conductor to a difference in electric potential. There are two closely related notions of capacitance: self capacitance and mutual capacitance. Any object that can be electrically charged exhibits self capacitance. In this case the electric potential difference is measured between the object and ground. A material with a large self capacitance holds more electric charge at a given potential difference than one with low capacitance. The notion of mutual capacitance is particularly important for understanding the operations of the capacitor, one of the three elementary linear electronic components. In a typical capacitor, two conductors are used to separate electric charge, with one conductor being positively charged and the other negatively charged, but the system having a total charge of zero. The ratio in this case is the magnitude of the electric charge on either conductor and the potential difference is that measured between the two conductors.

Application-specific integrated circuit Integrated circuit customized (typically optimized) for a specific task

An application-specific integrated circuit is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use. For example, a chip designed to run in a digital voice recorder or a high-efficiency video codec is an ASIC. Application-specific standard product (ASSP) chips are intermediate between ASICs and industry standard integrated circuits like the 7400 series or the 4000 series. ASIC chips are typically fabricated using metal-oxide-semiconductor (MOS) technology, as MOS integrated circuit chips.

Electrical elements are conceptual abstractions representing idealized electrical components, such as resistors, capacitors, and inductors, used in the analysis of electrical networks. All electrical networks can be analyzed as multiple electrical elements interconnected by wires. Where the elements roughly correspond to real components, the representation can be in the form of a schematic diagram or circuit diagram. This is called a lumped-element circuit model. In other cases, infinitesimal elements are used to model the network, in a distributed-element model.

Practical capacitors and inductors as used in electric circuits are not ideal components with only capacitance or inductance. However, they can be treated, to a very good degree of approximation, as being ideal capacitors and inductors in series with a resistance; this resistance is defined as the equivalent series resistance (ESR). If not otherwise specified, the ESR is always an AC resistance, which means it is measured at specified frequencies, 100 kHz for switched-mode power supply components, 120 Hz for linear power-supply components, and at its self-resonant frequency for general-application components. Additionally, audio components may report a "Q factor", incorporating ESR among other things, at 1000 Hz.

Electronic component Discrete device in an electronic system

An electronic component is any basic discrete device or physical entity in an electronic system used to affect electrons or their associated fields. Electronic components are mostly industrial products, available in a singular form and are not to be confused with electrical elements, which are conceptual abstractions representing idealized electronic components and elements.

Standard cell

In semiconductor design, standard cell methodology is a method of designing application-specific integrated circuits (ASICs) with mostly digital-logic features. Standard cell methodology is an example of design abstraction, whereby a low-level very-large-scale integration (VLSI) layout is encapsulated into an abstract logic representation.

Standard Parasitic Exchange Format (SPEF) is an IEEE standard for representing parasitic data of wires in a chip in ASCII format. Non-ideal wires have parasitic resistance and capacitance that are captured by SPEF. These wires also have inductance that is not included in SPEF. SPEF is used for delay calculation and ensuring signal integrity of a chip which eventually determines its speed of operation.

Variable capacitor

A variable capacitor is a capacitor whose capacitance may be intentionally and repeatedly changed mechanically or electronically. Variable capacitors are often used in L/C circuits to set the resonance frequency, e.g. to tune a radio, or as a variable reactance, e.g. for impedance matching in antenna tuners.

Capacitor types

Capacitors are manufactured in many forms, styles, lengths, girths, and from many materials. They all contain at least two electrical conductors separated by an insulating layer. Capacitors are widely used as parts of electrical circuits in many common electrical devices.

In electronics, the Miller effect accounts for the increase in the equivalent input capacitance of an inverting voltage amplifier due to amplification of the effect of capacitance between the input and output terminals. The virtually increased input capacitance due to the Miller effect is given by

Parasitic capacitance, or stray capacitance is an unavoidable and usually unwanted capacitance that exists between the parts of an electronic component or circuit simply because of their proximity to each other. When two electrical conductors at different voltages are close together, the electric field between them causes electric charge to be stored on them; this effect is capacitance.

Quite Universal Circuit Simulator

Quite Universal Circuit Simulator (Qucs) is a free-software electronics circuit simulator software application released under GPL. It offers the ability to set up a circuit with a graphical user interface and simulate the large-signal, small-signal and noise behaviour of the circuit. Pure digital simulations are also supported using VHDL and/or Verilog.

Capacitor Passive two-terminal electronic component that stores electrical energy in an electric field

A capacitor is a device that stores electrical energy in an electric field. It is a passive electronic component with two terminals.

Ceramic capacitor

A ceramic capacitor is a fixed-value capacitor where the ceramic material acts as the dielectric. It is constructed of two or more alternating layers of ceramic and a metal layer acting as the electrodes. The composition of the ceramic material defines the electrical behavior and therefore applications. Ceramic capacitors are divided into two application classes:

CircuitLogix

CircuitLogix is a software electronic circuit simulator which uses PSpice to simulate thousands of electronic devices, models, and circuits. CircuitLogix supports analog, digital, and mixed-signal circuits, and its SPICE simulation gives accurate real-world results. The graphic user interface allows students to quickly and easily draw, modify and combine analog and digital circuit diagrams. CircuitLogix was first launched in 2005, and its popularity has grown quickly since that time. In 2012, it reached the milestone of 250,000 licensed users, and became the first electronics simulation product to have a global installed base of a quarter-million customers in over 100 countries.

In electronic design automation, parasitic extraction is the calculation of the parasitic effects in both the designed devices and the required wiring interconnects of an electronic circuit: parasitic capacitances, parasitic resistances and parasitic inductances, commonly called parasitic devices, parasitic components, or simply parasitics.

Film capacitor Electrical capacitor with an insulating plastic film as the dielectric

Film capacitors, plastic film capacitors, film dielectric capacitors, or polymer film capacitors, generically called film caps as well as power film capacitors, are electrical capacitors with an insulating plastic film as the dielectric, sometimes combined with paper as carrier of the electrodes.

SystemC AMS is an extension to SystemC for analog, mixed-signal and RF functionality. The SystemC AMS 2.0 standard was released on April 6, 2016 as IEEE Std 1666.1-2016.

References

  1. 1 2 Holt, Randy. "Schematic vs. Netlist: A Guide to PCB Design Integration". blog.optimumdesign.com. Retrieved 2019-04-03.
  2. "netlist.html". www.vlsiip.com. Retrieved 2019-04-03.
  3. "Netlist File Format" (PDF). www.expresspcb.com. Retrieved August 24, 2021. The netlist is written in a single file, but includes four sections: 1) A file header, 2) A table listing each of the components, 3) A table listing each of the net names, 4) A table listing each of the net connections. Every table entry is written using a single line of text that ends with a CRLF. The fields of the table are separated with Space characters (0x20). String fields begin and end with double quotes. Each of the three tables are terminated by a blank line (CRLF).
  4. "Example Circuits and Netlists | Using The spice Circuit Simulation Program | Electronics Textbook". www.allaboutcircuits.com. Retrieved 2019-04-03.

Further reading