[@partName] labels get "frozen" on copied cells

Thank you guys for your kind replies. Stéphane's solution seems to
work, but unfortunately it involves manual edition of every copied
cell's symbol view, making it not too convenient when making lots of
copies of lots of cells :(

I therefore tried to use the "Update Instances" option on the copy
cell dialog box, but for some reason it doesn't work!!!! When I use
the "(Update Instances) Of New Copies Only" sub-option, the copies
still bear the partName of the original cell. The Library Manager
message window doesn't report any error:
....
Copy is doneProcessing files to be copied...
Beginning simple copy to library "Turbo_Decodificador_UMTS40".
Transfer of 8 files phase complete in 0:00:00
Performing instance update.
Start running ccpCdbaUpdtr ...
ccpCdbaUpdtr ran successfully ...
Loading all available p-cell functions
ROD pcell code loaded
Copy is done
....

What's worse, when I use the "(Update Instances) Of Entire Library",
not only doesn't it also fail to solve the partName updating problem
on the copies, but I also get the following errors in the Library
Manager messages window:
....
Processing files to be copied...
Beginning simple copy to library "Turbo_Decodificador_UMTS40".
Transfer of 8 files phase complete in 0:00:00
Performing instance update.
Start running ccpCdbaUpdtr ...
Loading all available p-cell functions
*Error* eval: undefined function - hiCreateCyclicField
*Error* eval: undefined function - hiCreateCyclicField
*Error* eval: undefined function - hiCreateStringField
*Error* eval: undefined function - hiCreateStringField
....(several of these hiCreateStringField errors)..
*Error* eval: undefined function - hiCreateStringField
*Error* eval: undefined function - hiCreateSeparatorField
*Error* eval: undefined function - hiCreateAppForm
*Error* eval: undefined function - addToAMSMenu
ccpCdbaUpdtr ran successfully ...
ROD pcell code loaded
....

Finally, I was skimming through the documentation and according to the
Library Manager User Manual it should be possible to update a cell
view by selecting it and using the "Design Manager -> Update" command,
but this command is grayed-out for all the views/cells/libraries in my
Library Manager!!! I am the only one working in this project so it's
impossible that the cells could be checked out by somebody else....

What' could be wrong here? Could it be that I am missing some
definitions on my environment configuration scripts? Is it a design
kit bug? :S

....As usual, thanks so much in advance for any help!!!

Best regards,

Jorge Luis.

P.S.: By the way, I'm using icfb 5.10.41.500.3.49 with
AustriaMicrosystems Hit-Kit v3.70.
 
S

spectrallypure

Guest
Hello all. Here is the problem:

1. I have a certain "Cell_A" with schematic and symbol views. Symbol
view includes the cell's name through the (automatically generated)
"[@partName]" label.

2. I make a copy of Cell_A (with all of its views), and name it
"Cell_B". Then I modify the schematic view of Cell_B and make some
changes, e.g. eliminate and rename some pins. Then I manually edit the
symbol view of Cell_B (which was inherited from Cell_A through the
copying process) to reflect the changes that I did in the schematic
view.

3. I save Cell_B's symbol view and, since I have the
"updateCDFtermOrder" variable set, Virtuoso prompts me to comfirm the
updating of the cell's termorder. Then I go back to the schematic view
of Cell_B and check-and-save the cell. Virtuoso says all's fine.

4. I create a third cell "Testbench" in which I create instances of
both Cell_A and Cell_B, but ALL THE INSTANCES OF CELL_B READ THE NAME
"CELL_A" ON THEM!!! (simulation goes fine for both type of cells,
however, i.e. their electrical behavior is as expected).

Therefore, the problem is that that when copying a cell's symbol view,
the [@partName] label of the copy's symbol view gets somewhat "frozen"
to the original cell's name. Of course, this only can be noted on the
particular instances of the copied cell as on its symbol view one just
finds the generic [@partName] label. Is this a reported bug??? Am I
missing something???

The only way I found to overcome this is to just copy the schematic
view, create CELL_B's symbol view using the "Create Cellview from
Cellview" command, and paste CELL_A's symbol onto it but taking care
of preserving the [@partName] label generated by the "Create Cellview
from Cellview" operation. Incredibly time-consuming, and a total waste
of time!

I would like to know if there is some simple way of copying cells and
having the [@partName] label in the copy's symbol view updated. Maybe
there is some variable (analogous to "updateCDFtermOrder") for forcing
the update of a cell's labels on its symbol view.

....I have almost a hundred basic cells with complex symbols and I have
to make copies of all of them, and I need the copies to bear their
appropriate names when instantiating them. :S

Thanks a lot for any ideas.

Regards,
 
On editing the symbol, press shift+Q (or Edit->Properties->CellView) and edit the partName property.

or use @cellName instead of @partName


stéphame


spectrallypure wrote:
Hello all. Here is the problem:

1. I have a certain "Cell_A" with schematic and symbol views. Symbol
view includes the cell's name through the (automatically generated)
"[@partName]" label.

2. I make a copy of Cell_A (with all of its views), and name it
"Cell_B". Then I modify the schematic view of Cell_B and make some
changes, e.g. eliminate and rename some pins. Then I manually edit the
symbol view of Cell_B (which was inherited from Cell_A through the
copying process) to reflect the changes that I did in the schematic
view.

3. I save Cell_B's symbol view and, since I have the
"updateCDFtermOrder" variable set, Virtuoso prompts me to comfirm the
updating of the cell's termorder. Then I go back to the schematic view
of Cell_B and check-and-save the cell. Virtuoso says all's fine.

4. I create a third cell "Testbench" in which I create instances of
both Cell_A and Cell_B, but ALL THE INSTANCES OF CELL_B READ THE NAME
"CELL_A" ON THEM!!! (simulation goes fine for both type of cells,
however, i.e. their electrical behavior is as expected).

Therefore, the problem is that that when copying a cell's symbol view,
the [@partName] label of the copy's symbol view gets somewhat "frozen"
to the original cell's name. Of course, this only can be noted on the
particular instances of the copied cell as on its symbol view one just
finds the generic [@partName] label. Is this a reported bug??? Am I
missing something???

The only way I found to overcome this is to just copy the schematic
view, create CELL_B's symbol view using the "Create Cellview from
Cellview" command, and paste CELL_A's symbol onto it but taking care
of preserving the [@partName] label generated by the "Create Cellview
from Cellview" operation. Incredibly time-consuming, and a total waste
of time!

I would like to know if there is some simple way of copying cells and
having the [@partName] label in the copy's symbol view updated. Maybe
there is some variable (analogous to "updateCDFtermOrder") for forcing
the update of a cell's labels on its symbol view.

...I have almost a hundred basic cells with complex symbols and I have
to make copies of all of them, and I need the copies to bear their
appropriate names when instantiating them. :S

Thanks a lot for any ideas.

Regards,
 
If you use the "update..." checkbox on the copy form, it should update the
partName property after the copy (if my memory is correct - I remember filing
a CCR on this years ago (maybe 10 years ago!), and I'm pretty certain it got
implemented).

If you've already done the copy, make the change that Stéphane suggests
below.

Regards,

Andrew.

On Thu, 01 Nov 2007 12:16:27 +0100, "S. Badel"
<stephane.badel@REMOVETHISepfl.ch> wrote:

On editing the symbol, press shift+Q (or Edit->Properties->CellView) and edit the partName property.

or use @cellName instead of @partName


stéphame


spectrallypure wrote:
Hello all. Here is the problem:

1. I have a certain "Cell_A" with schematic and symbol views. Symbol
view includes the cell's name through the (automatically generated)
"[@partName]" label.

2. I make a copy of Cell_A (with all of its views), and name it
"Cell_B". Then I modify the schematic view of Cell_B and make some
changes, e.g. eliminate and rename some pins. Then I manually edit the
symbol view of Cell_B (which was inherited from Cell_A through the
copying process) to reflect the changes that I did in the schematic
view.

3. I save Cell_B's symbol view and, since I have the
"updateCDFtermOrder" variable set, Virtuoso prompts me to comfirm the
updating of the cell's termorder. Then I go back to the schematic view
of Cell_B and check-and-save the cell. Virtuoso says all's fine.

4. I create a third cell "Testbench" in which I create instances of
both Cell_A and Cell_B, but ALL THE INSTANCES OF CELL_B READ THE NAME
"CELL_A" ON THEM!!! (simulation goes fine for both type of cells,
however, i.e. their electrical behavior is as expected).

Therefore, the problem is that that when copying a cell's symbol view,
the [@partName] label of the copy's symbol view gets somewhat "frozen"
to the original cell's name. Of course, this only can be noted on the
particular instances of the copied cell as on its symbol view one just
finds the generic [@partName] label. Is this a reported bug??? Am I
missing something???

The only way I found to overcome this is to just copy the schematic
view, create CELL_B's symbol view using the "Create Cellview from
Cellview" command, and paste CELL_A's symbol onto it but taking care
of preserving the [@partName] label generated by the "Create Cellview
from Cellview" operation. Incredibly time-consuming, and a total waste
of time!

I would like to know if there is some simple way of copying cells and
having the [@partName] label in the copy's symbol view updated. Maybe
there is some variable (analogous to "updateCDFtermOrder") for forcing
the update of a cell's labels on its symbol view.

...I have almost a hundred basic cells with complex symbols and I have
to make copies of all of them, and I need the copies to bear their
appropriate names when instantiating them. :S

Thanks a lot for any ideas.

Regards,

--
Andrew Beckett
Senior Solution Architect
Cadence Design Systems, UK.
 
On Nov 2, 9:46 pm, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
If you use the "update..." checkbox on the copy form, it should update the
partName property after the copy (if my memory is correct - I remember filing
a CCR on this years ago (maybe 10 years ago!), and I'm pretty certain it got
implemented).
Andrew, do you know why @partName is the default label used when
generating cellviews from cellviews? The error described by the OP is
one I see with most novice Cadence users, and it always create a lot
of problems. I happen to know about this so I can rise the flag quite
early and tell all colleagues to use @cellName and to add a @libName
label as this make it easier to see which cell come from which
library.

Would it be of any use to open a ticket to have the default template
files for the symbol generation changed the way I describe, or is
there any historical reason for the @partName usage in the template
that will make any problems? We could, of course, change this by
ourselves, but then I have to redo it for every usr and isr we
install. It would be better if Cadence did this. Maybe the @partName
reflect the way most users exept me work with the tools?

--
Svenn
 
On Sat, 03 Nov 2007 20:26:31 -0000, Svenn Are Bjerkem
<svenn.bjerkem@googlemail.com> wrote:

On Nov 2, 9:46 pm, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm
wrote:
If you use the "update..." checkbox on the copy form, it should update the
partName property after the copy (if my memory is correct - I remember filing
a CCR on this years ago (maybe 10 years ago!), and I'm pretty certain it got
implemented).


Andrew, do you know why @partName is the default label used when
generating cellviews from cellviews? The error described by the OP is
one I see with most novice Cadence users, and it always create a lot
of problems. I happen to know about this so I can rise the flag quite
early and tell all colleagues to use @cellName and to add a @libName
label as this make it easier to see which cell come from which
library.

Would it be of any use to open a ticket to have the default template
files for the symbol generation changed the way I describe, or is
there any historical reason for the @partName usage in the template
that will make any problems? We could, of course, change this by
ourselves, but then I have to redo it for every usr and isr we
install. It would be better if Cadence did this. Maybe the @partName
reflect the way most users exept me work with the tools?
Svenn,

It's historical. partName is a hangover from years back - and it was commonly
used when PCB users used the schematic editor for their schematics too.

Note that you can always use your own template (there's a cdsenv setting
for this), rather than changing the Cadence installation.

Or you could use the "analog" (or "artist") template which uses cdsName()
instead and can thus be configured to show the cellName or the instance name
(or nothing) - as well as cdsTerm() and cdsParam labels.

Regards,

Andrew.
--
Andrew Beckett
Senior Solution Architect
Cadence Design Systems, UK.
 
On Nov 15, 9:47 am, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
It's historical. partName is a hangover from years back - and it was commonly
used when PCB users used the schematic editor for their schematics too.
This was my guess.

Note that you can always use your own template (there's a cdsenv setting
for this), rather than changing the Cadence installation.

Or you could use the "analog" (or "artist") template which uses cdsName()
instead and can thus be configured to show the cellName or the instance name
(or nothing) - as well as cdsTerm() and cdsParam labels.
If Cadence can wipe AWD, why not wipe the partName from the standard
templates and let those few PCB designers using composer insert
partName manually? Or, even better, let cellName and partName live
happily together by introducing cellName as an additional label in the
drop down selector and let cellName be default and partName be
optional?

--
Svenn
 
Andrew,

Note that you can always use your own template (there's a cdsenv setting
for this), rather than changing the Cadence installation.
Could you please point to the exact entry(ies) that need to be
modified/added to the .cdsenv in order tho accompish it?

Or you could use the "analog" (or "artist") template which uses cdsName()
instead and can thus be configured to show the cellName or the instance > name (or nothing) - as well as cdsTerm() and cdsParam labels.
Where is this template located, and how can I configure it in order to
perform the customization that you mention for choosing what to show?

Thanks in advance for your help.

Best regards,

Jorge Luis.
 
On Nov 16, 2:34 am, spectrallypure <jorgela...@gmail.com> wrote:
Andrew,

Note that you can always use your own template (there's a cdsenv setting
for this), rather than changing the Cadence installation.

Could you please point to the exact entry(ies) that need to be
modified/added to the .cdsenv in order tho accompish it?

Or you could use the "analog" (or "artist") template which uses cdsName()
instead and can thus be configured to show the cellName or the instance > name (or nothing) - as well as cdsTerm() and cdsParam labels.

Where is this template located, and how can I configure it in order to
perform the customization that you mention for choosing what to show?
When you create cellview from celview, say symbol from schematic, you
get a Symbol Generation Options dialog where you can assign pins to
different sides of the symbol. At the bottom there is a select-button
named Load/Save. If you select that one, the dialog will grow to give
you additional input fields. Here you can define or redefine your
templates.
--
Svenn
 
On Thu, 15 Nov 2007 17:34:51 -0800 (PST), spectrallypure <jorgelagos@gmail.com>
wrote:

Andrew,

Note that you can always use your own template (there's a cdsenv setting
for this), rather than changing the Cadence installation.

Could you please point to the exact entry(ies) that need to be
modified/added to the .cdsenv in order tho accompish it?

Or you could use the "analog" (or "artist") template which uses cdsName()
instead and can thus be configured to show the cellName or the instance > name (or nothing) - as well as cdsTerm() and cdsParam labels.

Where is this template located, and how can I configure it in order to
perform the customization that you mention for choosing what to show?

Thanks in advance for your help.

Best regards,

Jorge Luis.

envSetVal("schematic" "tsgTemplateType" 'string "analog")

will select the "artist" or "analog" template. You can define the location of
the templates - and their names, by setting the following variable in your
..cdsinit file.

tsgTemplateMasters = list(
list("digital" (prependInstallPath "samples/symbolGen/default.tsg"))
list("analog" (prependInstallPath "samples/symbolGen/artist.tsg"))
list("artist" (prependInstallPath "samples/symbolGen/artist.tsg"))
list("PCB" (prependInstallPath "samples/symbolGen/package.tsg"))
list("metric" (prependInstallPath "samples/symbolGen/metric.tsg"))
)

The above shows the default - as covered in the sample file:

<instdir>/tools/dfII/samples/local/schConfig.il

Regards,

Andrew.

--
Andrew Beckett
Senior Solution Architect
Cadence Design Systems, UK.
 
On Mon, 05 Nov 2007 21:11:46 -0800, spectrallypure <jorgelagos@gmail.com> wrote:

Thank you guys for your kind replies. Stéphane's solution seems to
work, but unfortunately it involves manual edition of every copied
cell's symbol view, making it not too convenient when making lots of
copies of lots of cells :(

I therefore tried to use the "Update Instances" option on the copy
cell dialog box, but for some reason it doesn't work!!!! When I use
the "(Update Instances) Of New Copies Only" sub-option, the copies
still bear the partName of the original cell. The Library Manager
message window doesn't report any error:
...
Copy is doneProcessing files to be copied...
Beginning simple copy to library "Turbo_Decodificador_UMTS40".
Transfer of 8 files phase complete in 0:00:00
Performing instance update.
Start running ccpCdbaUpdtr ...
ccpCdbaUpdtr ran successfully ...
Loading all available p-cell functions
ROD pcell code loaded
Copy is done
...

What's worse, when I use the "(Update Instances) Of Entire Library",
not only doesn't it also fail to solve the partName updating problem
on the copies, but I also get the following errors in the Library
Manager messages window:
...
Processing files to be copied...
Beginning simple copy to library "Turbo_Decodificador_UMTS40".
Transfer of 8 files phase complete in 0:00:00
Performing instance update.
Start running ccpCdbaUpdtr ...
Loading all available p-cell functions
*Error* eval: undefined function - hiCreateCyclicField
*Error* eval: undefined function - hiCreateCyclicField
*Error* eval: undefined function - hiCreateStringField
*Error* eval: undefined function - hiCreateStringField
...(several of these hiCreateStringField errors)..
*Error* eval: undefined function - hiCreateStringField
*Error* eval: undefined function - hiCreateSeparatorField
*Error* eval: undefined function - hiCreateAppForm
*Error* eval: undefined function - addToAMSMenu
ccpCdbaUpdtr ran successfully ...
ROD pcell code loaded
...

Finally, I was skimming through the documentation and according to the
Library Manager User Manual it should be possible to update a cell
view by selecting it and using the "Design Manager -> Update" command,
but this command is grayed-out for all the views/cells/libraries in my
Library Manager!!! I am the only one working in this project so it's
impossible that the cells could be checked out by somebody else....

What' could be wrong here? Could it be that I am missing some
definitions on my environment configuration scripts? Is it a design
kit bug? :S

...As usual, thanks so much in advance for any help!!!

Best regards,

Jorge Luis.

P.S.: By the way, I'm using icfb 5.10.41.500.3.49 with
AustriaMicrosystems Hit-Kit v3.70.

I just checked, and the copy (with update copies only, but I don't suppose that
matters) updated the partName property.

From the SKILL errors, I'm wondering whether the libInit.il of the library
(probably the technology library) is using some functions to display a form -
which shouldn't really be done - because this should be capable of being loaded
in executables without any UI. You might want to report it to AMS?

Regards,

Andrew.
--
Andrew Beckett
Senior Solution Architect
Cadence Design Systems, UK.
 
On Thu, 15 Nov 2007 14:39:57 -0800 (PST), Svenn Are Bjerkem
<svenn.bjerkem@googlemail.com> wrote:

On Nov 15, 9:47 am, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm
wrote:
It's historical. partName is a hangover from years back - and it was commonly
used when PCB users used the schematic editor for their schematics too.

This was my guess.


Note that you can always use your own template (there's a cdsenv setting
for this), rather than changing the Cadence installation.

Or you could use the "analog" (or "artist") template which uses cdsName()
instead and can thus be configured to show the cellName or the instance name
(or nothing) - as well as cdsTerm() and cdsParam labels.

If Cadence can wipe AWD, why not wipe the partName from the standard
templates and let those few PCB designers using composer insert
partName manually? Or, even better, let cellName and partName live
happily together by introducing cellName as an additional label in the
drop down selector and let cellName be default and partName be
optional?
Well, this is a rather different scenario than AWD.

AWD is rather old technology, and not really amenable to being updated to add
new capabilities that users demand. It's written in a rather archaic language
(RATFOR) for a start, and so a modern replacement was needed. The Java
implementation of the wavescan GUI is gradually being replaced with a Qt
implementation for the GUI - so some of your Java concerns will be addressed by
that.

The partName issue is something that is very easy to workaround, and many
customers change the templates to suit their needs. Because there are probably a
number of users that depend on partName still existing, it's rather hard to
change the default - it's not going to be just PCB users - that's just the
history behind it.

Regards,

Andrew.
--
Andrew Beckett
Senior Solution Architect
Cadence Design Systems, UK.
 
Andrew & Svenn,

Thanks so much for your help. I tried the templates approach and works
great; I'll use it from now on for my new projects.

However, now I am a little confused because of your last response,
Andrew...

I just checked, and the copy (with update copies only, but I don't suppose that
matters) updated the partName property.
How exactly did you manage to succeed to have the partName property
updated after the copy operation? (you mean you got it updated without
using any special templates, or am I getting it wrong?) ...So, after
all, is it possible or not to get the partName properties updated
(without using templates)?

By the way, I tried to use a different design kit to see if things
worked, but with no luck. Using the IBM PDK for tech 7WL 0.18u, I
still cannot get the copies to have their partName updated. So I guess
it's not the design kit's fault... why on earth I cannot make it work
while the others can?!

As always, thanks a lot for your advices.

Regards,

Jorge.
 

Welcome to EDABoard.com

Sponsor

Back
Top