The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 2:42pm
Pages: 1
Send Topic Print
Tolerances (Read 3656 times)
Richardsim
New Member
*
Offline



Posts: 7

Tolerances
Mar 09th, 2011, 6:54am
 
I'm using Verilog-Ams within Cadence and have been unsuccesful so far in changing the accuracy settings for (angular)displacement, force and moment across/through variables.
I have a schematic connecting verilog-ams circuit blocks. At the start of each verilog-ams file I have included:

`include "constants.vams"
`define POSITION_ABSTOL 1e-9
`define ANGLE_ABSTOL 1e-9
`include "disciplines.vams"

In my simulation window I can however see that the values used in the transient simulation are the default ones:
`define POSITION_ABSTOL 1e-6
`define ANGLE_ABSTOL 1e-6

It therefore appears that this is not the correct way to insert these settings.

Apart from changing these in disciplines.vams, how can I change these values?
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: Tolerances
Reply #1 - Mar 9th, 2011, 6:12pm
 
Richard,

  Are these values defined in the disciplines.vams? It may be that
your values are being overwritten. Just a guess.

                                                           Best Regards,

                                                                Art Schaldenbrand
Back to top
 
 
View Profile   IP Logged
Marq Kole
Senior Member
****
Offline

Hmmm. That's
weird...

Posts: 122
Eindhoven, The Netherlands
Re: Tolerances
Reply #2 - Mar 10th, 2011, 6:03am
 
You might want to check that AMS Designer loads (or does not load) the quantity.spectre file from its installation hierarchy:

$CDS_ROOT/tools/dfII/samples/artist/ahdlLib/quantity.spectre

These are values that Spectre and AMS Designer use. You can override these values using a Spectre quantity statement in your <somename>.scs file that drives the analog kernel in AMS Designer.

I am not sure about the order in which the various definitions are processed, but it seems that your definitions are overriden by some other definitions later in the input processing.

Cheers,
Marq
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: Tolerances
Reply #3 - Mar 10th, 2011, 6:40am
 
I don't know what's in your disciplines.vams, but I see

`ifdef POSITION_ABSTOL
       abstol     = `POSITION_ABSTOL;
`else
       abstol     = 1e-6;
`endif

in one I've got here, which ought to work with the lines that Richardsim posted, since he `defines these quantities before including disciplines.vams.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Marq Kole
Senior Member
****
Offline

Hmmm. That's
weird...

Posts: 122
Eindhoven, The Netherlands
Re: Tolerances
Reply #4 - Mar 14th, 2011, 2:22am
 
Hi Geoffrey,

There is some sort of interaction between the natures defined in the disciplines.vams and the quantities defined as part of Spectre. I do not know the detailss, but I do sometimes get warnings about temperature quantity redefined from K to degree C or vice versa. So I do agree that they ought to work but apparently they don't.

Hi Richardsim,

Is this the only Verilog-A module you have in your design or do you have more than this? If that is the case you will probably have to do the `defines in each module that is compiled - even the Verilog-A modules that are part of your PDK if you use that.

Cheers,
Marq
Back to top
 
 
View Profile   IP Logged
Richardsim
New Member
*
Offline



Posts: 7

Re: Tolerances
Reply #5 - Apr 8th, 2011, 7:22am
 
Sorry, for this late reply and thank you for all the suggestions.
Disciplines.vams indeed includes the definition posted by Geoffrey_Coram. Rather than adjusting this file (the software is on a server and I'm not the only user), the steps taken are:
* including this statement in each verilog-ams module
* using the define statements after the 'include disciplines.vams statement.

The order of the 'define and 'include statements therefore appears critical.

Now I can see in my simulation window that the correct tolerances are being used.
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.