▲ Topology Diagram
▲ Control Unit의 State Diagram
▲ 1부터 3까지의 합을 구하는 프로그램을 구동한 시뮬레이션 결과 Timing Chart
▲ FPGA 보드에 올려 시뮬레이션을 수행한 5!을 계산하는 프로그램의 Assembly Code
▲ 우측 하단의 LED 배열에 테스트 프로그램의 구동 결과인 5!=120이 표시되었습니다.
작품 설명 | Verilog HDL을 이용하여 구현한 Multi Cycle 방식으로 동작하는 CPU입니다. |
---|---|
주요 기능 | MIPS Instruction Set 중 ADD(I), SUB(I), AND, OR, SLT, JR, BEQ, LW, SW, J, JAL의 13개 명령어를 실행 가능하도록 구현하였습니다. |
제작 기간 | 약 3개월 (2012.4 ~ 6), 학기중 점진적으로 진행 |
관련 분야 | 전자 공학,컴퓨터 공학 |
제작 동기 | 3학년(2012-1학기)에 수강했던 '컴퓨터 구조' 교과목의 Term Project입니다. |
제작 소감 | 학기 초만 하더라도, 과연 그 동안 구입해서 사용하기만 했던 CPU를 직접 만든다는 말에 의구심을 품고 있었습니다. CPU라면 왠지 매우 복잡하고 이해하기 어려운 블랙박스 정도로만 생각하고 있었던 것입니다. 수업을 들으며 차근차근 과제를 해 나가니 ALU부터 시작해서 Register File, Controller와 같은 CPU 구성요소를 따로따로 만들 수 있었고, 이들을 연결하니 바로 CPU가 되었습니다. 학기말에는 선택 과제로, 제작한 CPU를 FPGA 보드에 올려서 동작시켜 보는 과제가 주어졌습니다. 기말고사까지 끝나고 난 뒤인 6월 말경에, 몇 차례 수정 과정을 거쳐 FPGA 보드에 올린 CPU를 동작시키는 데 성공하였습니다. 보드에 올려진 8개의 LED에 120을 나타내는 배열인 '01111000'이 표시되고 나서야 비로소 저도 여름 방학을 시작할 수 있었습니다. |
▲ Topology Diagram
▲ Control Unit의 State Diagram
▲ 1부터 3까지의 합을 구하는 프로그램을 구동한 시뮬레이션 결과 Timing Chart
▲ FPGA 보드에 올려 시뮬레이션을 수행한 5!을 계산하는 프로그램의 Assembly Code
▲ 우측 하단의 LED 배열에 테스트 프로그램의 구동 결과인 5!=120이 표시되었습니다.