12
Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans

Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans

Embed Size (px)

Citation preview

Page 1: Parte 6 – Simulação e Prototipação de Processadores e Entrada e Saída LABORG 11/junho/2012 Ney Laert Vilar Calazans

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

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

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

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

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

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

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

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

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

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

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

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