LABORG
Aula 12 – Prototipação de
Processadores e Entrada e
Saída
Ney Laert Vilar Calazans
1º/junho/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 elaborar um controlador
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, assume-se que o programa já executou e
“terminou”.
–
O conceito de término deve ser obtido tipicamente colocando o
processador em um laço eterno do tipo “aqui: j aqui”, 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 funcionalidade do controlador 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)
3. 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
ATENÇÃO: Este trabalho deverá ter seu enunciado estendido em
aula posterior. Assim, a lista de itens a entregar deverá ser
complementada!!
Para esta parte do trabalho, deve-se entregar
1. O projeto completo validado por simulação usando o (sob
a forma de workspace Active-HDL)
2. Projeto ISE completo
3. Documentação descrevendo a estrutura do controlador
implementado e o programa executado
4. Deve-se mostrar a operação na placa Digilent do projeto
César Marcon / Ney Calazans
11
Download

laborg_aula12