I am trying to create layout instances using SKILL and also be able to change the values of properties. The problem is when I create an instance using SKILL functions (either dbCreateParamInst or dbCreateInst) and change the value of a property (lets say number of fingers in an nfet) the instance comes out diffrerent than the one made through the GUI, basically the property values are not the same, (width, length and so on). I also tried running cdfUpdateInstParam but that didn't fix the problem either. Does anyone know why the property values are diffrerent?
I'm assuming that the instance has associated cdf parameters. If you change the value of these parameters through SKILL, you will need to manually trigger the cdf callback for that parameter. As an example:
inst = dbCreateParamInst(your_args_insterted_here)
cdf = cdfGetInstCDF(inst)
cdf->fingers->value = 12
I hope this gets you what you need. BTW, the default cdf values are stored as cdf->fingers->defValue.
evalstring on the parameter's callback did the trick. Thanks.