Embeded HW (임베디드 HW 설계)

새로운 경험: 나만의 프로세서를 직접 만들어 보기!

1. 교과목 개요

1.1.수업개요

임베디드 시스템 설계에 필수적으로 사용되는 프로세서 및 간단한 하드웨어 설계를 위한 설계 개발 방법론과 설계 언어를 교육하며, 이를 통하여 학생은 간단한 프로세서에서 부터 다양한 특징을 갖는 하드웨어 칩을 설계 할 수 있다. 하드웨어 설계 언어로 Verilog HDL을 습득하고, 설계된 하드웨어는 FPGA 상에서 검증한다. 특히, 본 교과목은 ALTERA (알테라) 사의 요청 및 Quartus II 설계 도구/DE1 SoC 보드 등의 지원을 통하여 이루어지는 교과목으로 산업체에서 많이 사용되고 있는 설계 도구와 장비를 바로 사용하여 현장 실무 경험을 크게 증대시킬 수 있다.

1.2.선수학습내용

- 논리 설계 및 실습

- 컴퓨터 구조 (MIPS 프로세서에 대한 기본적인 이해가 필요함)

1.3.강의 스탭

  • 담당교수: 이정근

    • 연구실:(성호관 1306호실) / Email: Jeonggun.Lee (AT) gmail.com

    • 전화번호: 033-248-2312 (연구실)

  • 담당조교: 김원표

  • (운영체제 연구실 이메일: kwp@hallym.ac.kr)

2. 교과 목표

* 지식: 본 수업을 통하여 학생들은 컴퓨터 구조에 대한 새로운 이해, FPGA 설계 방법론 및 Verilog HDL 설계 언어등을 배우게 된다.

3. 수업 운영 방법

* PPT를 이용한 교수 주도형 강의 및 실습

* 기말 학생 프로젝트 발표

4. 평가

* 중간고사 : 20점 / 기말고사 : 20점 / 실습: 30점 / 프로젝트 : 30점

4.1 평가항목별 평가기준

* 출석/태도

수업에 적극적으로 참여한 학생은 학습평가에서 추가점수를 받을 수 있다.

* 프로젝트(과제 포함)

- 과제물 제출은 "Smart Campus"을 통하여 제출한다.

- 과제물 제출이 하루 연기 될때 마다 과제물 배분점수의 10%를 삭감한다.

- 두개의 과제물이 동일인에 의하여 작성된 것이라고 판단되면 두개 모두 미제출로 처리 된다.

* 시험

- 시험은 필기평가를 실시하며, 이론 내용과 프로그래밍 내용이 포함 된다. (시험중 부정행위는 무조건 F 처리함)

- 향후, 학과목 홈페이지를 사용하여 진행할 예정

4.2 출석미달 기준

전체 출석 횟수의 1/4 초과는 F 처리 (4회 이상 결석시 F)

5. 교재 및 참고도서

- <주교재1> 자체개발 교재, 이정근

- <주교재2> 유인물 (PPT)

- <부교재및참고도서1>Verilog HDL을 이용한 디지털 시스템 설계 및 실습, 신경욱, 사이텍미디어, -

- <부교재및참고도서2> Quartus II 설계 도구 메뉴얼

6. 수업 스케줄

* 9월 9일

- 이론수업: 회로 설계 개요 : Verilog HDL 1: IC 설계과정 및 HDL 기반 설계의 장점

- 실습수업: 실습 개요: Quartus Altera II Tool and ModelSim Simulation Tool (CLICK)

* 9월 16일

- 이론수업: Verilog HDL 2: Verilog 어휘 규칙 및 모델링

- 실습수업: 맛보기 회로 설계 1: MUX, DECODE 설계 및 시뮬레이션 (MUX in Xilinx ISE)

* 9월 23일

- 이론수업: 휴강 (교수자 해외출장)

- 실습수업: 맛보기 회로 설계 2: 4비트 Adder 설계 및 시뮬레이션 (덧셈기 관련 설명, 8분 10초부터)

* 9월 30일

- 이론수업: Verilog HDL 3: Verilog 자료형과 연산자

- 실습수업: 맛보기 회로 설계 3: 디지털 시계 설계 및 시뮬레이션

* 10월 7일/10월 14일

- 이론수업: Verilog HDL 4: Gate 수준 모델링 / 할당문 / 행위수준 모델링

- 실습수업 5: GPIO 제어: LED 켜보기 / 7-segment 제어

- 실습수업 6: 디지털 시계 제작 (스위치 입력 장치 제어)

* 10월 21일 중간 고사

* 10월 28일

- 이론수업: MIPS 프로세서 다시 보기 & Verilog Coding 1 (Youtube)

- 이론수업: MIPS 프로세서 다시 보기 & Verilog Coding 2

- 이론수업: MIPS 프로세서 다시 보기 & Verilog Coding 3

- 실습수업 7: 마이크로프로세서 설계 및 시뮬레이션 1

* 11월 4일:

- 이론수업: MIPS 프로세서 - 명령어 추가: bne, sll (shift logical left), slr (shift logical right), sar (shift arithmetic right), jr (jump register), jal (jump and link)

- 이론수업: MIPS Pipeline and Verilog Coding 1 (Youtube)

- 이론수업: MIPS Pipeline and Verilog Coding 2

- 실습수업 8: 마이크로프로세서 설계 및 시뮬레이션 2

* 11월 11일/11월 18일

- 이론수업: MIPS multicore processor design 1

- 이론수업: MIPS multicore processor design 2

- 실습수업 9: 마이크로프로세서의 FPGA 구현

- 실습수업 10: 구현한 마이크로프로세서 프로그래밍을 이용한 GPIO 제어

- 실습수업 11: 멀티코어 프로세서 설계

* 프로젝트

- More instruction Supports to Single Cycle MIPS

- Pipeline MIPS, Cache Memory

- Network-on-Chip, Manycore

- Dynamic Frequency Scaling

- Vector Operation (SIMD, GPU), Multi-threaded Processor

7. 실습 자료

- Altera Quartus II Software ( https://www.altera.com/ )

- DE0-nano / DE1-SoC board ( http://www.terasic.com.tw/en/ )

- Simple MIPS 프로세서 소스 코드

8. 참조 자료

- Youtube

> 알테라 타운 FPGA 입문자 교육 1강

> 알테라 타운 FPGA 입문자 교육 2강

> 알테라 타운 FPGA 입문자 교육 3강

> 알테라 타운 FPGA 입문자 교육 4강

> 알테라 타운 FPGA 입문자 교육 5강

>

> Verilog HDL 1

> Verilog HDL 2

> Verilog HDL 3

> Verilog HDL 4

> Verilog HDL 5

> Verilog HDL 6

> Verilog HDL 7

> Verilog HDL 8

> Verilog HDL 9

> Verilog HDL 10

> MIPS Assembler (LINK)

- Quartus II Tutorial v10.0

- ModelSim 설명

9. Verilog HDL 및 FPGA를 배울 수 있는 기관

- IT SoC Center (상암동)

- KAIST IDEC (대전)