cell libraries and place and route

Anand,

For some design-kits it may be difficults to have a clean
environment each time you switch from a vendor design-kit
to another.
One way to avoid any confusion is to ask to have separate accounts
for each design-kit.
Otherwise, you have to identify all the environment files that
a design-kit is creating in your home directory, and make a script
to delete them before starting another design-kit.

There are several environment and init files that are loaded by
the software looking first in your local working dir, if not then
looking to your home directory, if not then looking to the default
ones in Cadence.

Regards,

================================================================
Kholdoun TORKI
http://cmp.imag.fr
================================================================

Anand wrote:
Hi,
I am trying to set up my account to use Peregrine's SOS process in
Cadence 4.4.6. I already have my account set up to use IBM's
processes. This seems to be creating problems in loading all the SKILL
functions necessary in SOS. Does anyone know how I can get around this
problem?

Anand
 
Selvakumar,

What Bekeur is suggesting has a name : "reverse engineering" :)
And this is not something that the design-kits providers like.
They are delivering their IPs for designing with the intended
process. The DRC, extract, ... deck files are IPs.

The right way to go is to use the generic GPDK (Generic Process
Design Kit) which is given by Cadence free of charge and contain
most of the functionnalities for a full-custom design-kit :
http://www.cadencepdk.com
This is also an IP, but is covered by the license you have with
Cadence. (or is a promotional action initiated by Cadence)

I have myself used this set, and I can tell that it rushes by
at least a factor of 10 the development time.

Otherwise, the other suggestion from Bekeur is to use a qualified
design-kit that has a real use with "chips fabbed".
CMP offer such services, but again with endorsments and
NDAs from the provider to use this only for designing in the
target process.
You can look at the CMP web page :
http://cmp.imag.fr
http://cmp.imag.fr/CMPMan.html
and select the process that you may want to use, and send to CMP
your request for accessing :
http://cmp.imag.fr/ManChap4.html#Chap4-3

Regards,


================================================================
Kholdoun TORKI
http://cmp.imag.fr
================================================================

B wrote:

My answer here is based on some of you previous questions.
Writing a DRC file from scratch requires a certain expertise
which I am assuming you don't have it now. So, your best
bet is to ask for a kit (you chip will be fabbed anyway).
In the kit you have DRC files for different tools. Pick
the one you're interesd in and study it. Then go from there.
If you're in a university, you can get (thru your instructor)
these kits from MOSIS or CMP or EUROPRACTICE ...
HTH


selvakumar_in@hotmail.com wrote:

hai

i am new to cadence tool, i would like to know how one can write the
DRC file of thier own ? whether a foundry ascess is mandatory for
creating those DRC files, tech files etc relating to layout and
further process.

please give me advice on GDS formation and what is mean by tape out
needed your succour

regards

selvakumar
 
pappu_am@rediffmail.com (Anand) wrote in message news:<74ecff7b.0307241153.3b031a32@posting.google.com>...
Hi,
I am trying to set up my account to use Peregrine's SOS process in
Cadence 4.4.6. I already have my account set up to use IBM's
processes. This seems to be creating problems in loading all the SKILL
functions necessary in SOS. Does anyone know how I can get around this
problem?
You've got a .cdsinit somewhere (either system-wide, or personal). Instead of
doing whatever you're doing now, do something along the lines of:

ProcName = getShellEnvVar("PROCESS_NAME")
sprintf(ProcStartFile "/some/where/$s.startup" ProcName)
if( isFile(ProcStartFile) then
printf("Loading process start file %s.\n" ProcStartFile)
load(ProcStartFile)
else
printf("WARNING, process start file %s not found.\n" ProcStartFile)
)

All your IBM and SOS SKILL gets loaded from/through the ProcStartFile.
You setenv PROCESS_NAME in your icfb wrapper script.

-Jay-
 
Anand:
Yes, just create a new directory with a new .cdsinit that doesn't load
the IBM skill code and start Cadence from there. Note that you
probably don't want to have the IBM library in your cds.lib when using
the other PDK as it might have a libInit.il in the library that loads
code.
---
Erik

Kholdoun TORKI <Kholdoun.Torki@imag.fr> wrote in message news:<3F216733.9060208@imag.fr>...
Anand,

For some design-kits it may be difficults to have a clean
environment each time you switch from a vendor design-kit
to another.
One way to avoid any confusion is to ask to have separate accounts
for each design-kit.
Otherwise, you have to identify all the environment files that
a design-kit is creating in your home directory, and make a script
to delete them before starting another design-kit.

There are several environment and init files that are loaded by
the software looking first in your local working dir, if not then
looking to your home directory, if not then looking to the default
ones in Cadence.

Regards,

================================================================
Kholdoun TORKI
http://cmp.imag.fr
================================================================

Anand wrote:
Hi,
I am trying to set up my account to use Peregrine's SOS process in
Cadence 4.4.6. I already have my account set up to use IBM's
processes. This seems to be creating problems in loading all the SKILL
functions necessary in SOS. Does anyone know how I can get around this
problem?

Anand
 
In article <84018314.0307251325.668dde04@posting.google.com> erikwanta@starband.net (Erik Wanta) writes:

If invalid, I want to set the string field back to its original value.
That is, the value before the invalid input. Any ideas on the best
way to handle this? I guess I could save a property to each string
field called lastValue and store the current value.
Careful -- there's already a property called lastValue on string fields.

-Pete Zakel
(phz@seeheader.nospam)

"Real engineers cinch their biking skirts with cable ties."
 
Pete:
It seems that form->field->lastValue doesn't get updated. That is, if
I set field to 1 then 2 then 3, lastValue is still 1 instead of 2.
Any ideas? I opened SR32520982 on the subject.
---
Erik

pxhxz@cadence.com (Pete nospam Zakel) wrote in message news:<3f21da9d$1@news.cadence.com>...
In article <84018314.0307251325.668dde04@posting.google.com> erikwanta@starband.net (Erik Wanta) writes:

If invalid, I want to set the string field back to its original value.
That is, the value before the invalid input. Any ideas on the best
way to handle this? I guess I could save a property to each string
field called lastValue and store the current value.

Careful -- there's already a property called lastValue on string fields.

-Pete Zakel
(phz@seeheader.nospam)

"Real engineers cinch their biking skirts with cable ties."
 
Pete:
hiSetInsertionPosition does what I want, thank you.
---
Erik

pxhxz@cadence.com (Pete nospam Zakel) wrote in message news:<3f219f5a$1@news.cadence.com>...
In article <84018314.0307251101.26b36fe8@posting.google.com> erikwanta@starband.net (Erik Wanta) writes:
I am using hiCreateStringField. I have made the field 50 pixels wide.
I want the text to be left justified and show the first 5 characters.
So, if I have a number like 5.12345, I want to see 5.123 in the field
and be able to see the rest of the numbers by selecting the field and
hitting ->. I thought I would use the ?format parameter of
hiCreateStringField to do this. So, I put ?format "%-5s" however if I
enter 5.12345, I see 12345 in the field. That is, I see the last 5
characters but I want to see the first 5 characters left justified.
Any suggestions on how best to deal with this?

The format just controls the text that is put in the field, not the physical
width of the display area.

The default is to put the text cursor (a/k/a insertion position) at the end
of the field, which is why you see the end of the text, not the beginning.

To put the cursor at the beginning of the text (so you'll see the beginning
of the text) use hiSetInsertionPosition( r_form s_field x_postion ) with a
position value of 0 after setting the value..

-Pete Zakel
(phz@seeheader.nospam)

"Now is the time for all good men to come to."

-Walt Kelly
 
Note, the eye plot function is only available in IC50. If you want it in an
earlier version, contact customer support and ask for abEyePlot.il (some
code I wrote a while ago, which formed the basis of the new eyeplot function
in IC50).

Andrew.

On 15 Jul 2003 08:36:29 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Jason:
You can convert psf to ascii with:
psf -i tran.tran -o tran.txt

Cadence has an eye diagram function:
eyeDiagram ( o_waveform n_start n_stop n_period ) => o_waveform/nil

This function gives an eye-diagram plot of the input waveform signal.
It returns the waveform object of the eye-diagram plot.

See the Affirma RF Simulator (SpectreRF) User Guide, Chapter 13
Behavioral Models and Methods for Top Down Design for some examples.

Check out awvSimplePlotExpression and awvPlotExpression.
---
Erik


"Jason D. Bakos" <jbakos@cNOs.pSPAMitt.edu> wrote in message news:<bev3dd$k86$1@usenet01.srv.cis.pitt.edu>...
Hi everyone!

My research group has recently switched from Tanner to a set of the Cadence
tools for doing IC design. Recently I've been spending some time simulating
my designs with Spectre/Affirma (Analog Environment): Affirma Analog
Circuit Design 4.4.6.100.81. I need to generate eye diagrams, so I'm
plotting against a dummy sawtooth voltage source. Unfortunately, this
causes redraw lines which makes the plot look terrible. If you switch to
"data points only"-mode for the curves, you get thousands of rather large
numbers on the plots. This is okay, but the big numbers on the plots just
don't look very good. So here are my questions:

1. When plotting in "data points only"-mode, is there a way to have Spectre
plot small shapes (or dots) instead of the traditional curve numbers? If
not, is there any way to change the font size of the numbers (to "tiny") to
make the plot more readable? I assume that if such a feature exists, it
would be an undocumented command-line command.

2. Is there any way I can export the plot data to an ASCII format? If not,
does anyone have any ideas about the binary format specification for the
"tran.tran" datafile that's generated by Spectre? If I could figure out the
format of this file, I could easily write a small program that will perform
an ASCII conversion. I'm aware that you can export PostScript versions of
the plot, but if I could get the raw data as ASCII, I could generate the eye
diagrams in Excel.

Thanks so much!

-Jason D. Bakos
Research Assistant
Microelectronics Lab
Department of Computer Science
University of Pittsburgh
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
In article <84018314.0307271859.12c231a5@posting.google.com> erikwanta@starband.net (Erik Wanta) writes:
Pete:
It seems that form->field->lastValue doesn't get updated. That is, if
I set field to 1 then 2 then 3, lastValue is still 1 instead of 2.
Any ideas? I opened SR32520982 on the subject.
lastValue saves the value when the form was invoked, or last Applied or OKed.
This is the value that the field is reset to if you Cancel the form.

If you want to keep your own value, you just need to be careful not to use
a property name Cadence is already using. The easiest way to do this is to
always use a capital letter [A-Z] as the first character of the property
name.

-Pete Zakel
(phz@seeheader.nospam)

"Why do we study poverty instead of wealth?"
 
It seems that lastValue is only updated when OK or Apply is hit on the
main form and not every time the form field is updated. In my
situation, I want lastValue to be updated every time the form field is
updated, therefore I am updating lastValue every time the form field
input is valid.
---
Erik

erikwanta@starband.net (Erik Wanta) wrote in message news:<84018314.0307271859.12c231a5@posting.google.com>...
Pete:
It seems that form->field->lastValue doesn't get updated. That is, if
I set field to 1 then 2 then 3, lastValue is still 1 instead of 2.
Any ideas? I opened SR32520982 on the subject.
---
Erik

pxhxz@cadence.com (Pete nospam Zakel) wrote in message news:<3f21da9d$1@news.cadence.com>...
In article <84018314.0307251325.668dde04@posting.google.com> erikwanta@starband.net (Erik Wanta) writes:

If invalid, I want to set the string field back to its original value.
That is, the value before the invalid input. Any ideas on the best
way to handle this? I guess I could save a property to each string
field called lastValue and store the current value.

Careful -- there's already a property called lastValue on string fields.

-Pete Zakel
(phz@seeheader.nospam)

"Real engineers cinch their biking skirts with cable ties."
 
Twin monitors do work with cadence on Suns.
You need to have two identical graphic cards (i tried it with two
diferent and didn't suceed)
For example using a Ultra 10 (could work the some with blades) I had
to throw away my good, expensive graphic card and had to set in two
cheap, lousy pci graphic cards.
They are much! slower in layout!
Then the graphic cards are configured in
/etc/openwin/server/etc/OWconfig
This look like:
class="XSCREENCONFIG" name="SUNWm64"
device="/def/fb2"
res="1280x1024x76"
depth="32";
class="XSCREENCONFIG" name="SUNWm640"
device="/dev/fbs/m640"
res="1152x900x76"
depth="32";
class="XSCREENCONFIG" name="SUNWm642"
device="/dev/fb3"
res="1280x1024x60"
depth="32";
class="XSCREENCONFIG" name="SUNWm641"
device="/dev/fbs/m641"
res="1280x1024x60"
depth="32";

Attention! The devices /dev/fb* will be different in your machine!
The xserver can then be started using + xinerama and these devices...
Hope that helped a little bit..
Anyhow, today i hopefully will change to 3 Monitors using redhat linux
This is something you should think about!
The machines are far more powerful and cheaper.
Regards, Harald
 
please have a look at the Silicon Ensemble tool family of Cadence!


"jo" <jmspam2003@yahoo.com> wrote in message
news:8205f820.0307290613.67660efb@posting.google.com...
Hi

Could someone help me on this issue: I have a design in verilog, which
ive simulated and debuged in verilog XL. This program also can create
a netlist, and does.

Im finding cadence very hard to use and understand, now how do I go
from the netlist to laying out the design??

Every document/tutorial I can find talks about entering a schematic in
Composer then laying this out. Surely this defeats the object of using
a HDL, if every single gate has to be drawn. Surely you can go from a
verilog module to layout??
(asuming I have my netlist)

Any advice/help would be greatly appreciated.

thanks

jo
 
Another angle: a kernel is a software module that takes instructions to make
a solid model and outputs solid properties, derived geometric data, and
graphics data.

In Pro/E and other 3D parametric modelers, this means it takes the sketch
geometry for each feature (which is just coordinate values) and evaluates it
into a set of surfaces. The resulting surfaces are evaluated to ensure they
all match up along edges to form a valid solid. (Solid models are really
just surface models with extra restrictions). From this surface
representation the kernel can translate into other formats, output graphical
data for the OpenGL display, calculate mass properties and measurements,
etc. Anytime that basic geometry is added or changed, the kernel
regenerates the model to keep it up-to-date.

Older non-parametric kernels do the same thing, except they aren't designed
to efficiently repeat and re-create the generation process. For example,
the V12 AutoCAD 3D kernel (AME) did not allow you to edit definition of the
solid, but each time you made a change (e.g. a hole) it calculated
everything again. It was really slow. In v13, AutoCAD switched to ACIS,
and ACIS calculated the new shape directly from the existing shape. Much
faster, but still not parametric. In Mechanical Desktop they finally got
parametric, using ACIS again I think.

When a company sells the use of their kernel, it allows another developer to
work only on interface issues and interactivity issues. Also, it makes
applications based on the same kernel interface better.

Dave

"yogesh" <ypjofficial@indiatimes.com> wrote in message
news:f88a27e4.0307290744.137c0fa2@posting.google.com...
hi all,
and sorry to interrupt you like this.!!!
actually i have lot of doubts and lot of confusion about the role of
solid modeling kernel inside a solid modeler.
i am cad cam student and worked on packages like solidworks, ideas and
cadmax.
and also i have a little bit of programming background(half knowledge
is dangerous indeed!!!) and that's why this confusion.
could someone please tell me what is the exact role of a kernel??(i
also heard of an operating system kernel)
and what is the difference between apis like java3d, opengl and
kernels like parasolid and acis?? or is opengl also a kernel???
also if possible i want to see some sample kernel code..where can i
get it from...
i will be very grateful to you if you manage to clear my confusion and
doubts..
and also i am interested in knowing the history about the kernel
phenomenon..how come it started..which was the first kernel
developed..etc ..
thank you and have a nice day....
regards,
yogesh
 
In article <b9df4714.0307290221.38351054@posting.google.com> haneu@illegal.de (Harald Neubauer) writes:
Twin monitors do work with cadence on Suns.
You need to have two identical graphic cards (i tried it with two
diferent and didn't suceed)
I've gotten it to work with two different graphics cards (Creator 3D and
PGX32) but the results aren't very good. First, you have to use settings
that both cards support. And second, the RGB values within the pixel are
reversed for PGX vs. Creator, so in this case the colors are wrong on one
monitor (not very useful having red and blue switched).

-Pete Zakel
(phz@seeheader.nospam)

Glib's Fourth Law of Unreliability:
Investment in reliability will increase until it exceeds the
probable cost of errors, or until someone insists on getting
some useful work done.
 
"David Geesaman" <dgeesaman@yahoo.com> wrote in message
news:3f26c59b$0$94000$45beb828@newscene.com...

Older non-parametric kernels do the same thing, except they aren't
designed
to efficiently repeat and re-create the generation process. For example,
the V12 AutoCAD 3D kernel (AME) did not allow you to edit definition of
the
solid, but each time you made a change (e.g. a hole) it calculated
everything again. It was really slow.
At the time of R12, from what I remember Autodesk also sold a parametric
addon tool - I can't remember what it was called though & I never saw it in
use. It was meant to be a lot more advanced han AME though (not hard
really).

Did anyone ever manage to do a model of any complexity in AME? I remember
trying it a few times for a project where I was modeling the church of Agia
Sofia in 3D. After I had done a few operations ie always came up with some
sort of error when I tried the next operation. After a few days of trying I
decided to learn Microstation instead.
To see why I gave up on AME, have a look at the views of the drawing at
www.mtaylor.co.uk/agia

Matthew
 
I modeled a shock absorber assembly for a college project. Making the coil
was a royal pain, but considering that I was thrilled with 3d wireframing in
v11, it seemed reasonable. Fortunately I was able to finish the project in
release 13 - what a difference that was.

Dave

"Matthew Taylor" <matthew.DONOTSPAM@NOSPAM.mtaylor.co.uk> wrote in message
news:l5KcnQ339_ISeruiXTWJiA@brightview.com...
"David Geesaman" <dgeesaman@yahoo.com> wrote in message
news:3f26c59b$0$94000$45beb828@newscene.com...

Older non-parametric kernels do the same thing, except they aren't
designed
to efficiently repeat and re-create the generation process. For
example,
the V12 AutoCAD 3D kernel (AME) did not allow you to edit definition of
the
solid, but each time you made a change (e.g. a hole) it calculated
everything again. It was really slow.

At the time of R12, from what I remember Autodesk also sold a parametric
addon tool - I can't remember what it was called though & I never saw it
in
use. It was meant to be a lot more advanced han AME though (not hard
really).

Did anyone ever manage to do a model of any complexity in AME? I remember
trying it a few times for a project where I was modeling the church of
Agia
Sofia in 3D. After I had done a few operations ie always came up with some
sort of error when I tried the next operation. After a few days of trying
I
decided to learn Microstation instead.
To see why I gave up on AME, have a look at the views of the drawing at
www.mtaylor.co.uk/agia

Matthew
 
<john@fel.u-net.com.invalid> wrote in message
news:3f282075.20677052@news.btinternet.com...
On Tue, 29 Jul 2003 22:29:30 +0100, "Matthew Taylor"
matthew.DONOTSPAM@NOSPAM.mtaylor.co.uk> wrote:

There was "Enhancement 1", or something like that, that was a 2d
parametric tool. It wasn't an Adesk product but many of their U.K.
resellers stocked it.
I've found it after a bit of searching - It was a 3D parametric solid
modeler called Designer - released in about 1993. As far as I can tell it
was superseded by Mechanical Desktop when this appeared.

I created a range of large pipe fititngs (24"-48" bore) in AME. No
matter how often I tried and how carefully I worked, when
dimensioning, the sizes were never what I had started with.
Yes - from what I remember it had a fairly limited accuracy.
I never got as far as dimensioning before it had crashed though - obviously
you were luckier or the models were simpler.

After a few days of trying I decided to learn Microstation instead.
I tried Microstation too. Hated it.
I found it very awkward at first - but since learning it in 1996, I haven't
really done any 3D work in AutoCAD except for simple quick sketches created
with solids.

Matthew
 
Harald,

The problem was caused by a change in the naming convention midway through
a release (not really the most sensible idea, I suppose), but something had
to be done for the new point release idea.

To answer your question, 5.0.32.500.2 is newer than 5.0.0.500.38. It
was the first hotfix of the IC5032 release, and the simple way to look
at it is that there is only a single ordered stream of hotfix releases
for IC50 and all its descendant point releases.

The only time you really have a confusion as to which is newer is
the last couple of hotfixes before the point release comes out. Because
the point release is based on the frozen hotfix stream, plus some
other non-hotfixed fixes, there may be some newer stuff in 5.0.0.500.38
which is not in 5.0.32.62 (or whatever it was called). Similarly there is
some newer stuff in 5.0.32.62 which is not in 5.0.0.500.38. However,
as soon as the first hotfix after the point release comes out, we're all
synchronised again.

We couldn't go back and rename 5.0.0.500.38 to be 5.0.32.500.38
because that would suggest that it is a hotfix some time way in the
future, which it isn't.

If you take into consideration all the digits in the release stream,
the order of them is apparent - in this case, clearly 5.0.32.500.2 is
newer than 5.0.0.500.38 (because the 32 is greater than 0 in the
same position).

That's probably confused you even more!

Andrew.


On 9 Aug 2003 14:19:49 -0700, haneu@illegal.de (Harald Neubauer) wrote:

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<5qb2jvslbmfddou3051d87r3uvll6gat3h@4ax.com>...
We aim to confuse ;-


It's clear as mud, isn't it?

Andrew.



Sorry Andrew,
but although reading that 2 times i didn't get that.
I cannot figure out which of the two suggestet versions is the newer one...
5.0.0.500.38. and 5.0.32.500.2
Should 5.0.0.500.38 be named 5.0.32.500.38 to have it consistent?

Anyway, i'm going to get a new version through our software managers...
Regards, Harald
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Thomas:
I believe the PCB tools run on windows.

The IC design tools run on Linux. See software.cadence.com.
---
Erik

"Thomas Mann" <webrider1000@gmx.de> wrote in message news:<bh56va$b13$00$1@news.t-online.com>...
> Why there is no Cadence for Windows or Linux ?
 
Andrew:
What is the 500 for again? If it stays constant, why keep it?
---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<2r8djvgbpl99uq9p9uvs9gp170i8ah303l@4ax.com>...
Harald,

The problem was caused by a change in the naming convention midway through
a release (not really the most sensible idea, I suppose), but something had
to be done for the new point release idea.

To answer your question, 5.0.32.500.2 is newer than 5.0.0.500.38. It
was the first hotfix of the IC5032 release, and the simple way to look
at it is that there is only a single ordered stream of hotfix releases
for IC50 and all its descendant point releases.

The only time you really have a confusion as to which is newer is
the last couple of hotfixes before the point release comes out. Because
the point release is based on the frozen hotfix stream, plus some
other non-hotfixed fixes, there may be some newer stuff in 5.0.0.500.38
which is not in 5.0.32.62 (or whatever it was called). Similarly there is
some newer stuff in 5.0.32.62 which is not in 5.0.0.500.38. However,
as soon as the first hotfix after the point release comes out, we're all
synchronised again.

We couldn't go back and rename 5.0.0.500.38 to be 5.0.32.500.38
because that would suggest that it is a hotfix some time way in the
future, which it isn't.

If you take into consideration all the digits in the release stream,
the order of them is apparent - in this case, clearly 5.0.32.500.2 is
newer than 5.0.0.500.38 (because the 32 is greater than 0 in the
same position).

That's probably confused you even more!

Andrew.


On 9 Aug 2003 14:19:49 -0700, haneu@illegal.de (Harald Neubauer) wrote:

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<5qb2jvslbmfddou3051d87r3uvll6gat3h@4ax.com>...
We aim to confuse ;-


It's clear as mud, isn't it?

Andrew.



Sorry Andrew,
but although reading that 2 times i didn't get that.
I cannot figure out which of the two suggestet versions is the newer one...
5.0.0.500.38. and 5.0.32.500.2
Should 5.0.0.500.38 be named 5.0.32.500.38 to have it consistent?

Anyway, i'm going to get a new version through our software managers...
Regards, Harald
 

Welcome to EDABoard.com

Sponsor

Back
Top