f



changing saveDir and projectDir as library changes

Hi,

I'm having problems figuring out how to do the following:

Instead of just using fixed defaults for saveDir and projectDir (such
as ./artist_states and ./simulation respectively - and I don't care
how these were set - either by .cdsenv entry or use of envSetVal) , I
would like to have projectDir and saveDir follow the library of the
schematic being simulated.

In other words, if I opened MyLib->MyCell->schematic and then invoked
Analog Artist, I would like the projectDir to already be defaulted to
../simulation/MyLib and I would like the saveDir to already be
defaulted to ./simulation/MyLib/artist_states.  Similarly, if I then
opened YourLib->YourCell->schematic and invoked Analog Artist or just
chose YourLib->YourCell->schematic from the Setup - Design form , I
would want these two values to automatically be changed to
../simulation/YourLib and ./simulation/YourLib/artist_states
respectively.

I've thought about adding skill to run after a trigger event, but I am
not sure which trigger is appropriate.  Also, I haven't found a
foolproof method of grabbing the library name which works under all
the different ways to switch what will be simulated.  Additionally, it
would be awesome if whatever solution would also work for Ocean as
well.

Any and all help/ideas would be great.  Thanks.
Whisker
0
4/28/2004 5:41:06 AM
comp.cad.cadence 5419 articles. 5 followers. Post Follow

6 Replies
393 Views

Similar Articles

[PageSpeed] 26

Hi,

Have you tried to use envSetVal within the libraries libInit.il
files? This is just a guess and I either don't know if this
is the right approach.

Bernd

Whisker wrote:
> Hi,
> 
> I'm having problems figuring out how to do the following:
> 
> Instead of just using fixed defaults for saveDir and projectDir (such
> as ./artist_states and ./simulation respectively - and I don't care
> how these were set - either by .cdsenv entry or use of envSetVal) , I
> would like to have projectDir and saveDir follow the library of the
> schematic being simulated.
> 
> In other words, if I opened MyLib->MyCell->schematic and then invoked
> Analog Artist, I would like the projectDir to already be defaulted to
> ./simulation/MyLib and I would like the saveDir to already be
> defaulted to ./simulation/MyLib/artist_states.  Similarly, if I then
> opened YourLib->YourCell->schematic and invoked Analog Artist or just
> chose YourLib->YourCell->schematic from the Setup - Design form , I
> would want these two values to automatically be changed to
> ./simulation/YourLib and ./simulation/YourLib/artist_states
> respectively.
> 
> I've thought about adding skill to run after a trigger event, but I am
> not sure which trigger is appropriate.  Also, I haven't found a
> foolproof method of grabbing the library name which works under all
> the different ways to switch what will be simulated.  Additionally, it
> would be awesome if whatever solution would also work for Ocean as
> well.
> 
> Any and all help/ideas would be great.  Thanks.
> Whisker

0
4/28/2004 9:41:42 AM
this is a nice problem, hard to solve without having to hack artist's
code.
maybe what you could do is register a trigger for analogArtist-schematic
subview type.

deRegUserTriggers( "analogArtist-schematic" nil nil 'myFunc )

tried it, and it looks it is called whenever artist in invoked, but also
when changing design inside artist.


"Whisker" <whiskerville83-google@yahoo.com> wrote in message
news:6941ff49.0404272141.67e97bfd@posting.google.com...
> Hi,
>
> I'm having problems figuring out how to do the following:
>
> Instead of just using fixed defaults for saveDir and projectDir (such
> as ./artist_states and ./simulation respectively - and I don't care
> how these were set - either by .cdsenv entry or use of envSetVal) , I
> would like to have projectDir and saveDir follow the library of the
> schematic being simulated.
>
> In other words, if I opened MyLib->MyCell->schematic and then invoked
> Analog Artist, I would like the projectDir to already be defaulted to
> ./simulation/MyLib and I would like the saveDir to already be
> defaulted to ./simulation/MyLib/artist_states.  Similarly, if I then
> opened YourLib->YourCell->schematic and invoked Analog Artist or just
> chose YourLib->YourCell->schematic from the Setup - Design form , I
> would want these two values to automatically be changed to
> ./simulation/YourLib and ./simulation/YourLib/artist_states
> respectively.
>
> I've thought about adding skill to run after a trigger event, but I am
> not sure which trigger is appropriate.  Also, I haven't found a
> foolproof method of grabbing the library name which works under all
> the different ways to switch what will be simulated.  Additionally, it
> would be awesome if whatever solution would also work for Ocean as
> well.
>
> Any and all help/ideas would be great.  Thanks.
> Whisker


0
4/28/2004 11:17:01 AM
Bernd,

You touched upon one idea that I tried, however, I couldn't seem to
automatically generate the library name in a dynamic way - I was
hoping for one libInit.il that I could just copy from library to
library without any edits.  I tried
dbGetCellViewDdId(deGetCellView())->lib->name and
dbGetCellViewDdId(geGetEditCellView())->lib->name both of which work
from the CIW, but neither worked from libInit.il.  I figure this is
because the library manager is a separate executable.  Perhaps I need
to create a cdsLibMgr.il file?  I've read the Library Manager User
Guide and it indicates that SKILL callback procedures always receive
the argument list selection currently specified in the library
manager.  The library manager sends the data selection specification
fully corresponding to the 5.X architecture as a list of five strings:
LIBNAME CELLNAME VIEWNAME FILENAME CATEGORY.  But I couldn't figure
out how to access this list.  It seems like it had the data I was
after (LIBNAME).  Any ideas out there?

Whisker

Bernd Fischer <bernd.fischer@xignal.de> wrote in message news:<408F7C56.9010103@xignal.de>...
> Hi,
> 
> Have you tried to use envSetVal within the libraries libInit.il
> files? This is just a guess and I either don't know if this
> is the right approach.
> 
> Bernd
>
0
4/28/2004 6:51:17 PM
Stephane,

I think you may have my solution.  I will follow your lead and see if
I can get it working.  Thank you and I'll post back how things turn
out.

Whisker

"S. Badel" <stephane.badel@epfl.ch> wrote in message news:<408f92ad$1@epflnews.epfl.ch>...
> this is a nice problem, hard to solve without having to hack artist's
> code.
> maybe what you could do is register a trigger for analogArtist-schematic
> subview type.
> 
> deRegUserTriggers( "analogArtist-schematic" nil nil 'myFunc )
> 
> tried it, and it looks it is called whenever artist in invoked, but also
> when changing design inside artist.
0
4/28/2004 6:55:01 PM
Stephane,

Here's what I have so far, but it's not working yet.  When I query
values in the CIW, the saveDir and projectDir read properly.  However,
when I open the forms that should be showing these variables, the
values are not correct.  It's as if a callback is not getting
triggered.  If I do a netlist or save a state, the incorrect values
are used.
-----------------------------------------------------------------------------------------------------------
In my ~/.cdsenv file I have these two lines:
asimenv saveDir string "./simulation/"
asimenv.startup projectDir string "./simulation/"
-----------------------------------------------------------------------------------------------------------
In my ~/.cdsinit file I have these two lines:
envSetVarDefaultToCurrVal( "asimenv" "saveDir" )
envSetVarDefaultToCurrVal( "asimenv.startup" "projectDir" )
-----------------------------------------------------------------------------------------------------------
if( !deGetAppInfo("analogArtist-schematic")->userPostInstallTrigger
   then
      printf("\nNo analogArtist-schematic user trigger is
registered.\nInstalling My_asimenv_defaults_appTrigger.\n\n")
      deRegUserTriggers( "analogArtist-schematic" nil nil
'My_asimenv_defaults_appTrigger)
   else
      hiGetAttention(50)
      printf("\nWARNING!: A analogArtist-schematic user trigger is
already registered as: %s\n"
deGetAppInfo("analogArtist-schematic")->userPostInstallTrigger)
      printf("\nThis user trigger will be replaced by
My_asimenv_defaults_appTrigger.\n")
      deUnRegUserTriggers( "analogArtist-schematic")
      deRegUserTriggers( "analogArtist-schematic" nil nil
'My_asimenv_defaults_appTrigger)
      hiGetAttention(50)
)

procedure(  My_asimenv_defaults_appTrigger( args "l")
   let( (My_debug libSimPath libStatePath)
      My_debug=t
;      My_debug=nil
      if(My_debug then println(args))
      libSimPath = strcat( envGetDefVal( "asimenv.startup"
"projectDir" ) args->libName )
      envSetVal( "asimenv.startup" "projectDir" 'string libSimPath )
      printf("Set projectDir environment value to %s\n" libSimPath)
      ;
      libStatePath = strcat( libSimPath "/artist_states" )
      envSetVal( "asimenv" "saveDir" 'string libStatePath )
      printf("Set saveDir environment value to %s\n" libStatePath)
   ) ; end of let
) ; end of procedure

So close, but yet so far away... Any ideas?  All help is greatly
appreciated.

Whisker

whiskerville83-google@yahoo.com (Whisker) wrote in message news:<6941ff49.0404281055.6c9727ae@posting.google.com>...
> Stephane,
> 
> I think you may have my solution.  I will follow your lead and see if
> I can get it working.  Thank you and I'll post back how things turn
> out.
> 
> Whisker
> 
> "S. Badel" <stephane.badel@epfl.ch> wrote in message news:<408f92ad$1@epflnews.epfl.ch>...
> > this is a nice problem, hard to solve without having to hack artist's
> > code.
> > maybe what you could do is register a trigger for analogArtist-schematic
> > subview type.
> > 
> > deRegUserTriggers( "analogArtist-schematic" nil nil 'myFunc )
> > 
> > tried it, and it looks it is called whenever artist in invoked, but also
> > when changing design inside artist.
0
4/28/2004 11:46:11 PM
yep, probably those variable are only read once. This is the
case with many tools, you cannot change environment options
procedurally once they are loaded.

for your problem have a look at the asi* and sev* functions,
described in Cadence Analog Environment SKILL Reference.

i found this one to set the .artist_states directory.
sevSetTopSaveDir()

you'll probably find what you need there.

st�phane

"Whisker" <whiskerville83-google@yahoo.com> wrote in message
news:6941ff49.0404281546.420dc88e@posting.google.com...
> Stephane,
>
> Here's what I have so far, but it's not working yet.  When I query
> values in the CIW, the saveDir and projectDir read properly.  However,
> when I open the forms that should be showing these variables, the
> values are not correct.  It's as if a callback is not getting
> triggered.  If I do a netlist or save a state, the incorrect values
> are used.
> --------------------------------------------------------------------------
---------------------------------
> In my ~/.cdsenv file I have these two lines:
> asimenv saveDir string "./simulation/"
> asimenv.startup projectDir string "./simulation/"
> --------------------------------------------------------------------------
---------------------------------
> In my ~/.cdsinit file I have these two lines:
> envSetVarDefaultToCurrVal( "asimenv" "saveDir" )
> envSetVarDefaultToCurrVal( "asimenv.startup" "projectDir" )
> --------------------------------------------------------------------------
---------------------------------
> if( !deGetAppInfo("analogArtist-schematic")->userPostInstallTrigger
>    then
>       printf("\nNo analogArtist-schematic user trigger is
> registered.\nInstalling My_asimenv_defaults_appTrigger.\n\n")
>       deRegUserTriggers( "analogArtist-schematic" nil nil
> 'My_asimenv_defaults_appTrigger)
>    else
>       hiGetAttention(50)
>       printf("\nWARNING!: A analogArtist-schematic user trigger is
> already registered as: %s\n"
> deGetAppInfo("analogArtist-schematic")->userPostInstallTrigger)
>       printf("\nThis user trigger will be replaced by
> My_asimenv_defaults_appTrigger.\n")
>       deUnRegUserTriggers( "analogArtist-schematic")
>       deRegUserTriggers( "analogArtist-schematic" nil nil
> 'My_asimenv_defaults_appTrigger)
>       hiGetAttention(50)
> )
>
> procedure(  My_asimenv_defaults_appTrigger( args "l")
>    let( (My_debug libSimPath libStatePath)
>       My_debug=t
> ;      My_debug=nil
>       if(My_debug then println(args))
>       libSimPath = strcat( envGetDefVal( "asimenv.startup"
> "projectDir" ) args->libName )
>       envSetVal( "asimenv.startup" "projectDir" 'string libSimPath )
>       printf("Set projectDir environment value to %s\n" libSimPath)
>       ;
>       libStatePath = strcat( libSimPath "/artist_states" )
>       envSetVal( "asimenv" "saveDir" 'string libStatePath )
>       printf("Set saveDir environment value to %s\n" libStatePath)
>    ) ; end of let
> ) ; end of procedure
>
> So close, but yet so far away... Any ideas?  All help is greatly
> appreciated.
>
> Whisker
>
> whiskerville83-google@yahoo.com (Whisker) wrote in message
news:<6941ff49.0404281055.6c9727ae@posting.google.com>...
> > Stephane,
> >
> > I think you may have my solution.  I will follow your lead and see if
> > I can get it working.  Thank you and I'll post back how things turn
> > out.
> >
> > Whisker
> >
> > "S. Badel" <stephane.badel@epfl.ch> wrote in message
news:<408f92ad$1@epflnews.epfl.ch>...
> > > this is a nice problem, hard to solve without having to hack artist's
> > > code.
> > > maybe what you could do is register a trigger for
analogArtist-schematic
> > > subview type.
> > >
> > > deRegUserTriggers( "analogArtist-schematic" nil nil 'myFunc )
> > >
> > > tried it, and it looks it is called whenever artist in invoked, but
also
> > > when changing design inside artist.


0
4/29/2004 8:17:50 AM
Reply:

Similar Artilces:

Trace on change/Signal on change/Call on change
Is ooRexx getting any closer to having a mechanism which could be used to trace when a particular variable or stem variable gets changed (to a particular value)? I don't know whether I'm writing cleverer bugs, or my debugging skills are waning with age, but it is starting to take me days to track down some problems that would be a snip with a variable monitor. I've just fixed such a bug. It took me about three years, because it happened only once a year, on average. Phew! -- Steve Swift http://www.swiftys.org.uk/swifty.html http://www.ringers.org.uk Swifty wrote: > Is ...

Changes and frequency of changes
Hi, I observe variable x over time (from 1999-2005) for a large number of firms, w. I have computed the change in variable x from one year to the next. Now, I would like to identify whether variable x has changed from one year to the next for each firm as well as how often it changed for each firm(in some cases I expect no change in this variable i.e. 0). Any suggestions on how to do this in sas? Thanks On Sat, 28 Apr 2007 15:08:15 -0400, mcolowasth@YAHOO.CO.UK wrote: >Hi, > >I observe variable x over time (from 1999-2005) for a large number of >firms, w. I have computed the ...

Changing Model Library in Cadence
I am currently using TSMC process and would like to switch to UMC process. What files should I change? cds.lib? Any other thing I need to pay attention? Also can I enable both processes at the same time so that I don't need to keep changing the files? Thanks I assume that you've got the whole TSMC and UMC kits. As for your last question i don't know any easy way to do this, because only one technology can be attached to your work library. Technology influence only layout and this is the reason you can't keep the same files for layout (it is due to layer's names and num...

DST to change or not to change?
Should the clocks be changed twice a year or not? (not that we have much say in the matter) Some think it saves lives by avoiding traffic accidents and note the advantages of a coordinated timekeeping system for trade. http://www.theglobeandmail.com/servlet/story/RTGAM.20050811.wdaylight0810/BNStory/National Since most of Canada is between north latitude 49 deg to 90 deg, and the days and nights are longer the further north you go, the arguments for saving daylight seem to be overwhelmed by the larger natural changes. OTOH DST is not needed at smaller latitudes in the tropics. ...

iTunes changed my changes
Don't know when it happened- could have been with the update of iTunes prior to the update of iOS7, but here's what happened: A few weeks ago, I changed the name of the four movements of a Mozart Symphony so that it would appear separately from the exact same symphony by another artist. This is the default which I had: Mozart: Symphony #41 In C, K 551, "Jupiter" - 1. Allegro Vivace which I changed to: Mozart: S41 In C, K 551, "Jupiter" - 1. Allegro Vivace The separation worked as expected. BUT: Somewhere, somehow the changes got reverted to what ...

how to change the change defaults
hi friends, it might be a stupid question to state. but i really need to know while programming, to change the defaults like changing the engineering notation of a real quantity i.e. fraction values or change the fix parameters to denote real value if our calculations involve the values as low as 0.000000001 and as high as 10000000. thanks hemu bisht ...

Re: Changes and frequency of changes
On Sat, 28 Apr 2007 15:08:15 -0400, mcolowasth@YAHOO.CO.UK wrote: >Hi, > >I observe variable x over time (from 1999-2005) for a large number of >firms, w. I have computed the change in variable x from one year to the >next. > >Now, I would like to identify whether variable x has changed from one year >to the next for each firm as well as how often it changed for each firm(in >some cases I expect no change in this variable i.e. 0). > >Any suggestions on how to do this in sas? > >Thanks Generate test data, since original poster did not provide it: dat...

Changing the Change File Feature.
Is there a way to turn off the feature in Windows XP Home where, when a shortcut can't find its target file, it gets changed to point to a similarly-named file in another directory? Thanks. It does not get changed automatically. Just Click NO! -- Hope this helps. Let us know. Wes MS-MVP Windows Shell/User In news:bPVue.8700$NX4.8680@newsread1.news.pas.earthlink.net, Neil <nospam@nospam.net> hunted and pecked: > Is there a way to turn off the feature in Windows XP Home where, when a > shortcut can't find its target file, it gets changed to point to a > simila...

Category change and the change log
Andy/Blair, There's a small problem in D6 which, when adding a category to a method, results in the category change not being registered in the change log. The problem only occurs when the change is made in one of the possible ways. Demo (in a ClassBrowser)- - Select a method, any method. - Right click, select "Add to category" - Select one of the suggested categories The browser reflects the additional category but if you look at the end of the change log then the category change hasn't been appended to the file If you change the category using drag drop o...

Change Status greyed out
I had to reconstruct my Out box because of a software error which had defaulted the message status of all mails to a uniform red (crossed) ball. The '.001' and '.002'-versions of the Out.toc and -.mbx were of no avail. Thanks to other backup files I could restore it all but for the last few days. Now when I right-click the Status column for a particular message belonging to those last days, the 'Change Status'-options are all greyed out. I want for example, change the status to 'Sent'. of the How can I accomplish this? On Thu, 23 Jul 2009 09...

How to Manage the Change within the Change?
How can we manage change to software that is not completely tested? For example: For a fictitious name I will use "Big Company Software" (BCS) 1.01.00. Each month BCS goes through the following cycle: Evaluate and Accept Customer Requests Plan Design Develop Build Test User Test Deployment So for example in month 1 BCS 1.01.00 is released. On month 2 BCS 1.02.00 is released etc. Also for example the evaluation, plan, design and development takes place in the first 20 days of the month and test/ user test takes place in the last 10. But on month 2, on day 5 for...

how to change the change defaults #2
hi friends, it might be a stupid question to state. but i really need to know while programming, to change the defaults like changing the engineering notation of a real quantity i.e. fraction values or change the fix parameters to denote real value if our calculations involve the values as low as 0.000000001 and as high as 10000000. thanks hemu bisht ...

Picture changes when record changes
Hi fellas, Im setting up a form in my Access project and I need to implement this rather special fucntion. This function is basically simple to understand but I really dont know how to create it. I need to implement a function that each time their is a record navigation a picture changes. Meaning = lets say I have a field with the word "football" in it - and their is a picture of a football next to it. Then I change record = changed into "rugby" and then their is a picture of a rugby ball next to it. How can I do that function? Cheers.. nickybon On 2 May 2006 09:24:3...

changing throw(...) changes interface?
Hi, does adding a throw(...) or throw() to a method or just changing the number of exceptions listed within a throw change the interface? Example: having a class with a method within a class library class x { .... void f() [or void f() throw( int )] }; and changing it to class x { ... void f() throw() [or throw( int ) and so on] [or void f() throw( int, char*) respectively] }; will the library still be binary compatible? Regards, Daniel Daniel Etzold wrote: > does adding a throw(...) or throw() to a method or just changing > the number of exceptions listed within a thro...

Web resources about - changing saveDir and projectDir as library changes - comp.cad.cadence

Ongoing Notes - IT Bytes
NServiceBus All entries here should be taken with a big pinch of salt. There are my notes whilst playing around with NServiceBus. If you see ...

VisualGDB - Version History
Products Downloads Tutorials Support Contact VisualGDB VisualKernel SmarTTY GNU Toolchains BazisLib WinCDEmu VisualDDK VirtualKD VisualHDL WinFLASHTool ...

Manpage for sccs.1
A html version of the manpage for sccs.1

SvnRevisionTool – app .net console dev files windows – unclassified software development
Prints out the current SVN revision info of a working directory and automatically writes it into your .NET project for the build.

Unofficial Shell Scripting Stylesheet
... Bozeman ## July 05, 2001 ## ## Clean up project files. ##************************************************#E_BADDIR=85 # No such directory.p ...

Resources last updated: 1/31/2016 8:29:40 AM