public static interface FoldedMos.GateSpace
The FoldedMos constructor builds FoldedMos transistors from left to right. Just before it adds a new poly gate or a new diffusion contact (except for the first diffusion contact) it calls GateSpace.getExtraSpace to find out the amount of "extra space" it should leave between this new object and the preceeding object.
Modifier and Type | Method and Description |
---|---|
double |
getExtraSpace(double requiredExtraSpace,
int foldNdx,
int nbFolds,
int spaceNdx,
int nbGates)
The getExtraSpace() method returns the desired amount of "extra
space" to leave between the specified objects.
|
double getExtraSpace(double requiredExtraSpace, int foldNdx, int nbFolds, int spaceNdx, int nbGates)
First, we define "extra space". The "normal" distance from the center of a minimum sized diffusion contact and the center of a minimum width transistor gate is 4 lambda. For this normal spacing we define the "extra space" to be 0 lambda. However if the width of the transistor is less than 5 lambda, then the distance between the centers of the diffusion contact and the gate must be 4.5 lambda. In that case we define the extra space to be .5 lambda.
Similarly if the distance between the centers of two adjacent series gates is 5 lambda then the "extraSpace" is 0 lambda. However if the distance between the centers of two adjacent series gates is 6 lambda then the "extra space" is 1 lambda.
requiredExtraSpace
- the extra space required by the design rules. Normally
this is 0 lambda. However, if the gate width is less than
5 lambda, the requiredExtraSpace between the diffusion
contact and the gate is .5 lambda.foldNdx
- the index of this fold. This will range between 0 and
nbFolds-1nbFolds
- the number of folds in this FoldedMosspaceNdx
- the index of this space within this fold. This will range
between 0 and nbGates. If spaceNdx==0 or spaceNdx==nbGates
then getSpace must return the distance between a diffusion
contact and a gate. Otherwise getSpace must return the
distance between gates spaceNdx-1 and spaceNdx.nbGates
- the total number of gates in this FoldedMos.