Vhdl Maquina de Bebidas
Arquitetura de Computadores I
Relatório Processador MIPS – MonoCiclo
Alunos: Jean da Costa Serpa
José Antônio Duarte
Romeu Cornelius Junior
Introdução
O objetivo desse trabalho é implementar em VHDL, uma descrição do processador MIPS MonoCiclo que implemente o conjunto de instruções descritos abaixo:
addu – adiciona dois registros e armazena o resultado em um registrador; addui – adiciona uma valor imediato e armazena o resultado em um registrador; subu – Subtrai dois registradores e armazena o resultado em um registrador; ori - Realiza uma operação OR bit-a-bit entre $r2 e o valor imediato 42. O resultado é armazenado em $r1. O número imediato deve caber em 16 bits. lw - Uma palavra é carregada num registro do endereço especificado; lui - O valor imediato é deslocado para a esquerda 16 bits e armazenadas no registo. O 16 bits mais baixos são zeros; sll - Desloca um valor do registro deixado pelo valor de deslocamento listado na instrução e coloca o resultado em um terceiro. Zeros são deslocados dentro; srl - Desloca um certo valor de registro pelo valor de deslocamento (shamt) e coloca o valor no registrador destino. Zeros são deslocados dentro; slt - Se $s é menor que $t, $d é definido como um. Caso contrário, fica zero; sw - O conteúdo de $ t é armazenado no endereço especificado; jr - Ir para o endereço contido no registrador $s; beq – Desvia se os dois valores forem iguais.
Implementação
Banco de registradores
Contém 32 registradores de 32 bits, sendo que cada um pode ser referenciado pelos números de 0 a 31 (5 bits de endereçamento);
Entradas:
- Write enable;
- Clk;
- RA (read register A), RB (read register B) e RW (read register Write), BusW (registrador a ser escrito em RW);
Saídas:
- BusA (registrador lido em RA), BusB registrador lido em RB);
Registrador 0 (00000) SEMPRE deve possuir valor 0 (zero) e não pode