![Page 1: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/1.jpg)
Parte 6 – Simulação e Prototipação de Processadores
e Entrada e Saída
LABORGLABORG
11/junho/2012
Ney Laert Vilar Calazans
![Page 2: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/2.jpg)
2César Marcon / Ney Calazans
Sumário
Introdução
TRABALHO A FAZER
A ENTREGAR
![Page 3: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/3.jpg)
3César Marcon / Ney Calazans
Sumário
Introdução
TRABALHO A FAZER
A ENTREGAR
![Page 4: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/4.jpg)
4César Marcon / Ney Calazans
Introdução• Neste trabalho deve-se simular e prototipar um processador
na plataforma Digilent, empregando o esquema rudimentar que provê possibilidade de verificar o resultado da execução de programas por este processador em hardware.
• Disponibiliza-se uma implementação funcional simulável e prototipável de um sistema processador+memórias, baseado na arquitetura MR4, um subconjunto da arquitetura MIPS 2000. Esta arquitetura e uma organização para a mesma estão descritas no documento disponível no vínculo (link): http://www.inf.pucrs.br/~calazans/undergrad/orgcomp/arq_MR4.pdf
• O primeiro passo é simular o sistema MR4+memórias, o que deve ser realizado seguindo o processo descrito em http://www.inf.pucrs.br/~calazans/undergrad/laborg/laborg_parte6_Simulacao_MIPSmulti_c_BRAMs_e_Exercicios.doc.
![Page 5: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/5.jpg)
5César Marcon / Ney Calazans
Introdução
BLOCO DE CONTROLE
(controlpath)
Memória de
Dados
rw bw
clock
i_address
BLOCO DE DADOS
(datapath)
addressRAM
IR uins
instruction
reset
Memória de Instruções
ce
end_mul
addressCPU
addressSERIAL
data_out_CPU
data_out_RAM
selCPU
data_out
selCPU
0
1
Quando selCPU=’1’ o processador pára e o endereçamento da memória de dados é controlado pelo mundo externo
Processador MIPSmulti_with_BRAMs
• Acima mostra-se o diagrama de blocos do sistema MR4+memórias. Após conseguir simular este deve-se prototipá-lo.
• Deve-se elaborar um controlador externo que instancie o sistema e seja capaz de mostrar os resultados nos recursos da placa, após a finalização da execução do programa.
![Page 6: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/6.jpg)
6César Marcon / Ney Calazans
Sumário
Introdução
TRABALHO A FAZER
A ENTREGAR
![Page 7: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/7.jpg)
7César Marcon / Ney Calazans
TRABALHO A FAZER (1)1. Primeiro, realizar a simulação seguindo o processo descrito
no documento http://www.inf.pucrs.br/~calazans/undergrad/laborg/laborg_parte6_Simulacao_MIPSmulti_c_BRAMs_e_Exercicios.doc.
![Page 8: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/8.jpg)
8César Marcon / Ney Calazans
TRABALHO A FAZER (2)2. A seguir as tarefas de prototipação: 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)
![Page 9: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/9.jpg)
9César Marcon / Ney Calazans
TRABALHO A FAZER (3)3. 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?
4. 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)
![Page 10: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/10.jpg)
10César Marcon / Ney Calazans
TRABALHO A FAZER (3)5. 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.
![Page 11: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/11.jpg)
11César Marcon / Ney Calazans
Sumário
Introdução
Processos em VHDL
TRABALHO A FAZER
A ENTREGAR
![Page 12: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans](https://reader035.vdocuments.com.br/reader035/viewer/2022062623/552fc102497959413d8be718/html5/thumbnails/12.jpg)
12César Marcon / Ney Calazans
A ENTREGAR – T6
Para este trabalho, deve-se entregar:
1. Todos os itens citados na Seção A FAZER e A ENTREGAR do documento de apoio ao processo de simulação
2. O projeto ISE completo do protótipo gerado
3. Uma documentação descrevendo a estrutura da alteração realizada e do controlador implementado, bem como do programa executado no protótipo
4. Deve-se mostrar a operação do projeto em uma plataforma de prototipação ao professor em alguma aula