• 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
  • sprinter
    sprinter over 15 years ago

    Thanks Andrew & Derek for your useful inputs.

    Yes, you're right, I've made a transformer pcell using ROD functions. Right now, I fill in the parameters (space, width, etc. ) in the code itself & then load the file in the CIW. Your idea of using a form is perfect. I was thinking, instead of making a form afresh, which may take some effort for a new Skill user like me, why not pull (copy) an existing CDF form from the IBM library & add a few fields. An inductor CDF form would be a close match for this as there're no transformers in the IBM PDK. I shall appreciate if you could outline some steps towards achieving this.

     

    Best regards,

    Adil.

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

    Adil,

    If it's really a pcell (defined with pcDefinePCell), then it makes no sense to create a form. 

    If you have no CDF defined, you should just be able to place an instance of the pcell (as usual) in the layout and the prompts will be names of the pcell parameters - and all will be fine.

    If you want to make the create instance/edit properties form a little cleaner, you may then want to define CDF for the component. This allows you to give nicer prompts to the user. If you do this, please ensure that your CDF default values match the pcell default values (you'll get in a horrible mess otherwise).

    To create the CDF, you can start with Tools->CDF->Edit CDF. Make sure you pick "Base" and then add the parameters you need - make sure the types match the types you're using for each CDF parameter.

    You may find it easier to define a few, then use:

    cdfDump("libName" "fileName.cdf" ?cellName "cellName")

    (change the bits in quotes as you need)

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sprinter
    sprinter over 15 years ago
    Thanks Andrew for your reply.

     If it's really a pcell (defined with pcDefinePCell), then it makes no sense to create a form

    Well, I've not defined it with pcDefinePCell, all I've done is that I've put together ROD functions, like CreatePolygon etc.  and made the transformer.   

    If you want to make the create instance/edit properties form a little cleaner, you may then want to define CDF for the component. This allows you to give nicer prompts to the user. If you do this, please ensure that your CDF default values match the pcell default values (you'll get in a horrible mess otherwise).

    I think this is what I will end up doing but by copying the existing inductor CDF and modifying it.

     

    Regards,

    Adil.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    Hi Adil,

    Note that unless you make it into a pcell, creating CDF is going to be of no help. CDF is Component Description Format, and unless you have a component (ie a cellView) there is no point in using cell CDF.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sprinter
    sprinter over 15 years ago

    Thanks once again Andrew for your input.

    I guess I've to first go through the skill user interface in order to familiarize myself with the nitty gritty of creating a pcell before I can start asking sensible questions :)

    Best regards and have a great weekend,

    Adil.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    Hi Adil,

    No, creation of pcells is in the Parameterized Cell documentation, not the "User Interface" documentation (it's nothing to do with the user interface).

    Anyway, run cdnshelp (if using IC613) or cdsdoc (if IC5141 and you should be able to find it.

    Best Regards,

    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