Long time lurker, first time poster. I first want to thank Andrew, Lawrence and other regulars for contributing to this forum.
I have a simple problem that I can't seem to figure out and I am hoping you guys can point me to the right direction. I am trying to update the "cutSpacing" of a via using the following code, where cutSpacing= x_width:y_width and I got the error below
*Error* dbReplacePropList: Invalid float - (0.09 0.09)
I figured I am not setting the type of "cutSpacing" correctly but I can't figure what it should be.
list("cutSpacing" 'float cutSpacing)
list("cutColumns" 'int numCols)
list("cutRows" 'int numRows)
Thanks in advance,
PS I am using IC6.1.5-64b.500.12
I have one more question, relating to via cutSpacing, please let me know if I should start a new thread.
The goal of my code is to create a bindkey such that I can grow and shrink via on the fly and adjust viaSpacing accordingly.
Basically since 2x2 and 3x3 vias in the newer technology node have different via spacing requirements, I am using the code below to extract these infomation for the 3x3 vias. Two by two cutSpacing can be easily obtained using via->viaHeader->viaDef->params.
The problem I am running into is that lxGetValidViaDefs is extremely slow and this is especially true when multiple vias are selected. So I am wondering if there is any other way to retrieve the "spacings" information inside the tech files without using lxGetValidViaDefs and lxComputeViaParams?
I guess one way to bypass all these is to only retrieve via spacing info when via is either 2x2 or 3x3(right now my code does this calculation everytime the bindkey is hit) but I am curious to know if there is a more clean way of doing this.
;get via spcaing parameters for 3x3 via
viaId=caar(lxGetValidViaDefs(cellViewId nil layer1 layer2))
viaParams=list(list("cutRows" 3) list("cutColumns" 3))
viaParams=lxComputeViaParams(viaId cellViewId nil viaParams)