LABORG
Parte 9 – Prototipação de
Processadores e Entrada e
Saída
Ney Laert Vilar Calazans
27/novembro/2009
Sumário
Introdução
TRABALHO A FAZER
A ENTREGAR
César Marcon / Ney Calazans
2
Sumário
Introdução
TRABALHO A FAZER
A ENTREGAR
César Marcon / Ney Calazans
3
Introdução
• Em aulas anteriores vimos:
– Uma implementação VHDL abrangente de uma organização para a
arquitetura MIPS-I modelo R2000, denominada MR4;
– Uma estrutura de memórias de dados e instruções própria para
construir um protótipo da organização proposta sobre os FPGAs
do fabricante que utilizamos em laboratório (utilizando BRAMs da
Xilinx);
– Uma estrutura rudimentar para permitir acesso à memória de
dados do subsistema processador-memórias, usando os sinais
sel_CPU, addressSerial e data_out
– Um testbench rudimentar para permitir simular o subsistema
processador-memórias com um programa e seus dados de
entrada carregados nas memórias respectivas em tempo de
elaboração/síntese
César Marcon / Ney Calazans
4
Introdução
• A idéia fundamental deste trabalho é prototipar a MR4 na
plataforma Digilent, empregando o esquema rudimentar que
provê possibilidade de verificar o resultado da execução de
programas pelo hardware. Deve-se fazer uma pequena
modificação no sistemas e elaborar um controlador externo
que seja capaz de mostrar os resultados nos recursos da
placa, após a finalização da execução do programa.
Processador MR4
BLOCO DE
CONTROLE
(controlpath)
IR
clock
reset
selCPU
uins
end_mul
ce
rw
bw
data_out_CPU
Memória de
Instruções
instruction
i_address
BLOCO DE
DADOS
(datapath)
data_out_RAM
addressCPU
0
Memória
de
Dados
addressRAM
1
Quando selCPU=’1’ o processador pára e o endereçamento da
memória de dados é controlado pelo mundo externo
selCPU
addressSERIAL
César Marcon / Ney Calazans
data_out
5
Sumário
Introdução
TRABALHO A FAZER
A ENTREGAR
César Marcon / Ney Calazans
6
TRABALHO A FAZER (1)
1. Primeiro, planejar e implementar em VHDL o controlador.
Algumas observações relevantes:
–
Imediatamente após prototipar o hardware, devido ao tamanho
típico dos programas que usamos, e à frequência de operação
do processador, o programa já executou e “terminou” alguns
microssegundos após a prototipação.
–
O conceito de término deve ser obtido tipicamente colocando o
processador em um laço eterno do tipo “aqui: j aqui” após
concluir a execução do programa, para evitar alterações
incorretas de registradores ou posições da memória de dados.
–
O controlador DEVE ser simulado junto com a MR4 completa,
criando um novo testbench, antes de qualquer tentativa de
prototipação.
–
Antes de elaborar o controlador estudar e definir a interface do
sistema com o usuário (em termos de sinais, leds, chaves de
mostradores da placa)
César Marcon / Ney Calazans
7
TRABALHO A FAZER (2)
2. A alteração do hardware do sistema deve permitir ao
software realizar uma operação de saída (mapeada em
memória) que gere a indicação de fim de execução para o
mundo externo. Como isto pode ser feito?
3. A funcionalidade do controlador externo deve permitir ao
usuário:
–
Ler conteúdos da memória de dados byte a byte, a partir da
primeira posição desta
–
Comandar o processador para deixar de fazer acesso à memória
de dados (através do sinal sel_CPU)
César Marcon / Ney Calazans
8
TRABALHO A FAZER (3)
4. Prototipar o sistema completo:
–
Não esquecer de dar a devida atenção à definição da interface
do FPGA com o mundo externo, através da especificação do
arquivo UCF.
–
Selecionar a frequência de operação correta na placa.
César Marcon / Ney Calazans
9
Sumário
Introdução
Processos em VHDL
TRABALHO A FAZER
A ENTREGAR
César Marcon / Ney Calazans
10
A ENTREGAR
Para esta parte do trabalho, deve-se entregar
1. O projeto completo alterado, validado por simulação
usando o Active-HDL (sob a forma de Workspace)
2. Projeto ISE completo do protótipo gerado
3. Documentação descrevendo a estrutura da alteração
realizada e do controlador implementado, bem como do
programa executado
4. Deve-se mostrar a operação na placa Digilent do projeto
ao professor em alguma das aulas dedicadas a esta
disciplina
César Marcon / Ney Calazans
11
Download

laborg_parte9