FPGA 프로젝트 보고서 (MPU설계) (Digital Systems Design Using Verilog)
- 최초 등록일
- 2020.03.12
- 최종 저작일
- 2019.11
- 37페이지/ MS 워드
- 가격 2,000원
목차
1. MICROPROCESSOR 소개
2. MODULE BLOCK에 대한 접근 및 DESIGN
3. BLOCK CODE
4. RTL MAP
5. SIMULATION 분석
6. 고찰
본문내용
MICROPROCESSOR 소개
본 microprocessor는 opcode 명령어를 읽어드리고, 해독하여 작업을 수행하는 fetch decode execute 동작을 구현하였으며, 정해진 명령에 따라 레지스터 연산, 산술 연산, 논리 연산등을 수행한다. 기본적인 opcode는 16bit이며, operand A의 주소, operand B의 주소, 연산코드, 연산결과가 저장될 주소, ram register의 저장 여부로 구성되어 있다. 기본적인 블록 구성은 다음과 같다. 이들 블록들은 각 블록들의 입력 신호 출력 신호들과 연계되어 동작하게 된다.
각 MODULE BLOCK에 대한 접근 및 DESIGN
1) Ram
해당 구조를 기준으로 필요한 주소들을 추가하였다. Write enable이 1일때만 데이터를 저장하게 되며 Ram register[0]는 항상 0값으로 고정되어 연산, immediate value 값들의 기준이 된다. Write data와 write addr Aaddr Baddr Write enable은 control block의 출력인 opcode를 정해둔 규칙의 bit수대로 할당하여 모듈에 인가한다. 해당 모듈의 출력 operand A와 operand B는 ALU모듈로 전달되어 arithmetic 연산의 입력이 된다.
2) ALU
ALU, 연산 모듈이며 control block의 출력인 opcode의 연산 부분과 ram block의 출력 operand A와 operand B를 받아 계산하여 result를 출력으로 내보낸다. 해당 출력은 IO block의 입력으로 인가된다. 각 연산은 사용자가 제시한 기준에 따라 설정하였으며 부호 없는 정수연산을 기본으로 하였다. OVERFLOW가 발생하는 경우는 ADD, ADDI, SUBTRACT 연산을 하는 경우에 발생한다.
참고 자료
없음