The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Behavioral Models >> Behavioural modelling in HSpice
https://designers-guide.org/forum/YaBB.pl?num=1140777972

Message started by aamar on Feb 24th, 2006, 2:46am

Title: Behavioural modelling in HSpice
Post by aamar on Feb 24th, 2006, 2:46am

Hallo,
Is there a way to describe behavioural model to be used in HSpice (the model should include conditional statments)? (something like SpectreHDL with Spectre netlists).

i.e. I have a voltage controlled current source which depends on the Gate-Source voltage of a transistor, where the source is not constantly defined since it depends on the direction of the current in the transistor.

Best regards,

amar

Title: Re: Behavioural modelling in HSpice
Post by Geoffrey_Coram on Feb 24th, 2006, 6:13am

Some HSpice licenses include hsp-vacomp for Verilog-A compilation (not the "basic" hspice, but a somewhat more expensive one).

Also, HSpice allows fairly general expressions in their dependent source equations; you can include absolute values, and you may be able to include conditional expressions '(vds>0) * expr1 + (vds<=0) * expr2'

Title: Re: Behavioural modelling in HSpice
Post by aamar on Mar 6th, 2006, 6:38am

Dear Mr. Coram,

Thanks for your reply,

I don't have the -vacomp license.

and since you replied and I am searching in the Hspice manual for such conditional commands but I can't find it, can you tell me plz what exactly should I search for.

By the way, the only conditional possibility is included in N,PPWL sources, but it is not helpful in my case because the expression which I am using is depending on two values (i.e. bsource (voltage, current)) and in the G vccs PWL source I think I can only define the current depending on one parameter.

The other solution which I am trying is a two position ideal switch, which is controlled with  the source drain voltage and it should switch between two models (subcircuits).

Note: I have done it already with spectreHDL and spectre.

Thanks again

aamar

Title: Re: Behavioural modelling in HSpice
Post by Geoffrey_Coram on Mar 15th, 2006, 6:02am

Without knowing exactly what you are trying to do, I'm having a little trouble helping.  I'm a little concerned that putting in conditional statements may introduce a discontinuity that you might not really want.

If you want something that depends on both V and I, you could certainly convert the I to a V using a CCVS, and then combine the two Vs with a two-input VCVS.

Also, consider using a voltage-controlled resistor.  I found this equation

Rpure 3 4 'Rsh/mf*(l-dl)/(w-dw)*tfacp*(1+pvcp1*(tanh(pvcp2*abs(v(3,4)/(l-dl))+pvcp3)-tanh(pvcp3)))'

in an HSpice model file.

HSpice certainly gives you enough rope to hang yourself. :)

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.