2025년 9월 8일 월요일

[고급 디지털 제조 2강] 컴퓨팅 언어와 하드웨어 모델링

[고급 디지털 제조 2강] 컴퓨팅 언어와 하드웨어 모델링

1강 복습:

- 이번 학기중 학습하게 될 내용은 다음과 같다.

1. 컴퓨팅 언어로 하드웨어를 모델링 하고 시뮬레이션(simulation)을 실시한다. 이 컴퓨팅 언어에는 하드웨어를 기술(HDL, Hardware Description Language)할 목적의 Verilog 는 물론 알고리즘의 기술에 최고 추상화 수준의 C++를 포함한다.

2. 시뮬레이션 뿐만 아니라 FPGA 에뮬레이션(emulation)을 통해 검증한다. 검증된 설계물은 합성(synthesis)과 자동 배치배선(Auto-Placement & Routing) 그리고 반도체 제조도면(GDS layout)을 생성하여 "내 칩" 제작을 의뢰하는 과정을 배울 것이다. 합성은 HDL의 RTL(Register Transfer Level)뿐만 아니라 고위합성(High-Level Synthesis)을 포함한다.

3. 반도체 설계에 필요한 도구(하드웨어 및 소프트웨어)들은 오픈-소스 또는 무료 라이센스 FPGA 도구들이다.

1강 과제:

모든 수강생은 각자의 책상위에 반도체 설계실을 꾸며야 한다. 아래의 문서에 따라 리눅스 운영체제와 오픈-소스 반도체 설계도구들을 설치해야한다.

1. "가상머신 리눅스 설치"[바로가기] 또는 "다시 WSL!"[바로가기]

윈도우즈 PC에 가상 리눅스 설치 방법은 VMware, VirtualBox, WSL 이 있다. 위의 문서는 세가지 방법을 모두 설명한다. 어느 방법도 좋다. 랩탑에 설치하는 경우 가장 가벼운 WSL을 추천한다.

2. "오픈-소스 반도체 설계 도구 설치"[바로가기]

베릴로그 합성과 시뮬레이션, SystemC/C++ 시스템 모델링, 표준 셀 자동 배치배선(Placement & Routing), 레이아웃(GDS) 생성, 사인-오프(LVS, DRC, Via Check)등 반도체 설계에 필요한 모든 도구들을 설치하는 방법을 설명한다.

* 도구 설치에 어려운이 있다면 이번 주 수업중 논의 할수 있도록 질문지를 작성해 온다.

2강: 컴퓨팅 언어와 하드웨어 모델링

학습할 내용:

1. 반도체 설계자로서 컴퓨팅 언어를 이해해본다. 하드웨어 언어 베릴로그와 소프트웨어 언어 C++의 차이를 비교한다.

2. 하드웨어를 모형화를 위해 컴퓨팅 언어의 요건이 무엇인지 이해한다.

3. 컴퓨팅 언어로 하드웨어의 병렬성 실행을 모의하는 방법을 이해한다.

4. C++ 언어의 크래스(class)의 개념, 사건과 콜-백 그리고 변수와 채널의 개념을 이해한다.

5.  make 유틸리티의 Makefile 작성법 기초를 배운다.

예습해올 사항:

1. "하드웨어 언어의 코딩 스타일"[바로가기]

2. "C++언어의 크래스와 템플릿의 최소한 이해"[바로가기]

3. "Standard Co-Emulation Modeling Interface (1~4장까지)"[바로가기]

* 위문서를 읽어보자. 어지간한 전공자도 처음 듣는 용어들이 있을 것이다. 최선을 다해 끝까지 읽어보자. 그리고 질문할 내용을 "연구노트"에 적어보자. 수업 시간에 논의하도록 한다.

준비물:

1. 모든 수강생은 각자 "연구노트"를 준비하여야 한다.

A4 크기의 공책을 준비한다. 이 공책에 학습 한 내용과 질문 사항을 메모한다. 필사로 작성하며 정서할 필요 없다. 이 "연구노트"는 학습 진도를 파악하고 학기말 성적에 반영될 것이다.

2. 랩-탑 컴퓨터를 소지하여도 좋다.

수업시간 중에는 토론과 의문을 해소하는 시간이다. 랩-탑이 반드시 필요한 것은 아니다.

--------------------------


2025년 9월 5일 금요일

[고급 디지털 제조:1강] 에뮬레이터 제작/실습 장치 구매목록

[고급 디지털 제조] 에뮬레이터 제작/실습 자재 목록

1. 마이크로 컨트롤러 모듈

    1-1. Arduino DUE

    1-2. Raspberry Pi Pico/W

2. FPGA 모듈

    2-1. Altera Cyclone IV EP4CE6 모듈

    2-2. FPGA 다운로더(Xilinx 플랫폼 케이블 JTAG 케이블)

    2-3. 레벨 쉬프터 모듈

3. 어댑터 보드

상용 판매 제품이 아니다. 디자인 킷에 제공된 거버 파일을 가지고 샘플 PCB 업체를 통해 제작

    3-1. Arduino DUE 어댑터(거버파일 바로가기): 1 매

    3-2. Raspberry Pi Pico(회로도 및 거버 바로가기) 어댑터: 1

    3-3. Altera Cyclone IV EP4 어댑터(회로도 및 거버 바로가기): 1매

    3-4. 레벨 쉬프터 어댑터(거버 바로가기): 6매

 4. 핀 헤더/소켓

    4-1. 핀 헤더 직렬(1렬): 길이 11.5mm: 20개, 길이  20mm

    4-2. 핀 헤더 직각(2열/40핀)

    4-3. 핀 헤더 소켓(1렬/40핀)

    4-4. 핀 헤더 소켓 직각 2열: 2x6


5. 테스트 소켓 점퍼

    5-1. 테스트 소켓 점퍼 케이블(F/F)

    5-2. 테스트 후크 클립

    5-3. 28-Pin SOIC 소켓

6. 기타 보조 기기

    6-1. USB 전압/전류 측정기

    6-2. USB 가변 전원공급기

    6-3. 디지털 멀티메터

- USB 3.0 허브

    - 3포트 이상
    - 별도 충전 포트
    - 각 포트마다 스위치
    - 외부 전원 공급

---------------------------------------------------------

2025년 9월 기준 오픈-마켓 구입가 산정표

품목

수량

단가

금액

Arduino DUE

1

20,450

20,450

Raspberry Pi Pico

1

5,400

5,400

Raspberry Pi Pico W

1

9,800

9,800

Cyclone IV EP4CE6

1

26,900

26,900

Xilinx 시스템 케이블(JTAG Downloader)

1

23,850

23,850

Level Shifter 10개/세트

2

2520

5,040

핀 헤더 11.5mm/40pin (10개)

2

1,690

3,380

핀 헤더 21mm/40pin (10개)

1

3,080

3,080

핀 헤더 소켓 1열/40pin(10개)

1

2,940

2,940

핀 헤 직각 2열/40pin(10개)

1

2,520

2520

핀 헤더 소켓 직각 2열/40pin(10개)

1

6,570

6,570

듀폰 점퍼 와이어 F-F 30cm(20개)

3

3,440

3,440

테스트 후크 클립 (10개)

1

13,200

13,200

SOP28P 테스트 소켓

1

6,440

6,440

USB 포트 전류/전압계

1

2,680

2,680

USB 포트 DC-DC

1

3,060

2,060

디지털 멀티메터

1

9,750

9,750

어댑터 PCB 샘플 제작 (4종)

1

30,000

30,000(예상가)

소계



184,380

기타 부품비




USB C-Type Cable




Mini USB Cable




USB 3.0 허브





2025년 9월 1일 월요일

라즈베리 파이 피코/24채널 로직 분석기 만들기

Make a 100MHz 24 Channel Logic Analyser from your favorite Raspberry Pi Pico

https://youtu.be/Obd1PiW7RO8?si=yyBkPaerooi93dk9

https://github.com/gusmanb/logicanalyzer/releases

https://github.com/gusmanb/logicanalyzer



[고급 디지털 제조:1강] 강의 소개 및 준비 사항 안내

[개강]"고급 디지털 제조 및 실습"

서울대학교 공학 대학원-2025년 2학기

1강: 강의 소개 및 준비사항

2025년 9월 4일(목)

이 수업은 "고급 디지털 제조 및 실습"라고 쓰고 "오픈-소스 도구를 활용한 내 칩 설계 , 검증 그리고 제조"라고 이해하기 바란다. "오픈-소스 도구를 활용한 반도체 설계"를 배우게 될 것이다. 최종 목표는 "내 칩 제작 서비스[바로가기]"를 통해 반도체 제조 도면을 제출하여 생산을 의뢰하는 것이다.

과목 개설의 동기와 목표:

오픈-소스 컴퓨팅 도구들이 충분히 성숙되어 상용 툴을 대체하기에 이르자 프로그래밍 언어와 소프트웨어 개발은 전공자들의 전유물이 아니게 되었다. 오히려 비전공자들의 아이디어 구현이 빛을 내고 있기도하다. 반도체 설계도 예외가 아니다. 오픈-소스 반도체 설계 도구들도 발전을 거듭하여 시스템 수준 알고리즘에서 합성과 자동 배치배선 그리고 최종 레이아웃 생성까지 수행할 수 있는 체계를 갖췄다. 이에 비전공자들도 자신의 고유 칩을 만들수 있는 환경이 충분히 성숙되었다. FPGA 들이 저렴한 가격으로 널리 보급되어 반도체 설계 "덕후(enthusiast)", 또는 "메이커(Maker)"들이 등장하고 이제는 "반도체 설계"가 취미의 영역에 진입했다고 할 정도다. 예전에 유로였던 FPGA 개발 도구들도 무료로 사용 할 수 있도록 개방되는 추세다. FPGA 벤더에서 배포하는 개발도구 패키지 내에 오픈-소스 도구가 상당부분 차지하고 있음은 물론이다. 이에 덧붙여 국내에는 무료 MPW 사업 "내 칩 제작 서비스"가 수행되고 있고, 해외에서는 "닥치고 ASIC(Keep Calm & make ASIC)"이라는 기치아래 저렴하게 내 칩을 제작해주는 서비스가 실시되고 있다.

오픈-소스와 상용 도구의 개방(또는 저가공급)정책으로 반도체 설계 교육의 큰 장애가 되어왔던 고가의 설계 소프트웨어(EDA Tool) 라이센스 문제는 상당히 해소 되었다고 할 수 있다. 이에 덧붙여 생활속에서 느끼는 발전된 반도체 기술과 교실에서 배우는 내용 사이의 엄청난 추상성 격차는 쉽게 극복하기 어렵다. 이런 상황에서 학생들에게 교과서에 등장하는 각종 최신 반도체 설계의 공학적 방법론을 실습 없이 이해하라는 것은 부당하다. 이러한 애로점(교육자재의 부족, 긴 공정기간, 학과목 간의 연계 부족)을 해소하고 반도체 설계 역량을 강화하기 위하여 본 과목을 개설 하였다. 아래 그림은 오픈-소스 활용한 표준 셀 기반 반도체 설계 과정을 보여준다. 본 학과의 목표는 이 그림을 완전히 이해하고 전과정을 내 책상 위에서 수행해 보는 것이다.

수업 참여 학생 준비사항:

본 수업에 참여하는 모든 학생은 각자 과제를 수행하고 보고서를 논문 형식으로 제출하여야 한다. 반도체 설계에 소요될 모든 소프트웨어는 학생들의 컴퓨터에 설치 한다. 리눅스 설치와 오픈-소스 반도체 설계 도구의 설치 방법은 아래 문서를 참고한다.

1. "가상머신 리눅스 설치"[바로가기] 또는 "다시 WSL!"[바로가기]

윈도우즈 PC에 가상 리눅스 설치 방법은 VMware, VirtualBox, WSL 이 있다. 위의 문서는 세가지 방법을 모두 설명한다. 어느 방법도 좋다. 랩탑에 설치하는 경우 가장 가벼운 WSL을 추천한다.

2. "오픈-소스 반도체 설계 도구 설치"[바로가기]

베릴로그 합성과 시뮬레이션, SystemC/C++ 시스템 모델링, 표준 셀 자동 배치배선(Placement & Routing), 레이아웃(GDS) 생성, 사인-오프(LVS, DRC, Via Check)등 반도체 설계에 필요한 모든 도구들을 설치하는 방법을 설명한다.

3. "Arduino 및 FPGA 도구 설치"[바로가기]

"내 칩"을 제조하기 위해 도면을 공장에 제출하기 전 철저한 검증을 수행한다. 단순히 시뮬레이션 만으로는 부족하다. FPGA를 활용하여 Co-Simulation 은 물론 Co-Emulation 을 수행 할 것이다.

4. "내 책상위에 꾸미는 반도체 설계실"[바로가기]

오픈-소스 반도체 설계 도구는 무료다. Xilinx와 Altera의 FPGA 개발도구들도 무료 라이센스 정책을 펴고있다. FPGA와 Arduino, Raspberry Pi Pico 하드웨어도 매우 저가로 공급되고 있다. "내 칩" 제작 역시 무료로 해준다. 개인별 실습에 필요한 부품 구매 비용은 과목 실습비에서 제공 예정이다. 학생 스스로 부품을 구매하고 땜질도 해야한다. 반도체 설계실을 내 책상 위에 꾸려보는 것은 어떤가!

MyChip-On-MyDesk!

끝으로,

"랩 걸(Lab Girl)"을 읽어보라. 이 과목을 진행하게된 이유이기도 하다. "'랩 걸'을 읽고 나니 누군가의 연구 조수가 되어 주고 싶어 졌다."[바로가기]