• 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. methods for variable integer to string conversion

Stats

  • Locked Locked
  • Replies 16
  • Subscribers 145
  • Views 25677
  • 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

methods for variable integer to string conversion

JMCaJHU
JMCaJHU over 15 years ago

 Is there any way to convert a variable of the integer type to a string.  Currently i must create a set of pins with names varying from IN0 onward.  I tried everything from casting the int to string with quotations to evaluating the symbol/variable then casting into a string with symbolToString.  All seem to be limited with no direct way from int to string.  Currently i have resorted to using random naming for the program to work as follows:

 for(j 0 n

if(j==0 then
db_outnet=dbCreateNet(db_outcell "IN0")
db_figId = dbCreateRect(db_outcell  list("METAL1")  list(0:5.025 0.375:5.4))
dbCreatePin(db_outnet db_figId "IN0")

else
outname=symbolToString(gensym('IN))
db_outnet=dbCreateNet(db_outcell outname)
db_figId = dbCreateRect(db_outcell  list("METAL1")  list(0:(3.7+rth*j) 0.375:(rth*j+4.1)))
dbCreatePin(db_outnet db_figId outname)

outname=symbolToString(gensym('IN))
db_outnet=dbCreateNet(db_outcell outname)
db_figId = dbCreateRect(db_outcell  list("METAL1")  list(0:(5.025+rth*j) 0.375:(rth*j+5.4)))
dbCreatePin(db_outnet db_figId outname) 

 This creates IN0 then continues creating input pins in numerical order from a random index.  I need to be able to create "IN" + j.string in java terms.

  • Cancel
Parents
  • dmay
    dmay over 15 years ago

    I prefer to use tables whenever I can. They are very efficient and you wouldn't need to declar a fixed size in this case.

    ;Define your table
    varTbl = makeTable("varTbl" nil)

    You could do this in a variety of ways:
    sprintf(varName "pp%d_1x" m)
    varTbl[varName] = myvalue

    OR
    varTbl[list("pp_1x" m)] = myvalue

    OR, if there are a lot of values to deal with, you could create nested tables
    varTbl["pp_1x"] = makeTable("pp1x" nil)
    varTbl["pp_1y"] = makeTable("pp1y" nil)
    varTbl["pp_2x"] = makeTable("pp2x" nil)
    varTbl["pp_2y"] = makeTable("pp2y" nil)
    foreach(m mList
        varTbl["pp_1x"][m] = myvalue1x
        varTbl["pp_1y"][m] = myvalue1y
        varTbl["pp_2x"][m] = myvalue2x
        varTbl["pp_2y"][m] = myvalue2y
    )

    As for reading input from the keyboard, it depends on what you want to do. Are you working in Virtuoso? Then you can use bindkeys. The enterString should be in the documentation.

    enterString(
    [?prompts l_promptList]
    [?form s_form]
    [?initProc t_initProcName]
    [?doneProc t_doneProcName]
    [?formProc t_formProcName]
    [?alwaysMap g_alwaysMap]
    [?cmdName t_cmdName]
    )

    Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • dmay
    dmay over 15 years ago

    I prefer to use tables whenever I can. They are very efficient and you wouldn't need to declar a fixed size in this case.

    ;Define your table
    varTbl = makeTable("varTbl" nil)

    You could do this in a variety of ways:
    sprintf(varName "pp%d_1x" m)
    varTbl[varName] = myvalue

    OR
    varTbl[list("pp_1x" m)] = myvalue

    OR, if there are a lot of values to deal with, you could create nested tables
    varTbl["pp_1x"] = makeTable("pp1x" nil)
    varTbl["pp_1y"] = makeTable("pp1y" nil)
    varTbl["pp_2x"] = makeTable("pp2x" nil)
    varTbl["pp_2y"] = makeTable("pp2y" nil)
    foreach(m mList
        varTbl["pp_1x"][m] = myvalue1x
        varTbl["pp_1y"][m] = myvalue1y
        varTbl["pp_2x"][m] = myvalue2x
        varTbl["pp_2y"][m] = myvalue2y
    )

    As for reading input from the keyboard, it depends on what you want to do. Are you working in Virtuoso? Then you can use bindkeys. The enterString should be in the documentation.

    enterString(
    [?prompts l_promptList]
    [?form s_form]
    [?initProc t_initProcName]
    [?doneProc t_doneProcName]
    [?formProc t_formProcName]
    [?alwaysMap g_alwaysMap]
    [?cmdName t_cmdName]
    )

    Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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