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
>
> MIPS Assembler (LINK)
9. Verilog HDL 및 FPGA를 배울 수 있는 기관
- IT SoC Center (상암동)
- KAIST IDEC (대전)