One of the many nice features with ADS is the SDD component. Recently I had to implement an SDD with a lengthy set of equations. I then made use of extra pins (nodes) to take care of the help functions. My question is if there is a way to define functions in ADS that can be used in an SDD? In my case this would make things look a lot nicer.

Let me explain my problem with an example. Assume we have a 2-port device that has non-linear port currents that are functions of its port voltages. For instance, I2=f(V1,V2)*g(V1,V2)*h(V1,V2) where f, g and h are three non-linear relations (help equations). Now, one way of implementing this is to set port 2 to an implicit equation as: -_i2+f(_v1,_v2)*g(_v1,_v2)*h(_v1,_v2) and then type in f, g, and, h in the very same equation. If the three non-linear relations are complicated, this can become a very long equation thus making it hard to follow. A solution is to add three ports to the SDD to form the help equations. This is what I did and it works just fine. However, it would be really nice if I could define f, g, and h, outside the SDD and only call the functions with the variables, in this case _v1 and _v2. This means that I could re-use the equations should I need a second SDD using one or more of the same help equations. My guess is that this is not possible but if it is, please let me know how to do it. Thanks. /Mikael

Let me explain my problem with an example. Assume we have a 2-port device that has non-linear port currents that are functions of its port voltages. For instance, I2=f(V1,V2)*g(V1,V2)*h(V1,V2) where f, g and h are three non-linear relations (help equations). Now, one way of implementing this is to set port 2 to an implicit equation as: -_i2+f(_v1,_v2)*g(_v1,_v2)*h(_v1,_v2) and then type in f, g, and, h in the very same equation. If the three non-linear relations are complicated, this can become a very long equation thus making it hard to follow. A solution is to add three ports to the SDD to form the help equations. This is what I did and it works just fine. However, it would be really nice if I could define f, g, and h, outside the SDD and only call the functions with the variables, in this case _v1 and _v2. This means that I could re-use the equations should I need a second SDD using one or more of the same help equations. My guess is that this is not possible but if it is, please let me know how to do it. Thanks. /Mikael

VAR1

myfun(V) = - V * V / 50

SDD1

I[1,0] = (_v1)/50

I[2,0] = myfun(_v1)