cell libraries and place and route

boki wrote:
Dear Andrew,
We have this program in our server, but.. could you please
tell me how to start it ... ( command ), something like icde / icfb /
layout ...

Thanks a lot!
Boki.


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<ddr9lvc6egfmk16nj7sj1lb2dgd6g9fgj2@4ax.com>...

SpectreRF is a good tool for switch cap simulation.

See

http://www.designers-guide.com/Analysis/sc-filters.pdf

Andrew.

On 2 Sep 2003 00:17:34 -0700, bokiteam@ms21.hinet.net (boki) wrote:


Hi, All:
How to simulation switched capacitor filter in SPICE?
The switch is working at time-domain, the result I want is frequency domain,
If I get the result from timm-domain and do fft, is that result correct?

Thanks a lot.
Boki.
I let the exact answer to Andrew. But on the long run, you can learn a
lot of things by reading the documentation. You can do that from the
command line by typing at the prompt : cdsdoc&
or click on help in any "cadence" window (the help is at the upper right).
HTH
 
Boki:
In analog artist, select spectre.

From the schematic:
Tools->Analog Environment
Setup->Simulator
Select spectre
set up analysis and netlist and run

spectre can be run command line with command spectre
see spectre -h
---
Erik

bokiteam@ms21.hinet.net (boki) wrote in message news:<4c3c095a.0309040010.558aa698@posting.google.com>...
Dear Andrew,
We have this program in our server, but.. could you please
tell me how to start it ... ( command ), something like icde / icfb /
layout ...

Thanks a lot!
Boki.


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<ddr9lvc6egfmk16nj7sj1lb2dgd6g9fgj2@4ax.com>...
SpectreRF is a good tool for switch cap simulation.

See

http://www.designers-guide.com/Analysis/sc-filters.pdf

Andrew.

On 2 Sep 2003 00:17:34 -0700, bokiteam@ms21.hinet.net (boki) wrote:

Hi, All:
How to simulation switched capacitor filter in SPICE?
The switch is working at time-domain, the result I want is frequency domain,
If I get the result from timm-domain and do fft, is that result correct?

Thanks a lot.
Boki.
 
S. Badel wrote:
i'd like to write a skill script that plots a waveform window
with a better look.

is there a way i can retrieve the waveforms (i.e. the individual points)
given a waveform window object?
couldn't find in the doc.

If it's also ok for you to save the waveform-points right after the
simulation you could use the OCEAN function ocnPrint() (works both in an
OCEAN script and in the CIW):

assumption: transient analysis

1) select the Result:
selectResult( 'tran )

2) save the desired waveform (individual points) in a text file:
ocnPrint( v("/net_name") ?output "./file_name" ?numbernotation 'none )


-Thomas
 
After 3 days of experimenting I found solution for Matrox G550.
Now all Cadence software I've tried works without any graphics
problems (tracking cursors, slow downs). Try to put "True" value for
"ShadowFB" driver option in XF86Config file. "NoAccel" will work also,
but in this case hardware acceleration completely off which is not
nice :)

Regards
Dionis


Hi,
which graphic card are you using?
If it is a matrox where did you take the driver from?
(We tried that already with one of the cards...)
Regards, Harald

"Sam Tran" <tran@orion-design.com> wrote in message news:<pIo3b.371$Zr2.14920@iad-read.news.verio.net>...
Harald,

I was also having the same problems. I upgraded the Cadence install per
Andrew and others and I still had problems. I then updated the video card
drivers and that solved the problem. Try updating the video card drivers if
you have not yet.

Sam
 
Generally speaking, Diva is designed to use little memory. The most
memory consuming operation is the geomConnect rule. There is no way to
increase the amount of memory it will use.

A 10,000 cell design seems quite large. I'm assuming you are talking
about standard cells with an average of 6 transistors per cell. Most
experienced users of Diva find that to be about the limit in design size
for Diva. If you are also doing parasitic resistance and capacitance, it
takes even longer.

Instead of asking how to solve what you think is the problem, we can
help you better if you tell us what is going on. Something like "my
parasitic extraction run seems to be spending all it's time executing
the geomConnect rule" would tell us a great deal. We would ask if you
have large vias farms. Then tell you to merge them since they tend to
make resistance extraction run forever.

It is also quite possible that you have simply exceeded the capacity of
the tool. Cadence has always said it is intended as a cell, block and
small design verification tool. There is a reason Cadence has always
sold Dracula and Assura for full chip verification.

On Sun, 14 Sep 2003 22:16:37 -0500, "walala" <mizhael@yahoo.com> wrote:

Dear all,

I am extracting "extract view" from my "layout view"... The 10000 cell
design is not very large, but I wait for hours and hours the extraction
operation seems no ending...

Can anybody tell me how to increase the memory allocated to icfb
"extraction" operation that it might speed my operation?

Thanks a lo,t

-Walalla
 
Erik,
I recollect that you need to set ACV_ROOT variable to the aptivia install dir.
Partha


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0309280913.2ec9e882@posting.google.com>...
I have aptivia 3.2 installed. I can run from the command line, but I
can't get the Aptivia menu in the CIW or in the Schematic Composer
Tools menu. Am I supposed to load something to get the menus? I see
that acv.cxt is getting loaded.

I am running IC 5.0.32.500.5.
---
Erik
 
Hi,
after programming for a while I finally have something like a
very-pre-alpha of a skill snippet for printing comma separated files
containing instances and their properties. Each file is named
%library%-%cellname%-%cellviewtype%.txt

Currently the script must be loaded with (load "script.il") but maybe
some day I get far enough to attach it behind a button or a menu item.

Thanks a lot for the help contributed, without I would never reach
this far. Skill is a language for the highly SKILL'ed and one day
maybe I could earn real hard cash on it, but now it mostly (s)kill my
project time.

Comments and improvements are highly welcome.

Here's the script.il:

;; A function to return a sorted list of properties
(defun sabGetPropNamesSorted (obj)
(setq lProps '())
(foreach prop (dbGetq obj prop)
(setq lProps (cons (dbGetq prop name) lProps)))
(sort lProps 'alphalessp))

;; To cycle all open windows
(foreach win (hiGetWindowList)
(setq cv (geGetEditCellView win))
(getWarn)
(when cv
(sprintf fileName "%s-%s-%s.txt" (dbGetq cv libName)
(dbGetq cv cellName)
(dbGetq cv cellViewType))
(println fileName)
(setq myPort (outfile fileName))
(foreach inst (dbGetq cv instances) ;; loop on all instances
(when (dbGetq inst prop) ;; Print only if it has a
property
(fprintf myPort "\n%s," (dbGetq inst name))
(foreach prop (sabGetPropNamesSorted inst)
(fprintf myPort "%s=%s," prop (dbGet inst prop)))))
(close myPort)))

--
Svenn
 
Hi Svenn

Just a few things that I would do differently. I assume prop is a
variable you set before loading the SKILL code.

1. the formal variable for the "foreach" in "sabGetPropNamesSorted' is
the same name as the variable prop. This probably works because
foreach I think is a macro that actually uses mapcar and lambda. But I
think somebody more enlightened might be able to shed more light on
it.

2. I would have written "sabGetPropNamesSorted" as follows:
(defun sabGetPropNameSorted (obj prop)
(sort (mapcar (lambda (x) (dbGetq x name)) (dbGetq obj prop))
'alphalessp))
I usually prefer not to use dynamic scoping ablities of SKILL.

Regards
Satya

"svenn" == svenn are <svenn.are@bjerkem.de> writes:
svenn> Hi, after programming for a while I finally have something
svenn> like a very-pre-alpha of a skill snippet for printing comma
svenn> separated files containing instances and their
svenn> properties. Each file is named
svenn> %library%-%cellname%-%cellviewtype%.txt

svenn> Currently the script must be loaded with (load "script.il")
svenn> but maybe some day I get far enough to attach it behind a
svenn> button or a menu item.

svenn> Thanks a lot for the help contributed, without I would
svenn> never reach this far. Skill is a language for the highly
svenn> SKILL'ed and one day maybe I could earn real hard cash on
svenn> it, but now it mostly (s)kill my project time.

svenn> Comments and improvements are highly welcome.

svenn> Here's the script.il:

svenn> ;; A function to return a sorted list of properties (defun
svenn> sabGetPropNamesSorted (obj) (setq lProps '()) (foreach prop
svenn> (dbGetq obj prop) (setq lProps (cons (dbGetq prop name)
svenn> lProps))) (sort lProps 'alphalessp))

svenn> ;; To cycle all open windows (foreach win (hiGetWindowList)
svenn> (setq cv (geGetEditCellView win)) (getWarn) (when cv
svenn> (sprintf fileName "%s-%s-%s.txt" (dbGetq cv libName)
svenn> (dbGetq cv cellName) (dbGetq cv cellViewType)) (println
svenn> fileName) (setq myPort (outfile fileName)) (foreach inst
svenn> (dbGetq cv instances) ;; loop on all instances (when
svenn> (dbGetq inst prop) ;; Print only if it has a property
svenn> (fprintf myPort "\n%s," (dbGetq inst name)) (foreach prop
svenn> (sabGetPropNamesSorted inst) (fprintf myPort "%s=%s," prop
svenn> (dbGet inst prop))))) (close myPort)))

svenn> -- Svenn
 
Hi Svenn

Sorry for the errors in my previous post. "prop", as I found out once I
got back to work is a property. So you can ignore the part about
variables ( the first point).

2. becomes

(defun sabGetPropNamesSorted (obj)
(sort (mapcar (lambda (x) (dbGetq x name)) (dbGetq obj prop))
'alphalessp))

Thanks
Satya

"snmishra" == snmishra <snmishra@hotXXXpopYYY.com> writes:
snmishra> Hi Svenn Just a few things that I would do differently. I
snmishra> assume prop is a variable you set before loading the SKILL
snmishra> code.

snmishra> 1. the formal variable for the "foreach" in
snmishra> "sabGetPropNamesSorted' is
snmishra> the same name as the variable prop. This probably works
snmishra> because foreach I think is a macro that actually uses
snmishra> mapcar and lambda. But I think somebody more enlightened
snmishra> might be able to shed more light on it.

snmishra> 2. I would have written "sabGetPropNamesSorted" as
snmishra> follows:
snmishra> (defun sabGetPropNameSorted (obj prop)
snmishra> (sort (mapcar (lambda (x) (dbGetq x name)) (dbGetq obj
snmishra> prop))
snmishra> 'alphalessp))
snmishra> I usually prefer not to use dynamic scoping ablities of
snmishra> SKILL.

snmishra> Regards Satya

"svenn" == svenn are <svenn.are@bjerkem.de> writes:
svenn> Hi, after programming for a while I finally have something
svenn> like a very-pre-alpha of a skill snippet for printing comma
svenn> separated files containing instances and their
svenn> properties. Each file is named
svenn> %library%-%cellname%-%cellviewtype%.txt

svenn> Currently the script must be loaded with (load "script.il")
svenn> but maybe some day I get far enough to attach it behind a
svenn> button or a menu item.

svenn> Thanks a lot for the help contributed, without I would never
svenn> reach this far. Skill is a language for the highly SKILL'ed
svenn> and one day maybe I could earn real hard cash on it, but now
svenn> it mostly (s)kill my project time.

svenn> Comments and improvements are highly welcome.

svenn> Here's the script.il:

svenn> ;; A function to return a sorted list of properties (defun
svenn> sabGetPropNamesSorted (obj) (setq lProps '()) (foreach prop
svenn> (dbGetq obj prop) (setq lProps (cons (dbGetq prop name)
svenn> lProps))) (sort lProps 'alphalessp))

svenn> ;; To cycle all open windows (foreach win (hiGetWindowList)
svenn> (setq cv (geGetEditCellView win)) (getWarn) (when cv (sprintf
svenn> fileName "%s-%s-%s.txt" (dbGetq cv libName) (dbGetq cv
svenn> cellName) (dbGetq cv cellViewType)) (println fileName) (setq
svenn> myPort (outfile fileName)) (foreach inst (dbGetq cv
svenn> instances) ;; loop on all instances (when (dbGetq inst prop)
svenn> ;; Print only if it has a property (fprintf myPort "\n%s,"
svenn> (dbGetq inst name)) (foreach prop (sabGetPropNamesSorted
svenn> inst) (fprintf myPort "%s=%s," prop (dbGet inst prop)))))
svenn> (close myPort)))

svenn> -- Svenn

--
Remove XXX and YYY to get my address
 
Is there a standard/documented set of environment variables for the stream root?

CDS_INST_DIR
CDSHOME
LDVHOME
AMSHOME
ASSURAHOME
ACV_ROOT
....
---
Erik


cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0309281821.5a09e662@posting.google.com>...
Erik,
I recollect that you need to set ACV_ROOT variable to the aptivia install dir.
Partha


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0309280913.2ec9e882@posting.google.com>...
I have aptivia 3.2 installed. I can run from the command line, but I
can't get the Aptivia menu in the CIW or in the Schematic Composer
Tools menu. Am I supposed to load something to get the menus? I see
that acv.cxt is getting loaded.

I am running IC 5.0.32.500.5.
---
Erik
 
Svenn,

(dbGetq) (or the ~> operator) can be used with the first argument (or
left hand side in the case of the operator) being a list. In this case it
does an implicit mapcar.

In other words, doing:

(dbGetq (dbGetq inst prop) name)
or

inst~>prop~>name

will give the list of property names. This is equivalent to doing:

(foreach mapcar prop (dbGetq inst prop) (dbGetq prop name))

which is also identical to:

(mapcar (lambda (prop) (dbGetq prop name)) (dbGetq inst prop))

(the foreach mapcar is effectively a macro which forms the second
bit of code for you).

What this boils down to is that the sorted property names can
be got simply by doing:

(sort (dbGetq (dbGetq inst prop) name) 'alphalessp)

Apart from that, the only other issue was that you used a global
variable in your sorting function - if you're going to use variables
in functions, it is best to use (let (var1 var2 var3) code ... )
to declare them as local. However, by changing to use the
code suggested above, you no longer need any local variables anyway!

If you can't come on a SKILL class, then I'd definitely recommend reading
the SKILL User Guide thoroughly - it's written in the style of a book on
a programming language, and introduces the concepts in the language.

That said, the main problem is that you then end up with 5000+ public
SKILL functions to contend with - there is a very large API available
for use, and getting familiar with that takes some time!

Regards,

Andrew.

On 29 Sep 2003 05:51:16 -0700, svenn.are@bjerkem.de wrote:

Hi,
after programming for a while I finally have something like a
very-pre-alpha of a skill snippet for printing comma separated files
containing instances and their properties. Each file is named
%library%-%cellname%-%cellviewtype%.txt

Currently the script must be loaded with (load "script.il") but maybe
some day I get far enough to attach it behind a button or a menu item.

Thanks a lot for the help contributed, without I would never reach
this far. Skill is a language for the highly SKILL'ed and one day
maybe I could earn real hard cash on it, but now it mostly (s)kill my
project time.

Comments and improvements are highly welcome.

Here's the script.il:

;; A function to return a sorted list of properties
(defun sabGetPropNamesSorted (obj)
(setq lProps '())
(foreach prop (dbGetq obj prop)
(setq lProps (cons (dbGetq prop name) lProps)))
(sort lProps 'alphalessp))

;; To cycle all open windows
(foreach win (hiGetWindowList)
(setq cv (geGetEditCellView win))
(getWarn)
(when cv
(sprintf fileName "%s-%s-%s.txt" (dbGetq cv libName)
(dbGetq cv cellName)
(dbGetq cv cellViewType))
(println fileName)
(setq myPort (outfile fileName))
(foreach inst (dbGetq cv instances) ;; loop on all instances
(when (dbGetq inst prop) ;; Print only if it has a
property
(fprintf myPort "\n%s," (dbGetq inst name))
(foreach prop (sabGetPropNamesSorted inst)
(fprintf myPort "%s=%s," prop (dbGet inst prop)))))
(close myPort)))
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Erik,

Most of the streams don't need an envronment variable to indicate where their
root is - they fathom it out using the "cds_root" mechanism from the path.

However, Assura requires this (using the ASSURAHOME env var),
as does Aptivia (ACV_ROOT). I've complained about the ASSURAHOME one for
some time, because it really should be unnecessary. Aptivia is forgiveable
because it is relatively new to the Cadence stable and sometimes
getting rid of these legacy requirements takes a little while.

There is no need for env vars for the IC and LDV streams, but people
commonly define an env var in order to reference libraries included with
that stream. CDSHOME, LDVHOME and AMSHOME are commonly used
for this, but then again I've also seen CDSROOT, LDVROOT used. There's
an upcoming mechanism in the cds.lib file which will avoid the need for
env vars for this purpose anyway.

CDS_INST_DIR is an env var that people often used to use to point
to the Cadence installation back when everything was in a single FIRM
release - and it had special meaning to the tools. It didn't make much
sense in a multi-stream environment and so the special interpretation
has been removed, _except_ in the cds.lib and setup.loc files, where
it means the installation associated with the executable which is reading the
file (e.g. if it is being read by icfb, it means the IC stream containing that;
if it is being read by ncvlog, then it means the LDV stream containing that,
etc). It no longer (from IC445 onwards) is interpreted as an environment
variable.

Regards,

Andrew.

On 29 Sep 2003 13:51:57 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Is there a standard/documented set of environment variables for the stream root?

CDS_INST_DIR
CDSHOME
LDVHOME
AMSHOME
ASSURAHOME
ACV_ROOT
...
---
Erik


cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0309281821.5a09e662@posting.google.com>...
Erik,
I recollect that you need to set ACV_ROOT variable to the aptivia install dir.
Partha


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0309280913.2ec9e882@posting.google.com>...
I have aptivia 3.2 installed. I can run from the command line, but I
can't get the Aptivia menu in the CIW or in the Schematic Composer
Tools menu. Am I supposed to load something to get the menus? I see
that acv.cxt is getting loaded.

I am running IC 5.0.32.500.5.
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi,
thanks to skill wizards a couple of beginner errors have been
identified and better solutions suggested. The global value thing was
a quick and dirty solution that worked for the moment. Using local
variables is something I ususally do when I know how the language
handle these things.

I chose to keep the defun as I think the code is more readable. I see
that my choice of using lisp syntax is not at all readable compared to
the skill extended syntax. Well, I think I'll stay with the lisp
syntax as there are other lisp controlled EDA tools out there.

As usual, comments and suggestions for improvement are welcome. Use at
own risk.

Here is the new revision:

;; A function to return a sorted list of properties
(defun sabGetPropNamesSorted (obj)
(sort (dbGetq (dbGetq inst prop) name) 'alphalessp))

;; To cycle all open windows
(foreach win (hiGetWindowList)
(setq cv (geGetEditCellView win))
(getWarn)
(when cv
(sprintf fileName "%s-%s-%s.txt" (dbGetq cv libName)
(dbGetq cv cellName)
(dbGetq cv cellViewType))
(println fileName)
(setq myPort (outfile fileName))
(foreach inst (dbGetq cv instances) ;; loop on all instances
(when (dbGetq inst prop) ;; Print only if it has a
property
(fprintf myPort "\n%s," (dbGetq inst name))
(foreach prop (sabGetPropNamesSorted inst)
(fprintf myPort "%s=%s," prop (dbGet inst prop)))))
(close myPort)))
 
Andrew:
Please provide more information on the following:
There's an upcoming mechanism in the cds.lib file which will avoid the need for env vars for this purpose anyway.
What is the mechanism and what is the PCR number?
---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e84invcm3q419ug3u5ddhh78u0690jahkt@4ax.com>...
Erik,

Most of the streams don't need an envronment variable to indicate where their
root is - they fathom it out using the "cds_root" mechanism from the path.

However, Assura requires this (using the ASSURAHOME env var),
as does Aptivia (ACV_ROOT). I've complained about the ASSURAHOME one for
some time, because it really should be unnecessary. Aptivia is forgiveable
because it is relatively new to the Cadence stable and sometimes
getting rid of these legacy requirements takes a little while.

There is no need for env vars for the IC and LDV streams, but people
commonly define an env var in order to reference libraries included with
that stream. CDSHOME, LDVHOME and AMSHOME are commonly used
for this, but then again I've also seen CDSROOT, LDVROOT used. There's
an upcoming mechanism in the cds.lib file which will avoid the need for
env vars for this purpose anyway.

CDS_INST_DIR is an env var that people often used to use to point
to the Cadence installation back when everything was in a single FIRM
release - and it had special meaning to the tools. It didn't make much
sense in a multi-stream environment and so the special interpretation
has been removed, _except_ in the cds.lib and setup.loc files, where
it means the installation associated with the executable which is reading the
file (e.g. if it is being read by icfb, it means the IC stream containing that;
if it is being read by ncvlog, then it means the LDV stream containing that,
etc). It no longer (from IC445 onwards) is interpreted as an environment
variable.

Regards,

Andrew.

On 29 Sep 2003 13:51:57 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Is there a standard/documented set of environment variables for the stream root?

CDS_INST_DIR
CDSHOME
LDVHOME
AMSHOME
ASSURAHOME
ACV_ROOT
...
---
Erik


cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0309281821.5a09e662@posting.google.com>...
Erik,
I recollect that you need to set ACV_ROOT variable to the aptivia install dir.
Partha


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0309280913.2ec9e882@posting.google.com>...
I have aptivia 3.2 installed. I can run from the command line, but I
can't get the Aptivia menu in the CIW or in the Schematic Composer
Tools menu. Am I supposed to load something to get the menus? I see
that acv.cxt is getting loaded.

I am running IC 5.0.32.500.5.
---
Erik
 
Hi Erik,

I'm out for a few days, so I'll respond to this when I get back (or if I
have a chance in the evenings).

Andrew.

On 30 Sep 2003 09:16:12 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
Please provide more information on the following:
There's an upcoming mechanism in the cds.lib file which will avoid the need for env vars for this purpose anyway.

What is the mechanism and what is the PCR number?
---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<e84invcm3q419ug3u5ddhh78u0690jahkt@4ax.com>...
Erik,

Most of the streams don't need an envronment variable to indicate where their
root is - they fathom it out using the "cds_root" mechanism from the path.

However, Assura requires this (using the ASSURAHOME env var),
as does Aptivia (ACV_ROOT). I've complained about the ASSURAHOME one for
some time, because it really should be unnecessary. Aptivia is forgiveable
because it is relatively new to the Cadence stable and sometimes
getting rid of these legacy requirements takes a little while.

There is no need for env vars for the IC and LDV streams, but people
commonly define an env var in order to reference libraries included with
that stream. CDSHOME, LDVHOME and AMSHOME are commonly used
for this, but then again I've also seen CDSROOT, LDVROOT used. There's
an upcoming mechanism in the cds.lib file which will avoid the need for
env vars for this purpose anyway.

CDS_INST_DIR is an env var that people often used to use to point
to the Cadence installation back when everything was in a single FIRM
release - and it had special meaning to the tools. It didn't make much
sense in a multi-stream environment and so the special interpretation
has been removed, _except_ in the cds.lib and setup.loc files, where
it means the installation associated with the executable which is reading the
file (e.g. if it is being read by icfb, it means the IC stream containing that;
if it is being read by ncvlog, then it means the LDV stream containing that,
etc). It no longer (from IC445 onwards) is interpreted as an environment
variable.

Regards,

Andrew.

On 29 Sep 2003 13:51:57 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Is there a standard/documented set of environment variables for the stream root?

CDS_INST_DIR
CDSHOME
LDVHOME
AMSHOME
ASSURAHOME
ACV_ROOT
...
---
Erik


cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0309281821.5a09e662@posting.google.com>...
Erik,
I recollect that you need to set ACV_ROOT variable to the aptivia install dir.
Partha


erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0309280913.2ec9e882@posting.google.com>...
I have aptivia 3.2 installed. I can run from the command line, but I
can't get the Aptivia menu in the CIW or in the Schematic Composer
Tools menu. Am I supposed to load something to get the menus? I see
that acv.cxt is getting loaded.

I am running IC 5.0.32.500.5.
---
Erik
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
There isn't any fancy builtin function to do this, but it wouldn't be that hard
using the sch functions.

You obviously need to collect the instTerms connected to the net - or rather
find the instance pins connected to the wires before you delete anything.
Probably using dbDeleteObject of the wire would be sufficient.

You can then use dbCreateInst() to create the component instance, and
schCreateWire to wire it up again (I'd use this, because you can then
use the router built in).

Plus you'd then do an schCheck at the end (probably) to re-extract the
connectivity.

The hardest bit is the heuristic to determine the orientation. Actually,
that's probably not too bad - it will be dealing with the exceptions - what
to do if there's not enough space to fit in the component, what to do
if there are more than two instance terminals on the net, etc, etc.

Andrew.

On 26 Sep 2003 09:34:13 -0700, cadeguy@yahoo.com (Partha) wrote:

Folks,

I would like to know if there are simple fuctions that would do the
following, rather than re-inventing the wheel.

given a net name in the schematic i would like to delete that net &
add a elemnet( say a resistor) between the trminals of the net.

Do i need to do the following,
1. get the net & terminals
2. Delet the net( schDelete?)
3. check and see if the net is vertical or horizontal( by coparing the
co-ordinates of the terminals)
4. place the resistor in the appropriate orientation returned by 3
5. connect the resistor to one terminal & place a wire between the
other terminal of the resistor to complete the circuit

Should i do the above in skill, or is there a fancy skil
function/expression to do the above?

Thanks
Partha
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
No, is the answer. However, there's nothing to stop your pcell creating a
cellView property in the pcell:

pcCellView~>calcValue=someExpression

and then getting the pcell to create a label of type "ILLabel" which
has an value "ilInst~>master~>calcValue"

This will then be interpreted when it is displayed, and show the
value of the property computed by the pcell submaster.

Andrew.


On 22 Sep 2003 13:06:03 -0700, cadeguy@yahoo.com (Partha) wrote:

HEllo,
I would like to know if here is a way to display user defined handles
on layout, just like a stretch parameter is displayed when using ROD
pcells/structures.

I am trying to do automatic resistance calculation as is outlined in
ROD user guide( code examples) and i was succesful in adding the user
defied handle, but would be cool if we could be able to display them
in the layout


Thanks
Partha
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
When you use the rodAssignHandleToParameter() function you can specify
a user function which does something as the stretch occurs - not sure if that's
what you mean?

Regards

Andrew.

On 23 Sep 2003 12:35:37 -0700, cadeguy@yahoo.com (Partha) wrote:

Also in the same thread, can a layout event trigger a call to a user
defined function, for example can i make the "stretch event" call a
function after the stretching is done?

Thanks
Partha

cadeguy@yahoo.com (Partha) wrote in message news:<7f58031f.0309221206.e10b5b3@posting.google.com>...
HEllo,
I would like to know if here is a way to display user defined handles
on layout, just like a stretch parameter is displayed when using ROD
pcells/structures.

I am trying to do automatic resistance calculation as is outlined in
ROD user guide( code examples) and i was succesful in adding the user
defied handle, but would be cool if we could be able to display them
in the layout


Thanks
Partha
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew,
Thankyou for your suggestions, but you refer to only pcell, and i am
talking abt using these calculated values and displaying them while
stretching paths/rectangles( non-pcells)

I was able to do the following as a workaround,
1. Use hiRegTimer to register a timer every so often to reevaluate,
and then use geHightSelecttset to display the values.
2. Or Have a bindkey that is bound to leHiStretch also bound to my
function to trigger that fiuntion whenver stretched/moved

But still I would like to know if there isa way to capture teh
strtch/move event?

ThankYou!
Partha


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<l3spnv8apvp5lklrqi0uj3psm801ulq2m1@4ax.com>...
No, is the answer. However, there's nothing to stop your pcell creating a
cellView property in the pcell:

pcCellView~>calcValue=someExpression

and then getting the pcell to create a label of type "ILLabel" which
has an value "ilInst~>master~>calcValue"

This will then be interpreted when it is displayed, and show the
value of the property computed by the pcell submaster.

Andrew.


On 22 Sep 2003 13:06:03 -0700, cadeguy@yahoo.com (Partha) wrote:

HEllo,
I would like to know if here is a way to display user defined handles
on layout, just like a stretch parameter is displayed when using ROD
pcells/structures.

I am trying to do automatic resistance calculation as is outlined in
ROD user guide( code examples) and i was succesful in adding the user
defied handle, but would be cool if we could be able to display them
in the layout


Thanks
Partha
 
Andrew,
Thankyou,

Partha


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<b3qpnvc2ff9o93sgf8s5do8rk23n4s6imk@4ax.com>...
There isn't any fancy builtin function to do this, but it wouldn't be that hard
using the sch functions.

You obviously need to collect the instTerms connected to the net - or rather
find the instance pins connected to the wires before you delete anything.
Probably using dbDeleteObject of the wire would be sufficient.

You can then use dbCreateInst() to create the component instance, and
schCreateWire to wire it up again (I'd use this, because you can then
use the router built in).

Plus you'd then do an schCheck at the end (probably) to re-extract the
connectivity.

The hardest bit is the heuristic to determine the orientation. Actually,
that's probably not too bad - it will be dealing with the exceptions - what
to do if there's not enough space to fit in the component, what to do
if there are more than two instance terminals on the net, etc, etc.

Andrew.

On 26 Sep 2003 09:34:13 -0700, cadeguy@yahoo.com (Partha) wrote:

Folks,

I would like to know if there are simple fuctions that would do the
following, rather than re-inventing the wheel.

given a net name in the schematic i would like to delete that net &
add a elemnet( say a resistor) between the trminals of the net.

Do i need to do the following,
1. get the net & terminals
2. Delet the net( schDelete?)
3. check and see if the net is vertical or horizontal( by coparing the
co-ordinates of the terminals)
4. place the resistor in the appropriate orientation returned by 3
5. connect the resistor to one terminal & place a wire between the
other terminal of the resistor to complete the circuit

Should i do the above in skill, or is there a fancy skil
function/expression to do the above?

Thanks
Partha
 

Welcome to EDABoard.com

Sponsor

Back
Top