32bit Multi Cycle MIPS CPU

by TUW Posted 2014. 04. 28 Updated 2014. 05. 02 Views 2638 Likes 0 Replies 0
Extra Form
작품 설명 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'이 표시되고 나서야 비로소 저도 여름 방학을 시작할 수 있었습니다.
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

Topology Diagram.jpg
▲ Topology Diagram

State Diagram of Control Unit.jpg
▲ Control Unit의 State Diagram

Sample Program.png
▲ 1부터 3까지의 합을 구하는 프로그램을 구동한 시뮬레이션 결과 Timing Chart

Sample Assembly Code.png
▲ FPGA 보드에 올려 시뮬레이션을 수행한 5!을 계산하는 프로그램의 Assembly Code

FPGA Implementation Result.jpg
▲ 우측 하단의 LED 배열에 테스트 프로그램의 구동 결과인 5!=120이 표시되었습니다.


서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE