next up previous contents index
Next: FastHenry Partition Editor Up: The FastCap/FastHenry Interface Previous: Saving and Recalling Context   Contents   Index


Defining FastHenry Terminals

In order to use FastHenry, the contact points between which inductance is measured must be specified. The Edit FastHenry Terminals button in the RLC Extraction panel Partition page places Xic in a mode where these terminals can be defined. FastCap does not use terminals.

There are some subtleties in defining terminal locations that if not understood by the user can lead to frustration and confusion. Please read this section thoroughly before attempting to use this feature.

First, terminals must appear in pairs in each conductor group. A conductor group is a set of conducting objects that are connected together by vias. Each conductor group can have exactly two terminals, or exactly zero terminals. Any other condition will generate an error. The editor allows no more than two terminals to be defined in each conductor group.

Second, a terminal is specified by defining a rectangular area. This area must enclose one or more nodes of a conductor. The ``nodes'' are internal locations where conductors can make contact. This is the main subtlety; the user must know where the nodes are. It is possible to define a terminal box that covers no nodes, which will generate an error.

The nodes are located at points in the following locations:

  1. The midpoints of the sides of each partition rectangle.
  2. The center of each partition rectangle.

The partition rectangles are the highlighted rectangles as displayed in the FastHenry partition editor, which is described below. As the partitioning is refined, more nodes are created, as the partition boxes are subdivided. Thus, whether or not a terminal box covers any nodes may be affected by the level of partitioning. It does not matter whether terminal boxes are defined before or after the partitioning is refined.

It is highly recommended that terminals be located so as to contact nodes that are defined by the default partitioning, i.e., before the partition editor is used. These will always be valid.

The default partitioning for an object is generated as follows:

  1. The via areas are subtracted from the conductor.
  2. The conductor region is broken up into rectangles, and projections of every edge of the polygon are used to subdivide every rectangle.
  3. The rectangles are subdivided along enclosed edges from other objects.
  4. The operation loops through all conductors of all layers, until all subdivision has been done.

The result is a set of rectangles that cover each conductor, that represents the default partitioning. This division is normally invisible, however the partition rectangles can be viewed in the partition editor. It is the midpoint of the sides of each of these rectangles, plus the central point, which are the nodes.

Generally, terminal boxes are defined along the edge of a conducting object. If, for example, the edge is the end of a long strip, then the terminal box can enclose the entire edge, guaranteeing that it will cover the node(s). This is true in general -- an edge will always contain at least one node.

It is not a problem and is often desirable that the terminal box enclose more than one node. This may roughly correspond to the difference between a point and a linear contact. All nodes enclosed by a terminal box are made equivalent with FastHenry ``.Equiv'' statements.

Once the Edit FastHenry Terminals button is engaged, terminal boxes can be defined, by pressing button 1, dragging over the area, and releasing. One can also press, hold motionless for a brief period, and release. Then, pressing a second time will complete the rectangle.

Terminal boxes are created for the current layer only. An attempt to create a terminal box on a non-conductor layer will result in an error message. A terminal box must intersect an object on the layer. If the box is successfully created, a highlighting box will remain visible. The editor allows no more than two terminals to be defined in each conductor group. Note that the terminal boxes do not snap to the grid.

If a terminal box is defined that intersects an existing box on the same layer, the existing box will be deleted, and no new box is created. One can also simply click on an existing box to delete it.

When defining terminals, the first terminal defined in a conductor group is the reference terminal. This is the terminal that will be listed first in the ``.external'' line in the FastHenry input file. In the on-screen display, this terminal is shown with a diagonal line across the upper left corner. One can think of these as the terminals with the ``dot'' in the dot convention.

When the interface processes the geometry, which occurs before FastHenry file generation, the primary node number is shown on-screen in the center of each terminal box. The node numbers are generated internally, and the numbers shown are the same as those that appear in the .external lines of the Fasthenry file. This makes the correspondence obvious.

It is very important that the current layer be set to the layer of the object on which the terminal is intended. If you forget to change the layer, then the terminal may instead be assigned to an underlying object on a different layer, leading to errors.


next up previous contents index
Next: FastHenry Partition Editor Up: The FastCap/FastHenry Interface Previous: Saving and Recalling Context   Contents   Index
Stephen R. Whiteley 2012-04-01