The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 2:28pm
Pages: 1
Send Topic Print
multiple power supply and connect module (Read 2563 times)
rajdeep
Senior Member
****
Offline



Posts: 220
UK
multiple power supply and connect module
Oct 07th, 2009, 1:37am
 
Hi,

I have an AMS design with 2 power domains, 5V and 1.8V. Now is it possible to tell the AMS tool to place connect modules judiciously i.e. place different connect modules for signals in different domains.
By different connect modules I mean with differen threshold (Vih, Voh etc.) levels.

It sounds crazy!! But I guess it is a very common problem. Im sure there should be some work around.
Would really appreciate if someone helps.

Im very new to AMS Designer, moving from spectreVerilog...at last!

Thanks,
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
Riad KACED
Community Member
***
Offline



Posts: 93
Swindon, UK
Re: multiple power supply and connect module
Reply #1 - Oct 7th, 2009, 1:27pm
 
Hi Rajdeep,

Yes this is very possible with AMS Designer. I could tell a few things on how to run this feature but the best for you is to look at following couple of Docs.

1. From the IC stream (my version is 5.10.41.500.6.138).
There is a PDF file called 'Workshop for AMSD Virtuoso Use Model'. Chapter 5 in this workshop is dedicated to what your are asking. The great thing about it is that you can go through the design database and exercise this topic on a real design, not just reading  the manual.

2. If you fancy reading the manuals, then the 'Virtuoso® AMS Designer Simulator User Guide' is all what you need. Again chapter 10 'Designing with Multiple Power Supplies' (in my IUS  08.20-s016) explains it all.

Hope this helps you for a good start !

Cheers  :)
Riad.
Back to top
 
 

Riad KACED
PDK, EDA Support Engineer.
View Profile   IP Logged
rajdeep
Senior Member
****
Offline



Posts: 220
UK
Re: multiple power supply and connect module
Reply #2 - Oct 8th, 2009, 2:06am
 
Thanks Riad!

Can you please provide the directory path for the files you mentioned? I know they are in the installation path, but cant locate it, I always get lost here!!

From another source I have got two ways of doing it. Im kind of inclined towards the 2nd method which talks about creating ground sensitive and power sensitive connect modules and add the sensitivity statements to the pins of the ordinary modules. Do you reckon its of any good? Because adding such sensitivity statement to every pin of the design is not something 'every' (read old :-P) designers would like. Im still having problems in basic things though at this point, like using my custom connect modules etc etc. Long way to go.....

cheers!
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
rajdeep
Senior Member
****
Offline



Posts: 220
UK
Re: multiple power supply and connect module
Reply #3 - Oct 8th, 2009, 8:29am
 
Smiley

Its working!! The supply sensitive and ground sensitive method is working fine.
There seems to be another method which is based on block-based discipline resolution!!
Now Im not yet sure how to make this one work.

Does anyone have any preference between these 2 methods?

cheers!
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
Riad KACED
Community Member
***
Offline



Posts: 93
Swindon, UK
Re: multiple power supply and connect module
Reply #4 - Oct 15th, 2009, 2:26pm
 
Hi Rajdeep,

Sorry for the late come back, I was struggling to find some spare time for the forum, apologies for this.

I am using the supply sensitive approach too. I always did and haven't really tried the second approcah.

As for the paths for the docs i mentioned earlier (I know you got them, just posting for future readers), they are in:

1. The AMS Virtuoso use model (AVUM) workshop is in
$CDSHOME/tools/dfII/samples/tutorials/AMS

2. As for the other manual, it is in the $IUSHOME/doc/ams*....
One could get it through the cdnshelp gui.

Cheers,
Riad.
Back to top
 
 

Riad KACED
PDK, EDA Support Engineer.
View Profile   IP Logged
rajdeep
Senior Member
****
Offline



Posts: 220
UK
Re: multiple power supply and connect module
Reply #5 - Oct 16th, 2009, 1:54am
 
Never too late Riad!! Ive another question for you :-D
In the supply sensitive approach, if a connect mocule E2L say connectes to two pins Y and X.
Y ---> AVIN and DVOUT --> X ( --> means connections)

Now Y has a supply sensitivity to a supply net of 2V
and X has a supply sensitivity to a supply net of 10 V (Just some weird things I was trying).

So, how the E2L block resolves which sensitivity to pick up, 2 V or 10 V?? I guess it should pick up the one which is connected at AVIN in this example, because Y is driving X. The simulation results is also suggesting that. But  Im not liking it!!!! Because the simulation will suggest wrong results.

Wonder what will happen in case of BIDIR connect modules. Undecided

Would be great if you could help me understand this. Let me know if my question was not clear.

Thanks!
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
boe
Community Fellow
*****
Offline



Posts: 615

Re: multiple power supply and connect module
Reply #6 - Oct 16th, 2009, 8:31am
 
rajdeep wrote on Oct 8th, 2009, 8:29am:
...
Its working!! The supply sensitive and ground sensitive method is working fine.
There seems to be another method which is based on block-based discipline resolution!!
Now Im not yet sure how to make this one work.

Does anyone have any preference between these 2 methods?
...
So far, I have only used supply sensitivity. However, the last time I wanted to used it, Cadence did not support supply sensitivity with VHDL-AMS (that's been quite a while ago, so that may no longer apply).
rajdeep wrote on Oct 16th, 2009, 1:54am:
...
In the supply sensitive approach, if a connect mocule E2L say connectes to two pins Y and X.
Y ---> AVIN and DVOUT --> X ( --> means connections)

Now Y has a supply sensitivity to a supply net of 2V
and X has a supply sensitivity to a supply net of 10 V (Just some weird things I was trying).

So, how the E2L block resolves which sensitivity to pick up, 2 V or 10 V??
...

It depends at which end of your wire the connect module ends up to be. If the connect module is at Y its supply is 2 V, if it is at X, the supply will be 10 V.
BTW, if a driver provides signal levels incompatible with the driven input, your design has a bug.
Quote:
Wonder what will happen in case of BIDIR connect modules. Undecided
...
That is a good question. So far, I have avoided this case (i.e. simulated the drivers & associated net either all analog or all digital).
BOE
Back to top
 
 
View Profile   IP Logged
rajdeep
Senior Member
****
Offline



Posts: 220
UK
Re: multiple power supply and connect module
Reply #7 - Oct 16th, 2009, 9:29am
 
Thanks Boe!!

Yes the design has a bug and that is precisely why Im asking abt the question, because I wud like to catch this bug from simulation. That is I missed a level shifter!!!! If the E2L connect module incorrectly gives me a logic 1 output the verification wud be crap!

Quote:
  It depends at which end of your wire the connect module ends up to be. If the connect module is at Y its supply is 2 V, if it is at X, the supply will be 10 V.  


What is the exact rule? I mean there should be some deterministic algorithm here. I guess it prefers the driver side. Pls. tell me if Im wrong! And if it is at driver side then it is actually not very good because it wud fail to detect the bug.

There seems to be noway user can define in a connect module  which sides supply sensitivity to take??
Or is there any?

cheers!
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
boe
Community Fellow
*****
Offline



Posts: 615

Re: multiple power supply and connect module
Reply #8 - Oct 16th, 2009, 10:12am
 
rajdeep wrote on Oct 16th, 2009, 9:29am:
...
Yes the design has a bug and that is precisely why Im asking abt the question, because I wud like to catch this bug from simulation.
Good point.

Quote:
...
What is the exact rule? I mean there should be some deterministic algorithm here. I guess it prefers the driver side. Pls. tell me if Im wrong! And if it is at driver side then it is actually not very good because it wud fail to detect the bug.
I do not think I can explain that in a few words... So, read the documentation - search for "discipline resolution" (for users of Cadence: in their Verilog-AMS Language Reference; the AMS Designer Simulator User Guide might be helpful as well).

Quote:
There seems to be noway user can define in a connect module  which sides supply sensitivity to take??
Or is there any?
No, there is not. It does not depend on the connect module (CM), but on the wire. If it is analog (electrical), the CM is at driver side, while if it is digital (logic), the CM is at "receiver". By forcing the discipline of the wire, you can determine where the CM is inserted and, therefore, which supply it is connected to.

Hope this helps.
BOE
Back to top
 
 
View Profile   IP Logged
Riad KACED
Community Member
***
Offline



Posts: 93
Swindon, UK
Re: multiple power supply and connect module
Reply #9 - Oct 19th, 2009, 12:27pm
 
Hi Rajdeep,

Quote:
In the supply sensitive approach, if a connect mocule E2L say connectes to two pins Y and X.
Y ---> AVIN and DVOUT --> X ( --> means connections)

Now Y has a supply sensitivity to a supply net of 2V
and X has a supply sensitivity to a supply net of 10 V (Just some weird things I was trying).

So, how the E2L block resolves which sensitivity to pick up, 2 V or 10 V??

hat is the exact rule? I mean there should be some deterministic algorithm here.


The rule is very simple. You have a A2D connect module. The algorithm searches for the digital ports to which the CM is connected to, i.e. X in your case. So if X has got a supply sensitivity to VDD=10V, then the CM assumes 10V as analog Vsup.

The Supply Sensitive algorithm always looks at the digital ports to which the CM is connected, for both A2D and D2A CMs. A more detailed algorithm is available in the 'AMS Supply Sensitive Connect Modules Application note' from sourceLink (http://sourcelink.cadence.com/docs/files/Application_Notes/2007/AMS_Supply_Sensi...)

This works in a similar way for bidirs as well.

Now I have fully understood your question, I have realized that the 'Supply Sensitive' approach is not the one I'm using at all, I still wonder why I have said I was using it above ? I was maybe thinking of that approach ...

Anyway, I personally would not recommend using that supply sensitive approach, Why ?

1. This approach requires the modification of all your digital cells to match the supply voltages as defined in your connect modules.

2. This approach works with the 'detailed' discipline resolution only, i.e. more CM inserted, more simulation time although you ultimately get rewarded with a better accuracy.

3. Examples 'inv' and 'inv2' in the above application note are using PWR/GND as part of the module's port list. This is very likely to breack the AMS flow when used in cellBased netlisting along same modules without the PWR/GND in the port list. Just imagine 2 verilog views, one with PWR/GND in the port list and the other view without. This should not be a problem in OSS but is definitely not going to work in CB netlisting.

My advise is to use either methods I have mentioned in the AVUM workshop in my very first post. The one I tend to use (I have all my intelectual faculties with me tonight) is the 'Multiple Supply Based on Digital Discipline'. It's very simple and very handy for ADE users. Downside is the indvidual selection of modules in the hierarchy, which might annoy your Senior fellow ...  :-[

Hope the above is useful for you ...
Cheers,
Riad.
Back to top
 
 

Riad KACED
PDK, EDA Support Engineer.
View Profile   IP Logged
rajdeep
Senior Member
****
Offline



Posts: 220
UK
Re: multiple power supply and connect module
Reply #10 - Oct 20th, 2009, 6:12am
 
Thanks a bunch!! The PDF is very helpful. The one I got from our internal CAD guys was  pretty much derived from here :-D

But Ive few qs still:

1. What is AVUM workshop? I would like to see your post there to understand what method yor are recommending.

2. In the pdf you sent me here as a link, I dont quite get the D2A implementation (Pg 9). Where in the whole code aVal is getting determined???  :-/

We are going to use OSS (irun) method as per our CAD guyz. So, this should work. But, the fact that it will slow down the simulation is something to worry about. So, I would like to know the other method also so that we can switch between two when reqd.

Also, the algorithm that you metnioned and also given in this pdf appears to be perfect, theoretically. This should be able to catch the bug that I was talking about. Only thing is that in my small experiment I observed it working otherwise!!!! That is I found the CMs to be sensitive to the driver sides supply. I will recheck, something must went  wrong. The D2A that I was using (modified the one given in this pdf in my own way) could be the culprit.

Thanks a ton again!!
cheer!
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
Riad KACED
Community Member
***
Offline



Posts: 93
Swindon, UK
Re: multiple power supply and connect module
Reply #11 - Oct 21st, 2009, 1:11am
 
Hi Rajdeep,

Quote:
1. What is AVUM workshop? I would like to see your post there to understand what method yor are recommending.


The AMS Virtuoso use model (AVUM) workshop is in
$CDSHOME/tools/dfII/samples/tutorials/AMS. Please look at chapters 5 and 6. I’m working with the method in Chapter 6 as far as I’m concerned.
This AVUM workshop is really great to work with AMS Designer

Quote:
2. In the pdf you sent me here as a link, I dont quite get the D2A implementation (Pg 9). Where in the whole code aVal is getting determined???  :-/


I think there is a mistake in this file. The aVal should be calculated with a transition statement in the analog bloc.
I looked at the code and found the following:
Code:
V(nn) <+ transition( (dVal == 1 ? vdd : vss), td, tr, tf); 


Well, I’m wondering whether this ‘nn’ is an unfortunate copy/paste because I don’t see where it is used. I would put aVal instead of nn.

We are going to use OSS (irun) method as per our CAD guyz. So, this should work. But, the fact that it will slow down the simulation is something to worry about. So, I would like to know the other method also so that we can switch between two when reqd.

What obliges you using the detailed discipline resolution algorithm is the supply Sensitive approach, not OSS itself. Well, the detailed algorithm is not that harmful. The detailed discipline resolution has advantages as well. The best for you is to look at the doc and see a comprehensive explanation. It’s then down to you to decide whether you want it or not. Again, the main reason I don’t want to use the supply sensitive is because the need of updating all the digital libraries.
Just FYI, you can run AMS Designer in either OSS or Cell Based netlisting. Cadence recommends the OSS.

Quote:
Also, the algorithm that you metnioned and also given in this pdf appears to be perfect, theoretically. This should be able to catch the bug that I was talking about. Only thing is that in my small experiment I observed it working otherwise!!!! That is I found the CMs to be sensitive to the driver sides supply. I will recheck, something must went  wrong. The D2A that I was using (modified the one given in this pdf in my own way) could be the culprit
.

Well, it would be better if you could post an example I suppose ...

Cheers
Riad.
Back to top
 
 

Riad KACED
PDK, EDA Support Engineer.
View Profile   IP Logged
rajdeep
Senior Member
****
Offline



Posts: 220
UK
Re: multiple power supply and connect module
Reply #12 - Oct 21st, 2009, 8:56am
 
Well, it seems to work fine now!! I think I forgot to click detailed discipline resolution on last time.  :-/

As far as that verilogams line is concerned Ive also replaced that nn with aVal. and it works fine. Its crazy to find a copy paste of that exact same wrong code in another page, only difference this time that port a was not declared, and instead of nn it was made n!! Some modification, but still WRONG!!

Im still sticking to the supply sensitive method,  as I find it extemely meaningful, as it can track any
changing supply voltage.

The other method requires assigning discipline to every port!!!! That is extremely difficult when the whole chip has thousands of such ports. But yes, simulation speed is also a very important aspect.
So, far I have tried on a chain of inverters!!! So, really small test case to make any comparative comment.

Thanks for your help guyz!
cheers!
Rajdeep
Back to top
 
 

Design is fun, verification is a requirement.
View Profile   IP Logged
Riad KACED
Community Member
***
Offline



Posts: 93
Swindon, UK
Re: multiple power supply and connect module
Reply #13 - Oct 22nd, 2009, 11:49am
 
Hi Rajdeep,

Yes, the detailed discipline resolution MUST be switched on for both Supply sensitivity and inherited connection approaches.

As I said earlier, the major hurdle that prevents me from using the SS approach is the fact I need to update all the digital libraries. One inverter is easier to manage indeed Smiley Having said that, a pretty simple Perl script is good enough to generate new views for the SS.

Anyway, hope your CAD guys would be pleased doing this for you Smiley

Cheers,
Riad.
Back to top
 
 

Riad KACED
PDK, EDA Support Engineer.
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.