전체 글 45

PDK사용 시 device parameter들을 한 번에 바꾸어 보자

오래 전에 사용하던 공정의 PDK를 사용하여 레이아웃 할 때는 XL 기능으로 device를 레이아웃 창에 뿌린 후 기껏해야 source, drain, gate의 contact을 그릴지 말 지 또는 tap위치 선택 등 간단하게 parameter option들을 수정했었는데, 공정이 복잡해지면서 FINFET 공정에서는 parameter option이 불편함을 느낄 정도로 많아지게 되었다.특히 7~8nm node 이하에서는 dummy poly 관련 option도 많아지고, poly to metal 사이의 intermeidate metal 관련 option, cut poly option 등이 수도 없이 추가되면서 device 하나의 option을 내가 원하는 option으로 설정하는 일이 너무 귀찮게 느껴진다...

SKILL programming 2025.06.15

PCell 만들 때 같이 만드는 CDF 파일 만들기

SKILL 언어로 PCell을 만들 때 사용하는 CDF (Component Description Format) 파일은, 해당 Cell이 가지고 있는 parameter들을 정의하고 관리하는 데 사용되는 메타데이터 파일로 쉽게 말하면, PCell에 어떤 파라미터가 있는지, 각 파라미터가 어떻게 동작하는지를 정의하는 역할을 한다. CDF는 PCell 또는 일반 Cell의 파라미터를 정의하여, Layout Editor나 Schematic Editor 등에서 사용자가 해당 Cell의 파라미터를 GUI 상에서 손쉽게 수정할 수 있게 해주기 때문에 PCell을 만들 때 CDF file을 같이 만들어 주면 GUI로 파라미터를 입력하는 데 좀 더 편리하게 사용할 수 있다. 주의할 점은 PCell의 parameter 이름..

SKILL programming 2025.06.02

pcDefinePCell 안에서 사용하면 편리한 함수들 모음

지난 포스팅에서 pcDefinePCell 의 간단한 설명을 했다.오늘은 본격적으로 pcDefinePCell을 사용하고자 하는 이들을 위해 쥴리가 PCell 만들 때 자주 사용하는 함수들 위주로 pcDefinePCell 함수 안에서 유용하게 사용할 수 있는 함수들을 소개해 본다. dbCreateRect 레이아웃 상에 사각형(Rectangle)을 생성하는 SKILL 함수 기본 문법 : dbCreateRect(cv layer bBox) 예제:dbCreateRect(pcCellView "POLY" list(list(0 0) list(width length)))위 예제의 list(x좌표 y좌표) 로 표현된 bBox는 아래와 같이 (x좌표:y좌표) 형식으로도 표현 가능 (모든 SKILL 함수에서 공통사항입니..

SKILL programming 2025.05.25

Pcell 만들기 쉬워요! - pcDefinePCell 함수 사용해 보기

레이아웃 엔지니어들이 SKILL을 배우고 싶어 하는 주요 이유 중의 하나는 PCell을 만들고 싶어서일 것이다.레이아웃 채용 공고를 살펴보더라도 SKILL, PCell 작성 가능하다면 plus 조건이라는 항목이 많이 보인다.하지만 이전 글에서 언급했다시피 SKILL을 혼자 배우는 것은 좀 힘이 드는 일이다.기본적으로 PCell을 잘 만들기 위해서는 Layout에 대한 이해, 어느 정도의 coding 실력, SKILL 관련 document를 보고 이해할 수 있는 영어 실력, SKILL code를 짜 보고 테스트 해 볼 수 있을 만한 적당한 여유시간도 함께 필요하다. 하지만 누군가가 잘 짜 놓은 Pcell 용 SKILL file이 있다면, 간단한 PCell 정도는 스스로 만들어 보는 것이 전혀 어렵지 않다..

SKILL programming 2025.05.18

SKILL programming 시작해보기

새로운 회사에서 새로운 공정으로 업무를 시작했다.회사를 옮길 때마다 이전 회사에서 짜 놓았던 SKILL program 들은 그냥 두고 오기 때문에, 같은 것이라도 새로 짜야 하는 일이 반복되고 있다.하지만 이전 회사에서 짜 놓았던 것도 머릿속에는 이미 남아있지 않기 때문에 또다시 새롭게 함수들을 찾아보며 끙끙대는 일이 반복되고 있는 중이다.그런 이유로 오늘은 SKILL에 대한 첫 글을 올려볼까 한다.먼저, SKILL programming은 왜 이렇게 어려운 걸까? SKILL을 사용하는 환경의 특수성아마도 이게 가장 중요한 이유가 될 텐데, SKILL은 C, Phython, Perl 등과 같은 language와는 다르게 terminal 창에서 바로 실행해 볼 수 있는 언어가 아니다. SKILL은 caden..

SKILL programming 2025.04.27

Linux commandLinux 왕초보를 위한 command - 메타문자 정리

오늘은 다들 리눅스에서 사용되는 메타문자에 대해 정리해 본다.리눅스에서 특별한 의미를 가지는 문자를 메타문자라고 하는데, 모든 파일을 선택할 때 자주 사용하는 * 기호도 메타문자의 하나이다. 리눅스에서 메타 문자들은 파일검색, 명령어 연결, 입출력 제어 등에 사용되는데, 대표적인 메타문자들을 표로 정리해 보았다.메타문자의미예시*모든 문자 (0개 이상)ls *.gds?문자 1개ls a?.txt[ ]문자 집합ls [ab]*.txt{ }여러 패턴 지정echo file{1,2,3}~홈 디렉토리cd ~/work``앞 출력 → 뒤 입력>출력 덮어쓰기echo hello > out.txt>>출력 추가echo again >> out.txt입력 리디렉션sort &백그라운드 실행sleep 10 &;여러 명령 연속 실행cd ..

Linux command 2025.04.21

Linux 왕초보를 위한 command - 실무명령어 10

이번에는 IC 레이아웃 검증이나 layout 관련 실무에서 자주 사용하게 되는 리눅스 명령어들 중, 조금 더 다양한 기능을 가진 명령어들을 소개해 본다.기본적인 디렉토리/파일 이동과 열람은 마스터했다면, 이제 이런 유틸리티성 명령어들을 익혀두는 것이 업무 효율에 큰 도움이 된다. 1. split – 파일 나누기 (라인 수 또는 용량 기준)파일이 너무 클 때, 한 번에 열어서 보기 어려운 경우 split 명령어로 파일을 나눌 수 있다.업무 중 DRC 결과 로그나 netlist처럼 매우 큰 텍스트 파일을 처리할 때 유용하다.라인 수 기준으로 나누기split -l 1000 bigfile.txt part_   :  bigfile.txt를 1000줄씩 잘라 part_aa, part_ab, part_ac 식으로 저..

Linux command 2025.04.06

Linux 왕초보를 위한 command - 파일 내용 확인 및 출력

Linux 환경에서 터미널을 열고 디렉토리 이동, 파일 이동, 복사 등의 명령어를 마스터 했다면 이제는 파일 내용을 확인하고 편집하는 일들을 해야 할 것이다.현업에서 업무를 할 때는 선배들이 제일 중요하게 여기는 것이 편집기 ( vi ) 를 자유자재로 사용할 수 있도록 계속 연습하라는 말을 하곤 하는데, 실제 vi 편집기 기능을 얼마나 잘 사용하느냐에 따라 업무 속도가 상당히 차이가 날 수 있기 때문이다. 오늘은 linux 명령어 중 파일 내용을 확인할 수 있는 명령어들을 모아서 소개해 본다.레이아웃 및 검증 업무를 하려면 모두 외워 두는 것이 좋겠다. 1. 파일 편집 명령어 : vi  ,  vim  , gvim   vi, vim, gvim 모두 파일 내용을 편집하는 용도로 쓰이는데, 사실 필자를 포함한..

Linux command 2025.03.29

Linux 왕초보를 위한 command - 간단한 Linux 소개

Windows 환경에 익숙한 업무 초년생들이라면 linux 사용이 많이 불편할 수 있지만, 익숙해지면 windows보다 편하고 빠르고 powerful하다는 것을 알 수 있다. 원래는 작년 여름 정도에 시작하려던 포스팅인데 그동안 다사다난한 일들이 있어 미루고 있었던 linux command 들을 업무에 필요한 수준에서 (몇차례에 걸쳐)가볍게 다뤄볼까 한다. 리눅스(Linux)는 **오픈 소스 운영체제(OS)**로, 주로 서버, 개발 환경, 임베디드 시스템, 슈퍼컴퓨터 등에서 널리 사용되는데. 유닉스(Unix) 기반으로 개발되었으며, 강력한 보안성과 안정성을 제공한다.필자가 신입사원일 때는 사실 Unix로 업무를 시작했었는데, 어느 새 Linux로 모두 대체되었다. 하지만 Linux도 Unix와 comma..

Linux command 2025.03.17

Decoupling 용 MOSCAP 레이아웃

CMOS 회로에서 Decoupling Capacitor(디커플링 커패시터)는 전원 노이즈를 줄이고 안정적인 전압을 공급하는 역할을 하며 주요 기능은 다음과 같다. 1. 전원 노이즈 감소CMOS 회로에서 스위칭이 발생하면 순간적으로 전류가 급격히 변화하면서 전원 노이즈(리플, 스파이크)가 발생할 수 있다. 디커플링 커패시터는 이러한 노이즈를 억제하여 전원 공급이 깨끗하게 유지되도록 도와준다. 2. 전압 안정화전원과 ground 사이에 커패시터를 배치하면, 순간적인 전류 요구량이 커질 때(예: clock 엣지에서 switching) capacitor가 저장된 전하를 공급하여 전압 강하를 방지하는데 이를 통해 전원 핀에 안정적인 전압을 공급할 수 있다. 3. 전원 임피던스 낮춤커패시터는 고주파에서 저임피던스를..

IC레이아웃 2025.03.01