Documente Academic
Documente Profesional
Documente Cultură
PCS2011 Laboratrio Digital I Turma 2 Prof. Liria Sato Bancada 04 Rafael Camargo Leite Bruno Arakaki
Um processador simples
Objetivos
O objetivo dessa experincia desenvolver um projeto de um processador simples. Para isso, foi usada a arquitetura do processador MIPS.
Projeto
Como j mencionado, o processador simples projetado nessa experincia baseou-se na arquitetura do MIPS. O diagrama deste processador se encontra na figura abaixo:
Fluxo de Dados
O fluxo de dados possui vrias unidades menores que o compem. De incio, pensamos que o correto seria utilizarmos a ULA e o banco de registradores das experincias anteriores(ou seja, em esquemtico). Seus projetos sero mostrados a seguir. Porm, aps iniciarmos o desenvolvimento dos mesmos, optamos por descreve-los em VHDL devido enorme praticidade de implementaco e modificaco.
Banco de Registradores
como a seguir:
Percebemos aqui, que utilizando esquemtico, teramos um enorme trabalho para desenvolver cada parte do fluxo de dados. Por isso, optamos pelo desenvolvimento em VHDL.
ULA
De incio, a ULA tabmm foi pensada como esquemtico. Mas tambm devido ao enorme nmero de ligaces, foi proposto um desenvolvimento em VHDL. O cdigo est mostrado abaixo:
Memria de Instrues
A memria de instruces foi implementada como uma EPROM da experincia passada. Seu cdigo est explcito logo abaixo:
ela foi iniciada com um arquivo.mif apenas com alguns valores iniciados. Os Valores na carta de tempo abaixo so exatemente os esperados:
Memria de Dados
A memria de dados foi implementada como uma memria RAM.
Extenso de Sinal
A extenso de sinal foi usada em 2 momentos no projeto:
1) extenso de 16 para 32 bits 2) extenso de 26 para 28 bits Apenas a extenso de 16 para 32 bits ser mostrada j que apenas seria necessrio alterar o tamanho dos vectors apresentados no VHDL.
perceba que para haver coerncia de sinal, existe o if dentro do process que completa o numero com zeros ou uns. A carta de tempo deste circuito est mostrada abaixo:
Multiplexador 2x1
Foram usados dois tipos de MUX 2x1:
1) 32 bits 2) 5 bits Novamente, apenas o de 32 bits ser mostrado. Basta modificarmos os tamanhos dos vectors para mudarmos de um para o outro.
PC
Este componente serve para mostrar qual o endereco da prxima instruco memria de instruces. Como pedido no projeto, este componente sncrono e apresenta enable. Seu cdigo VHDL est mostrado abaixo:
PCBranch
Este componente atua no BEQ. Ele funciona exatamente como um somador. A soma feita entre o valor dado em PC e o valor imediato aps ser extendido.Seu cdigo VHDL est mostrado abaixo:
PCPlus4
simplesmente um somador. Ele soma 4 ao valor em PC para mostrar a prxima instruco. Seu cdigo VHDL est mostrado abaixo:
1) deslocador de 2 bits para entradas de 32 bits 2)deslocador de 2 bits para entradas de 26 bits Apenas o cdigo do deslocador de 32 bits ser mostrado
Unidade de Controle
Para a implementaco da unidade de controle, foi usado o diagrama de transico de estados mostrado abaixo:
usando os 2 e a tabela tambm mostrada a seguir, desenvolvemos o cdigo VHDL que ser mostrado:
2) cdigo VHDL:
Parte Experimental
Concluses