• 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. Hi, are there some reference books for studing skill language...

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 145
  • Views 20003
  • 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

Hi, are there some reference books for studing skill language?

imagesensor123
imagesensor123 over 14 years ago

 Hi,

      hi, are there some reference books for studing skill language? which one do you use? and is it possible to read binary file in cadence using skill language?

thanks,

zfeng

  • Cancel
  • skillUser
    skillUser over 14 years ago

     Hi Zfeng,

    I would recommend looking at the documentation as a starting place, "Cadence SKILL Language Reference" and the "Cadence SKILL Language User Guide".  Also there is a useful area on the Cadence Online Support website: Resources -> SKILL Information -> Custom IC Design SKILL Code Library - here there are several example SKILL scripts that can be downloaded one-by-on, or all at once in a single file.

    I hope that this helps you get started.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi Lawrence,

          Thanks for your abvice, I have downloaded these files, except the code library which you mentioned above, because I don't know how to get "Cadence License Server Host ID" from our server, i will be appreciate if you can share it with me, if you don't have the library, it's doesn't matter!

          I want to make sure if the cadence can read the binary file?

    Regards,

    zfeng

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

    Hi Zfeng,

    The code library cannot be sent to people without an support account, as far as I know. The license server hostid should be available from your adminstrator or professor (if a student).

    SKILL can read binary files if it's a database it knows how to handle, for example, reading  a schematic or layout database, or reading a psf/sst2/psfxl simulation results database. If you're talking about general binary file reading support, then no, it doesn't have that. What kind of binary file are you trying to read?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi Andrew,

         yes, my supervisor will connectn you(cadence) later, I want to konw if we need to pay for downloading the skill code library? 

         and i'm talking about to read a picture(bmp or other file) , i can use c code to read the picture information, but i want to use the skill language to do it. is it possible to read the binary file from specified position(use "fseek") ?

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

    So you're effectively asking the same question you asked previously in /forums/p/17422/1245328.aspx#1245328 . The answer is no. You can use functions to seek and tell around the file, but there aren't functions to read binary data from a file (there's only gets, lineread, and similar ASCII file access functions).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi Andrew,

         I opened a binary file(extension is .dat) using other tools and found that the first Byte store"11111111"=integer "255" , but when i use the skill function "getc" to read it, why the return value is "\377", i get confused. thanks for explaining this.

    Regards,

    zfeng

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

    Hi Zfeng,

    The reason why this happens is because it returns it as a string."\377" is saying that this is an octal character, corresponding to 3*64+7*8+7 = 255.

    So you could do charToInt(concat(theChar)) and it would return 255.

    However, I'm not sure whether it will work particularly effectively or efficiently - but you can always try!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi Andrew,

        Thanks for your advice, I have manged to read the binary file, and I also want to know how to write a binary use skill language with specify fomart.

    Regards,

    zfeng

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chanakaya
    chanakaya over 14 years ago
    I would also add that since SKILL is a dialect of LISP, you will also gain good insight in to programming in SKILL by taking advantage of books on LISP/Scheme. One of my favorite books on LISP is (Land of Lisp) by Conrad Barski which is very good for a SKILL/LISP beginner.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

     Zfeng,

    The problem is that there's no putc function, and whilst the alternative is to use something like fprintf() to write to a file, these cannot handle the complete range of characters from 0 to 255. In particular 0 will not work because it's seen as the null terminator, and so an empty string will be written if you try doing fprintf(port "%c" intToChar(0)) for example.

    As I said before, SKILL is not really geared up for handling binary files - but you may want to contact customer support and request that a putc() function be added - there's no enhancement request that I can see asking for that currently.

    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