Programming 언어/Skill

[SKILL 강좌] SKILL 을 배우고 싶은데 어떻게 하면 되나요?

호드맨 2017. 1. 29. 12:50

예전 포스팅 글 중 가장 조회수가 많고, 처음 접하는 분들께 도움되는 내용의 글이었던 것 같다. 이번에 티스토리 에디터 변경 때문에 글을 조금 수정해 본다.


블로그에 가끔 SKILL 코드를 남기면서 가장 많이 받은 질문은 이거였던 거 같네요.

   Q. SKILL을 배우고 싶은데 어떻게 하면 되나요?

   A. 답변드렸던 것은 보편화된 C나 java처럼 관련 서적이나 강좌 등은 거의 없으니 Log 보기, startFinder (혹은 cdsFinder), Virtuoso Documentation 활용하기와 구글 검색 정도였습니다. 간단하게 캡처된 화면으로 설명하자면

1. Log 보기 - CIW 창의 menu에서 Option - Log Filter... 를 선택하여

CIW - Option - Log Filter

         \a Accelerated Input

         \r Return values from accelerated input

    부분을 체크해줍니다.

/a /r 부분을 체크하자

schematic editor / layout editor 등에서 사용하는 단축키 (Bindkey) 들은 사실 각각의 skill function 들을 지정해 놓은 겁니다. SKILL에 처음 입문하는 경우라면 (물론 저도 모든 function을 외우진 못합니다만) 어떠한 function을 사용하는지 확인 가능합니다.

;# 번외로

;# 이것도 SKILL function 중에 하나지만 hiSetFilterOptions 라는 funtion이 있습니다.
;# 앞서 Option-Log Filters... 를 선택해 창을 열어서 \t \e \w \o \a \r \p 7가지 옵션 중
;# 원하는 것을 체크하게 된 건데요.

;# hiSetFilterOptions( t t t t t t t ) 처럼 7개의 값을 주어서 실행하게 되면 창에서 선택한
;# 것과 같은 기능을 하게 됩니다. '.cdsinit' 파일에 이러한 function을 넣어놓으면 virtuoso 실행시
;# Log filter가 항상 켜져 있게 됩니다. 이러한 기능을 이용하려는게 SKILL 이지요.

SKILL로 옵션 변경하기


2. startFinder (혹은 cdsFinder) - 이렇게 Log를 볼 수 있도록 설정해 놓고 schematic editor에서 w 키를 눌러서 wire를 그려보았습니다. CIW 창에 아래와 같은 function들이 보이네요. schHiCreateWire , mouseAddPt... 등등. schHiCreateWire 라면 sch.. schematic 창에서 Hi는 안녕? CreateWire 이니까 wire를 그려라 등으로 추측 가능합니다만 정확히 function에 대해서 알아보려면 CIW 창에 startFinder (혹은 c shell에서 cdsFinder)라고 입력하면 Finder 창이 뜹니다.

아래는 Finder 창입니다. Find what의 칸 안에 schHiCreateWire라고 검색해 봅시다. schHiCreateWire, ​schHiCreateWireLabel, schHiCreateWireStubs 3개의 function이 검색됐네요. 우리는 schHiCreateWire에 관심이 있으니 눌러보면 간단한 Description 이 나옵니다. 전부 자세하게 알 필요는 없지만 각각 line이 변수를 의미하고 [ ]는 입력받지 않아도 기본값으로 동작한다 정도만 알아도 됩니다.

Finder 창의 모습


3. Virtuoso documentation - Finder는 사실 function의 대략적인 기능 가지고 찾는데 유용합니다. function의 사용법이나 예제를 보고 싶으면 CIW 창의 Help - Virtuoso Documentation을 선택하시면 아래와 같은 Cadence Help 창이 나옵니다. 왼쪽 돋보기 있는 곳에 schHiCreateWire라고 검색해보면 앞서 Finder에서 검색했던 것처럼 여러 함수들이 나오네요. 3번 schHiCreateWire를 눌러보겠습니다.

document에도 많은 정보를 얻을 수 있다

 

내용이 길어서 아래쪽 끝만 캡처했지만 Finder에서 있던 description과 각 변수에 대한 설명 그리고 Example이 있습니다. 함수를 어떤 식으로 사용해야 하는지 알려주고 있네요.

example을 잘 활용하자


4.  구글 검색 - function 이름들을 검색해보면 누군가 이미 코드에 사용해 놓은 것들이 있는데 이를 예제로 보고 사용하는 법도 있습니다. virtuoso에서 사용되는 function 이름이나 db 접근 방법 생소할 뿐 나중에 코딩하게 되면 C언어 코딩하는 것과 별반 다르지 않습니다. 기본적인 language에 대한 지식이 없을 경우 C언어를 먼저 접해보는 것을 추천합니다. 서적이나 관련 자료가 많으니까요.

SKILL 어느 정도 관심 있는 분들이라면 다 아는 내용이겠지만 그래도 처음 접하는 분들에게는 약간이라도 도움이 되겠지요. 다음 강좌는 아마도 list 관련 몇몇 함수들과 nth , car , cadr , xCoord , yCoord을 주로 다룰까 합니다.