The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> Problem on instantiating analog primitives in VAMS
https://designers-guide.org/forum/YaBB.pl?num=1140536746

Message started by sonis on Feb 21st, 2006, 7:45am

Title: Problem on instantiating analog primitives in VAMS
Post by sonis on Feb 21st, 2006, 7:45am

Does any one know how to instantiate spectre models in Verilog-AMS? for instance, the mosfet model? I tried many ways but none of them is working. It will be highly appreciated if anyone knows how to do that.
thanks a lot

Title: Re: Problem on instantiating analog primitives in
Post by Andrew Beckett on Feb 21st, 2006, 10:12pm

You just instantiate the device in exactly the same way you would any other component - the exception being that the connections have to be implicit (i.e. by order rather than by name) and the parameters have to explicit (i.e. by name rather than by order).


Code:
nch #(.l(500.0n), .w(1u))  M0 ( b, a, c, \bulk_n_gnd!  );


You then need to provide a MODELPATH (probably in the hdl.var file) to tell it where to pick up the spectre models from (see the documentation for more details on the syntax).

That's it. It's pretty easy really.

In the past, it used to be necessary to provide an "apt" file alongside the model file, but this has not been needed since LDV51. If using an earlier version (you should really change to use a more recent version), you can use the genalgprim command to generate this apt file.

Regards,

Andrew.

Title: Re: Problem on instantiating analog primitives in
Post by sonis on Feb 22nd, 2006, 10:24am

Thank you so much, Andrew, I will try that.

Also, I wish if you could explain the part "\bulk_n_gnd!". Is it a environment variables or a built-in parameters?
Thanks again!

Eric



Title: Re: Problem on instantiating analog primitives in
Post by Andrew Beckett on Feb 23rd, 2006, 5:03am

The \bulk_n_gnd! is just a net name which contains an illegal character ! and so has to be escaped. In practice the example I stole it from had an inherited connection - the details of which I'm not going to go into here (I just stole the example out of a netlist that had been produced from a DFII schematic).

Regards,

Andrew.

Title: Re: Problem on instantiating analog primitives in
Post by sonis on Feb 24th, 2006, 10:49am

It seems the method you told me is working. but I got some warning messages when running ncsim. It shows that the bulk-drain/bulk-source diode is missing. Acutally I set bulk and source together. I am using the a spice mosfet model I got from a examples of Cadence. I modified the model a little bit so that it can be used in Ultrasim solver. Do you have any idea what happened?


Thanks

Best wishes
Eric

Title: Re: Problem on instantiating analog primitives in
Post by Andrew Beckett on Feb 24th, 2006, 10:48pm

This normally indicates that some of the parameters which specify the junction capacitances etc are missing in the model. The model is probably simplified.

Andrew.

Title: Re: Problem on instantiating analog primitives in
Post by sonis on Mar 16th, 2006, 1:51am

Anyway, I have already shifted to the AMS Designer environment.  And I found it easier for modeling and simulation.

Thank you so much

Eric

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