본문 바로가기

반도체/소자

[TCAD STUDY] 대략적인 tool 설명

 

TCAD를 사용하여 소자 시뮬레이션을 진행하기 앞서 공부한 내용을 정리하고 기록해두기로 했다. 주로 Sentaurus에서 제공하는 manual등을 이용하였으며 첫 포스팅은 TCAD Sentaurus Basic Traning과 반도체설계교육센터에서 VOD를 신청하여 들을 수 있는 Power Device 이론 및 TCAD Sentaurus를 활용한 Simulation수업을 참고하여 진행하였다. 시뮬레이션 할 소자의 스케일이 아직 구체화된게 아니라 해당 수업에서 전력반도체소자보다는 TCAD사용 팁을 중심으로 공부했다. 

 

TCAD에는 내가 원하는 실험을 진행하기 위해 다양한 방향성을 가진 Tool들이 있다. 실험시 소자의 구조적인 부분,공정, 전자기적인 부분, 실험결과를 어떤식으로 시각화 하는지 등 여러가지 의도에 맞게  tool을 골라서 사용한다.

 

 


1. SWB ( Sentaurus Workbench)

 

 

 

먼저 SWB를 보면 말그대로 workbench(작업대)이다.프로젝트를 진행하면서 여러가지 사용한 tool의 input과 output값등 을 한눈에 확인 할 수있다. 각 tool들을 설정 관리할 수 있는 창이다.여러가지 tool을 한 project에 불러 사용할 수 있게 해준다. 왼편의 파일 탐색기처럼 생긴 창에 폴더들이 나오고 회로처럼 생긴 아이콘이 붙어있는 것이 프로젝트들이다. 보통 리눅스에서 돌아가며 원하는 폴더를 지정하여 그 폴더안의 하위 폴더 단위로 프로젝트가 저장된다. 그 오른편으로 엑셀같은 표가 나와있고 그 맨윗줄이 내가 사용한 tool들이다. (첨부 이미지의 경우sprocess,sdevice,svisaul이 사용됨) 또한 이 부분에서 한칸한칸을 node라고 하며 이 노드들을 더블클릭하면 노드 익스플로어에서 여러가지 특성을 확인할 수 있다. 보통 가장자리의 회색 노드들에는 parameter (input 변수)가 들어가며 해당 노드를 우클릭하여 parameter와 그이름, 값등을 추가 할 수있다. 또한 variable은 output 변수이다. 첨부이미지는 16번의 시뮬레이션을 진행했다.

TOOL위의 아이콘들을 보면 달리는 사람모양을 누르면 실행이되고 원하는 노드만 드래그하여 실행시킬 수도있다.

노드를 실행시키면 상태에 따라 각 노드의 색이 변한다. 그 색은 밑의 그림에 나와있다. 초록색은 주로 라이센스가 없거나 실행되기를 기다리는 상태이고 노란색이 정상적으로 실행이 완료된 상태이다. 각 설명으로도 알 수있듯이 빨간색은 뭔가 문제가 있어 실행실패된 상태이므로 노드 익스플로어로 들어가 err파일을 확인하여야 한다. 또한 vitual부분의 연하늘색은 실제 계산이 진행되는 부분은 아니고 단순 table작성용 parameter값을 표시해 둔것 이다. 회색은 어떤 노드 이후는 실행시키고 싶지 않을 때 세로로 노드를 드레그한 후 우클릭하여 제일 밑의 prun을 누르면 실행이 되지않는다. 

또한 Preprocessing 이라는 과정이 있는데 이 과정은 예를 들어 설명한다. input파일이 1개 있고 그에 sproses가 8개의 실험이 진행된다고 할 때 SWB가 자동으로 SProcess의 global input file을 8개로 변환해주는데 이 변환 과정에서 vitual의 변수 값을 각각 input file로 넣어주는 과정이다. 파일 형식으로 설명하면 sdevice에 input파일의 command창에서 file section에 @tdr@등으로 @@사이에 들어가는 파일형식을 넣어준 뒤 SWB에서 parameter를 추가하여 (변수명은 tdr) 추시뮬레이션을 실행(run)하게되면 SWB에서 인식하고 알아서 각 node에서 나온 output들이 n2_msh.tdr 의 이름으로 ( 이 경우 node 번호 2의 결과 파일) 변경해준다. 이과정을 Preprocessing 이라고 한다.

 


 

2. SProcess ( Sentaurus Process)

 

SProcess에서는 말 그대로 공정시뮬레이션이다. command창에서 mesh setting(소자를 어떻게 나눠서 계산값을 낼지),공정변수,공정 명령어 (etch,oxidation,deposition등등)등을 설정하고 시뮬레이션 할 수있다. 그 문법은 tool command language(Tcl),c언어를 사용한다.

 

<명령어 사용 예>

아주 간단한 확산명령어이다. command창에 해당 명령어를 치면 900도에서 10초간 확산을 진행하게된다. 굳이 설명을 하지않아도 직관적으로 이해할 수 있을 만큼 문법은 쉽다.


 

3. SDE ( Sentaurus Structure Editor)

 

SDE는 소자의 구조적인 부분을 시뮬레이션 할 수있다. 공정을 고려하지 않고 소자의 구조적인 modeling하고 싶을때 사용한다. SWB상에서 부를땐 SDE라고 하고 GUI창에선 SSD라고 한다. GOI에선 소자의 2D/3D모델링은 볼 수 있다. 실제 소자의 크기와 물질, 도핑농도 등을 명령어로 입력해 모델링이 가능하다. input file에서 코드로 그림을 그리는 것과 비슷하다.

 

실험시 주로 작성하고 수정하는 명령어들을 dvs.cmd 형식의 파일이다. 또한 tdr은 그림파일이다.


 

3. SDevice ( Sentaurus Device)

 

sdevice는 소자의 전기적,열적,광학적 특성을 시뮬레이션 할 수 있다. 또한 SDE는 dvs.cmd 파일에서 명령어를 수정하고 sdevice는 des.cmd파일에서 명령어 수정이 가능하다. 해당 command 파일은 주로 6가지 부분으로 구성된다.

 

  • File  : 입력 출력 파일이 내용에 들어간다.
  • Electron :  전극과 열출입에 관한 내용을 세팅한다.
  • Physics :  어떤 물리적 모델을 사용할 건지 세팅한다.
  • Plot : output 파일에 어떤 걸 저장할지 결정한다.
  • Math : 수학적 모델 솔루션을 세팅한다.
  • Solve :  처음에 어떤 조건에서 시작하여 어디까지 계산을 풀지 세팅한다. 

 

4. SVisual ( Sentaurus visual)

 

소자의 구조(3D,2D),전기적 특성등 원하는 필드를 선택하여 그래프나 모델링을 보여준다. 앞서 다른 툴로 계산한 내용을 가시화하여 보기편하게 확인 할 수 있다. 해당 노드나 툴에서 우클릭한뒤 visual을 누르고 GUI에서 확인한 여라가지 정보중 원하는 부분을 하단의 Tcl command에서 명령어를 복사 붙여넣기 하여 svisual에 저장하고 확인할 수 있다.

 

 


 

 

 

여기까지 주로 사용하게될 tool에대한 대략적인 설명을 정리했다. 분량만보면 SWB가 가장 길지만 SWB는 그정도만 알고 넘어가면 되지만 나머지 툴들은 대략적인 설명만으로 할 수 있는 것은 아무것도 없다. 잠깐 언급했던 input file의 command파일(또는 그림을 그리거나 다른 방식으로 input해주는 방법도 있다) 에서 수많은 명령어,함수,변수 들을 작성,수정해가며 하나하나 해보아야 한다. 그부분에 대해선 추후 포스팅에서 자세하게 기록해볼 예정이다.