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.
|
|
0
|
|
|
|
Reply
|
joel_cooper (18)
|
2/17/2010 5:20:32 PM |
|
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.
|
|
0
|
|
|
|
Reply
|
Andrew
|
2/19/2010 3:19:15 PM
|
|
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
|
|
0
|
|
|
|
Reply
|
Joel
|
2/22/2010 2:42:28 PM
|
|
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.
|
|
0
|
|
|
|
Reply
|
Andrew
|
2/23/2010 8:46:32 AM
|
|
On Feb 23, 2:46=A0am, 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. =A0Here is a sample of some of the SK=
ILL
> >>> code. =A0Note that this works pre-IC6.
>
> >>> cv =3D dbOpenCellViewByType("mylib" "mycell" myview") -> =A0 db:0xb..=
...
> >>> tech_file_id =3D techGetTechFile(cv) -> =A0 db:0xb....
> >>> techGetLayerName(tech_file_id 10) -> =A0 nil
> >>> techCreateLayer(tech_file_id 10 "MY_layername") -> =A0 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'. =A0According 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? =A0Thank you in advan=
ce.
>
> >> Sounds odd. Are there any techPermissions set in the controls section =
of your
> >> tech file? Just wondering whether that section had been set to readonl=
y.
>
> >> Regards,
>
> >> Andrew.
>
> > Hi Andrew,
>
> > Thank you for replying. =A0I agree that it is odd.
>
> > I don't have file system read/write permissions on the db file. =A0This
> > has not been a problem in the past, though, as I have always been able
> > to create custom layers. =A0Do 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. =A0A 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 - whi=
ch
> means it's wide open. You should be able to make changes to the technolog=
y in
> memory even if the actual tech file is readonly on disk.
>
> I would suggest you contact Cadence Customer Support athttp://support.cad=
ence.com- this needs to be investigated in more detail.
>
> Regards,
>
> Andrew.
Thank you for the response. I will follow up with customer support.
Joel
|
|
0
|
|
|
|
Reply
|
Joel
|
2/27/2010 3:22:37 PM
|
|
|
4 Replies
659 Views
(page loaded in 0.653 seconds)
|