Chapter 40

Dependency graph

This method is proposed to help the designer during the sizing phase. It is aimed at defining the sizing sequence by detecting free parameters, linked parameters and constraints. 

  • There is one dependency graph for each cell characteristics.
  • Each graph is built starting from the set of equations that express the cell characteristic as a function of components or sub-blocks parameters.
  • Characteristics or parameters are figured as a boxes and dependencies are figured as arrows. 

The graph is built step by step until it reaches primary parameters. Primary parameters are parameters that do not depend on anything. Among primary parameters are the constants of physics that are useless for sizing, but also geometry and bias parameters that are free for sizing.

The method for building the graph is:

  • Writing all the possible equations. The list can be extended later if some equations are missing.
  • Manually drawing boxes for parameters and arrows for dependencies on a large sheet of paper. This step may require several iterations to reach a “nice” graph. Graph drawing tools such as “dot” can be used. Dot processes an input text file to generate the graph in variety of graphic file formats. Text description has basically two sections, the boxes and the links. It is particularly well suited for our purpose. The graph dot creates sorts the boxes in layers. The first layer contains the boxes that do not receive links, the second layer contains boxes that receive links from the first layer and so on.

The graph gives a good overview of the sizing sequence, it show loops.

  • A loop, as the name states is a closed sequence of boxes connected by links.

Usually, the non linear equations system complexity makes it impossible to solve it analytically. But at this point, all the parameters have numeric values and it is possible to solve the system numerically. The point is to find a multiple variables, non linear solver...

Fortunately, such a solver is always available in an IC designer's environment, even though it is usually not used explicitly for that purpose. This tool is an electrical-behavioral simulator. The simulator can be used in the DC domain with an “analog” approach. The quotes indicate that the word analog is used in its original meaning. In the “analog” domain, voltages and currents may figure other physical data such as speed or frequency or length or whatever parameter. 

The free parameters can be swept so as to see how circuit performance changes. It is then often possible to reach a reasonable sizing after a couple of experiments. These simulations are extremely fast, so many trials can be made very quickly. 

The curves shape not only can give parameters value to reach the target performance but it also gives information on the sizing robustness. It is a good practice to size a circuit so that performance does not change much with the parameters values. If a performance vs. parameter curve has a sharp region and a soft region, sizing in the soft region is more robust.