Help with technology SKILL functions

J

Joel

Guest
I am trying to create a custom layer for annotation on a schematic
using SKILL in IC 6.1.3.500.16. Here is a sample of some of the SKILL
code. Note that this works pre-IC6.

cv = dbOpenCellViewByType("mylib" "mycell" myview") -> db:0xb....
tech_file_id = techGetTechFile(cv) -> db:0xb....
techGetLayerName(tech_file_id 10) -> nil
techCreateLayer(tech_file_id 10 "MY_layername") -> nil

The techCreateLayer call fails and I get this warning: "*WARNING*
techCreateLayer: Layer number 10 already exists".

If the warning is true, why did the call to techGetLayerName return
'nil'. According to the documentation, a 'nil' return value from
techGetLayerName means "The technology database does not exist or the
layer is not defined in the technology database."

I am sure that the technology file exists (for example, I can call
tcDumpTechFile) and I am reasonably sure that the layer is not
defined.

Any thoughts about what might be going on here? Thank you in advance.
 
Joel wrote, on 02/17/10 17:20:
I am trying to create a custom layer for annotation on a schematic
using SKILL in IC 6.1.3.500.16. Here is a sample of some of the SKILL
code. Note that this works pre-IC6.

cv = dbOpenCellViewByType("mylib" "mycell" myview") -> db:0xb....
tech_file_id = techGetTechFile(cv) -> db:0xb....
techGetLayerName(tech_file_id 10) -> nil
techCreateLayer(tech_file_id 10 "MY_layername") -> nil

The techCreateLayer call fails and I get this warning: "*WARNING*
techCreateLayer: Layer number 10 already exists".

If the warning is true, why did the call to techGetLayerName return
'nil'. According to the documentation, a 'nil' return value from
techGetLayerName means "The technology database does not exist or the
layer is not defined in the technology database."

I am sure that the technology file exists (for example, I can call
tcDumpTechFile) and I am reasonably sure that the layer is not
defined.

Any thoughts about what might be going on here? Thank you in advance.

Sounds odd. Are there any techPermissions set in the controls section of your
tech file? Just wondering whether that section had been set to readonly.

Regards,

Andrew.
 
On Feb 19, 9:19 am, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
Joel wrote, on 02/17/10 17:20:



I am trying to create a custom layer for annotation on a schematic
using SKILL in IC 6.1.3.500.16. Here is a sample of some of the SKILL
code. Note that this works pre-IC6.

cv = dbOpenCellViewByType("mylib" "mycell" myview") -> db:0xb....
tech_file_id = techGetTechFile(cv) -> db:0xb....
techGetLayerName(tech_file_id 10) -> nil
techCreateLayer(tech_file_id 10 "MY_layername") -> nil

The techCreateLayer call fails and I get this warning: "*WARNING*
techCreateLayer: Layer number 10 already exists".

If the warning is true, why did the call to techGetLayerName return
'nil'. According to the documentation, a 'nil' return value from
techGetLayerName means "The technology database does not exist or the
layer is not defined in the technology database."

I am sure that the technology file exists (for example, I can call
tcDumpTechFile) and I am reasonably sure that the layer is not
defined.

Any thoughts about what might be going on here? Thank you in advance.

Sounds odd. Are there any techPermissions set in the controls section of your
tech file? Just wondering whether that section had been set to readonly.

Regards,

Andrew.
Hi Andrew,

Thank you for replying. I agree that it is odd.

I don't have file system read/write permissions on the db file. This
has not been a problem in the past, though, as I have always been able
to create custom layers. Do I need to have read/write permission on
the tech file in order to create temporary layers?

I am not familiar with the tech file permissions. A call to
techGetPermissions(tech_file_id) returns nil if that helps?

If permissions are a problem, is there another way to create layers?
I don't need to save the new layers, I just need to be able to create
them on-the-fly for some custom schematic annotation.

Thank you,

Joel
 
Joel wrote, on 02/22/10 14:42:
On Feb 19, 9:19 am, Andrew Beckett<andr...@DcEaLdEeTnEcTe.HcIoSm
wrote:
Joel wrote, on 02/17/10 17:20:



I am trying to create a custom layer for annotation on a schematic
using SKILL in IC 6.1.3.500.16. Here is a sample of some of the SKILL
code. Note that this works pre-IC6.

cv = dbOpenCellViewByType("mylib" "mycell" myview") -> db:0xb....
tech_file_id = techGetTechFile(cv) -> db:0xb....
techGetLayerName(tech_file_id 10) -> nil
techCreateLayer(tech_file_id 10 "MY_layername") -> nil

The techCreateLayer call fails and I get this warning: "*WARNING*
techCreateLayer: Layer number 10 already exists".

If the warning is true, why did the call to techGetLayerName return
'nil'. According to the documentation, a 'nil' return value from
techGetLayerName means "The technology database does not exist or the
layer is not defined in the technology database."

I am sure that the technology file exists (for example, I can call
tcDumpTechFile) and I am reasonably sure that the layer is not
defined.

Any thoughts about what might be going on here? Thank you in advance.

Sounds odd. Are there any techPermissions set in the controls section of your
tech file? Just wondering whether that section had been set to readonly.

Regards,

Andrew.

Hi Andrew,

Thank you for replying. I agree that it is odd.

I don't have file system read/write permissions on the db file. This
has not been a problem in the past, though, as I have always been able
to create custom layers. Do I need to have read/write permission on
the tech file in order to create temporary layers?

I am not familiar with the tech file permissions. A call to
techGetPermissions(tech_file_id) returns nil if that helps?

If permissions are a problem, is there another way to create layers?
I don't need to save the new layers, I just need to be able to create
them on-the-fly for some custom schematic annotation.

Thank you,

Joel
Hi Joel,

techGetPermissions returning nil means there are no permissions set - which
means it's wide open. You should be able to make changes to the technology in
memory even if the actual tech file is readonly on disk.

I would suggest you contact Cadence Customer Support at
http://support.cadence.com - this needs to be investigated in more detail.

Regards,

Andrew.
 
On Feb 23, 2:46 am, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
Joel wrote, on 02/22/10 14:42:



On Feb 19, 9:19 am, Andrew Beckett<andr...@DcEaLdEeTnEcTe.HcIoSm
wrote:
Joel wrote, on 02/17/10 17:20:

I am trying to create a custom layer for annotation on a schematic
using SKILL in IC 6.1.3.500.16.  Here is a sample of some of the SKILL
code.  Note that this works pre-IC6.

cv = dbOpenCellViewByType("mylib" "mycell" myview") ->   db:0xb.....
tech_file_id = techGetTechFile(cv) ->   db:0xb....
techGetLayerName(tech_file_id 10) ->   nil
techCreateLayer(tech_file_id 10 "MY_layername") ->   nil

The techCreateLayer call fails and I get this warning: "*WARNING*
techCreateLayer: Layer number 10 already exists".

If the warning is true, why did the call to techGetLayerName return
'nil'.  According to the documentation, a 'nil' return value from
techGetLayerName means "The technology database does not exist or the
layer is not defined in the technology database."

I am sure that the technology file exists (for example, I can call
tcDumpTechFile) and I am reasonably sure that the layer is not
defined.

Any thoughts about what might be going on here?  Thank you in advance.

Sounds odd. Are there any techPermissions set in the controls section of your
tech file? Just wondering whether that section had been set to readonly.

Regards,

Andrew.

Hi Andrew,

Thank you for replying.  I agree that it is odd.

I don't have file system read/write permissions on the db file.  This
has not been a problem in the past, though, as I have always been able
to create custom layers.  Do I need to have read/write permission on
the tech file in order to create temporary layers?

I am not familiar with the tech file permissions.  A call to
techGetPermissions(tech_file_id) returns nil if that helps?

If permissions are a problem, is there another way to create layers?
I don't need to save the new layers, I just need to be able to create
them on-the-fly for some custom schematic annotation.

Thank you,

Joel

Hi Joel,

techGetPermissions returning nil means there are no permissions set - which
means it's wide open. You should be able to make changes to the technology in
memory even if the actual tech file is readonly on disk.

I would suggest you contact Cadence Customer Support athttp://support.cadence.com- this needs to be investigated in more detail.

Regards,

Andrew.
Thank you for the response. I will follow up with customer support.

Joel
 

Welcome to EDABoard.com

Sponsor

Back
Top