R
rick
Guest
Im looking for a way to modify the parameters on a dynamic pcell which
will be used in 2 different ways:
1) when the device is placed, to be able to change the parmeters on
each instantiation which could have
a different finger count.
2) used in a high level pcell which conceptually should be the same
excep that one would have the
dbCreate whereas for the case of instantiated cells, each one would
have to be queried and then modified.
The main issue is that the syntax will change depending on the finger
count.
count =1 (0 0.03 0.03 0.03 0)
count =2 (0 0.03 0.03 0.03 0) (1 0.03 0.03 0.03 0)
count =3 (0 0.03 0.03 0.03 0) (1 0.03 0.03 0.03 0) (2 0.03 0.03 0.03
0)
count =4 (0 0.03 0.03 0.03 0) (1 0.03 0.03 0.03 0) (2 0.03 0.03 0.03
0) (3 0.03 0.03 0.03 0)
Heres the map to the above:
/*****************************************************/
;SDshrink ( 1 2 3 4 5 )
; 1 = finger #
; 2 = start top
; 3 = start bottom
; 4 = width
; 5 = contact spacing
/*****************************************************/
and the code if used in the pcell.
instNTL=dbCreateParamInst(cv tranId
"ntranl" 0:0 "R180" 1 list(
list("w" "string" w_n_b )
list("l" "string" l_n_b )
list("fingers" "string" sprintf(nil "%d" f_n_b))
list("m" "string" sprintf(nil "%d" m_n_b))
stuff deleted.....
list("SDshrink" "string" "(0 0 0 0 0)")
Probably a for each would do the job but would you have to create a
variable for each possible finger
or can it be array or something?
Thanks
Rick
will be used in 2 different ways:
1) when the device is placed, to be able to change the parmeters on
each instantiation which could have
a different finger count.
2) used in a high level pcell which conceptually should be the same
excep that one would have the
dbCreate whereas for the case of instantiated cells, each one would
have to be queried and then modified.
The main issue is that the syntax will change depending on the finger
count.
count =1 (0 0.03 0.03 0.03 0)
count =2 (0 0.03 0.03 0.03 0) (1 0.03 0.03 0.03 0)
count =3 (0 0.03 0.03 0.03 0) (1 0.03 0.03 0.03 0) (2 0.03 0.03 0.03
0)
count =4 (0 0.03 0.03 0.03 0) (1 0.03 0.03 0.03 0) (2 0.03 0.03 0.03
0) (3 0.03 0.03 0.03 0)
Heres the map to the above:
/*****************************************************/
;SDshrink ( 1 2 3 4 5 )
; 1 = finger #
; 2 = start top
; 3 = start bottom
; 4 = width
; 5 = contact spacing
/*****************************************************/
and the code if used in the pcell.
instNTL=dbCreateParamInst(cv tranId
"ntranl" 0:0 "R180" 1 list(
list("w" "string" w_n_b )
list("l" "string" l_n_b )
list("fingers" "string" sprintf(nil "%d" f_n_b))
list("m" "string" sprintf(nil "%d" m_n_b))
stuff deleted.....
list("SDshrink" "string" "(0 0 0 0 0)")
Probably a for each would do the job but would you have to create a
variable for each possible finger
or can it be array or something?
Thanks
Rick