virtuoso 27

호드맨 Blog 2.0

호드맨 블로그 2.0 - 새로운 시작!안녕하세요! 호드맨 블로그에 오신 것을 환영합니다.오늘부터 블로그가 「호드맨 블로그 2.0」이라는 이름으로 새롭게 출발합니다.이번 개편에서는 두 특별한 캐릭터가 블로그의 주인공으로 활약할 예정이에요!호드맨과 GPtiny가 여러분과 함께 재미있고 유익한 이야기를 펼쳐나갈 것입니다.호드맨 & GPtiny 소개호드맨"안녕하세요! 저는 호드맨입니다. 블로그의 주인공으로, 기술과 관련된 주제는 물론 여러분이 흥미로워할 다양한 이야기를 들려드릴 예정이에요. 앞으로 많이 기대해주세요!" GPtiny"안녕하세요! 저는 GPtiny입니다. 저는 소프트웨어 기반의 캐릭터라 외형이 자주 바뀔 수 있어요. 하지만 이게 저의 매력이랍니다! 호드맨과 함께 재미있고 친근한 대화를 통해 여러분께..

[ENV] Bindkey Issue (Alt modifier, Shift + 3)

◆ Alt modifier 관련 ◆단축키를 설정할 때, 기본적인 a, b, c, d... 및 1,2,3.. 키만으로 부족하면 생각하게 되는 게 modifier이다. 잘 알고 있듯이 Shift, Ctrl, Alt가 있으며 그 조합으로도 사용하기도 한다. 그런데 따로 설정해 주지 않으면 Alt 키는 먹지 않는다. IC6 버전부터는 Alt 키를 통해 메뉴에 접근하도록 되어 있어서 Bindkey로 사용하려고 하면 해당 modifier는 ignore 된다는 warning message가 뜨며 사용할 수 없다. 이는 간단하게 .cdsenv 파일에서 Alt modifier를 메뉴 선택 용으로 사용하지 않게 하면 된다.ui enableMenuShortcuts boolean nil ◆ Shift+3 Bindkey 관련 ..

Layout/Virtuoso 2020.12.16

[SKILL] rodCreateRect 함수

Relative Object Design (ROD)에 관한 함수를 소개했던 글입니다. rodCreateRect() 함수인데, 간단한 것을 제작할 때는 일반적으로 사용하는 dbCreateRect() 함수와 별반 차이가 없어 보이지만, 나중에는 Guard-Ring 등을 제작할 때 유용하게 쓰입니다. 물론 공정에서 제공하는 경우가 많지만, 특별히 제작해야 될 경우 알아두면 도움이 됩니다. 1. Creating a Single Rectangle 튜토리얼에서도 간단한 Rectangle을 그릴 때는 rodCreateRect() 보다는 dbCreateRect를 쓰라고 되어있습니다. 기본적으로 cellView부터 값을 찾아옵니다. 혹시나 모르는 함수였다면 자주 쓰이는 것이니 기억해 두도록 합시다. cvId = deGe..

[SKILL] ROD (Relative Object Design) 이란?

Guard-Ring, Shelding Line, Via array 등의 일정한 패턴을 요구하는 곳에 쓰일 수 있는 ROD (Relative Object Design)에 대해 공부했었다. Techfile에서 제공되는 대부분의 Guard-Ring 은 이 ROD object로 제작되어 있다. 제공되는 것을 쓰는 것이 제일이지만, 긴급히 만들어 써야 할 때를 위해 알아두면 좋다. rodCreateRect( [?name S_name] ?layer txl_layer [?width n_width] [?length n_length] [?origin l_origin] [?bBox l_bBox] [?elementsX x_elementsX] [?elementsY x_elementsY] [?spaceX n_spaceX] [?..

[SKILL] pcDefinePCell 맛보기 - 2편

pcDefinePcell() 맞보기 편에 이어서 적었던, GUI pcell을 이용한 방법이다. 복잡한 부분은 text base로 제작하는 것이 편하지만, GUI를 이용하면 기본적인 함수의 틀을 만들어 주기 때문에 쉽게 시작할 수 있다는 장점이 있다. TEMP_LIB라는 library에 test라는 pcell을 만들어 보겠습니다. 똑같이 rectangle을 하나 그렸는데 stretch line 두 개를 가로세로로 넣어서 X방향으로는 width 변수에 의해서, Y방향으로는 height에 의해서 변하도록 설정합니다.GUI로 작업을 마친 뒤에 Pcell - Compile - To Skill File... 을 선택하여 파일명을 적어주게 되면 해당 파일이 생성됩니다.pcDefinePCell(list(ddGetObj..

[SKILL] pcDefinePCell 맛보기 - 1편

예전에 pcell 관련 강좌처럼 적었던 포스팅을 티스토리 에디터 변경으로 수정하였습니다. 내용은 같으니 예전에 보셨던 분은 꼭 다시 볼 필요는 없을 것 같습니다. 일단 기본적인 TEST_LIB라는 이름의 Library를 만들고 cellName이 rect인 pcell을 만들 겁니다. pcell의 기능은 width, height라는 두 변수를 입력받아 해당 크기로 Metal1 Layer의 사각형을 그리는 겁니다.pcDefinePCell( list( ddGetObj("TEST_LIB") "rect" "layout" ) ( ;# pcell parameters ( width float 1.00 ) ( height float 1.00 ) ) ;# end pcell ..

[SKILL 강좌] dbCreate.. Rect, Path, Polygon, Label 함수들

dbCreate 관련 함수들에 대해서 적은 강좌 글입니다. 일단 dbCreate 관련 함수들이 어떤 것이 있는지 찾아보려면 Finder에서 dbCreate라는 검색어로 검색해보면 정말 많은 함수들이 나오는데요.그중에 많이 사용되는 녀석들 몇 개만 살펴볼까 합니다. 다른 것들도 응용하면 비슷해요~ ◆ dbCreateRect() 함수dbCreateRect( d_cellView tx_layer [ t_purpose ] l_bBox ) => d_rect | nilCreates a rectangle. cv = deGetCellView()dbID = dbCreateRect(cv list("METAL1" "drawing") list(list(0 0) list(3 3)))description은 ..

[SKILL] _le 함수 List

Virtuoso 사용 중 각 메뉴들에 _le로 시작하는 몇몇 함수를 봤는데, Hidden command라서 따로 매뉴얼 등에서 찾아볼 수가 없다. 해당 함수들의 List 가 있으면 무슨무슨 기능들이 있는지 알아볼 수 있을 것 같은데.. 없으면 만들면 되지. 물론 특정 문서에서 긁어오는 게 아니라 누락된 항목들이 많을 것으로 예상된다. 혹시 알고 계신 것들이 있으면 제보 바랍니다._leRotateOrFlip(mode) # move 상태가 아닌 selection 상태에서 회전, 뒤집기 동작. mode 는 R90, R270, MX MY _leCreateQuickFigGroup(cv) # 함수명 처럼 빠른 FigGroup 생성, 솔직히 leHiCreateGroup() 과 차이는 모르겠다._lebSel..

[SKILL] dbOpenPanicCellView 와 panic.log

예전에 쉬어가기 코너처럼 작성했던 글이지만, 알면 굉장히 유용한 기능입니다. 저장을 안한채 Virtuoso가 오류로 닫혔는데 이 기능을 모른다면 몇 분~ 몇 시간의 작업을 날릴 수도 있습니다. 최근 사용하는 ICADV12, ICADV18 버전에서는 다행히도 오류로 갑자기 꺼지는 경우가 많지는 않네요. dbOpenPanicCellView( gt_lib t_cellName t_viewName [ t_version [ t_mode [ d_contextCellView ] ] ] ) => d_cellView | nil Opens a saved panic cellview from a physical panic file with extension .oa-. The cellview .oa- opens in read m..

[SKILL 강좌] geGetSelSet() 함수와 foreach 문

이번에 알아볼 녀석은 geGetSelSet() 함수입니다. Finder에서 함수 description은 이렇군요. geGetSelSet( [ w_windowId ] [ d_cellview ] ) => l_selectedSet / nil Returns a list of the currently selected objects in a window or cellview. 네, 선택된 object 들을 list로 반환해 주는 함수입니다. 이전에 응용하기 change_bracket 편에서는 cellView에 있는 모든 shape에서 동작시켰는데요. 이러한 경우도 있지만 실제로는 "선택된 녀석들만.." 실행하고 싶을 경우가 있습니다. 이러한 경우 사용되는 함수죠. geGetSelSet() 함수와 같이 사용하기 편한..