esmips projeto de engenharia de software e sistemas

21
ESMIPS Projeto de Engenharia de Software e Sistemas

Upload: internet

Post on 19-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESMIPS Projeto de Engenharia de Software e Sistemas

ESMIPS

Projeto de Engenharia de Software e Sistemas

Page 2: ESMIPS Projeto de Engenharia de Software e Sistemas

Equipe:

• Anderson Gomes

• Bruno Marques

• Diego Riff

• Guilherme Dantas

• Vinícius Kursancew

• Rodolfo Pereira

Page 3: ESMIPS Projeto de Engenharia de Software e Sistemas

Roteiro• VISÃO GERAL• PLANO DE PROJETO• CRONOGRAMA• CASOS DE USO• DIAGRAMA DE CLASSES• DIAGRAMA DE SEQUÊNCIA• ARQUITETURA• TESTES

Page 4: ESMIPS Projeto de Engenharia de Software e Sistemas

Visão Geral

• Utilização de técnicas de Engenharia de Software para o desenvolvimento de IP Cores.

• Importância da documentação em projetos de Hardware.

• Importância da Verificação Funcional

Page 5: ESMIPS Projeto de Engenharia de Software e Sistemas

O Modelo de Referência• Utilizado para verificar se o chip

desenvolvido está correto.• Geralmente desenvolvidos em linguagens de

mais alto nível que as HDLs comuns.• Suas saídas são consideradas corretas

pelos designers.• Por isso ele deve ser exaustivamente

testado.

Page 6: ESMIPS Projeto de Engenharia de Software e Sistemas

ESMIPS

• Modelo de Referência para um processador MIPS como o desenvolvido na disciplina de Infra-Estrutura de Hardware.

• Implementação em pipeline de 3 estágios

Page 7: ESMIPS Projeto de Engenharia de Software e Sistemas

Plano de Projeto– 1ª Fase: Concepção

• Período: 23/05/2007 à 04/06/2007

• Definição do que seria desenvolvido

• Desenvolvimento do documento de plano de projeto

• Marco Principal: Versão final do documento de plano de projeto.

Page 8: ESMIPS Projeto de Engenharia de Software e Sistemas

Plano de Projeto– 2ª Fase: Arquitetura

• Período: 06/06/2007 à 12/07/2007• Definição da arquitetura que seria seguida.• Elaboração do documento de arquitetura,

casos de testes e plano de verificação.• Marco Principal: Documento de arquitetura

do modelo de software, documento de caso de testes, plano de verificação.

Page 9: ESMIPS Projeto de Engenharia de Software e Sistemas

Plano de Projeto– 3ª Fase: Design Comportamental

• Período: 16/07/2007 à 03/08/2007• Implementação de alguns casos de uso em

SystemC RTL.• Implementação dos testes.• Teste do projeto.• Marco Principal: Modelo implementado em

SystemC com os casos de teste validados.

Page 10: ESMIPS Projeto de Engenharia de Software e Sistemas

Cronograma

• http://www.cin.ufpe.br/~vak/es/crono.html

Page 11: ESMIPS Projeto de Engenharia de Software e Sistemas

Casos de Uso

Page 12: ESMIPS Projeto de Engenharia de Software e Sistemas

Casos de uso implementados– Evento (clock) causa execução de

uma instrução – Processador executa instrução nop – Processador executa instrução sw – Processador executa instrução lw – Processador executa instrução mfhi – Processador executa instrução mflo – Processador executa instrução add– Processador executa instrução addi – Processador executa instrução addu – Processador executa instrução addiu

– Processador executa instrução and – Processador executa instrução xori– Processador executa instrução sra– Processador executa instrução srav– Processador executa instrução sll– Processador executa instrução beq– Processador executa instrução slt – Processador executa instrução j– Processador executa instrução jal – Processador executa instrução div

Page 13: ESMIPS Projeto de Engenharia de Software e Sistemas

Casos de uso[CU01] Evento (clock) causa execução de uma

instrução1. A instrução do programa armazenada no endereço

de memória apontado pelo contador de programa ( MEM[PC] ) é carregado para a CPU

2. Separa os argumentos do OpCode (seis bits mais significativos)

3. Verifica validade do opcode, se for inválido marca flag de exceção por instrução inválida <<include FS01>>.

Page 14: ESMIPS Projeto de Engenharia de Software e Sistemas

Casos de uso

[CU36] Processador executa instrução div (tipo R)1. <<include CU01>>

2. Se $rt for ‘0’ marca a flag de exceção de divisão por Zero e este caso de uso termina aqui <<include FS01>>3. $LO ← $rs / $rt4. $HI ← $rs % $rt5. Este caso de uso termina aqui.

Page 15: ESMIPS Projeto de Engenharia de Software e Sistemas

Diagrama de classes

Page 16: ESMIPS Projeto de Engenharia de Software e Sistemas

Diagrama de seqüência

Page 17: ESMIPS Projeto de Engenharia de Software e Sistemas

ArquiteturaClasses de Análise Elementos de Projeto

EventInterface --

FetchThread ThreadFetch

DecodeThread ThreadDecode

ExecuteThread ThreadExecute

MemoryInterface MemArbiterMemory

Page 18: ESMIPS Projeto de Engenharia de Software e Sistemas

Arquitetura

Page 19: ESMIPS Projeto de Engenharia de Software e Sistemas

Máquinas de estado

MemArbiter

Page 20: ESMIPS Projeto de Engenharia de Software e Sistemas

Testes

• Teste de caixa preta (integração)

• Teste de Testbench/DUV (threads)

• Teste de unidade (instruções)

Page 21: ESMIPS Projeto de Engenharia de Software e Sistemas

Testes

Teste do modelo da memória1. Verifique se é possível

escrever um dado na memória;

2. Verifique se é possível ler um dado da memória;

3. Escreva um padrão de dados na memória e em seguida leia e compare para verificar a corretude.

Memória