2024/12 14

Mealy FSM 회로 (연속된 0또는 1 입력 검출기)

📄 상태 천이도📄 회로 코드module seq_det_mealy(clk, rst, din_bit, dout_bit, state_reg, next_state); input clk, rst, din_bit; // din_bit : 입력값 output dout_bit; // 출력값. : 1이나 0이 연속으로 들어오면 1을, 아닌 경우 0을 출력한다. output reg [2:0] state_reg, next_state; // 상태 선언 parameter start = 3'b000; parameter rd0_once = 3'b001; parameter rd1_once = 3'b010; parameter rd0_twice = 3'b011; parameter rd1_twice = 3'b100; // Next..

Verilog 자판기 설계 (code, tb, RTL 합성회로, 파형)

시간 기반 할인과 잔액 반환을 지원하는 스마트 자판기  📍회로 기능 설명이 자판기 회로는 FSM(유한 상태 기계)을 기반으로 동전 투입, 상품 선택 및 배출, 잔액 반환 기능을 구현한 시스템입니다. 기본적으로 IDLE(대기) 상태에서 동전이 투입되면 잔액이 갱신되며, 사용자가 상품을 선택하면 DISPENSE(상품 배출) 상태로 전환되어 상품을 배출하고 잔액을 차감합니다. 이때, 1/8 분주기(Clock Divider)를 활용하여 일정 간격으로 할인 기능이 활성화되며, 할인 조건이 활성화된 경우 상품을 50% 할인된 가격으로 구매할 수 있습니다. 반환 버튼이 눌릴 경우 RETURN(잔액 반환) 상태로 전환되어 남은 잔액만큼 동전을 반환하며, 스텝 모터 제 어를 통해 동전 반환을 정밀하게 수행합니다. 반환..

포토 공정

✏️ 서론포토 공정은 반도체 제작에서 성능과 정밀도를 좌우하는 가장 중요한 역할로 꼽힌다. 설계된 회로를 실제 반도체 웨이퍼에 구현하는 단계로, 어떠한 과정 속에서 어떤 원리로 이루어지는지 알아보자.📢 포토공정이란?회로 설계 이미지를 웨이퍼에 포토레지스트와 빛에너지, 도면을 이식시킨 마스크를 통해 웨이퍼에 미세 패턴을 그려 놓는 작업. ✨ 포토 공정의 중요성: 반도체의 미세화와 정밀성을 결정짓는 핵심 기술로, 반도체 성능은 회로 패턴의 크기와 밀도에 따라 달라진다. 최근에는 극자외선(EUV) 기술을 활용한 노광 방식이 도입되며, 더욱 미세한 회로 패턴 구현이 가능해졌다.*회절과 간섭 현상에 의한 문제를 줄이려면 결국 빛의 파장을 줄여야 한다. ⚙️ 주요 단계1. 포토레지스트 도포: 웨이퍼 위에 포토레지..

산화 공정 (건식산화 / 습식산화)

✏️ 반도체 산화 공정이란?실리콘 웨이퍼 표면에 얇은 산화막(산화 실리콘, SiO2)을 형성하는 과정으로, 산화막은 반도체 소자의 전기적 특성을 조절하여 불순물로부터 실리콘 표면을 보호하고, 웨이퍼 위 배선이 합선되지 않게 구분해 주는 절연막을 만들기 위한 필요한 공정. 📢 산화 공정의 필요성전기적 절연 : 산화막은 전기적으로 절연 성질을 가지고 있어 소자 내부의 전류가 의도하지 않은 경로로 흐르는 것을 방지한다. 보호막 역할 : 산화막은 외부의 물리적, 화학적 손상으로부터 소자를 보호하는 역할을 한다.기능성 층 : 트랜지스터의 게이트 산화막이나 커패시터의 절연체 등 반도체소자의 기능적 요소로 활용된다.  ⚙️ 산화 공정의 주요 방법: 산화 공정은 주로 건식산화와 습식 산화로 나뉘며, 각 방식은 서로 ..

[JAVA] BufferedWriter

개요 지금까지 출력 기능을 System.out.println()만 사용하다가 다른 분들 풀이를 보는데 다들 BufferedWriter을 사용하여 출력을 하는 걸 보고, 알아보고자 글을 작성한다.   📍정의 많은 양의 출력이 필요한 경우, BufferReader와 같이 동일하게 버퍼를 사용하는 것이 속도가 빠르기에 사용하는 기능 📍사용법System.out.println("")처럼 출력과 개행을 동시에 하지 않기에 개행을 위해서는 newLine(); 혹은 bw.write("n")을 사용해야 한다.BufferWrier의 경우 버퍼를 잡아 놓았기 때문에 사용한 뒤에 반드시 flush(), close()를 해주어야 한다.close()를 하게 되면 출력 스트림이 닫아지기 때문에 다른 출력이 남아있다면 flush..

Language/JAVA 2024.12.09