Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

01 Skill Introduction

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

Introduction to SKILL programming

Module 1:

Sharifsab Nadaf
18 May 2019
Table of Contents

• SKILL programming – What and Why?


• How it works?
• Get Help - Options
• Possibilities in SKILL
• PROS of SKILL
• Data types –
• Numbers, Strings and Lists
• List and String operations

2
SKILL programming – What and Why?

• Developed and copyrighted by Cadence Design Systems


• Published in 1990 in IEEE DAC conference
• Can be used only in Cadence Environment

• IL  SCIL  SKIL  SKILL


• SKILL  Not an acronym. It’s a trademark preferred by Cadence

• Flavour of LISP
• LisP  List Processor. Linked lists are the major data structures
• SKILL can also be written in LISP style
• strcat( “Welcome" “ to " " SKILL" " programming" " session" )
• (strcat “Welcome" “ to " " SKILL" " programming" " session" )
• Yahoo store, AutoCAD

3
SKILL programming – What and Why? -- contd

• High level, Interactive language

• SKILL  cmd language for the Cadence environment


• GUI operations triggers SKILL functions in the background

Why
• Why Automation?

• Layout  Most time consuming task in design cycle

• Cadence  Most used software in VLSI Industry

4
How it works?

• SKILL  Interfacing between the USER


user and CDB
SKILL
• DFII – Cadence Database Format
• Various types of Objects C funcs
• Unique dbid for each object
CDB
• All SKILL/Cadence Virtuoso
functions are written in C

• Why can’t we use C functions


directly, instead of SKILL as an
intermediate functions?
Get help - Options

• startFinder()

• SKILL help document


• Press F1 in CIW
• /tools/cds/<Virtuoso version>/doc/sk* documents
• sklanguser.pdf
• sklayoutref.pdf
• Type “cdnshlep”

• Expert’s guidance - Support by Cadence and its users


• Cadence user community
• https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill

• CIW  Options  Log filter  Enable all options


6
Possibilities in SKILL

• Virtually unlimited – Equivalent to Cadence GUI software

• Text processing
• Arithmetic, Logical and Comparison operations
• File processing
• Regular expressions – Pattern matching
• Database operations
• Create, edit and delete cellviews, libraries, shapes, instances, pcells
• GUI operations – Forms and Windows
• Menu bars
• Invoke and execute tools – ADE for simulation
• No graph mode operation

7
PROS of SKILL

• Memory management - No burden on programmer


• Rapid prototyping
• IPC function – To deal with different programs, tools
• Basic common functions to all tools

• IDE - Easy to debug and line by line run


• Quality check - SKILL lint
• Database objects - DFII and Accessing

8
How to Start?

• SKILL commands/functions has to be executed in CIW


• Single line can be executed or a procedure(function in general)
• procedure  keyword to define a function
• Ex : procedure(welcome(name)
print(“Welcome to Vaishnavi VLSI training center”)
print(“Welcome to SKILL programming session”)
)
• Function needs to be called by its name.
• Ex : welcome(name)
• Procedure can be written in a file and can be loaded in CIW as below
• load(“/home/users/sharifsab_Nadaf/SKILL/welcome.il”)
• loadi(“/home/users/sharifsab_Nadaf/SKILL/welcome.il”)

• .il  Indicates it’s a skill file.


9
Data types

• Basic data types of SKILL

• Integer 5

• Floating point 5.35

• String “SKILL_Programming”

• List list(1 2 3 4 5)

• Data base IDs dx---------------

10
Lists

list1 = list(0 1 2 3 4 5)

list2 = list(-2 -1 0 1.5 4.34 )

list3 = list( 0 1 “testString” list(6 7 8) variable 7e5)

11
List operations

• length
• append1
• cons
• car
• cdr
• nth
• nthelem
• member
• last
12
String operations

• parseString
• evalString
• buildString
• strcat
• strlen
• nindex
• getchar

13
REFERENCES

• https://en.wikipedia.org/wiki/Cadence_SKILL
• https://community.cadence.com
• http://pwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Intro_to_skill_prog.pdf

14
Thank You
Back-Up slides

You might also like