본문 바로가기

전체 글70

[반도체공정] 식각공정 (Etching) 식각 공정 (Etching) 입니다. 말 그대로 물질을 깎아내는 것입니다. 식각이 잘 되고 있는지는 여러 비율을 통해 알아 볼 수 있습니다. 식각 속도 (Etch Rate) [ 식각된 두께 ] / [ 식각 시간 ] 으로 나타내며 빠를수록 선호하는 경향이 있습니다. 선택비 (Selectivity) [ Target의 식각 속도 ] / [ Mask, Material의 식각 속도] 로 나타내며 클수록 Etching 이 잘 된다는 뜻입니다. Critical Dimention 포토, 식각 후 가장 작은 패턴의 size를 나타냅니다. 등방성 (Isotropic) vs 비등방석 (Anisotropic) 이건 사진으로 보는 것이 이해하기 쉽습니다. Isotropic은 모든 방향으로 비슷하게 Etching 되었다는 뜻으로.. 2023. 1. 14.
[반도체공정] 사진공정 (Photo Lithography) 이번에는 사진공정 (Photo lithography)에 대해 정리해보겠습니다. 반도체를 만들 때 물질을 증착하거나 식각을 해서 구조를 쌓아 올립니다. 이때 증착과 식각을 그냥 할 수는 없고 패턴대로 해줘야하는데 Photoresist가 그 틀의 역할을 한다고 이해하면 쉽습니다. Photoresist 먼저 Photoresist에 대해 알아보겠습니다. Positive PR UV를 쏘면 polymer 결합이 끊어지고, 결합이 끊어진 부분은 현상액에 의해 녹습니다. 이때 Positive PR은 사다리꼴 모양으로 식각됩니다. Negative PR UV를 쏘면 polymer가 뭉치게 됩니다. 따라서 현상액을 뿌리면 UV를 쏘지 않은 부분이 녹습니다. 이때 Negative PR은 역사다리꼴 모양으로 식각되어서 만약 M.. 2023. 1. 14.
[반도체공정] 산화공정 (Oxidation) 다음으로 알아 볼 공정은 산화공정 (Oxidation) 입니다. 산화는 크게 두 가지로 분류할 수 있습니다. 습식 산화 (Wet Oxidation) 습식 산화는 H2O나 wet O2를 사용합니다. 습식 산화의 가장 큰 장점은 빠르다는 것 입니다. 왜냐하면 H2O가 O2보다 가벼워서 diffusivity, solubility가 1000배 높기 때문입니다. 따라서 빠른 성장이 가능합니다. 대신, 그만큼 밀도가 낮고 품질이 떨어진다는 단점이 있죠 참고로 solubility가 1000배 높다고 1000배 빠른 것은 아닙니다! 건식 산화 (Dry Oxidation) 건식 산화는 dry O2를 사용합니다. 습식산화와 반대로 성장속도가 느립니다. 대신, 밀도가 높고 품질이 좋기 때문에 치밀한 구조가 필요한 곳에 사용.. 2023. 1. 14.
[반도체공정] 웨이퍼 제조 제 블로그가 디지털 디자인 위주로 쓰여있긴 하지만, 반도체를 공부하려면 어느정도 공정 지식이 있어야 합니다. 공정에 대해 전반적으로 알고 있으면 나중에 합성을 할 때에도 도움이 되지 않을까 싶네요. 오늘은 흔히 8대 공정이라고 부르는 공정 과정 중 첫 번째인 웨이퍼 제조를 알아보려고 합니다. Wafer 제조 웨이퍼는 반도체를 만들기 위해 필요한 기판입니다. Si, GaAs, SiC, GaN 등 여러 종류의 물질을 이용하여 웨이퍼를 제조합니다. 현재는 주로 Si (실리콘)을 사용하지만 전력반도체 시장이 커지면서, 다른 물질에 대한 연구도 활발해지고 있는 추세입니다. 웨이퍼를 만들기 전에 초고순도의 실리콘 기둥을 뽑아냅니다. 이것을 잉곳 (Ingot)이라고 합니다. 잉곳을 만드는 방법은 대표적으로 두 가지가.. 2023. 1. 14.
[Python] 성적 분석 프로그램 (Python Code) 작년에 파이썬을 독학하면서 직접 만들어보았던 성적분석 프로그램입니다. 졸업을 하려면 졸업 학점 요건을 충족시켜야 하는데요, 그에 맞게 학점을 잘 땄는 지 알아볼 수 있는 프로그램입니다. 저희 학교는 크게 전공과 교양으로 나뉘어져 있고, 교양도 필수교양, MSC, 일반교양, 핵심역량 등으로 나뉘어져 있습니다. 이렇게 종류가 많으니 하나하나 요건을 충족했는지 계산하는게 귀찮겠죠? 그래서 학교 사이트에서 다운받을 수 있는 엑셀 성적표를 dataframe으로 받아오면, 한 번에 볼 수 있도록 프로그램을 짜보았습니다. 친구들에게 프로그램을 보내줬더니 귀찮은 계산을 안해도 된다면서 좋아하더라구요 ㅎㅎ Python Code import pandas as pd df = pd.read_excel('./학생성적정보.xls.. 2023. 1. 13.
[Python] 데이콘 분석시각화 경진대회 후기 (Python Code) 안녕하세요. 작년 중순 쯤 데이터 분석 능력을 키워보고자 데이콘 대회에 참여하였었는데요, 정말 도움이 많이 되어서 공유해보려고 합니다. 우선 저는 전자전기공학부라서 SW 지식이 약한 편에 속했습니다. 그래도 Python 기초는 공부한 경험이 있어서 대회를 기회 삼아 발전해 볼 생각으로 참여하였습니다. 코드를 약간 공유해보려고 하는데 오류가 있을 수 있다는 점 말씀드리려구요. Python Code 제가 참여한 대회는 "쇼핑몰 지점별 매출액 분석시각화 경진대회" 입니다. plt.figure(figsize = (10, 5)) sns.histplot(train.Date, bins = 139) plt.title('Date Histogram', size = 20) plt.show() print('Date 종류의 개.. 2023. 1. 13.
[컴퓨터구조] 16bit CPU 설계 (Design with Verilog) 이전 글에서 CPU의 구조와 작동원리에 대해 알아보았습니다. 이전글: https://metastable.tistory.com/28 이번에는 이론을 바탕으로 CPU를 Verilog로 설계하였는데요, 처음부터 깊게 들어가면 너무 어렵기 때문에 간단한 16 bit CPU를 설계하도록 하겠습니다. 시작 전에 말씀드리자면 2년 전 베릴로그가 익숙하지 않을 때 작성하여서 오류랑 잘못된 코딩스타일이 많을 수 있습니다.. (ex. reset, latch 생기는 코딩 등) 추후 시간이 나면 한 번 정리해서 올리도록 하겠습니다. 참고로 여기서 사용한 메모리는 앞에서 설계한 sram을 instance하여 이용하였습니다. RISC-V Instruction set이나 GitHub에 있는 코드를 한 번 읽어보는 것도 좋을 것 같.. 2023. 1. 12.
[컴퓨터구조] CPU 작동 원리 오늘부터는 CPU에 대해 알아보겠습니다. 먼저 CPU란 무엇일까요? CPU (Central Processing Unit): 중앙 처리 장치 CPU는 기억, 해석, 연산, 제어라는 매우 중요한 역할들을 도맡는, 컴퓨터의 대뇌라고 할 정도로 매우 중요한 부분입니다. 프로그램의 명령어를 해석하여 데이터를 연산/처리를 하고 그렇게 돌아가도록 제어해주는 기능을 내장한 칩이죠. CPU는 4단계의 Cycle로 명령어를 처리합니다. 1. Fetch: 명령어 인출 - CPU에서 명령어를 읽어옴 2. Decode: 명령어 해독 - 읽어온 명령어를 해독 3. Execute: 명령어 실행 - 해독한 명령어를 실행 4. Store: 결과 저장 - 계산 결과를 저장 각각의 사이클에서 어떤 일이 벌어지는 지 알아보기 전에 레지스터.. 2023. 1. 9.
[메모리] SRAM에 데이터 쓰고 읽기 (Design with Verilog) 이전 글에서 SRAM을 Full Custom Design 했었습니다. 이제 메모리가 만들어졌다고 가정하고, 데이터를 읽고 쓰는 과정을 진행해보겠습니다. Verilog Code DUT `timescale 1ns / 1ps module sync_sram(addr, din, dout, clk, we); parameter addr_width = 8, word_depth = 256, word_width = 8; input clk, we; input [addr_width-1:0] addr; input [word_width-1:0] din; output reg [word_width-1:0] dout; reg [word_width-1:0] mem [0:word_depth-1]; always @ (posedge clk).. 2023. 1. 8.