Sizing work takes place only if the cell is changed or completely new. Sizing is choosing the sub-cells characteristics so as to achieve the cell target performance. Sizing is significantly different for a leaf cell where sub-cells are components or for an intermediate cell where sub-cells are cells. This will be detailed later on. First, lets consider the possible methods for sizing.
As an example, if a cell contains only ten sub-cells, each of these sub-cells having only two parameters, each of these parameters having only 20 possible values… This example is much simpler than most real life sizing situation. However, the total number of possibilities is about 10^26
This example is just intended to show that using a pure brute force, computing intensive method is generally not the solution. Educated guess can often reduce dramatically the number or variables and can sometimes allow computer based sizing.
The most efficient method for sizing a cell is to express the cell characteristics as math expressions involving the blocks characteristics. Then, drawing a dependency graph shows free parameters, linked parameters, constraints, loops or contradictions and helps choosing a solve path.
In order for this method to give good results, only relevant blocks parameters should be considered for sizing. Again, a good approach is to consider only the specification items that have been ranked as important for the design. If sizing with a limited set of specification items leads to a design that meets the entire specification the problem is over. If the solution is not fully compliant, adding items to refine sizing is usually not very difficult. The dependency graph is getting a bit more complex but the calculation principle is not completely different. And again, the specification items that are not met usually give indications on important parameters that can then be taken into account. In case the math approach cannot be used, a model based approach can be a solution.
Of course, design activity is always based on models. “Model based design” usually stands for a design method that uses suitably simple models at high hierarchy levels. If differs from “ordinary design” in the fact that models are usually user defined instead of being standard models.
Design tips such as replacing a cell by its polynomial transfer characteristics or by a look-up table are typical from model based design.
Very often, actual sizing results from a combination of educated guess, computer based, math and model based sizing.
Except the constants of physics, all the parameters in a circuit are subject to tolerances and drifts. Validating the impact of tolerances on the cell performances is the goal of design characterization as defined in the design validation paragraph.Improperly managed tolerances are the major source of design characterization failure.When sizing a cell, tolerances should be kept in mind. This is probably the best place to save time in design. This is also a place where different architectures that seem equivalent may reveal their true difference. A robust architecture is much less sensitive to parameter tolerances and ensures faster characterization and consistent production yield.
As already stated, a leaf cell contains only components. Sizing a leaf-cell means choosing components parameters. This is somewhat different from choosing a cell parameter:
Components usually require biasing around some operating point so as to exhibit the desired characteristics. In this case, sizing is a two steps process. One step is choosing components size and operating point that give the desired performance, and then choosing additional components values so that the operating points complies with the target.
Leaf-cells require a special validation technique. First, operating point must be simulated and compared to target. If incorrect, it must be analyzed and changed until it is correct. Then the cell performance must be checked. Then operating point robustness must be checked. Operating point must be unique, DC and AC stable, process and environment stable. Then characterization can take place.
As leaf-cells are not ideal blocks, they must be checked against a large variety of conditions like power-up and power-down.
A look at the equations that rule the performances of a cell show that variables in these equations fall into six categories:
Let’s now review these categories.
These constants, such as “q”, the electron’s charge, or “k”, Boltzmann’s constant cannot be sized at all. They are what they are. The good news from a design standpoint is that they are not subject to change without notice!
These parameters, such as the temperature and the supply voltage could be used as design variables but if they can appear as degrees of freedom for the designer, they are constraints for the user. These parameters should be used only if no other solution can be found and if the upper level designer, and by extension the customer agrees.
These parameters usually specify external components. Their value can sometimes be discussed. These values are affected by tolerances.
These parameters, such as the gate oxide thickness or the bipolar forward current gain can be considered as flexible to the designer. This is true only within the limits of available processes. Of course, these parameters remain flexible until the process is chosen, they are fixed afterward. The designer should always keep in mind that anyhow, technological parameters are affected by tolerances.
These parameters such as a MOS width and length are among the most used as design variables. Tolerances on geometry are quite tight but they exist. Apart from that, geometry parameters are free for the designer and can be changed along the design process. But they must be fixed before layout, unless the cell provides some means of keeping it programmable, either by metal masks or through programming. In this case, geometry can be changed during test and even in the application. This is typically what is done sometimes during calibration.
All active electronic devices exhibit non linear characteristics and can handle currents only in one direction. When it comes to handle analog signals that can vary continuously around zero, a bias is used. Bias currents are very important design variables and as such they are among the most used. They can be changed along the design process but usually have to be fixed before layout. As for geometry, circuits can provide means of changing bias. Bias can then be changed during test or in the application. Bias can also be self adaptive in order to compensate for process parameters or temperature. This kind of approach is often used in robust designs. Unless controlled by such techniques, bias parameters are affected by tolerances.
The equations that describe the operation of a cell fall in three categories:
These equations such as the “Kirchhoff Current Law” apply in any electrical circuit.
These equations such as expressing the voltage gain or the input impedance are directly related to the circuit characteristics. Other equations in that type derive from operating constraints that are usually conditions that must be granted for the cell to operate properly.
The set of equations that completely describes the operation of the cell includes the three types of equations.
Usually, cell characteristics can be expressed as function of small signal parameters from devices. These equations result from cell equations and laws of physics.
Then devices small signal parameters can be expressed as functions of sizable parameters, geometry and bias.
Sizing a cell is solving the set of equations so that the cell characteristics comply with the specification. There are often more sizable parameters than equations and finding an appropriate sequence for solving is not so obvious. But the dependency graph method can help.
There is one dependency graph for each cell characteristics but the graphs can share some sections in common. Each graph is built starting from the equation that expresses the cell characteristic as a function of components or sub-blocks characteristics. Each characteristic is figured as a box 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.
Sizing, as any design activity is intrinsically error prone. As indicated above, sizing is usually based on simplifications and sometimes assumptions. Changing the sizing of an existing design can have side effects. For these reasons, sizing has to be validated.