Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to increase the significant digits of user-defined variables in output calculations in Cadence Virtuoso?

Status
Not open for further replies.

Hamed94

Junior Member level 1
Joined
Apr 19, 2017
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
172
Hi everybody,

I have defined a high precision variable "tview" equal to "5.28148562652886n" in Analog Design Environment (ADE L) of Cadence Virtuoso IC6.1.4.485.
When I tried using this variable in output expressions using VAR("tview"), I noticed that the variable is used with 6 significant digits, i.e. "5.28149E-9" is assigned to it. This less number of significant digits is unacceptable for me.
I also tried ADE XL and GXL. Unfortunately, the problem still exists. I also tried the "aelPushSignifDigits(15)" command in CIW. But didn't solve the problem.
It is worth mentioning that when I tried substituting 5.28148562652886n for VAR("tview"), the evaluation of regarding expression works fine in the ADE Calculator. However, when I assign the expression to an output, "5.28148562652886n" changes to "5.28149E-9".

Do you have any idea how to solve this?
Any comments would be highly appreciated.

Regards,
Hamed
 

Your number is 15 digits (15 places). More than 4 bytes of memory are needed to store it. Does your software permit this?

In case there's no option to choose to store, calculate and print floating point to 15 places...
You might try long integers consisting of 4 bytes each. The maximum value is around 4 billion. You must multiply or divide by a billion at the right times.

Or you can write a routine of your own, holding your 15 places in an array of 15 items. Do calculations (add/ subtract/ multiply/ divide) on each column individually in sequence. Carry or borrow manually. This method is cumbersome and consumes cycles, however you can expand it to as many places as you wish.
I suspect this method can be used to calculate Pi to a thousand places.
 

Hi,

Maybe it's a variable problem (storing a high precisiin value)
Or it's a printing problem.
I don't know.

In either case for further processing you need to do all the calculations with high precision, too.

May I ask why you need that high precision?

Klaus
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top