2025년 9월 15일 월요일

[고급 디지털 제조 3강] un-timed vs. timed model

[고급 디지털 제조 3강] un-timed vs. timed model

복습

반도체 설계의 최종 목표는 레이아웃(GDS 형식의 제조 도면)이다. 컴퓨팅 언어로 표현한 알고리즘을 여러 단계의 추상화 수준 낮추기(lowering abstraction level) 과정을 거쳐 최종적으로 레이아웃을 생성한다. 추상화 수준의 각 단계마다 설계에 적용되는 용어들이 다르다. 반도체 설계를 시작하기 전에 이 용어들을 간략하게 살펴봤다. 때로 생소하거나 쉽게 이해하기 어려웠을 것이다. 앞으로 여러 차례에 걸쳐 등장하게될 이용어들에 대하여 익숙해지도록 한다. 처음 접하는 용어라면 나름대로 정의를 가져보고 학습 하면서 바로잡아 나가도록 한다. 본 강좌의 목표는 아래 그림을 설명할 수 있는 "반도체 설계"의 교양을 쌓는 것이다.


[참고] "반도체 설계교실 제안"[바로가기]

아래 그림에 등장 하는 각 용어들에 대하여 논의해보기 바란다.



아래의 설계 전과정을 수행해 봄으로써 실습으로 반도체 설계 교양을 다질 수 있도록 한다.


3강: Un-timed vs. Timed model

1. 아래의 세가지 모델에 대하여 예제를 살펴볼 것이다. 각 모델은 "내 칩 MPW" 디자인 킷[바로가기]의 튜토리얼에 포함되어있다. 예제의 알고리즘은 FIR 디지털 필터다[바로가기].

    a. Un-Timed Model: C++ 언어로 기술[바로가기]
    b. Timed Model: SystemC로 기술[바로가기]
    c. RTL Model: Verilog HDL로 기술[바로가기]

2. 앞서 학습한 사항을 점검하고 자가 실습하면서 갖게된 궁금증을 풀어보는 질문과 답 그리고 토론 시간을 가질 것이다. 각자 "학습노트"에 자가 실습한 사항을 정리해 오자.

    a. "가상머신 리눅스 설치"[바로가기] 또는 "다시 WSL!"[바로가기]
    b. "오픈-소스 반도체 설계 도구 설치"[바로가기]
    c. "Arduino 및 FPGA 도구 설치"[바로가기]
    d. "하드웨어 언어의 코딩 스타일"[바로가기]
    e. "C++언어의 크래스와 템플릿의 최소한 이해"[바로가기]



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++ 언어의 템플릿 크래스(templated class)의 개념, 사건(event)과 콜-백(call-back) 그리고 변수와 하드웨어 채널의 개념을 이해한다.

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 허브