On folding of a fet pcell (i.e. increasing the finger count while maintaining the total combined w), how can you determine the actual generated w per finger? The assumption is that all fingers have the same finger width, i.e. the overall string of fets has just one (merged) diffusion rectangle, crossed by some number of gate stripes.
Basically, it seem the folding operation is 'open-loop': there is no feedback mechanism to say "sorry, you cannot increase the finger count any more, since the generated width per finger multipled by the requested new finger count would no longer be equal to the specified total w." This could happen for grid snapping reasons or for min-width reasons. In the (compiled) pcells that we use, there are no restrictions on finger count, and there are no pcell parameters that indicate the w per finger of the current pcell; the only relevant pcell parameter is total w, which is specified by the user, and does not change as a function of finger count or grid or min width.
Ultimately I would like to generate that warning when I try to fold too many times, i.e. when I try to increase the number of fingers such that new total w would no longer match expected total w. How can we accomplish this?