• 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. How to convert '() to list()

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 1013
  • 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

How to convert '() to list()

WTony
WTony over 6 years ago

Hi,

I would like to convert a list from no evaluation to evaluated list. h ow can I do that.

my code is :

yhwDrDefinePacket = list(
;( DisplayName  PacketName                   Stipple    LineStyle  Fill       Outline    [FillStyle])
'( display      M1_drawing                   metal1S    solid      blue       blue       outlineStipple)
'( display      M1_label                     blank      solid      blue       blue       outlineStipple)
'( display      M1_pin                       X          thickLin2  blue       blue       X         )
)

foreach(yhwPacket yhwDrDefinePacket
 if(drFindPacket("display" pcExprToString(nthelem(2 yhwPacket))) then
  drSetPacket(yhwPacket)
 )
)

when I run the code, it show the error below:

*Error* drSetPacket: too few arguments (at least 6 expected, 1 given) - ((display M1_drawing metal1S solid blue ... ))

So instead of passing 7 arguments, it pass just 1 arguments

Thanks for any help

Tony

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    Tony,

    I think you need:

    foreach(yhwPacket yhwDrDefinePacket
      if(drFindPacket("display" pcExprToString(nthelem(2 yhwPacket))) then
        apply('drSetPacket mapcar('symbolToString yhwPacket))
      )
    )

    The apply line calls the drSetPacket with the list members as individual arguments. Because they are symbols not strings, the mapcar transforms each argument in your lines above into a string.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • WTony
    WTony over 6 years ago in reply to Andrew Beckett

    Thanks Andrew

    • 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