/IF674-CPU

Projeto da cadeira Infraestrutura de Hardware (IF674). Uma cpu que executa funções básicas do assembly mips e algumas customizadas.

Primary LanguageVerilog

Projeto de Infraestrutura de Hardware

2023.2

O projeto consiste em uma CPU arquitetada em verilog para a execução de 33 instruções do assembly Mips, conseguindo lidar com erros de Overflow, divisão por 0 e de instrução inválida.

A CPU foi implementada com base no diagrama de blocos a seguir:

Diagrama de blocos

Foi elaborado também uma máquina de estados (FSM) para mapear os ciclos de execução de cada instrução.

O repositório contém também o relatório com a simulação e descrição de cada uma das 33 instruções implementadas, além da explicação de cada um dos estados.

Para testar

Para poder testar, é necessário algum simulador, como o ModelSim e inserir a versão binária das instruções no arquivo /modules/instrucoes.mif, que pode ser obtido por meio da conversão para binário dos valores em hexadecimal nas imagens abaixo, ou forçar valores manualmente.

Abaixo segue a listas de instruções e seus valores para os parsers.

Instruções tipo R

Instruções tipo I

Instruções tipo J