asdasdasd
O projeto consiste no desenvolvimento de uma aplicação em VHDL que simule uma mini-cpu.
A mini-cpu executará as seguintes instruções:
XCHG RiRj;
1. Propósito do projeto
O projeto consiste no desenvolvimento e implementação de uma mini-cpu simulada, que executasse a instrução XCHG (troca de conteúdo entre registradores).
A implementação foi feita na linguagem VHDL, usando como auxílio o software Quartus.
O projeto da mini-cpu deve seguir a seguinte topologia:
1.2 Descrição do projeto
O projeto possui três arquivos de programação: minicpu.vhdl Possui o código de controle da CPU, instanciando a ligação entre os registradores, o barramento e os buffer tri-state.
Nesse arquivo é feito o controle dos estados de troca de conteúdo entre os registradores.
registrador.vhdl
Possui a descrição da implementação do registrador, inclusive com a declaração do buffer do conteúdo do registrador.
Nele também é descrito como funciona a interação do registrador com o barramento através do clock e de Rin.
trin.vhdl
Possui a declaração do buffer tri-state e o seu funcionamento:
Alta-impedância, quando Rout é igual a 0 e ligado ao barramento quando Rout é igual a 1.
A instrução XCHG Rx,Ry executará a troca do conteúdo dos dois registradores especificados por Rx e Ry.
1.3 Especificação
1.3.1 Registradores
A mini-cpu possui três registradores de 8 bits cada, definidos por Reg1, Reg2 e Reg3. Todos eles possuem uma ligação de entrada com o barramento, ativada através de Rin, e todos eles possuem uma ligação de saída com o barramento controlada por um tri-state buffer, que é ativado pelo sinal Rout.
1.3.2 Opcodes
Opcode
Função
00
Troca o conteúdo do registrador R1 com o R2, usando o R3 como auxiliar.
01
Troca o conteúdo do registrador R1 com o R3, usando o R2 como auxiliar.
10
Troca o conteúdo do registrador R2 com o R3, usando o R1 como auxiliar.
11
Carrega os dados nos registradores..
1.3.3 Unidade de controle e