cell libraries and place and route

In article <pan.2005.09.29.09.38.22.627012@nospam.com> Frank Buergel <don.not.use@nospam.com> writes:
On Wed, 28 Sep 2005 19:21:50 +0200, Frank Buergel wrote:

Hi,

I'd like to create a text field with hiCreateMLTextField() for a text with
80 columns and 40 rows. To get the pixel size for such a multi line text
field I'm using hiGetTextFieldFit(48 80 hiGetFont("text") t t). Later
on I'm using the returned size in hiCreateAppForm() to specify the size of my
text field. Unfortunately the resulting text window is too small to display
my text...

What am I doing wrong ?

Thanks,
Frank

Here is some skill code to show the problem:
What release of DFII, what platform/OS, what display (if different from
the execution platform) and what font?

-Pete Zakel
(phz@seeheader.nospam)

"This is undoubtedly a good time in history, (but) so far we have been utterly
unable to answer the question: `Good for what?'"
-Tom Wolfe, October, 1995
 
On Thu, 29 Sep 2005 15:05:51 -0700, Pete nospam Zakel wrote:


What release of DFII, what platform/OS, what display (if different from
the execution platform) and what font?
I saw this problem with IC/5.0.33 running on solaris2.9 as well as with
IC/5.1.41_usr2 running on linux-gnu.

In both cases I was sitting on a computer running under solaris2.9 and
hiGetFont("text") gives the result "-*-courier-medium-r-*-*-12-*".

Regards,
Frank
 
In article <pan.2005.09.30.08.48.24.169127@nospam.com> Frank Buergel <don.not.use@nospam.com> writes:
On Thu, 29 Sep 2005 15:05:51 -0700, Pete nospam Zakel wrote:
What release of DFII, what platform/OS, what display (if different from
the execution platform) and what font?

I saw this problem with IC/5.0.33 running on solaris2.9 as well as with
IC/5.1.41_usr2 running on linux-gnu.

In both cases I was sitting on a computer running under solaris2.9 and
hiGetFont("text") gives the result "-*-courier-medium-r-*-*-12-*".
OK, it looks like the problem is that hiGetTextFieldFit() doesn't return
proper values for an attached field. The function works correctly when the
values are used for a non-attached field.

Could you please report this as a bug?

-Pete Zakel
(phz@seeheader.nospam)

"Give me a Plumber's friend the size of the Pittsburgh dome, and a place
to stand, and I will drain the world."
 
In both cases I was sitting on a computer running under solaris2.9 and
hiGetFont("text") gives the result "-*-courier-medium-r-*-*-12-*".
I am not 100% sure ...
I think the "text" font is the font used in CIW (and maybe somewhere
else)
.... so I believe that instead of
hiGetFont("text")
you should try to get your font through
hiGetFont("label")

It will most probably give you a different font (it does in mine) and
the "label" font is used in all GUI objects (buttons, labels, etc).
Untill the ?font option becomes enabled in GUI objects, you will have
to stick with this font (or set it using hiSetFont() ).
 
In article <1128327476.707460.215040@g49g2000cwa.googlegroups.com> redhavoc@yahoo.co.uk writes:
In both cases I was sitting on a computer running under solaris2.9 and
hiGetFont("text") gives the result "-*-courier-medium-r-*-*-12-*".

I am not 100% sure ...
I think the "text" font is the font used in CIW (and maybe somewhere
else)
... so I believe that instead of
hiGetFont("text")
you should try to get your font through
hiGetFont("label")
No, "text" is correct for multi-line text fields, string fields, etc. The
label font is used for the prompt, but the editable area of the field uses
the text font.

-Pete Zakel
(phz@seeheader.nospam)

"Admiration: Our polite recognition of another's resemblance to ourselves."
 
Bernd Fischer wrote:
https://pdk.cadence.com/home.do
Bernd is (as usual), correct.

Pick up industry process design kits at either the foundry or at the
Cadence web site referenced above.

The generic design kits are no longer shipped with the DFII software
(and have not been for a few years now). They are now incorporated into
complete kit development environments which are better explained on the
existing Cadence web site (www.cadence.com) or the CDN-Live users'
forum (www.cdnlive.com). All of this was explained in great detail in
the September Cadence CDN-Live conference (formerly the Cadence User
Group) in San Jose, California.

All you need to do is speak to your local sales team to become more
aquainted with Cadence's leadership focus in this arena.

To answer the specific process-node question ...

Cadence currently owns at least two generic complete design kits (CDK),
one at 180nm and one at 90nm. A complete design kit includes more than
a process design kit. A complete design kit includes everything you
need to design the targeted chip using the targeted tools and
methodology. A CDK includes, therefore, all the library elements,
process files, technology files, pcells, standard cells, cdb
primitives, OpenAccess primitives, timing information, parastic
information, tool-specific technology files, etc. that one would need
to design a targeted AMS chip using the specified documented and
supported methodology.

In sumary, if you are looking for an industry process design kit, go to
the foundry or pdk.cadence.com web sites. Go to the library vendors for
the standard cell libraries, memory compilers, io pads, etc. If you're
looking for the Cadence generic CDKs, talk to your sales team and read
the copious kit information on the Cadence and CDNLive web sites.
 
Hi,

I ran into the same problem, IC50.33 doesn't work with the NCSU kit on
Linux (at least for Extraction with ami06).

I found a workaround by removing some extraction rules. See here for
the updated file and another thread of the same problem:

http://www.chiptalk.org/modules/newbb/viewtopic.php?topic_id=35

thanks
Johannes
http://www.chiptalk.org
 
On Mon, 24 Oct 2005 03:10:09 -0500,
jgrad@chiptalk-dot-org.no-spam.invalid (gradjoh) wrote:

Hi,

I ran into the same problem, IC50.33 doesn't work with the NCSU kit on
Linux (at least for Extraction with ami06).

I found a workaround by removing some extraction rules. See here for
the updated file and another thread of the same problem:

http://www.chiptalk.org/modules/newbb/viewtopic.php?topic_id=35

thanks
Johannes
http://www.chiptalk.org
I took a look at the divaMultiLevel.il you posted to chiptalk and was
able to reproduce the error mentioned in the discussion, by forgetting
to run all the layers through geomConnect. Did you have something after
the "Errors exist in the rules file" line? It might direct you to the
source of the failure.

On a side note, I noticed that there are two cap clauses for the same
layer pair, using the same parameters. This will double the capacitance.

Parsing drcExtractRules of
"/usr2/ekalenda/pcrdata/example/Lib/divaEXT.rul"...
error: Illegal input layer capacitance found in saveParasitic().
error: The number of entries of property list and layer list must be
the same.
saveParasitic(capacitance "PLUS" "MINUS" "c" "pcapacitor symbol
analogLib")
Errors exist in the rules file
"/usr2/ekalenda/pcrdata/example/Lib/divaEXT.rul".
*WARNING* multiLevelParasitic() - This cannot be used before the
'geomConnect' command.
Verification program terminated.


Ed "Mr. Diva" Kalenda
 
Yes, I've been trying both tools (AWD and Wavescan) and I was able to
get the results. However I've been using "Sweep" function, I can only
find the result for the last value, say, I sweep inductance from 1nH to
10nH, after the simulation I can only find the result for the
simulation with 10nH inductor. Could you please tell me how to get the
result for other values? Thanks.


Andrew Beckett wrote:
On 27 Oct 2005 01:18:08 -0700, "Allen" <oceandai@yahoo.com> wrote:

I've done some simulation using spectre command line with some
parameters sweeping. When I view the simulation results using AWD, I
can only find the result for the last value of the parameter that I
swept. Could anyone tell me how to find the results for other parameter
values? Maybe I didn't use "sweep" function properly? Thans.

I can't see why this shouldn't work. Are you using the middle-mouse->Create ROF
over the psf directory name in order to create the "Run Object File" that AWD
needs?

Note, this is not needed if you're using the newer wavescan tool.

Andrew.
 
On 27 Oct 2005 20:52:58 -0700, "saby" <s_saby23@yahoo.com> wrote:

Hi,
I imported the DEF file into DFII. I want to open the imported design
with the layout view of the std-cells and not the abstract view. So, I
wrote a small piece of skill code that will replace all the "abstract"
cell views with "layout" e.g.

cv~>cellView = "layout"

But doing so gives me the error:
*Error* unknown: dbSetq: Can not set attribute - viewName

Is it an illegal operation? Becase manually I can do this by changing
the "abstract" to "layout" in properties menu. What can be the reason?

Also, is there a way to directly open the imported DEF into virtuoso
layout and not the preview? I read a similar discussion on this
lastweek, but I could not find the property that needs to be changed
that will make virtuoso( not preview) to handle the design. Any
comments?

Regards
Saby.
Changing the cellView attribute would never be the right thing to do, since the
cellView attribute indicates which cellView the object belongs to. If it was an
instance id that you're talking about, the atttribute that most people try to
change (and fail) is viewName:

instId~>viewName="layout".

The libName, cellName, viewName attributes cannot be directly changed. You can
change the "master" attribute to the new cellView Id, and then the libName,
cellName, viewName attributes will show the right thing (effectively they're
derived in this context). The edit properties form disguises all this from you
in order to make it easier for you to change.

e.g:

instId~>master=dbOpenCellViewByType(instId~>libName instId~>cellName "layout")

or you could use the dbSetInstHeaderMasterName() function to change all
instances of the same type at the same time.

There is a menu Design->Remaster Instances which can be used for this. Simply
fill in the viewName fields only, from "abstract" to "layout". This would avoid
you having to write the SKILL in the first place.

As for changing it to open in Virtuoso Layout Editor, you can do this with the
Design->Set Default Application menu. In years gone by, I got rid of the preview
magic properties by using the following SKILL code:

/***************************************************************
* *
* (abResetViewType libName cellName viewName) *
* *
* Reset the viewType by removing the viewSubType property on *
* a cellView. *
* *
***************************************************************/

(procedure (abResetViewType libName cellName viewName)
(let (cv)
(setq cv (dbOpenCellViewByType libName cellName viewName "" "a"))
(when cv
(dbDeletePropByName cv "viewSubType")
(dbSave cv)
(dbClose cv)
)))

Regards,

Andrew.
 
On 27 Oct 2005 10:21:15 -0700, "albchen" <albchen@ucdavis.edu> wrote:

Hi all.

I'm running a spectre simulation from OCEAN that does a parametric
sweep. About halfway thru the sweep, I get this error:

*Error* system: operating system error ocurred in vfork: 12.
*Error* load: error while loading file - "sim_param.ocn"
Warning from spectre.
mps error: MPSC mpsApply: sclSetAttribute, incorrect type for arg
#1 , type t expected



Anyone have any ideas? I've looked through cdsdoc, the web, and this
google group with no success.
I've found a couple of PCRs where this is happening with VSDE (aka Aptiviia) if
you have a "measure" called "temperature". Do you have a design variable called
termperature that you're sweeping?

If not, could you post the OCEAN script? It might reveal something...

Andrew.
 
On 27 Oct 2005 01:18:08 -0700, "Allen" <oceandai@yahoo.com> wrote:

I've done some simulation using spectre command line with some
parameters sweeping. When I view the simulation results using AWD, I
can only find the result for the last value of the parameter that I
swept. Could anyone tell me how to find the results for other parameter
values? Maybe I didn't use "sweep" function properly? Thans.
I can't see why this shouldn't work. Are you using the middle-mouse->Create ROF
over the psf directory name in order to create the "Run Object File" that AWD
needs?

Note, this is not needed if you're using the newer wavescan tool.

Andrew.
 
Dear Andrew,
Thanks for your insightful comments. It solved my problem.

regards
saby.
 
I can't see why this wouldn't work. Similar things work fine for me. Can you
post the netlist, or a simplified form of the netlist?

Andrew.

On 30 Oct 2005 21:26:59 -0800, "Allen" <oceandai@yahoo.com> wrote:

Yes, I've been trying both tools (AWD and Wavescan) and I was able to
get the results. However I've been using "Sweep" function, I can only
find the result for the last value, say, I sweep inductance from 1nH to
10nH, after the simulation I can only find the result for the
simulation with 10nH inductor. Could you please tell me how to get the
result for other values? Thanks.


Andrew Beckett wrote:
On 27 Oct 2005 01:18:08 -0700, "Allen" <oceandai@yahoo.com> wrote:

I've done some simulation using spectre command line with some
parameters sweeping. When I view the simulation results using AWD, I
can only find the result for the last value of the parameter that I
swept. Could anyone tell me how to find the results for other parameter
values? Maybe I didn't use "sweep" function properly? Thans.

I can't see why this shouldn't work. Are you using the middle-mouse->Create ROF
over the psf directory name in order to create the "Run Object File" that AWD
needs?

Note, this is not needed if you're using the newer wavescan tool.

Andrew.
 
All:

I defy anyone at Cadence to tell me exactly how bus ripping works.
The documents below describe a subset legal bus definitions that work, but
other esoteric combinations work.
The custom memory group at my ex-employer used some pretty wild combinations
that worked.
As a matter of fact, they would write bus def's just like you describe them
( something like <4*i<31:0>> and they would get the bus you describe .. )
I will ask former member of the group for the syntax he uses and post it!

-- Gerry




"Bernd Fischer" <""bernd.fischer\"@xignal-A%&HY%$v#&G=.de"> wrote in message
news:3se81dFnsi5dU1@individual.net...
Virtuoso Schematic Editor User Guide,
Section: Multiple-Bit Wire Connections
Section: Wire-to-Iterated Instance Connections
Section: Multiple-Bit Wire Naming Conventions


Bernd

JC wrote:
Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there
will be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com
 
Hi Andrew,
Here is a simiplified version of my netlist. When I run the sumulation
I typed "spectre input.scs", please let me know if you have any
suggesstion. Thanks a lot.
Allen


simulator lang=spectre
global 0
parameters indu=1n
include "/home/dai/6HP/models/spectre/definitions.scs"
include "/home/dai/6HP/models/spectre/design.scs"
include "/home/dai/6HP/models/spectre/process.scs"
include "input_CMOSLNA_modified.scs_new"


R29 (net064 0) resistor r=50 m=1
R28 (net096 net074) resistor r=59.9m m=1
R27 (net0002 net072) resistor r=3.2m m=1
C29 (net0002 0) capacitor c=183f m=1
V11 (net0999 0) vsource type=pwl wave=[0 0 50p 0 51p 10m 101p 10m 102p
0]
R26 (net075 net049) resistor r=59.9m m=1
R_PCB0 (net068 net0001) resistor r=1m m=1
R25 (net0001 net051) resistor r=3.2m m=1
C28 (net0001 0) capacitor c=183f m=1
R16 (net155 net74) resistor r=3.2m m=1
R18 (net0003 net76) resistor r=3.2m m=1
R_PCB3 (0 net0003) resistor r=1m m=1
C23 (net0003 net0003) capacitor c=183f m=1
C19 (net0003 net0003) capacitor c=183f m=1
R14 (net0003 net82) resistor r=3.2m m=1
R23 (net068 net0999) resistor r=50 m=1
R17 (net133 net78) resistor r=59.9m m=1
R19 (net81 net80) resistor r=59.9m m=1
R15 (net85 net84) resistor r=59.9m m=1
R13 (net155 net88) resistor r=3.2m m=1
R5 (net147 net90) resistor r=59.9m m=1
L33 (net072 net096) inductor l=89.000p m=1
L32 (net074 net169) inductor l=indu m=1
L32 (net074 net169) inductor l=5n m=1
L31 (net051 net075) inductor l=89.000p m=1
L30 (net049 net112) inductor l=indu m=1
L27 (net78 net98) inductor l=indu m=1
L29 (net76 net81) inductor l=89.000p m=1

L28 (net80 net104) inductor l=indu m=1
L25 (net84 net104) inductor l=indu m=1

L26 (net74 net133) inductor l=89.000p m=1
L23 (net88 net147) inductor l=89.000p m=1
L24 (net82 net85) inductor l=89.000p m=1
L15 (net90 net98) inductor l=indu m=1
C26 (net096 0) capacitor c=70f m=1
C24 (net075 0) capacitor c=70f m=1
C20 (net133 0) capacitor c=70f m=1
C21 (net155 0) capacitor c=183f m=1
C22 (net81 0) capacitor c=70f m=1
C18 (net85 0) capacitor c=70f m=1
C9 (net147 0) capacitor c=70f m=1
C17 (net155 0) capacitor c=183f m=1
V0 (net0004 0) vsource dc=2.5 type=dc
R_PCB4 (net155 net0004) resistor r=1m m=1
// ---------------------------------------
indu_sweep sweep param=indu values=[1n 3n 5n 7n 9n]

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27
\
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5
maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 ckptclock=1800 \
sensfile="../psf/sens.output"
tran tran stop=15n write="spectre.ic" writefinal="spectre.fc" \
annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
saveOptions options save=allpub
 
In article <1130825984.920345.247720@g44g2000cwa.googlegroups.com>,
oceandai@yahoo.com says...
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27
\
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5
maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 ckptclock=1800 \
sensfile="../psf/sens.output"
tran tran stop=15n write="spectre.ic" writefinal="spectre.fc" \
annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
saveOptions options save=allpub
What happen if you do:

indu_sweep sweep param=indu values=[1n 3n 5n 7n 9n] {
tran tran stop=15n write="spectre.ic" writefinal="spectre.fc" \
annotate=status maxiters=5
}


Use resultbrowser in awd and click with left button on the wanted signal
of *any* sweep run to bring up the calculator. press the plot or erplot
buttons and the calculator will plot your wave family.

--
Svenn
 
Vivian Spectre is a stand-alone simulator. It does not take ocean
commands. You can still do a fair bit of programming in spectre input
files. If you need a full programming language, you can run spectre
using ocean. Satya
 
Svenn Are Bjerkem wrote:
In article <1130825984.920345.247720@g44g2000cwa.googlegroups.com>,
oceandai@yahoo.com says...
indu_sweep sweep param=indu values=[1n 3n 5n 7n 9n]

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27
\
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5
maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 ckptclock=1800 \
sensfile="../psf/sens.output"
tran tran stop=15n write="spectre.ic" writefinal="spectre.fc" \
annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
saveOptions options save=allpub

What happen if you do:

indu_sweep sweep param=indu values=[1n 3n 5n 7n 9n] {
tran tran stop=15n write="spectre.ic" writefinal="spectre.fc" \
annotate=status maxiters=5
}


Use resultbrowser in awd and click with left button on the wanted signal
of *any* sweep run to bring up the calculator. press the plot or erplot
buttons and the calculator will plot your wave family.

--
Svenn
Hi Svenn,

That worked. Thanks a lot.

Allen
 

Welcome to EDABoard.com

Sponsor

Back
Top