• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. launch leHiCreateInst() , it shows *Error* putprop: first...

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 150
  • Views 26021
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

launch leHiCreateInst() , it shows *Error* putprop: first arg must be either symbol, list, defstruct or type nil

Charley Chen
Charley Chen over 13 years ago

Hello All ,

How can I let it show leCreateInstForm again or how to fix it ?  I don't want to start tool again.

Thank you,

Charley

  • Cancel
  • Quek
    Quek over 13 years ago

    Hi Charley

    Would you please explain a little bit more on what you are trying to do and the version of Virtuoso which you are using? : )

    terminal>virtuoso -W (or icfb -W)

    E.g. In "let it show leCreateInstForm ...", what does "it" refer to?


    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 13 years ago

    Hi Quek ,

    I pre-define some field's value in leCreateInstForm

    leCreateInstForm->libName->value = ""
    leCreateInstForm->cellName->value = ""

    .

    .

    But I use leCreateInstForm->libName->value , it return the value

    I tried to let it display form again , It doesn't work.

    I use IC 6.1

    Thank you,

    Charley

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 13 years ago

    Hi Charley

    Perhaps you can try something like:

    procedure( CCSpreFillInstForm()
       let( ()
          hiRegTimer(
             "eval('leCreateInstForm)~>libName~>value=\"\"
         eval('leCreateInstForm)~>cellName~>value=\"\""
             6
          ) ;hiRegTimer
          leHiCreateInst()
       ) ;let
    ) ;procedure


    hiSetBindKey("Layout" "F10" "CCSpreFillInstForm()")


    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 13 years ago

    Hi Quek ,

    Thank you for help, but it doesn't work.

    I use hiDisplayForm(leCreateInstForm 100:500) , it can display ,  I press Browse , it can show library manager and fills the value

    to the form , but it can't  put instance in layout window ,

    It also can't Hide the form by GUI's button , But  hiFromCancel(leCreateInstForm) , it works.

    It seems the leCreateInstForm is damaged or ...

    Thank you,

    Charley

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 13 years ago

    Hi Charley

    I am pretty sure leCreateForm is not damaged. : )

    It seems that your objective has changed. Previously you had explained that you wanted to prefill the form with some values so I gave the sample codes using hiRegTimer. But now it seems that your objective is actually to automatically place some instances in the layout? : )  Perhaps it might be good if you can give more details on what you are trying to do.

    Thanks
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 13 years ago

    Hi Quek,

    I just want to pre-define libName , cellName , viewName in the leCreateInstForm ,

    user can place the instance . I don't know what causes this happen .

    Thank you,

    Charley

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 13 years ago

    Hi Charley

    In that case, it is strange that my example had not worked for you. I tested it using IC615-500-11 and it works fine. Perhaps you can check and let us know if you are seeing any error messages in ciw, etc.

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 13 years ago

    Hi Quek,

    I launch leHiCreateInst , it shows *Error* putprop: first arg must be either symbol, list, defstruct or type nil

    I load and launch your code , press F10 , it shows *Error* putprop: first arg must be either symbol, list, defstruct or type nil and ERROR

    Thank you,

    Charley

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Charley,

    Your posts are very confusing. Are you trying to set the  libName and cellName as a result of this error you're getting? Or are you getting them because you're trying to set  the libName and cellName? It's really unclear.

    Note that using hiDisplayForm() with the create instance form (leCreateInstForm) makes no sense. hiDisplayForm is for nonoptions forms, whereas leCreateInstForm is an options form (note it has hide/cancel rather than OK/Apply/Cancel) - which means it must be used as the options (F3 type form) from an enter function - after all, you're digitizing the location where the instance is to be placed. So customization would need to be done using Quek's approach.

    Or you can pre-seed the form by using:

    leSetEnv("instLibName" "mylib")
    leSetEnv("instCellName" "mycell")
    leSetEnv("instViewName" "myview")
    leHiCreateInst()

    which is cleaner and avoids mucking about with hiRegTimer().

    If your original problem is nothing to do with your attempts to customize the form, try using:

    tracelength=tracelevel=_stacktrace=50

    and then do the command and post what the stack trace says - it may give more clues. Is this repeatable (i.e. is this only happening in this session - in which case quitting and starting again is probably the pragmatic thing to do).

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Charley Chen
    Charley Chen over 13 years ago

    Andrew ,

    Sorry for my unclear question. I did set the value by

    leCreateInstForm->libName->value = "QQ"

    leCreateInstForm->cellName->value = "QQQ"

    ..

    After type tracelength=tracelevel=_stacktrace=50  in the CIW , It shows

    *Error* putprop: first arg must be either symbol, list, defstruct or type nil

    <<< Stack Trace >>>

    (... in leHiCreateInst ...)

    leHiCreateInst()

    Thank you,

    Charley

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
>

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information