Skip to content

Projeto Final de Organizacão e Arquitetura de Computadores 2/2016

Notifications You must be signed in to change notification settings

LSantos06/MIPS_MULTICICLO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIPS_MULTICICLO

Projeto Final de Organizacão e Arquitetura de Computadores 2/2016

Alunos:
  • Filipe Teixeira - 14/0139486

  • Lucas Santos - 14/0151010

  • Marcos Tonin – 14/0153233

Objetivo

Montar e simular uma versão do processador MIPS Muticilo, no ambiente Quartus / ModelSim-Altera.

Descrição

O diagrama acima não suporta a execução de todas as instruções do MIPS. As instruções básicas a serem implementadas são as seguintes:

Opcode Funct ULA
LW 10 0011
SW 10 1011
ADD 00 0000 10 0000 Sim
ADDi 00 1000 Sim
SUB 00 0000 10 0010 Sim
AND 00 0000 10 0100 Sim
OR 00 0000 10 0101 Sim
NOR 00 0000 10 0111 Sim
XOR 00 0000 10 0110 Sim
SLT 00 0000 10 1010 Sim
J 00 0010
BEQ 00 0100
BNE 00 0101

As instruções adicionais a serem implementadas são as seguintes:

Opcode Funct ULA rt
ANDi 00 1100 Sim
SRL 00 0000 00 0010 Sim
BGEZ 00 0001 0 0001
BLTZ 00 0001 0 0000
SLTI 00 1010 Sim

Obs.: Para as instruções BGEZ, BGTZ, BLEZ e BLTZ, o campo rt da instrução é utilizado como extensão do campo opcode.

Implementação

O processador deve ser simulado no ModelSim e implementado em FPGA. Neste caso, para verificação de seu funcionamento, deve-se observar o PC, o RI, o RDM e a SaidaALU através dos mostradores de 7 segmentos.

Para entrada e saída de dados deve-se utilizar:

  • Botão para acionar o relógio;
  • Mostrador de 7 segmentos para exibir conteúdo de RI e SaidaALU.

O PC deve ter 32 bits. A memória tem apenas 256 palavras de 32 bits, de forma que apenas 8 bits do PC devem ser utilizados no seu endereçamento.

Os endereços da área de dados devem ser mapeados para a região de memória que começa no endereço 128 no FPGA. Assim, o endereço de dado deve ser gerado concatenando os bits [8 dowto 2] do SaidaALU com o bit ‘1’ na posição mais significativa: ‘1’ & alu_out(8 downto 2).

Para executar um programa gerado pelo MARS, devem ser carregados o código e os dados do programa.

Entrega

15 de dezembro. Apresentar o código VHDL simulando no ModelSim e executar em FPGA.

About

Projeto Final de Organizacão e Arquitetura de Computadores 2/2016

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published